agent-nuvira 3.5.2 → 3.5.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +66 -0
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +72 -19
- package/dist/cli/chat.js.map +1 -1
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +17 -3
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/execute.d.ts.map +1 -1
- package/dist/cli/execute.js +63 -22
- package/dist/cli/execute.js.map +1 -1
- package/dist/cli/failover-runner.js +4 -4
- package/dist/cli/failover-runner.js.map +1 -1
- package/dist/cli/gateway.js +13 -13
- package/dist/cli/gateway.js.map +1 -1
- package/dist/cli/loop-executor.d.ts +22 -0
- package/dist/cli/loop-executor.d.ts.map +1 -1
- package/dist/cli/loop-executor.js +56 -12
- package/dist/cli/loop-executor.js.map +1 -1
- package/dist/cli/stats.d.ts +62 -4
- package/dist/cli/stats.d.ts.map +1 -1
- package/dist/cli/stats.js +282 -5
- package/dist/cli/stats.js.map +1 -1
- package/dist/cli/ui/index.d.ts +2 -2
- package/dist/cli/ui/index.d.ts.map +1 -1
- package/dist/cli/ui/index.js +1 -1
- package/dist/cli/ui/index.js.map +1 -1
- package/dist/cli/ui/presenter.d.ts +43 -0
- package/dist/cli/ui/presenter.d.ts.map +1 -1
- package/dist/cli/ui/presenter.js +88 -1
- package/dist/cli/ui/presenter.js.map +1 -1
- package/dist/config/manager.d.ts +29 -1
- package/dist/config/manager.d.ts.map +1 -1
- package/dist/config/manager.js +178 -143
- package/dist/config/manager.js.map +1 -1
- package/dist/config/paths.d.ts +48 -1
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +59 -9
- package/dist/config/paths.js.map +1 -1
- package/dist/config/service-catalog.js +1 -1
- package/dist/config/service-catalog.js.map +1 -1
- package/dist/config/service-probe.js +1 -1
- package/dist/config/service-probe.js.map +1 -1
- package/dist/config/types.d.ts +22 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/gateway/adapters.js +8 -8
- package/dist/gateway/adapters.js.map +1 -1
- package/dist/gateway/registry.js +1 -1
- package/dist/gateway/registry.js.map +1 -1
- package/dist/learning/auto-router.d.ts +30 -4
- package/dist/learning/auto-router.d.ts.map +1 -1
- package/dist/learning/auto-router.js +54 -38
- package/dist/learning/auto-router.js.map +1 -1
- package/dist/learning/cost-classification.d.ts +188 -0
- package/dist/learning/cost-classification.d.ts.map +1 -0
- package/dist/learning/cost-classification.js +294 -0
- package/dist/learning/cost-classification.js.map +1 -0
- package/dist/learning/cost-ledger-maintenance.d.ts +122 -0
- package/dist/learning/cost-ledger-maintenance.d.ts.map +1 -0
- package/dist/learning/cost-ledger-maintenance.js +289 -0
- package/dist/learning/cost-ledger-maintenance.js.map +1 -0
- package/dist/learning/cost-reconcile.d.ts +160 -0
- package/dist/learning/cost-reconcile.d.ts.map +1 -0
- package/dist/learning/cost-reconcile.js +238 -0
- package/dist/learning/cost-reconcile.js.map +1 -0
- package/dist/learning/cost-tracker.d.ts +134 -13
- package/dist/learning/cost-tracker.d.ts.map +1 -1
- package/dist/learning/cost-tracker.js +190 -68
- package/dist/learning/cost-tracker.js.map +1 -1
- package/dist/learning/model-pricing.d.ts +240 -0
- package/dist/learning/model-pricing.d.ts.map +1 -0
- package/dist/learning/model-pricing.js +309 -0
- package/dist/learning/model-pricing.js.map +1 -0
- package/dist/learning/model-selection.d.ts +15 -0
- package/dist/learning/model-selection.d.ts.map +1 -1
- package/dist/learning/model-selection.js +22 -2
- package/dist/learning/model-selection.js.map +1 -1
- package/dist/learning/model-warmup.d.ts.map +1 -1
- package/dist/learning/model-warmup.js +4 -1
- package/dist/learning/model-warmup.js.map +1 -1
- package/dist/learning/session-store.d.ts +1 -5
- package/dist/learning/session-store.d.ts.map +1 -1
- package/dist/learning/session-store.js +10 -1
- package/dist/learning/session-store.js.map +1 -1
- package/dist/learning/step-checkpoint.d.ts +32 -3
- package/dist/learning/step-checkpoint.d.ts.map +1 -1
- package/dist/learning/step-checkpoint.js +33 -4
- package/dist/learning/step-checkpoint.js.map +1 -1
- package/dist/mcp/settings.d.ts +15 -3
- package/dist/mcp/settings.d.ts.map +1 -1
- package/dist/mcp/settings.js +30 -15
- package/dist/mcp/settings.js.map +1 -1
- package/dist/parity/drivers.d.ts.map +1 -1
- package/dist/parity/drivers.js +31 -5
- package/dist/parity/drivers.js.map +1 -1
- package/dist/tools/child-agent-runtime.d.ts.map +1 -1
- package/dist/tools/child-agent-runtime.js +13 -7
- package/dist/tools/child-agent-runtime.js.map +1 -1
- package/dist/tools/followup-utils.d.ts +36 -0
- package/dist/tools/followup-utils.d.ts.map +1 -1
- package/dist/tools/followup-utils.js +66 -0
- package/dist/tools/followup-utils.js.map +1 -1
- package/dist/tools/modality/browser.js +2 -2
- package/dist/tools/modality/browser.js.map +1 -1
- package/dist/tools/modality/image-gen.d.ts +1 -1
- package/dist/tools/modality/image-gen.js +1 -1
- package/dist/tools/modality/image-providers.js +1 -1
- package/dist/tools/modality/image-providers.js.map +1 -1
- package/dist/tools/modality/vision.d.ts +1 -1
- package/dist/tools/modality/vision.js +1 -1
- package/dist/tools/modality/voice.js +2 -2
- package/dist/tools/modality/voice.js.map +1 -1
- package/dist/tools/neutts-synth.d.ts +3 -3
- package/dist/tools/neutts-synth.js +3 -3
- package/dist/tools/neutts-synth.js.map +1 -1
- package/dist/tools/process-liveness.d.ts +50 -0
- package/dist/tools/process-liveness.d.ts.map +1 -1
- package/dist/tools/process-liveness.js +82 -9
- package/dist/tools/process-liveness.js.map +1 -1
- package/dist/tools/registry.d.ts +1 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +27 -4
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/run-registry.d.ts.map +1 -1
- package/dist/tools/run-registry.js +14 -1
- package/dist/tools/run-registry.js.map +1 -1
- package/dist/tools/run-terminal.d.ts.map +1 -1
- package/dist/tools/run-terminal.js +18 -1
- package/dist/tools/run-terminal.js.map +1 -1
- package/dist/tools/tool-loop.d.ts.map +1 -1
- package/dist/tools/tool-loop.js +5 -3
- package/dist/tools/tool-loop.js.map +1 -1
- package/dist/tools/web-research.d.ts +1 -1
- package/dist/tools/web-research.js +3 -3
- package/dist/tools/web-research.js.map +1 -1
- package/dist/web-dashboard/chat-console.d.ts +56 -0
- package/dist/web-dashboard/chat-console.d.ts.map +1 -1
- package/dist/web-dashboard/chat-console.js +57 -1
- package/dist/web-dashboard/chat-console.js.map +1 -1
- package/dist/web-dashboard/server.d.ts.map +1 -1
- package/dist/web-dashboard/server.js +122 -2
- package/dist/web-dashboard/server.js.map +1 -1
- package/dist/web-dashboard/src/types.d.ts +63 -0
- package/dist/web-dashboard/src/types.d.ts.map +1 -1
- package/dist/web-dashboard/task-runner.d.ts +17 -1
- package/dist/web-dashboard/task-runner.d.ts.map +1 -1
- package/dist/web-dashboard/task-runner.js +84 -9
- package/dist/web-dashboard/task-runner.js.map +1 -1
- package/package.json +1 -1
- package/src/web-dashboard/public/assets/index-DeSsNU94.css +1 -0
- package/src/web-dashboard/public/assets/index-Do_O67Kv.js +236 -0
- package/src/web-dashboard/public/assets/index-Do_O67Kv.js.map +1 -0
- package/src/web-dashboard/public/index.html +2 -2
- package/src/web-dashboard/public/assets/index-DycGBWwy.js +0 -236
- package/src/web-dashboard/public/assets/index-DycGBWwy.js.map +0 -1
- package/src/web-dashboard/public/assets/index-aO3aG7ex.css +0 -1
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
var w$=Object.defineProperty;var k$=(e,t,n)=>t in e?w$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Jr=(e,t,n)=>k$(e,typeof t!="symbol"?t+"":t,n);function S$(e,t){for(var n=0;n<t.length;n++){const r=t[n];if(typeof r!="string"&&!Array.isArray(r)){for(const a in r)if(a!=="default"&&!(a in e)){const s=Object.getOwnPropertyDescriptor(r,a);s&&Object.defineProperty(e,a,s.get?s:{enumerable:!0,get:()=>r[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))r(a);new MutationObserver(a=>{for(const s of a)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(a){const s={};return a.integrity&&(s.integrity=a.integrity),a.referrerPolicy&&(s.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?s.credentials="include":a.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(a){if(a.ep)return;a.ep=!0;const s=n(a);fetch(a.href,s)}})();var di=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Xe(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var iC={exports:{}},vp={},sC={exports:{}},Be={};/**
|
|
2
|
+
* @license React
|
|
3
|
+
* react.production.min.js
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/var Xu=Symbol.for("react.element"),j$=Symbol.for("react.portal"),N$=Symbol.for("react.fragment"),E$=Symbol.for("react.strict_mode"),_$=Symbol.for("react.profiler"),C$=Symbol.for("react.provider"),A$=Symbol.for("react.context"),T$=Symbol.for("react.forward_ref"),O$=Symbol.for("react.suspense"),P$=Symbol.for("react.memo"),R$=Symbol.for("react.lazy"),z0=Symbol.iterator;function M$(e){return e===null||typeof e!="object"?null:(e=z0&&e[z0]||e["@@iterator"],typeof e=="function"?e:null)}var oC={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},lC=Object.assign,cC={};function xl(e,t,n){this.props=e,this.context=t,this.refs=cC,this.updater=n||oC}xl.prototype.isReactComponent={};xl.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};xl.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function uC(){}uC.prototype=xl.prototype;function rx(e,t,n){this.props=e,this.context=t,this.refs=cC,this.updater=n||oC}var ax=rx.prototype=new uC;ax.constructor=rx;lC(ax,xl.prototype);ax.isPureReactComponent=!0;var F0=Array.isArray,dC=Object.prototype.hasOwnProperty,ix={current:null},fC={key:!0,ref:!0,__self:!0,__source:!0};function hC(e,t,n){var r,a={},s=null,o=null;if(t!=null)for(r in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(s=""+t.key),t)dC.call(t,r)&&!fC.hasOwnProperty(r)&&(a[r]=t[r]);var l=arguments.length-2;if(l===1)a.children=n;else if(1<l){for(var c=Array(l),u=0;u<l;u++)c[u]=arguments[u+2];a.children=c}if(e&&e.defaultProps)for(r in l=e.defaultProps,l)a[r]===void 0&&(a[r]=l[r]);return{$$typeof:Xu,type:e,key:s,ref:o,props:a,_owner:ix.current}}function I$(e,t){return{$$typeof:Xu,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function sx(e){return typeof e=="object"&&e!==null&&e.$$typeof===Xu}function $$(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var U0=/\/+/g;function Im(e,t){return typeof e=="object"&&e!==null&&e.key!=null?$$(""+e.key):t.toString(36)}function bf(e,t,n,r,a){var s=typeof e;(s==="undefined"||s==="boolean")&&(e=null);var o=!1;if(e===null)o=!0;else switch(s){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case Xu:case j$:o=!0}}if(o)return o=e,a=a(o),e=r===""?"."+Im(o,0):r,F0(a)?(n="",e!=null&&(n=e.replace(U0,"$&/")+"/"),bf(a,t,n,"",function(u){return u})):a!=null&&(sx(a)&&(a=I$(a,n+(!a.key||o&&o.key===a.key?"":(""+a.key).replace(U0,"$&/")+"/")+e)),t.push(a)),1;if(o=0,r=r===""?".":r+":",F0(e))for(var l=0;l<e.length;l++){s=e[l];var c=r+Im(s,l);o+=bf(s,t,n,c,a)}else if(c=M$(e),typeof c=="function")for(e=c.call(e),l=0;!(s=e.next()).done;)s=s.value,c=r+Im(s,l++),o+=bf(s,t,n,c,a);else if(s==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return o}function Nd(e,t,n){if(e==null)return e;var r=[],a=0;return bf(e,r,"","",function(s){return t.call(n,s,a++)}),r}function L$(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var Mn={current:null},xf={transition:null},D$={ReactCurrentDispatcher:Mn,ReactCurrentBatchConfig:xf,ReactCurrentOwner:ix};function pC(){throw Error("act(...) is not supported in production builds of React.")}Be.Children={map:Nd,forEach:function(e,t,n){Nd(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return Nd(e,function(){t++}),t},toArray:function(e){return Nd(e,function(t){return t})||[]},only:function(e){if(!sx(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};Be.Component=xl;Be.Fragment=N$;Be.Profiler=_$;Be.PureComponent=rx;Be.StrictMode=E$;Be.Suspense=O$;Be.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=D$;Be.act=pC;Be.cloneElement=function(e,t,n){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=lC({},e.props),a=e.key,s=e.ref,o=e._owner;if(t!=null){if(t.ref!==void 0&&(s=t.ref,o=ix.current),t.key!==void 0&&(a=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(c in t)dC.call(t,c)&&!fC.hasOwnProperty(c)&&(r[c]=t[c]===void 0&&l!==void 0?l[c]:t[c])}var c=arguments.length-2;if(c===1)r.children=n;else if(1<c){l=Array(c);for(var u=0;u<c;u++)l[u]=arguments[u+2];r.children=l}return{$$typeof:Xu,type:e.type,key:a,ref:s,props:r,_owner:o}};Be.createContext=function(e){return e={$$typeof:A$,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:C$,_context:e},e.Consumer=e};Be.createElement=hC;Be.createFactory=function(e){var t=hC.bind(null,e);return t.type=e,t};Be.createRef=function(){return{current:null}};Be.forwardRef=function(e){return{$$typeof:T$,render:e}};Be.isValidElement=sx;Be.lazy=function(e){return{$$typeof:R$,_payload:{_status:-1,_result:e},_init:L$}};Be.memo=function(e,t){return{$$typeof:P$,type:e,compare:t===void 0?null:t}};Be.startTransition=function(e){var t=xf.transition;xf.transition={};try{e()}finally{xf.transition=t}};Be.unstable_act=pC;Be.useCallback=function(e,t){return Mn.current.useCallback(e,t)};Be.useContext=function(e){return Mn.current.useContext(e)};Be.useDebugValue=function(){};Be.useDeferredValue=function(e){return Mn.current.useDeferredValue(e)};Be.useEffect=function(e,t){return Mn.current.useEffect(e,t)};Be.useId=function(){return Mn.current.useId()};Be.useImperativeHandle=function(e,t,n){return Mn.current.useImperativeHandle(e,t,n)};Be.useInsertionEffect=function(e,t){return Mn.current.useInsertionEffect(e,t)};Be.useLayoutEffect=function(e,t){return Mn.current.useLayoutEffect(e,t)};Be.useMemo=function(e,t){return Mn.current.useMemo(e,t)};Be.useReducer=function(e,t,n){return Mn.current.useReducer(e,t,n)};Be.useRef=function(e){return Mn.current.useRef(e)};Be.useState=function(e){return Mn.current.useState(e)};Be.useSyncExternalStore=function(e,t,n){return Mn.current.useSyncExternalStore(e,t,n)};Be.useTransition=function(){return Mn.current.useTransition()};Be.version="18.3.1";sC.exports=Be;var b=sC.exports;const V=Xe(b),B$=S$({__proto__:null,default:V},[b]);/**
|
|
10
|
+
* @license React
|
|
11
|
+
* react-jsx-runtime.production.min.js
|
|
12
|
+
*
|
|
13
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
14
|
+
*
|
|
15
|
+
* This source code is licensed under the MIT license found in the
|
|
16
|
+
* LICENSE file in the root directory of this source tree.
|
|
17
|
+
*/var z$=b,F$=Symbol.for("react.element"),U$=Symbol.for("react.fragment"),W$=Object.prototype.hasOwnProperty,H$=z$.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,G$={key:!0,ref:!0,__self:!0,__source:!0};function mC(e,t,n){var r,a={},s=null,o=null;n!==void 0&&(s=""+n),t.key!==void 0&&(s=""+t.key),t.ref!==void 0&&(o=t.ref);for(r in t)W$.call(t,r)&&!G$.hasOwnProperty(r)&&(a[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)a[r]===void 0&&(a[r]=t[r]);return{$$typeof:F$,type:e,key:s,ref:o,props:a,_owner:H$.current}}vp.Fragment=U$;vp.jsx=mC;vp.jsxs=mC;iC.exports=vp;var i=iC.exports,gC={exports:{}},lr={},vC={exports:{}},yC={};/**
|
|
18
|
+
* @license React
|
|
19
|
+
* scheduler.production.min.js
|
|
20
|
+
*
|
|
21
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
22
|
+
*
|
|
23
|
+
* This source code is licensed under the MIT license found in the
|
|
24
|
+
* LICENSE file in the root directory of this source tree.
|
|
25
|
+
*/(function(e){function t(R,B){var T=R.length;R.push(B);e:for(;0<T;){var Z=T-1>>>1,F=R[Z];if(0<a(F,B))R[Z]=B,R[T]=F,T=Z;else break e}}function n(R){return R.length===0?null:R[0]}function r(R){if(R.length===0)return null;var B=R[0],T=R.pop();if(T!==B){R[0]=T;e:for(var Z=0,F=R.length,$=F>>>1;Z<$;){var ae=2*(Z+1)-1,ue=R[ae],me=ae+1,Ee=R[me];if(0>a(ue,T))me<F&&0>a(Ee,ue)?(R[Z]=Ee,R[me]=T,Z=me):(R[Z]=ue,R[ae]=T,Z=ae);else if(me<F&&0>a(Ee,T))R[Z]=Ee,R[me]=T,Z=me;else break e}}return B}function a(R,B){var T=R.sortIndex-B.sortIndex;return T!==0?T:R.id-B.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();e.unstable_now=function(){return o.now()-l}}var c=[],u=[],d=1,f=null,h=3,p=!1,m=!1,g=!1,y=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,k=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function w(R){for(var B=n(u);B!==null;){if(B.callback===null)r(u);else if(B.startTime<=R)r(u),B.sortIndex=B.expirationTime,t(c,B);else break;B=n(u)}}function N(R){if(g=!1,w(R),!m)if(n(c)!==null)m=!0,L(S);else{var B=n(u);B!==null&&U(N,B.startTime-R)}}function S(R,B){m=!1,g&&(g=!1,v(_),_=-1),p=!0;var T=h;try{for(w(B),f=n(c);f!==null&&(!(f.expirationTime>B)||R&&!P());){var Z=f.callback;if(typeof Z=="function"){f.callback=null,h=f.priorityLevel;var F=Z(f.expirationTime<=B);B=e.unstable_now(),typeof F=="function"?f.callback=F:f===n(c)&&r(c),w(B)}else r(c);f=n(c)}if(f!==null)var $=!0;else{var ae=n(u);ae!==null&&U(N,ae.startTime-B),$=!1}return $}finally{f=null,h=T,p=!1}}var x=!1,E=null,_=-1,O=5,C=-1;function P(){return!(e.unstable_now()-C<O)}function A(){if(E!==null){var R=e.unstable_now();C=R;var B=!0;try{B=E(!0,R)}finally{B?D():(x=!1,E=null)}}else x=!1}var D;if(typeof k=="function")D=function(){k(A)};else if(typeof MessageChannel<"u"){var I=new MessageChannel,M=I.port2;I.port1.onmessage=A,D=function(){M.postMessage(null)}}else D=function(){y(A,0)};function L(R){E=R,x||(x=!0,D())}function U(R,B){_=y(function(){R(e.unstable_now())},B)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(R){R.callback=null},e.unstable_continueExecution=function(){m||p||(m=!0,L(S))},e.unstable_forceFrameRate=function(R){0>R||125<R?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):O=0<R?Math.floor(1e3/R):5},e.unstable_getCurrentPriorityLevel=function(){return h},e.unstable_getFirstCallbackNode=function(){return n(c)},e.unstable_next=function(R){switch(h){case 1:case 2:case 3:var B=3;break;default:B=h}var T=h;h=B;try{return R()}finally{h=T}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(R,B){switch(R){case 1:case 2:case 3:case 4:case 5:break;default:R=3}var T=h;h=R;try{return B()}finally{h=T}},e.unstable_scheduleCallback=function(R,B,T){var Z=e.unstable_now();switch(typeof T=="object"&&T!==null?(T=T.delay,T=typeof T=="number"&&0<T?Z+T:Z):T=Z,R){case 1:var F=-1;break;case 2:F=250;break;case 5:F=1073741823;break;case 4:F=1e4;break;default:F=5e3}return F=T+F,R={id:d++,callback:B,priorityLevel:R,startTime:T,expirationTime:F,sortIndex:-1},T>Z?(R.sortIndex=T,t(u,R),n(c)===null&&R===n(u)&&(g?(v(_),_=-1):g=!0,U(N,T-Z))):(R.sortIndex=F,t(c,R),m||p||(m=!0,L(S))),R},e.unstable_shouldYield=P,e.unstable_wrapCallback=function(R){var B=h;return function(){var T=h;h=B;try{return R.apply(this,arguments)}finally{h=T}}}})(yC);vC.exports=yC;var q$=vC.exports;/**
|
|
26
|
+
* @license React
|
|
27
|
+
* react-dom.production.min.js
|
|
28
|
+
*
|
|
29
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
30
|
+
*
|
|
31
|
+
* This source code is licensed under the MIT license found in the
|
|
32
|
+
* LICENSE file in the root directory of this source tree.
|
|
33
|
+
*/var K$=b,sr=q$;function se(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var bC=new Set,Hc={};function Ls(e,t){Wo(e,t),Wo(e+"Capture",t)}function Wo(e,t){for(Hc[e]=t,e=0;e<t.length;e++)bC.add(t[e])}var Ma=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),yv=Object.prototype.hasOwnProperty,V$=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,W0={},H0={};function Y$(e){return yv.call(H0,e)?!0:yv.call(W0,e)?!1:V$.test(e)?H0[e]=!0:(W0[e]=!0,!1)}function X$(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Q$(e,t,n,r){if(t===null||typeof t>"u"||X$(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function In(e,t,n,r,a,s,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=s,this.removeEmptyString=o}var pn={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){pn[e]=new In(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];pn[t]=new In(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){pn[e]=new In(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){pn[e]=new In(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){pn[e]=new In(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){pn[e]=new In(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){pn[e]=new In(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){pn[e]=new In(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){pn[e]=new In(e,5,!1,e.toLowerCase(),null,!1,!1)});var ox=/[\-:]([a-z])/g;function lx(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(ox,lx);pn[t]=new In(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(ox,lx);pn[t]=new In(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(ox,lx);pn[t]=new In(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){pn[e]=new In(e,1,!1,e.toLowerCase(),null,!1,!1)});pn.xlinkHref=new In("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){pn[e]=new In(e,1,!1,e.toLowerCase(),null,!0,!0)});function cx(e,t,n,r){var a=pn.hasOwnProperty(t)?pn[t]:null;(a!==null?a.type!==0:r||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(Q$(t,n,a,r)&&(n=null),r||a===null?Y$(t)&&(n===null?e.removeAttribute(t):e.setAttribute(t,""+n)):a.mustUseProperty?e[a.propertyName]=n===null?a.type===3?!1:"":n:(t=a.attributeName,r=a.attributeNamespace,n===null?e.removeAttribute(t):(a=a.type,n=a===3||a===4&&n===!0?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}var Fa=K$.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Ed=Symbol.for("react.element"),go=Symbol.for("react.portal"),vo=Symbol.for("react.fragment"),ux=Symbol.for("react.strict_mode"),bv=Symbol.for("react.profiler"),xC=Symbol.for("react.provider"),wC=Symbol.for("react.context"),dx=Symbol.for("react.forward_ref"),xv=Symbol.for("react.suspense"),wv=Symbol.for("react.suspense_list"),fx=Symbol.for("react.memo"),ai=Symbol.for("react.lazy"),kC=Symbol.for("react.offscreen"),G0=Symbol.iterator;function Zl(e){return e===null||typeof e!="object"?null:(e=G0&&e[G0]||e["@@iterator"],typeof e=="function"?e:null)}var At=Object.assign,$m;function xc(e){if($m===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);$m=t&&t[1]||""}return`
|
|
34
|
+
`+$m+e}var Lm=!1;function Dm(e,t){if(!e||Lm)return"";Lm=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(u){var r=u}Reflect.construct(e,[],t)}else{try{t.call()}catch(u){r=u}e.call(t.prototype)}else{try{throw Error()}catch(u){r=u}e()}}catch(u){if(u&&r&&typeof u.stack=="string"){for(var a=u.stack.split(`
|
|
35
|
+
`),s=r.stack.split(`
|
|
36
|
+
`),o=a.length-1,l=s.length-1;1<=o&&0<=l&&a[o]!==s[l];)l--;for(;1<=o&&0<=l;o--,l--)if(a[o]!==s[l]){if(o!==1||l!==1)do if(o--,l--,0>l||a[o]!==s[l]){var c=`
|
|
37
|
+
`+a[o].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}while(1<=o&&0<=l);break}}}finally{Lm=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?xc(e):""}function Z$(e){switch(e.tag){case 5:return xc(e.type);case 16:return xc("Lazy");case 13:return xc("Suspense");case 19:return xc("SuspenseList");case 0:case 2:case 15:return e=Dm(e.type,!1),e;case 11:return e=Dm(e.type.render,!1),e;case 1:return e=Dm(e.type,!0),e;default:return""}}function kv(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case vo:return"Fragment";case go:return"Portal";case bv:return"Profiler";case ux:return"StrictMode";case xv:return"Suspense";case wv:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case wC:return(e.displayName||"Context")+".Consumer";case xC:return(e._context.displayName||"Context")+".Provider";case dx:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case fx:return t=e.displayName||null,t!==null?t:kv(e.type)||"Memo";case ai:t=e._payload,e=e._init;try{return kv(e(t))}catch{}}return null}function J$(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return kv(t);case 8:return t===ux?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Ai(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function SC(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function eL(e){var t=SC(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var a=n.get,s=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(o){r=""+o,s.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function _d(e){e._valueTracker||(e._valueTracker=eL(e))}function jC(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=SC(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Mf(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Sv(e,t){var n=t.checked;return At({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function q0(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Ai(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function NC(e,t){t=t.checked,t!=null&&cx(e,"checked",t,!1)}function jv(e,t){NC(e,t);var n=Ai(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Nv(e,t.type,n):t.hasOwnProperty("defaultValue")&&Nv(e,t.type,Ai(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function K0(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Nv(e,t,n){(t!=="number"||Mf(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var wc=Array.isArray;function Po(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t["$"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty("$"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&r&&(e[n].defaultSelected=!0)}else{for(n=""+Ai(n),t=null,a=0;a<e.length;a++){if(e[a].value===n){e[a].selected=!0,r&&(e[a].defaultSelected=!0);return}t!==null||e[a].disabled||(t=e[a])}t!==null&&(t.selected=!0)}}function Ev(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(se(91));return At({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function V0(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(se(92));if(wc(n)){if(1<n.length)throw Error(se(93));n=n[0]}t=n}t==null&&(t=""),n=t}e._wrapperState={initialValue:Ai(n)}}function EC(e,t){var n=Ai(t.value),r=Ai(t.defaultValue);n!=null&&(n=""+n,n!==e.value&&(e.value=n),t.defaultValue==null&&e.defaultValue!==n&&(e.defaultValue=n)),r!=null&&(e.defaultValue=""+r)}function Y0(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function _C(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function _v(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?_C(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var Cd,CC=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,n,r,a){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,a)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(Cd=Cd||document.createElement("div"),Cd.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=Cd.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Gc(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var _c={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},tL=["Webkit","ms","Moz","O"];Object.keys(_c).forEach(function(e){tL.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),_c[t]=_c[e]})});function AC(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||_c.hasOwnProperty(e)&&_c[e]?(""+t).trim():t+"px"}function TC(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,a=AC(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,a):e[n]=a}}var nL=At({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Cv(e,t){if(t){if(nL[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(se(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(se(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(se(61))}if(t.style!=null&&typeof t.style!="object")throw Error(se(62))}}function Av(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Tv=null;function hx(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Ov=null,Ro=null,Mo=null;function X0(e){if(e=Ju(e)){if(typeof Ov!="function")throw Error(se(280));var t=e.stateNode;t&&(t=kp(t),Ov(e.stateNode,e.type,t))}}function OC(e){Ro?Mo?Mo.push(e):Mo=[e]:Ro=e}function PC(){if(Ro){var e=Ro,t=Mo;if(Mo=Ro=null,X0(e),t)for(e=0;e<t.length;e++)X0(t[e])}}function RC(e,t){return e(t)}function MC(){}var Bm=!1;function IC(e,t,n){if(Bm)return e(t,n);Bm=!0;try{return RC(e,t,n)}finally{Bm=!1,(Ro!==null||Mo!==null)&&(MC(),PC())}}function qc(e,t){var n=e.stateNode;if(n===null)return null;var r=kp(n);if(r===null)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(se(231,t,typeof n));return n}var Pv=!1;if(Ma)try{var Jl={};Object.defineProperty(Jl,"passive",{get:function(){Pv=!0}}),window.addEventListener("test",Jl,Jl),window.removeEventListener("test",Jl,Jl)}catch{Pv=!1}function rL(e,t,n,r,a,s,o,l,c){var u=Array.prototype.slice.call(arguments,3);try{t.apply(n,u)}catch(d){this.onError(d)}}var Cc=!1,If=null,$f=!1,Rv=null,aL={onError:function(e){Cc=!0,If=e}};function iL(e,t,n,r,a,s,o,l,c){Cc=!1,If=null,rL.apply(aL,arguments)}function sL(e,t,n,r,a,s,o,l,c){if(iL.apply(this,arguments),Cc){if(Cc){var u=If;Cc=!1,If=null}else throw Error(se(198));$f||($f=!0,Rv=u)}}function Ds(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function $C(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function Q0(e){if(Ds(e)!==e)throw Error(se(188))}function oL(e){var t=e.alternate;if(!t){if(t=Ds(e),t===null)throw Error(se(188));return t!==e?null:e}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return Q0(a),e;if(s===r)return Q0(a),t;s=s.sibling}throw Error(se(188))}if(n.return!==r.return)n=a,r=s;else{for(var o=!1,l=a.child;l;){if(l===n){o=!0,n=a,r=s;break}if(l===r){o=!0,r=a,n=s;break}l=l.sibling}if(!o){for(l=s.child;l;){if(l===n){o=!0,n=s,r=a;break}if(l===r){o=!0,r=s,n=a;break}l=l.sibling}if(!o)throw Error(se(189))}}if(n.alternate!==r)throw Error(se(190))}if(n.tag!==3)throw Error(se(188));return n.stateNode.current===n?e:t}function LC(e){return e=oL(e),e!==null?DC(e):null}function DC(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=DC(e);if(t!==null)return t;e=e.sibling}return null}var BC=sr.unstable_scheduleCallback,Z0=sr.unstable_cancelCallback,lL=sr.unstable_shouldYield,cL=sr.unstable_requestPaint,Mt=sr.unstable_now,uL=sr.unstable_getCurrentPriorityLevel,px=sr.unstable_ImmediatePriority,zC=sr.unstable_UserBlockingPriority,Lf=sr.unstable_NormalPriority,dL=sr.unstable_LowPriority,FC=sr.unstable_IdlePriority,yp=null,ca=null;function fL(e){if(ca&&typeof ca.onCommitFiberRoot=="function")try{ca.onCommitFiberRoot(yp,e,void 0,(e.current.flags&128)===128)}catch{}}var Dr=Math.clz32?Math.clz32:mL,hL=Math.log,pL=Math.LN2;function mL(e){return e>>>=0,e===0?32:31-(hL(e)/pL|0)|0}var Ad=64,Td=4194304;function kc(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Df(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,a=e.suspendedLanes,s=e.pingedLanes,o=n&268435455;if(o!==0){var l=o&~a;l!==0?r=kc(l):(s&=o,s!==0&&(r=kc(s)))}else o=n&~a,o!==0?r=kc(o):s!==0&&(r=kc(s));if(r===0)return 0;if(t!==0&&t!==r&&!(t&a)&&(a=r&-r,s=t&-t,a>=s||a===16&&(s&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0<t;)n=31-Dr(t),a=1<<n,r|=e[n],t&=~a;return r}function gL(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function vL(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,s=e.pendingLanes;0<s;){var o=31-Dr(s),l=1<<o,c=a[o];c===-1?(!(l&n)||l&r)&&(a[o]=gL(l,t)):c<=t&&(e.expiredLanes|=l),s&=~l}}function Mv(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function UC(){var e=Ad;return Ad<<=1,!(Ad&4194240)&&(Ad=64),e}function zm(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Qu(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Dr(t),e[t]=n}function yL(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var a=31-Dr(n),s=1<<a;t[a]=0,r[a]=-1,e[a]=-1,n&=~s}}function mx(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Dr(n),a=1<<r;a&t|e[r]&t&&(e[r]|=t),n&=~a}}var et=0;function WC(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var HC,gx,GC,qC,KC,Iv=!1,Od=[],yi=null,bi=null,xi=null,Kc=new Map,Vc=new Map,oi=[],bL="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function J0(e,t){switch(e){case"focusin":case"focusout":yi=null;break;case"dragenter":case"dragleave":bi=null;break;case"mouseover":case"mouseout":xi=null;break;case"pointerover":case"pointerout":Kc.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Vc.delete(t.pointerId)}}function ec(e,t,n,r,a,s){return e===null||e.nativeEvent!==s?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:s,targetContainers:[a]},t!==null&&(t=Ju(t),t!==null&&gx(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,a!==null&&t.indexOf(a)===-1&&t.push(a),e)}function xL(e,t,n,r,a){switch(t){case"focusin":return yi=ec(yi,e,t,n,r,a),!0;case"dragenter":return bi=ec(bi,e,t,n,r,a),!0;case"mouseover":return xi=ec(xi,e,t,n,r,a),!0;case"pointerover":var s=a.pointerId;return Kc.set(s,ec(Kc.get(s)||null,e,t,n,r,a)),!0;case"gotpointercapture":return s=a.pointerId,Vc.set(s,ec(Vc.get(s)||null,e,t,n,r,a)),!0}return!1}function VC(e){var t=us(e.target);if(t!==null){var n=Ds(t);if(n!==null){if(t=n.tag,t===13){if(t=$C(n),t!==null){e.blockedOn=t,KC(e.priority,function(){GC(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function wf(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=$v(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);Tv=r,n.target.dispatchEvent(r),Tv=null}else return t=Ju(n),t!==null&&gx(t),e.blockedOn=n,!1;t.shift()}return!0}function ek(e,t,n){wf(e)&&n.delete(t)}function wL(){Iv=!1,yi!==null&&wf(yi)&&(yi=null),bi!==null&&wf(bi)&&(bi=null),xi!==null&&wf(xi)&&(xi=null),Kc.forEach(ek),Vc.forEach(ek)}function tc(e,t){e.blockedOn===t&&(e.blockedOn=null,Iv||(Iv=!0,sr.unstable_scheduleCallback(sr.unstable_NormalPriority,wL)))}function Yc(e){function t(a){return tc(a,e)}if(0<Od.length){tc(Od[0],e);for(var n=1;n<Od.length;n++){var r=Od[n];r.blockedOn===e&&(r.blockedOn=null)}}for(yi!==null&&tc(yi,e),bi!==null&&tc(bi,e),xi!==null&&tc(xi,e),Kc.forEach(t),Vc.forEach(t),n=0;n<oi.length;n++)r=oi[n],r.blockedOn===e&&(r.blockedOn=null);for(;0<oi.length&&(n=oi[0],n.blockedOn===null);)VC(n),n.blockedOn===null&&oi.shift()}var Io=Fa.ReactCurrentBatchConfig,Bf=!0;function kL(e,t,n,r){var a=et,s=Io.transition;Io.transition=null;try{et=1,vx(e,t,n,r)}finally{et=a,Io.transition=s}}function SL(e,t,n,r){var a=et,s=Io.transition;Io.transition=null;try{et=4,vx(e,t,n,r)}finally{et=a,Io.transition=s}}function vx(e,t,n,r){if(Bf){var a=$v(e,t,n,r);if(a===null)Xm(e,t,r,zf,n),J0(e,r);else if(xL(a,e,t,n,r))r.stopPropagation();else if(J0(e,r),t&4&&-1<bL.indexOf(e)){for(;a!==null;){var s=Ju(a);if(s!==null&&HC(s),s=$v(e,t,n,r),s===null&&Xm(e,t,r,zf,n),s===a)break;a=s}a!==null&&r.stopPropagation()}else Xm(e,t,r,null,n)}}var zf=null;function $v(e,t,n,r){if(zf=null,e=hx(r),e=us(e),e!==null)if(t=Ds(e),t===null)e=null;else if(n=t.tag,n===13){if(e=$C(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return zf=e,null}function YC(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(uL()){case px:return 1;case zC:return 4;case Lf:case dL:return 16;case FC:return 536870912;default:return 16}default:return 16}}var fi=null,yx=null,kf=null;function XC(){if(kf)return kf;var e,t=yx,n=t.length,r,a="value"in fi?fi.value:fi.textContent,s=a.length;for(e=0;e<n&&t[e]===a[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===a[s-r];r++);return kf=a.slice(e,1<r?1-r:void 0)}function Sf(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Pd(){return!0}function tk(){return!1}function cr(e){function t(n,r,a,s,o){this._reactName=n,this._targetInst=a,this.type=r,this.nativeEvent=s,this.target=o,this.currentTarget=null;for(var l in e)e.hasOwnProperty(l)&&(n=e[l],this[l]=n?n(s):s[l]);return this.isDefaultPrevented=(s.defaultPrevented!=null?s.defaultPrevented:s.returnValue===!1)?Pd:tk,this.isPropagationStopped=tk,this}return At(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=Pd)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=Pd)},persist:function(){},isPersistent:Pd}),t}var wl={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},bx=cr(wl),Zu=At({},wl,{view:0,detail:0}),jL=cr(Zu),Fm,Um,nc,bp=At({},Zu,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:xx,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==nc&&(nc&&e.type==="mousemove"?(Fm=e.screenX-nc.screenX,Um=e.screenY-nc.screenY):Um=Fm=0,nc=e),Fm)},movementY:function(e){return"movementY"in e?e.movementY:Um}}),nk=cr(bp),NL=At({},bp,{dataTransfer:0}),EL=cr(NL),_L=At({},Zu,{relatedTarget:0}),Wm=cr(_L),CL=At({},wl,{animationName:0,elapsedTime:0,pseudoElement:0}),AL=cr(CL),TL=At({},wl,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),OL=cr(TL),PL=At({},wl,{data:0}),rk=cr(PL),RL={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},ML={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},IL={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function $L(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=IL[e])?!!t[e]:!1}function xx(){return $L}var LL=At({},Zu,{key:function(e){if(e.key){var t=RL[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Sf(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?ML[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:xx,charCode:function(e){return e.type==="keypress"?Sf(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Sf(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),DL=cr(LL),BL=At({},bp,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),ak=cr(BL),zL=At({},Zu,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:xx}),FL=cr(zL),UL=At({},wl,{propertyName:0,elapsedTime:0,pseudoElement:0}),WL=cr(UL),HL=At({},bp,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),GL=cr(HL),qL=[9,13,27,32],wx=Ma&&"CompositionEvent"in window,Ac=null;Ma&&"documentMode"in document&&(Ac=document.documentMode);var KL=Ma&&"TextEvent"in window&&!Ac,QC=Ma&&(!wx||Ac&&8<Ac&&11>=Ac),ik=" ",sk=!1;function ZC(e,t){switch(e){case"keyup":return qL.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function JC(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var yo=!1;function VL(e,t){switch(e){case"compositionend":return JC(t);case"keypress":return t.which!==32?null:(sk=!0,ik);case"textInput":return e=t.data,e===ik&&sk?null:e;default:return null}}function YL(e,t){if(yo)return e==="compositionend"||!wx&&ZC(e,t)?(e=XC(),kf=yx=fi=null,yo=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return QC&&t.locale!=="ko"?null:t.data;default:return null}}var XL={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function ok(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!XL[e.type]:t==="textarea"}function eA(e,t,n,r){OC(r),t=Ff(t,"onChange"),0<t.length&&(n=new bx("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Tc=null,Xc=null;function QL(e){dA(e,0)}function xp(e){var t=wo(e);if(jC(t))return e}function ZL(e,t){if(e==="change")return t}var tA=!1;if(Ma){var Hm;if(Ma){var Gm="oninput"in document;if(!Gm){var lk=document.createElement("div");lk.setAttribute("oninput","return;"),Gm=typeof lk.oninput=="function"}Hm=Gm}else Hm=!1;tA=Hm&&(!document.documentMode||9<document.documentMode)}function ck(){Tc&&(Tc.detachEvent("onpropertychange",nA),Xc=Tc=null)}function nA(e){if(e.propertyName==="value"&&xp(Xc)){var t=[];eA(t,Xc,e,hx(e)),IC(QL,t)}}function JL(e,t,n){e==="focusin"?(ck(),Tc=t,Xc=n,Tc.attachEvent("onpropertychange",nA)):e==="focusout"&&ck()}function eD(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return xp(Xc)}function tD(e,t){if(e==="click")return xp(t)}function nD(e,t){if(e==="input"||e==="change")return xp(t)}function rD(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Wr=typeof Object.is=="function"?Object.is:rD;function Qc(e,t){if(Wr(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var a=n[r];if(!yv.call(t,a)||!Wr(e[a],t[a]))return!1}return!0}function uk(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function dk(e,t){var n=uk(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=uk(n)}}function rA(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?rA(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function aA(){for(var e=window,t=Mf();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Mf(e.document)}return t}function kx(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function aD(e){var t=aA(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&rA(n.ownerDocument.documentElement,n)){if(r!==null&&kx(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var a=n.textContent.length,s=Math.min(r.start,a);r=r.end===void 0?s:Math.min(r.end,a),!e.extend&&s>r&&(a=r,r=s,s=a),a=dk(n,s);var o=dk(n,r);a&&o&&(e.rangeCount!==1||e.anchorNode!==a.node||e.anchorOffset!==a.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(a.node,a.offset),e.removeAllRanges(),s>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n<t.length;n++)e=t[n],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var iD=Ma&&"documentMode"in document&&11>=document.documentMode,bo=null,Lv=null,Oc=null,Dv=!1;function fk(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Dv||bo==null||bo!==Mf(r)||(r=bo,"selectionStart"in r&&kx(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Oc&&Qc(Oc,r)||(Oc=r,r=Ff(Lv,"onSelect"),0<r.length&&(t=new bx("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=bo)))}function Rd(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var xo={animationend:Rd("Animation","AnimationEnd"),animationiteration:Rd("Animation","AnimationIteration"),animationstart:Rd("Animation","AnimationStart"),transitionend:Rd("Transition","TransitionEnd")},qm={},iA={};Ma&&(iA=document.createElement("div").style,"AnimationEvent"in window||(delete xo.animationend.animation,delete xo.animationiteration.animation,delete xo.animationstart.animation),"TransitionEvent"in window||delete xo.transitionend.transition);function wp(e){if(qm[e])return qm[e];if(!xo[e])return e;var t=xo[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in iA)return qm[e]=t[n];return e}var sA=wp("animationend"),oA=wp("animationiteration"),lA=wp("animationstart"),cA=wp("transitionend"),uA=new Map,hk="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Pi(e,t){uA.set(e,t),Ls(t,[e])}for(var Km=0;Km<hk.length;Km++){var Vm=hk[Km],sD=Vm.toLowerCase(),oD=Vm[0].toUpperCase()+Vm.slice(1);Pi(sD,"on"+oD)}Pi(sA,"onAnimationEnd");Pi(oA,"onAnimationIteration");Pi(lA,"onAnimationStart");Pi("dblclick","onDoubleClick");Pi("focusin","onFocus");Pi("focusout","onBlur");Pi(cA,"onTransitionEnd");Wo("onMouseEnter",["mouseout","mouseover"]);Wo("onMouseLeave",["mouseout","mouseover"]);Wo("onPointerEnter",["pointerout","pointerover"]);Wo("onPointerLeave",["pointerout","pointerover"]);Ls("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Ls("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Ls("onBeforeInput",["compositionend","keypress","textInput","paste"]);Ls("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Ls("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Ls("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Sc="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),lD=new Set("cancel close invalid load scroll toggle".split(" ").concat(Sc));function pk(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,sL(r,t,void 0,e),e.currentTarget=null}function dA(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var r=e[n],a=r.event;r=r.listeners;e:{var s=void 0;if(t)for(var o=r.length-1;0<=o;o--){var l=r[o],c=l.instance,u=l.currentTarget;if(l=l.listener,c!==s&&a.isPropagationStopped())break e;pk(a,l,u),s=c}else for(o=0;o<r.length;o++){if(l=r[o],c=l.instance,u=l.currentTarget,l=l.listener,c!==s&&a.isPropagationStopped())break e;pk(a,l,u),s=c}}}if($f)throw e=Rv,$f=!1,Rv=null,e}function vt(e,t){var n=t[Wv];n===void 0&&(n=t[Wv]=new Set);var r=e+"__bubble";n.has(r)||(fA(t,e,2,!1),n.add(r))}function Ym(e,t,n){var r=0;t&&(r|=4),fA(n,e,r,t)}var Md="_reactListening"+Math.random().toString(36).slice(2);function Zc(e){if(!e[Md]){e[Md]=!0,bC.forEach(function(n){n!=="selectionchange"&&(lD.has(n)||Ym(n,!1,e),Ym(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Md]||(t[Md]=!0,Ym("selectionchange",!1,t))}}function fA(e,t,n,r){switch(YC(t)){case 1:var a=kL;break;case 4:a=SL;break;default:a=vx}n=a.bind(null,t,n,e),a=void 0,!Pv||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(a=!0),r?a!==void 0?e.addEventListener(t,n,{capture:!0,passive:a}):e.addEventListener(t,n,!0):a!==void 0?e.addEventListener(t,n,{passive:a}):e.addEventListener(t,n,!1)}function Xm(e,t,n,r,a){var s=r;if(!(t&1)&&!(t&2)&&r!==null)e:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var l=r.stateNode.containerInfo;if(l===a||l.nodeType===8&&l.parentNode===a)break;if(o===4)for(o=r.return;o!==null;){var c=o.tag;if((c===3||c===4)&&(c=o.stateNode.containerInfo,c===a||c.nodeType===8&&c.parentNode===a))return;o=o.return}for(;l!==null;){if(o=us(l),o===null)return;if(c=o.tag,c===5||c===6){r=s=o;continue e}l=l.parentNode}}r=r.return}IC(function(){var u=s,d=hx(n),f=[];e:{var h=uA.get(e);if(h!==void 0){var p=bx,m=e;switch(e){case"keypress":if(Sf(n)===0)break e;case"keydown":case"keyup":p=DL;break;case"focusin":m="focus",p=Wm;break;case"focusout":m="blur",p=Wm;break;case"beforeblur":case"afterblur":p=Wm;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":p=nk;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":p=EL;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":p=FL;break;case sA:case oA:case lA:p=AL;break;case cA:p=WL;break;case"scroll":p=jL;break;case"wheel":p=GL;break;case"copy":case"cut":case"paste":p=OL;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":p=ak}var g=(t&4)!==0,y=!g&&e==="scroll",v=g?h!==null?h+"Capture":null:h;g=[];for(var k=u,w;k!==null;){w=k;var N=w.stateNode;if(w.tag===5&&N!==null&&(w=N,v!==null&&(N=qc(k,v),N!=null&&g.push(Jc(k,N,w)))),y)break;k=k.return}0<g.length&&(h=new p(h,m,null,n,d),f.push({event:h,listeners:g}))}}if(!(t&7)){e:{if(h=e==="mouseover"||e==="pointerover",p=e==="mouseout"||e==="pointerout",h&&n!==Tv&&(m=n.relatedTarget||n.fromElement)&&(us(m)||m[Ia]))break e;if((p||h)&&(h=d.window===d?d:(h=d.ownerDocument)?h.defaultView||h.parentWindow:window,p?(m=n.relatedTarget||n.toElement,p=u,m=m?us(m):null,m!==null&&(y=Ds(m),m!==y||m.tag!==5&&m.tag!==6)&&(m=null)):(p=null,m=u),p!==m)){if(g=nk,N="onMouseLeave",v="onMouseEnter",k="mouse",(e==="pointerout"||e==="pointerover")&&(g=ak,N="onPointerLeave",v="onPointerEnter",k="pointer"),y=p==null?h:wo(p),w=m==null?h:wo(m),h=new g(N,k+"leave",p,n,d),h.target=y,h.relatedTarget=w,N=null,us(d)===u&&(g=new g(v,k+"enter",m,n,d),g.target=w,g.relatedTarget=y,N=g),y=N,p&&m)t:{for(g=p,v=m,k=0,w=g;w;w=ro(w))k++;for(w=0,N=v;N;N=ro(N))w++;for(;0<k-w;)g=ro(g),k--;for(;0<w-k;)v=ro(v),w--;for(;k--;){if(g===v||v!==null&&g===v.alternate)break t;g=ro(g),v=ro(v)}g=null}else g=null;p!==null&&mk(f,h,p,g,!1),m!==null&&y!==null&&mk(f,y,m,g,!0)}}e:{if(h=u?wo(u):window,p=h.nodeName&&h.nodeName.toLowerCase(),p==="select"||p==="input"&&h.type==="file")var S=ZL;else if(ok(h))if(tA)S=nD;else{S=eD;var x=JL}else(p=h.nodeName)&&p.toLowerCase()==="input"&&(h.type==="checkbox"||h.type==="radio")&&(S=tD);if(S&&(S=S(e,u))){eA(f,S,n,d);break e}x&&x(e,h,u),e==="focusout"&&(x=h._wrapperState)&&x.controlled&&h.type==="number"&&Nv(h,"number",h.value)}switch(x=u?wo(u):window,e){case"focusin":(ok(x)||x.contentEditable==="true")&&(bo=x,Lv=u,Oc=null);break;case"focusout":Oc=Lv=bo=null;break;case"mousedown":Dv=!0;break;case"contextmenu":case"mouseup":case"dragend":Dv=!1,fk(f,n,d);break;case"selectionchange":if(iD)break;case"keydown":case"keyup":fk(f,n,d)}var E;if(wx)e:{switch(e){case"compositionstart":var _="onCompositionStart";break e;case"compositionend":_="onCompositionEnd";break e;case"compositionupdate":_="onCompositionUpdate";break e}_=void 0}else yo?ZC(e,n)&&(_="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(_="onCompositionStart");_&&(QC&&n.locale!=="ko"&&(yo||_!=="onCompositionStart"?_==="onCompositionEnd"&&yo&&(E=XC()):(fi=d,yx="value"in fi?fi.value:fi.textContent,yo=!0)),x=Ff(u,_),0<x.length&&(_=new rk(_,e,null,n,d),f.push({event:_,listeners:x}),E?_.data=E:(E=JC(n),E!==null&&(_.data=E)))),(E=KL?VL(e,n):YL(e,n))&&(u=Ff(u,"onBeforeInput"),0<u.length&&(d=new rk("onBeforeInput","beforeinput",null,n,d),f.push({event:d,listeners:u}),d.data=E))}dA(f,t)})}function Jc(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Ff(e,t){for(var n=t+"Capture",r=[];e!==null;){var a=e,s=a.stateNode;a.tag===5&&s!==null&&(a=s,s=qc(e,n),s!=null&&r.unshift(Jc(e,s,a)),s=qc(e,t),s!=null&&r.push(Jc(e,s,a))),e=e.return}return r}function ro(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function mk(e,t,n,r,a){for(var s=t._reactName,o=[];n!==null&&n!==r;){var l=n,c=l.alternate,u=l.stateNode;if(c!==null&&c===r)break;l.tag===5&&u!==null&&(l=u,a?(c=qc(n,s),c!=null&&o.unshift(Jc(n,c,l))):a||(c=qc(n,s),c!=null&&o.push(Jc(n,c,l)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var cD=/\r\n?/g,uD=/\u0000|\uFFFD/g;function gk(e){return(typeof e=="string"?e:""+e).replace(cD,`
|
|
38
|
+
`).replace(uD,"")}function Id(e,t,n){if(t=gk(t),gk(e)!==t&&n)throw Error(se(425))}function Uf(){}var Bv=null,zv=null;function Fv(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Uv=typeof setTimeout=="function"?setTimeout:void 0,dD=typeof clearTimeout=="function"?clearTimeout:void 0,vk=typeof Promise=="function"?Promise:void 0,fD=typeof queueMicrotask=="function"?queueMicrotask:typeof vk<"u"?function(e){return vk.resolve(null).then(e).catch(hD)}:Uv;function hD(e){setTimeout(function(){throw e})}function Qm(e,t){var n=t,r=0;do{var a=n.nextSibling;if(e.removeChild(n),a&&a.nodeType===8)if(n=a.data,n==="/$"){if(r===0){e.removeChild(a),Yc(t);return}r--}else n!=="$"&&n!=="$?"&&n!=="$!"||r++;n=a}while(n);Yc(t)}function wi(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function yk(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"){if(t===0)return e;t--}else n==="/$"&&t++}e=e.previousSibling}return null}var kl=Math.random().toString(36).slice(2),ia="__reactFiber$"+kl,eu="__reactProps$"+kl,Ia="__reactContainer$"+kl,Wv="__reactEvents$"+kl,pD="__reactListeners$"+kl,mD="__reactHandles$"+kl;function us(e){var t=e[ia];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Ia]||n[ia]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=yk(e);e!==null;){if(n=e[ia])return n;e=yk(e)}return t}e=n,n=e.parentNode}return null}function Ju(e){return e=e[ia]||e[Ia],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function wo(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(se(33))}function kp(e){return e[eu]||null}var Hv=[],ko=-1;function Ri(e){return{current:e}}function wt(e){0>ko||(e.current=Hv[ko],Hv[ko]=null,ko--)}function ht(e,t){ko++,Hv[ko]=e.current,e.current=t}var Ti={},Nn=Ri(Ti),Wn=Ri(!1),Es=Ti;function Ho(e,t){var n=e.type.contextTypes;if(!n)return Ti;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var a={},s;for(s in n)a[s]=t[s];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function Hn(e){return e=e.childContextTypes,e!=null}function Wf(){wt(Wn),wt(Nn)}function bk(e,t,n){if(Nn.current!==Ti)throw Error(se(168));ht(Nn,t),ht(Wn,n)}function hA(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var a in r)if(!(a in t))throw Error(se(108,J$(e)||"Unknown",a));return At({},n,r)}function Hf(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ti,Es=Nn.current,ht(Nn,e),ht(Wn,Wn.current),!0}function xk(e,t,n){var r=e.stateNode;if(!r)throw Error(se(169));n?(e=hA(e,t,Es),r.__reactInternalMemoizedMergedChildContext=e,wt(Wn),wt(Nn),ht(Nn,e)):wt(Wn),ht(Wn,n)}var ja=null,Sp=!1,Zm=!1;function pA(e){ja===null?ja=[e]:ja.push(e)}function gD(e){Sp=!0,pA(e)}function Mi(){if(!Zm&&ja!==null){Zm=!0;var e=0,t=et;try{var n=ja;for(et=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}ja=null,Sp=!1}catch(a){throw ja!==null&&(ja=ja.slice(e+1)),BC(px,Mi),a}finally{et=t,Zm=!1}}return null}var So=[],jo=0,Gf=null,qf=0,mr=[],gr=0,_s=null,Na=1,Ea="";function ts(e,t){So[jo++]=qf,So[jo++]=Gf,Gf=e,qf=t}function mA(e,t,n){mr[gr++]=Na,mr[gr++]=Ea,mr[gr++]=_s,_s=e;var r=Na;e=Ea;var a=32-Dr(r)-1;r&=~(1<<a),n+=1;var s=32-Dr(t)+a;if(30<s){var o=a-a%5;s=(r&(1<<o)-1).toString(32),r>>=o,a-=o,Na=1<<32-Dr(t)+a|n<<a|r,Ea=s+e}else Na=1<<s|n<<a|r,Ea=e}function Sx(e){e.return!==null&&(ts(e,1),mA(e,1,0))}function jx(e){for(;e===Gf;)Gf=So[--jo],So[jo]=null,qf=So[--jo],So[jo]=null;for(;e===_s;)_s=mr[--gr],mr[gr]=null,Ea=mr[--gr],mr[gr]=null,Na=mr[--gr],mr[gr]=null}var ar=null,rr=null,St=!1,Ir=null;function gA(e,t){var n=yr(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,t=e.deletions,t===null?(e.deletions=[n],e.flags|=16):t.push(n)}function wk(e,t){switch(e.tag){case 5:var n=e.type;return t=t.nodeType!==1||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,ar=e,rr=wi(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,ar=e,rr=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=_s!==null?{id:Na,overflow:Ea}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=yr(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,ar=e,rr=null,!0):!1;default:return!1}}function Gv(e){return(e.mode&1)!==0&&(e.flags&128)===0}function qv(e){if(St){var t=rr;if(t){var n=t;if(!wk(e,t)){if(Gv(e))throw Error(se(418));t=wi(n.nextSibling);var r=ar;t&&wk(e,t)?gA(r,n):(e.flags=e.flags&-4097|2,St=!1,ar=e)}}else{if(Gv(e))throw Error(se(418));e.flags=e.flags&-4097|2,St=!1,ar=e}}}function kk(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;ar=e}function $d(e){if(e!==ar)return!1;if(!St)return kk(e),St=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!Fv(e.type,e.memoizedProps)),t&&(t=rr)){if(Gv(e))throw vA(),Error(se(418));for(;t;)gA(e,t),t=wi(t.nextSibling)}if(kk(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(se(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"){if(t===0){rr=wi(e.nextSibling);break e}t--}else n!=="$"&&n!=="$!"&&n!=="$?"||t++}e=e.nextSibling}rr=null}}else rr=ar?wi(e.stateNode.nextSibling):null;return!0}function vA(){for(var e=rr;e;)e=wi(e.nextSibling)}function Go(){rr=ar=null,St=!1}function Nx(e){Ir===null?Ir=[e]:Ir.push(e)}var vD=Fa.ReactCurrentBatchConfig;function rc(e,t,n){if(e=n.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(n._owner){if(n=n._owner,n){if(n.tag!==1)throw Error(se(309));var r=n.stateNode}if(!r)throw Error(se(147,e));var a=r,s=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===s?t.ref:(t=function(o){var l=a.refs;o===null?delete l[s]:l[s]=o},t._stringRef=s,t)}if(typeof e!="string")throw Error(se(284));if(!n._owner)throw Error(se(290,e))}return e}function Ld(e,t){throw e=Object.prototype.toString.call(t),Error(se(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Sk(e){var t=e._init;return t(e._payload)}function yA(e){function t(v,k){if(e){var w=v.deletions;w===null?(v.deletions=[k],v.flags|=16):w.push(k)}}function n(v,k){if(!e)return null;for(;k!==null;)t(v,k),k=k.sibling;return null}function r(v,k){for(v=new Map;k!==null;)k.key!==null?v.set(k.key,k):v.set(k.index,k),k=k.sibling;return v}function a(v,k){return v=Ni(v,k),v.index=0,v.sibling=null,v}function s(v,k,w){return v.index=w,e?(w=v.alternate,w!==null?(w=w.index,w<k?(v.flags|=2,k):w):(v.flags|=2,k)):(v.flags|=1048576,k)}function o(v){return e&&v.alternate===null&&(v.flags|=2),v}function l(v,k,w,N){return k===null||k.tag!==6?(k=ig(w,v.mode,N),k.return=v,k):(k=a(k,w),k.return=v,k)}function c(v,k,w,N){var S=w.type;return S===vo?d(v,k,w.props.children,N,w.key):k!==null&&(k.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===ai&&Sk(S)===k.type)?(N=a(k,w.props),N.ref=rc(v,k,w),N.return=v,N):(N=Tf(w.type,w.key,w.props,null,v.mode,N),N.ref=rc(v,k,w),N.return=v,N)}function u(v,k,w,N){return k===null||k.tag!==4||k.stateNode.containerInfo!==w.containerInfo||k.stateNode.implementation!==w.implementation?(k=sg(w,v.mode,N),k.return=v,k):(k=a(k,w.children||[]),k.return=v,k)}function d(v,k,w,N,S){return k===null||k.tag!==7?(k=bs(w,v.mode,N,S),k.return=v,k):(k=a(k,w),k.return=v,k)}function f(v,k,w){if(typeof k=="string"&&k!==""||typeof k=="number")return k=ig(""+k,v.mode,w),k.return=v,k;if(typeof k=="object"&&k!==null){switch(k.$$typeof){case Ed:return w=Tf(k.type,k.key,k.props,null,v.mode,w),w.ref=rc(v,null,k),w.return=v,w;case go:return k=sg(k,v.mode,w),k.return=v,k;case ai:var N=k._init;return f(v,N(k._payload),w)}if(wc(k)||Zl(k))return k=bs(k,v.mode,w,null),k.return=v,k;Ld(v,k)}return null}function h(v,k,w,N){var S=k!==null?k.key:null;if(typeof w=="string"&&w!==""||typeof w=="number")return S!==null?null:l(v,k,""+w,N);if(typeof w=="object"&&w!==null){switch(w.$$typeof){case Ed:return w.key===S?c(v,k,w,N):null;case go:return w.key===S?u(v,k,w,N):null;case ai:return S=w._init,h(v,k,S(w._payload),N)}if(wc(w)||Zl(w))return S!==null?null:d(v,k,w,N,null);Ld(v,w)}return null}function p(v,k,w,N,S){if(typeof N=="string"&&N!==""||typeof N=="number")return v=v.get(w)||null,l(k,v,""+N,S);if(typeof N=="object"&&N!==null){switch(N.$$typeof){case Ed:return v=v.get(N.key===null?w:N.key)||null,c(k,v,N,S);case go:return v=v.get(N.key===null?w:N.key)||null,u(k,v,N,S);case ai:var x=N._init;return p(v,k,w,x(N._payload),S)}if(wc(N)||Zl(N))return v=v.get(w)||null,d(k,v,N,S,null);Ld(k,N)}return null}function m(v,k,w,N){for(var S=null,x=null,E=k,_=k=0,O=null;E!==null&&_<w.length;_++){E.index>_?(O=E,E=null):O=E.sibling;var C=h(v,E,w[_],N);if(C===null){E===null&&(E=O);break}e&&E&&C.alternate===null&&t(v,E),k=s(C,k,_),x===null?S=C:x.sibling=C,x=C,E=O}if(_===w.length)return n(v,E),St&&ts(v,_),S;if(E===null){for(;_<w.length;_++)E=f(v,w[_],N),E!==null&&(k=s(E,k,_),x===null?S=E:x.sibling=E,x=E);return St&&ts(v,_),S}for(E=r(v,E);_<w.length;_++)O=p(E,v,_,w[_],N),O!==null&&(e&&O.alternate!==null&&E.delete(O.key===null?_:O.key),k=s(O,k,_),x===null?S=O:x.sibling=O,x=O);return e&&E.forEach(function(P){return t(v,P)}),St&&ts(v,_),S}function g(v,k,w,N){var S=Zl(w);if(typeof S!="function")throw Error(se(150));if(w=S.call(w),w==null)throw Error(se(151));for(var x=S=null,E=k,_=k=0,O=null,C=w.next();E!==null&&!C.done;_++,C=w.next()){E.index>_?(O=E,E=null):O=E.sibling;var P=h(v,E,C.value,N);if(P===null){E===null&&(E=O);break}e&&E&&P.alternate===null&&t(v,E),k=s(P,k,_),x===null?S=P:x.sibling=P,x=P,E=O}if(C.done)return n(v,E),St&&ts(v,_),S;if(E===null){for(;!C.done;_++,C=w.next())C=f(v,C.value,N),C!==null&&(k=s(C,k,_),x===null?S=C:x.sibling=C,x=C);return St&&ts(v,_),S}for(E=r(v,E);!C.done;_++,C=w.next())C=p(E,v,_,C.value,N),C!==null&&(e&&C.alternate!==null&&E.delete(C.key===null?_:C.key),k=s(C,k,_),x===null?S=C:x.sibling=C,x=C);return e&&E.forEach(function(A){return t(v,A)}),St&&ts(v,_),S}function y(v,k,w,N){if(typeof w=="object"&&w!==null&&w.type===vo&&w.key===null&&(w=w.props.children),typeof w=="object"&&w!==null){switch(w.$$typeof){case Ed:e:{for(var S=w.key,x=k;x!==null;){if(x.key===S){if(S=w.type,S===vo){if(x.tag===7){n(v,x.sibling),k=a(x,w.props.children),k.return=v,v=k;break e}}else if(x.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===ai&&Sk(S)===x.type){n(v,x.sibling),k=a(x,w.props),k.ref=rc(v,x,w),k.return=v,v=k;break e}n(v,x);break}else t(v,x);x=x.sibling}w.type===vo?(k=bs(w.props.children,v.mode,N,w.key),k.return=v,v=k):(N=Tf(w.type,w.key,w.props,null,v.mode,N),N.ref=rc(v,k,w),N.return=v,v=N)}return o(v);case go:e:{for(x=w.key;k!==null;){if(k.key===x)if(k.tag===4&&k.stateNode.containerInfo===w.containerInfo&&k.stateNode.implementation===w.implementation){n(v,k.sibling),k=a(k,w.children||[]),k.return=v,v=k;break e}else{n(v,k);break}else t(v,k);k=k.sibling}k=sg(w,v.mode,N),k.return=v,v=k}return o(v);case ai:return x=w._init,y(v,k,x(w._payload),N)}if(wc(w))return m(v,k,w,N);if(Zl(w))return g(v,k,w,N);Ld(v,w)}return typeof w=="string"&&w!==""||typeof w=="number"?(w=""+w,k!==null&&k.tag===6?(n(v,k.sibling),k=a(k,w),k.return=v,v=k):(n(v,k),k=ig(w,v.mode,N),k.return=v,v=k),o(v)):n(v,k)}return y}var qo=yA(!0),bA=yA(!1),Kf=Ri(null),Vf=null,No=null,Ex=null;function _x(){Ex=No=Vf=null}function Cx(e){var t=Kf.current;wt(Kf),e._currentValue=t}function Kv(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function $o(e,t){Vf=e,Ex=No=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Fn=!0),e.firstContext=null)}function kr(e){var t=e._currentValue;if(Ex!==e)if(e={context:e,memoizedValue:t,next:null},No===null){if(Vf===null)throw Error(se(308));No=e,Vf.dependencies={lanes:0,firstContext:e}}else No=No.next=e;return t}var ds=null;function Ax(e){ds===null?ds=[e]:ds.push(e)}function xA(e,t,n,r){var a=t.interleaved;return a===null?(n.next=n,Ax(t)):(n.next=a.next,a.next=n),t.interleaved=n,$a(e,r)}function $a(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var ii=!1;function Tx(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function wA(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Ta(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function ki(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,We&2){var a=r.pending;return a===null?t.next=t:(t.next=a.next,a.next=t),r.pending=t,$a(e,n)}return a=r.interleaved,a===null?(t.next=t,Ax(r)):(t.next=a.next,a.next=t),r.interleaved=t,$a(e,n)}function jf(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,mx(e,n)}}function jk(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var a=null,s=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};s===null?a=s=o:s=s.next=o,n=n.next}while(n!==null);s===null?a=s=t:s=s.next=t}else a=s=t;n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:s,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Yf(e,t,n,r){var a=e.updateQueue;ii=!1;var s=a.firstBaseUpdate,o=a.lastBaseUpdate,l=a.shared.pending;if(l!==null){a.shared.pending=null;var c=l,u=c.next;c.next=null,o===null?s=u:o.next=u,o=c;var d=e.alternate;d!==null&&(d=d.updateQueue,l=d.lastBaseUpdate,l!==o&&(l===null?d.firstBaseUpdate=u:l.next=u,d.lastBaseUpdate=c))}if(s!==null){var f=a.baseState;o=0,d=u=c=null,l=s;do{var h=l.lane,p=l.eventTime;if((r&h)===h){d!==null&&(d=d.next={eventTime:p,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var m=e,g=l;switch(h=t,p=n,g.tag){case 1:if(m=g.payload,typeof m=="function"){f=m.call(p,f,h);break e}f=m;break e;case 3:m.flags=m.flags&-65537|128;case 0:if(m=g.payload,h=typeof m=="function"?m.call(p,f,h):m,h==null)break e;f=At({},f,h);break e;case 2:ii=!0}}l.callback!==null&&l.lane!==0&&(e.flags|=64,h=a.effects,h===null?a.effects=[l]:h.push(l))}else p={eventTime:p,lane:h,tag:l.tag,payload:l.payload,callback:l.callback,next:null},d===null?(u=d=p,c=f):d=d.next=p,o|=h;if(l=l.next,l===null){if(l=a.shared.pending,l===null)break;h=l,l=h.next,h.next=null,a.lastBaseUpdate=h,a.shared.pending=null}}while(!0);if(d===null&&(c=f),a.baseState=c,a.firstBaseUpdate=u,a.lastBaseUpdate=d,t=a.shared.interleaved,t!==null){a=t;do o|=a.lane,a=a.next;while(a!==t)}else s===null&&(a.shared.lanes=0);As|=o,e.lanes=o,e.memoizedState=f}}function Nk(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var r=e[t],a=r.callback;if(a!==null){if(r.callback=null,r=n,typeof a!="function")throw Error(se(191,a));a.call(r)}}}var ed={},ua=Ri(ed),tu=Ri(ed),nu=Ri(ed);function fs(e){if(e===ed)throw Error(se(174));return e}function Ox(e,t){switch(ht(nu,t),ht(tu,e),ht(ua,ed),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:_v(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=_v(t,e)}wt(ua),ht(ua,t)}function Ko(){wt(ua),wt(tu),wt(nu)}function kA(e){fs(nu.current);var t=fs(ua.current),n=_v(t,e.type);t!==n&&(ht(tu,e),ht(ua,n))}function Px(e){tu.current===e&&(wt(ua),wt(tu))}var Et=Ri(0);function Xf(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Jm=[];function Rx(){for(var e=0;e<Jm.length;e++)Jm[e]._workInProgressVersionPrimary=null;Jm.length=0}var Nf=Fa.ReactCurrentDispatcher,eg=Fa.ReactCurrentBatchConfig,Cs=0,_t=null,qt=null,Jt=null,Qf=!1,Pc=!1,ru=0,yD=0;function gn(){throw Error(se(321))}function Mx(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Wr(e[n],t[n]))return!1;return!0}function Ix(e,t,n,r,a,s){if(Cs=s,_t=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Nf.current=e===null||e.memoizedState===null?kD:SD,e=n(r,a),Pc){s=0;do{if(Pc=!1,ru=0,25<=s)throw Error(se(301));s+=1,Jt=qt=null,t.updateQueue=null,Nf.current=jD,e=n(r,a)}while(Pc)}if(Nf.current=Zf,t=qt!==null&&qt.next!==null,Cs=0,Jt=qt=_t=null,Qf=!1,t)throw Error(se(300));return e}function $x(){var e=ru!==0;return ru=0,e}function ra(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Jt===null?_t.memoizedState=Jt=e:Jt=Jt.next=e,Jt}function Sr(){if(qt===null){var e=_t.alternate;e=e!==null?e.memoizedState:null}else e=qt.next;var t=Jt===null?_t.memoizedState:Jt.next;if(t!==null)Jt=t,qt=e;else{if(e===null)throw Error(se(310));qt=e,e={memoizedState:qt.memoizedState,baseState:qt.baseState,baseQueue:qt.baseQueue,queue:qt.queue,next:null},Jt===null?_t.memoizedState=Jt=e:Jt=Jt.next=e}return Jt}function au(e,t){return typeof t=="function"?t(e):t}function tg(e){var t=Sr(),n=t.queue;if(n===null)throw Error(se(311));n.lastRenderedReducer=e;var r=qt,a=r.baseQueue,s=n.pending;if(s!==null){if(a!==null){var o=a.next;a.next=s.next,s.next=o}r.baseQueue=a=s,n.pending=null}if(a!==null){s=a.next,r=r.baseState;var l=o=null,c=null,u=s;do{var d=u.lane;if((Cs&d)===d)c!==null&&(c=c.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),r=u.hasEagerState?u.eagerState:e(r,u.action);else{var f={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};c===null?(l=c=f,o=r):c=c.next=f,_t.lanes|=d,As|=d}u=u.next}while(u!==null&&u!==s);c===null?o=r:c.next=l,Wr(r,t.memoizedState)||(Fn=!0),t.memoizedState=r,t.baseState=o,t.baseQueue=c,n.lastRenderedState=r}if(e=n.interleaved,e!==null){a=e;do s=a.lane,_t.lanes|=s,As|=s,a=a.next;while(a!==e)}else a===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function ng(e){var t=Sr(),n=t.queue;if(n===null)throw Error(se(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,s=t.memoizedState;if(a!==null){n.pending=null;var o=a=a.next;do s=e(s,o.action),o=o.next;while(o!==a);Wr(s,t.memoizedState)||(Fn=!0),t.memoizedState=s,t.baseQueue===null&&(t.baseState=s),n.lastRenderedState=s}return[s,r]}function SA(){}function jA(e,t){var n=_t,r=Sr(),a=t(),s=!Wr(r.memoizedState,a);if(s&&(r.memoizedState=a,Fn=!0),r=r.queue,Lx(_A.bind(null,n,r,e),[e]),r.getSnapshot!==t||s||Jt!==null&&Jt.memoizedState.tag&1){if(n.flags|=2048,iu(9,EA.bind(null,n,r,a,t),void 0,null),nn===null)throw Error(se(349));Cs&30||NA(n,t,a)}return a}function NA(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=_t.updateQueue,t===null?(t={lastEffect:null,stores:null},_t.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function EA(e,t,n,r){t.value=n,t.getSnapshot=r,CA(t)&&AA(e)}function _A(e,t,n){return n(function(){CA(t)&&AA(e)})}function CA(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Wr(e,n)}catch{return!0}}function AA(e){var t=$a(e,1);t!==null&&Br(t,e,1,-1)}function Ek(e){var t=ra();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:au,lastRenderedState:e},t.queue=e,e=e.dispatch=wD.bind(null,_t,e),[t.memoizedState,e]}function iu(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},t=_t.updateQueue,t===null?(t={lastEffect:null,stores:null},_t.updateQueue=t,t.lastEffect=e.next=e):(n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e)),e}function TA(){return Sr().memoizedState}function Ef(e,t,n,r){var a=ra();_t.flags|=e,a.memoizedState=iu(1|t,n,void 0,r===void 0?null:r)}function jp(e,t,n,r){var a=Sr();r=r===void 0?null:r;var s=void 0;if(qt!==null){var o=qt.memoizedState;if(s=o.destroy,r!==null&&Mx(r,o.deps)){a.memoizedState=iu(t,n,s,r);return}}_t.flags|=e,a.memoizedState=iu(1|t,n,s,r)}function _k(e,t){return Ef(8390656,8,e,t)}function Lx(e,t){return jp(2048,8,e,t)}function OA(e,t){return jp(4,2,e,t)}function PA(e,t){return jp(4,4,e,t)}function RA(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function MA(e,t,n){return n=n!=null?n.concat([e]):null,jp(4,4,RA.bind(null,t,e),n)}function Dx(){}function IA(e,t){var n=Sr();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&Mx(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function $A(e,t){var n=Sr();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&Mx(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function LA(e,t,n){return Cs&21?(Wr(n,t)||(n=UC(),_t.lanes|=n,As|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,Fn=!0),e.memoizedState=n)}function bD(e,t){var n=et;et=n!==0&&4>n?n:4,e(!0);var r=eg.transition;eg.transition={};try{e(!1),t()}finally{et=n,eg.transition=r}}function DA(){return Sr().memoizedState}function xD(e,t,n){var r=ji(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},BA(e))zA(t,n);else if(n=xA(e,t,n,r),n!==null){var a=Rn();Br(n,e,r,a),FA(n,t,r)}}function wD(e,t,n){var r=ji(e),a={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(BA(e))zA(t,a);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var o=t.lastRenderedState,l=s(o,n);if(a.hasEagerState=!0,a.eagerState=l,Wr(l,o)){var c=t.interleaved;c===null?(a.next=a,Ax(t)):(a.next=c.next,c.next=a),t.interleaved=a;return}}catch{}finally{}n=xA(e,t,a,r),n!==null&&(a=Rn(),Br(n,e,r,a),FA(n,t,r))}}function BA(e){var t=e.alternate;return e===_t||t!==null&&t===_t}function zA(e,t){Pc=Qf=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function FA(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,mx(e,n)}}var Zf={readContext:kr,useCallback:gn,useContext:gn,useEffect:gn,useImperativeHandle:gn,useInsertionEffect:gn,useLayoutEffect:gn,useMemo:gn,useReducer:gn,useRef:gn,useState:gn,useDebugValue:gn,useDeferredValue:gn,useTransition:gn,useMutableSource:gn,useSyncExternalStore:gn,useId:gn,unstable_isNewReconciler:!1},kD={readContext:kr,useCallback:function(e,t){return ra().memoizedState=[e,t===void 0?null:t],e},useContext:kr,useEffect:_k,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Ef(4194308,4,RA.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ef(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ef(4,2,e,t)},useMemo:function(e,t){var n=ra();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=ra();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=xD.bind(null,_t,e),[r.memoizedState,e]},useRef:function(e){var t=ra();return e={current:e},t.memoizedState=e},useState:Ek,useDebugValue:Dx,useDeferredValue:function(e){return ra().memoizedState=e},useTransition:function(){var e=Ek(!1),t=e[0];return e=bD.bind(null,e[1]),ra().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=_t,a=ra();if(St){if(n===void 0)throw Error(se(407));n=n()}else{if(n=t(),nn===null)throw Error(se(349));Cs&30||NA(r,t,n)}a.memoizedState=n;var s={value:n,getSnapshot:t};return a.queue=s,_k(_A.bind(null,r,s,e),[e]),r.flags|=2048,iu(9,EA.bind(null,r,s,n,t),void 0,null),n},useId:function(){var e=ra(),t=nn.identifierPrefix;if(St){var n=Ea,r=Na;n=(r&~(1<<32-Dr(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=ru++,0<n&&(t+="H"+n.toString(32)),t+=":"}else n=yD++,t=":"+t+"r"+n.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},SD={readContext:kr,useCallback:IA,useContext:kr,useEffect:Lx,useImperativeHandle:MA,useInsertionEffect:OA,useLayoutEffect:PA,useMemo:$A,useReducer:tg,useRef:TA,useState:function(){return tg(au)},useDebugValue:Dx,useDeferredValue:function(e){var t=Sr();return LA(t,qt.memoizedState,e)},useTransition:function(){var e=tg(au)[0],t=Sr().memoizedState;return[e,t]},useMutableSource:SA,useSyncExternalStore:jA,useId:DA,unstable_isNewReconciler:!1},jD={readContext:kr,useCallback:IA,useContext:kr,useEffect:Lx,useImperativeHandle:MA,useInsertionEffect:OA,useLayoutEffect:PA,useMemo:$A,useReducer:ng,useRef:TA,useState:function(){return ng(au)},useDebugValue:Dx,useDeferredValue:function(e){var t=Sr();return qt===null?t.memoizedState=e:LA(t,qt.memoizedState,e)},useTransition:function(){var e=ng(au)[0],t=Sr().memoizedState;return[e,t]},useMutableSource:SA,useSyncExternalStore:jA,useId:DA,unstable_isNewReconciler:!1};function Pr(e,t){if(e&&e.defaultProps){t=At({},t),e=e.defaultProps;for(var n in e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function Vv(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:At({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Np={isMounted:function(e){return(e=e._reactInternals)?Ds(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=Rn(),a=ji(e),s=Ta(r,a);s.payload=t,n!=null&&(s.callback=n),t=ki(e,s,a),t!==null&&(Br(t,e,a,r),jf(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Rn(),a=ji(e),s=Ta(r,a);s.tag=1,s.payload=t,n!=null&&(s.callback=n),t=ki(e,s,a),t!==null&&(Br(t,e,a,r),jf(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Rn(),r=ji(e),a=Ta(n,r);a.tag=2,t!=null&&(a.callback=t),t=ki(e,a,r),t!==null&&(Br(t,e,r,n),jf(t,e,r))}};function Ck(e,t,n,r,a,s,o){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,s,o):t.prototype&&t.prototype.isPureReactComponent?!Qc(n,r)||!Qc(a,s):!0}function UA(e,t,n){var r=!1,a=Ti,s=t.contextType;return typeof s=="object"&&s!==null?s=kr(s):(a=Hn(t)?Es:Nn.current,r=t.contextTypes,s=(r=r!=null)?Ho(e,a):Ti),t=new t(n,s),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=Np,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=s),t}function Ak(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Np.enqueueReplaceState(t,t.state,null)}function Yv(e,t,n,r){var a=e.stateNode;a.props=n,a.state=e.memoizedState,a.refs={},Tx(e);var s=t.contextType;typeof s=="object"&&s!==null?a.context=kr(s):(s=Hn(t)?Es:Nn.current,a.context=Ho(e,s)),a.state=e.memoizedState,s=t.getDerivedStateFromProps,typeof s=="function"&&(Vv(e,t,s,n),a.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof a.getSnapshotBeforeUpdate=="function"||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(t=a.state,typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount(),t!==a.state&&Np.enqueueReplaceState(a,a.state,null),Yf(e,n,a,r),a.state=e.memoizedState),typeof a.componentDidMount=="function"&&(e.flags|=4194308)}function Vo(e,t){try{var n="",r=t;do n+=Z$(r),r=r.return;while(r);var a=n}catch(s){a=`
|
|
39
|
+
Error generating stack: `+s.message+`
|
|
40
|
+
`+s.stack}return{value:e,source:t,stack:a,digest:null}}function rg(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function Xv(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var ND=typeof WeakMap=="function"?WeakMap:Map;function WA(e,t,n){n=Ta(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){eh||(eh=!0,sy=r),Xv(e,t)},n}function HA(e,t,n){n=Ta(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var a=t.value;n.payload=function(){return r(a)},n.callback=function(){Xv(e,t)}}var s=e.stateNode;return s!==null&&typeof s.componentDidCatch=="function"&&(n.callback=function(){Xv(e,t),typeof r!="function"&&(Si===null?Si=new Set([this]):Si.add(this));var o=t.stack;this.componentDidCatch(t.value,{componentStack:o!==null?o:""})}),n}function Tk(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new ND;var a=new Set;r.set(t,a)}else a=r.get(t),a===void 0&&(a=new Set,r.set(t,a));a.has(n)||(a.add(n),e=BD.bind(null,e,t,n),t.then(e,e))}function Ok(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function Pk(e,t,n,r,a){return e.mode&1?(e.flags|=65536,e.lanes=a,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=Ta(-1,1),t.tag=2,ki(n,t,1))),n.lanes|=1),e)}var ED=Fa.ReactCurrentOwner,Fn=!1;function Tn(e,t,n,r){t.child=e===null?bA(t,null,n,r):qo(t,e.child,n,r)}function Rk(e,t,n,r,a){n=n.render;var s=t.ref;return $o(t,a),r=Ix(e,t,n,r,s,a),n=$x(),e!==null&&!Fn?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,La(e,t,a)):(St&&n&&Sx(t),t.flags|=1,Tn(e,t,r,a),t.child)}function Mk(e,t,n,r,a){if(e===null){var s=n.type;return typeof s=="function"&&!qx(s)&&s.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=s,GA(e,t,s,r,a)):(e=Tf(n.type,null,r,t,t.mode,a),e.ref=t.ref,e.return=t,t.child=e)}if(s=e.child,!(e.lanes&a)){var o=s.memoizedProps;if(n=n.compare,n=n!==null?n:Qc,n(o,r)&&e.ref===t.ref)return La(e,t,a)}return t.flags|=1,e=Ni(s,r),e.ref=t.ref,e.return=t,t.child=e}function GA(e,t,n,r,a){if(e!==null){var s=e.memoizedProps;if(Qc(s,r)&&e.ref===t.ref)if(Fn=!1,t.pendingProps=r=s,(e.lanes&a)!==0)e.flags&131072&&(Fn=!0);else return t.lanes=e.lanes,La(e,t,a)}return Qv(e,t,n,r,a)}function qA(e,t,n){var r=t.pendingProps,a=r.children,s=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},ht(_o,er),er|=n;else{if(!(n&1073741824))return e=s!==null?s.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,ht(_o,er),er|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=s!==null?s.baseLanes:n,ht(_o,er),er|=r}else s!==null?(r=s.baseLanes|n,t.memoizedState=null):r=n,ht(_o,er),er|=r;return Tn(e,t,a,n),t.child}function KA(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Qv(e,t,n,r,a){var s=Hn(n)?Es:Nn.current;return s=Ho(t,s),$o(t,a),n=Ix(e,t,n,r,s,a),r=$x(),e!==null&&!Fn?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,La(e,t,a)):(St&&r&&Sx(t),t.flags|=1,Tn(e,t,n,a),t.child)}function Ik(e,t,n,r,a){if(Hn(n)){var s=!0;Hf(t)}else s=!1;if($o(t,a),t.stateNode===null)_f(e,t),UA(t,n,r),Yv(t,n,r,a),r=!0;else if(e===null){var o=t.stateNode,l=t.memoizedProps;o.props=l;var c=o.context,u=n.contextType;typeof u=="object"&&u!==null?u=kr(u):(u=Hn(n)?Es:Nn.current,u=Ho(t,u));var d=n.getDerivedStateFromProps,f=typeof d=="function"||typeof o.getSnapshotBeforeUpdate=="function";f||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==r||c!==u)&&Ak(t,o,r,u),ii=!1;var h=t.memoizedState;o.state=h,Yf(t,r,o,a),c=t.memoizedState,l!==r||h!==c||Wn.current||ii?(typeof d=="function"&&(Vv(t,n,d,r),c=t.memoizedState),(l=ii||Ck(t,n,l,r,h,c,u))?(f||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=c),o.props=r,o.state=c,o.context=u,r=l):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{o=t.stateNode,wA(e,t),l=t.memoizedProps,u=t.type===t.elementType?l:Pr(t.type,l),o.props=u,f=t.pendingProps,h=o.context,c=n.contextType,typeof c=="object"&&c!==null?c=kr(c):(c=Hn(n)?Es:Nn.current,c=Ho(t,c));var p=n.getDerivedStateFromProps;(d=typeof p=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(l!==f||h!==c)&&Ak(t,o,r,c),ii=!1,h=t.memoizedState,o.state=h,Yf(t,r,o,a);var m=t.memoizedState;l!==f||h!==m||Wn.current||ii?(typeof p=="function"&&(Vv(t,n,p,r),m=t.memoizedState),(u=ii||Ck(t,n,u,r,h,m,c)||!1)?(d||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(r,m,c),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(r,m,c)),typeof o.componentDidUpdate=="function"&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),o.props=r,o.state=m,o.context=c,r=u):(typeof o.componentDidUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||l===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),r=!1)}return Zv(e,t,n,r,s,a)}function Zv(e,t,n,r,a,s){KA(e,t);var o=(t.flags&128)!==0;if(!r&&!o)return a&&xk(t,n,!1),La(e,t,s);r=t.stateNode,ED.current=t;var l=o&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&o?(t.child=qo(t,e.child,null,s),t.child=qo(t,null,l,s)):Tn(e,t,l,s),t.memoizedState=r.state,a&&xk(t,n,!0),t.child}function VA(e){var t=e.stateNode;t.pendingContext?bk(e,t.pendingContext,t.pendingContext!==t.context):t.context&&bk(e,t.context,!1),Ox(e,t.containerInfo)}function $k(e,t,n,r,a){return Go(),Nx(a),t.flags|=256,Tn(e,t,n,r),t.child}var Jv={dehydrated:null,treeContext:null,retryLane:0};function ey(e){return{baseLanes:e,cachePool:null,transitions:null}}function YA(e,t,n){var r=t.pendingProps,a=Et.current,s=!1,o=(t.flags&128)!==0,l;if((l=o)||(l=e!==null&&e.memoizedState===null?!1:(a&2)!==0),l?(s=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(a|=1),ht(Et,a&1),e===null)return qv(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=r.children,e=r.fallback,s?(r=t.mode,s=t.child,o={mode:"hidden",children:o},!(r&1)&&s!==null?(s.childLanes=0,s.pendingProps=o):s=Cp(o,r,0,null),e=bs(e,r,n,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=ey(n),t.memoizedState=Jv,e):Bx(t,o));if(a=e.memoizedState,a!==null&&(l=a.dehydrated,l!==null))return _D(e,t,o,r,l,a,n);if(s){s=r.fallback,o=t.mode,a=e.child,l=a.sibling;var c={mode:"hidden",children:r.children};return!(o&1)&&t.child!==a?(r=t.child,r.childLanes=0,r.pendingProps=c,t.deletions=null):(r=Ni(a,c),r.subtreeFlags=a.subtreeFlags&14680064),l!==null?s=Ni(l,s):(s=bs(s,o,n,null),s.flags|=2),s.return=t,r.return=t,r.sibling=s,t.child=r,r=s,s=t.child,o=e.child.memoizedState,o=o===null?ey(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},s.memoizedState=o,s.childLanes=e.childLanes&~n,t.memoizedState=Jv,r}return s=e.child,e=s.sibling,r=Ni(s,{mode:"visible",children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function Bx(e,t){return t=Cp({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function Dd(e,t,n,r){return r!==null&&Nx(r),qo(t,e.child,null,n),e=Bx(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function _D(e,t,n,r,a,s,o){if(n)return t.flags&256?(t.flags&=-257,r=rg(Error(se(422))),Dd(e,t,o,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(s=r.fallback,a=t.mode,r=Cp({mode:"visible",children:r.children},a,0,null),s=bs(s,a,o,null),s.flags|=2,r.return=t,s.return=t,r.sibling=s,t.child=r,t.mode&1&&qo(t,e.child,null,o),t.child.memoizedState=ey(o),t.memoizedState=Jv,s);if(!(t.mode&1))return Dd(e,t,o,null);if(a.data==="$!"){if(r=a.nextSibling&&a.nextSibling.dataset,r)var l=r.dgst;return r=l,s=Error(se(419)),r=rg(s,r,void 0),Dd(e,t,o,r)}if(l=(o&e.childLanes)!==0,Fn||l){if(r=nn,r!==null){switch(o&-o){case 4:a=2;break;case 16:a=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:a=32;break;case 536870912:a=268435456;break;default:a=0}a=a&(r.suspendedLanes|o)?0:a,a!==0&&a!==s.retryLane&&(s.retryLane=a,$a(e,a),Br(r,e,a,-1))}return Gx(),r=rg(Error(se(421))),Dd(e,t,o,r)}return a.data==="$?"?(t.flags|=128,t.child=e.child,t=zD.bind(null,e),a._reactRetry=t,null):(e=s.treeContext,rr=wi(a.nextSibling),ar=t,St=!0,Ir=null,e!==null&&(mr[gr++]=Na,mr[gr++]=Ea,mr[gr++]=_s,Na=e.id,Ea=e.overflow,_s=t),t=Bx(t,r.children),t.flags|=4096,t)}function Lk(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Kv(e.return,t,n)}function ag(e,t,n,r,a){var s=e.memoizedState;s===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a}:(s.isBackwards=t,s.rendering=null,s.renderingStartTime=0,s.last=r,s.tail=n,s.tailMode=a)}function XA(e,t,n){var r=t.pendingProps,a=r.revealOrder,s=r.tail;if(Tn(e,t,r.children,n),r=Et.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Lk(e,n,t);else if(e.tag===19)Lk(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(ht(Et,r),!(t.mode&1))t.memoizedState=null;else switch(a){case"forwards":for(n=t.child,a=null;n!==null;)e=n.alternate,e!==null&&Xf(e)===null&&(a=n),n=n.sibling;n=a,n===null?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),ag(t,!1,a,n,s);break;case"backwards":for(n=null,a=t.child,t.child=null;a!==null;){if(e=a.alternate,e!==null&&Xf(e)===null){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}ag(t,!0,n,null,s);break;case"together":ag(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function _f(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function La(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),As|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(se(153));if(t.child!==null){for(e=t.child,n=Ni(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Ni(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function CD(e,t,n){switch(t.tag){case 3:VA(t),Go();break;case 5:kA(t);break;case 1:Hn(t.type)&&Hf(t);break;case 4:Ox(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,a=t.memoizedProps.value;ht(Kf,r._currentValue),r._currentValue=a;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(ht(Et,Et.current&1),t.flags|=128,null):n&t.child.childLanes?YA(e,t,n):(ht(Et,Et.current&1),e=La(e,t,n),e!==null?e.sibling:null);ht(Et,Et.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return XA(e,t,n);t.flags|=128}if(a=t.memoizedState,a!==null&&(a.rendering=null,a.tail=null,a.lastEffect=null),ht(Et,Et.current),r)break;return null;case 22:case 23:return t.lanes=0,qA(e,t,n)}return La(e,t,n)}var QA,ty,ZA,JA;QA=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};ty=function(){};ZA=function(e,t,n,r){var a=e.memoizedProps;if(a!==r){e=t.stateNode,fs(ua.current);var s=null;switch(n){case"input":a=Sv(e,a),r=Sv(e,r),s=[];break;case"select":a=At({},a,{value:void 0}),r=At({},r,{value:void 0}),s=[];break;case"textarea":a=Ev(e,a),r=Ev(e,r),s=[];break;default:typeof a.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=Uf)}Cv(n,r);var o;n=null;for(u in a)if(!r.hasOwnProperty(u)&&a.hasOwnProperty(u)&&a[u]!=null)if(u==="style"){var l=a[u];for(o in l)l.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else u!=="dangerouslySetInnerHTML"&&u!=="children"&&u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&u!=="autoFocus"&&(Hc.hasOwnProperty(u)?s||(s=[]):(s=s||[]).push(u,null));for(u in r){var c=r[u];if(l=a!=null?a[u]:void 0,r.hasOwnProperty(u)&&c!==l&&(c!=null||l!=null))if(u==="style")if(l){for(o in l)!l.hasOwnProperty(o)||c&&c.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in c)c.hasOwnProperty(o)&&l[o]!==c[o]&&(n||(n={}),n[o]=c[o])}else n||(s||(s=[]),s.push(u,n)),n=c;else u==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,l=l?l.__html:void 0,c!=null&&l!==c&&(s=s||[]).push(u,c)):u==="children"?typeof c!="string"&&typeof c!="number"||(s=s||[]).push(u,""+c):u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&(Hc.hasOwnProperty(u)?(c!=null&&u==="onScroll"&&vt("scroll",e),s||l===c||(s=[])):(s=s||[]).push(u,c))}n&&(s=s||[]).push("style",n);var u=s;(t.updateQueue=u)&&(t.flags|=4)}};JA=function(e,t,n,r){n!==r&&(t.flags|=4)};function ac(e,t){if(!St)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function vn(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var a=e.child;a!==null;)n|=a.lanes|a.childLanes,r|=a.subtreeFlags&14680064,r|=a.flags&14680064,a.return=e,a=a.sibling;else for(a=e.child;a!==null;)n|=a.lanes|a.childLanes,r|=a.subtreeFlags,r|=a.flags,a.return=e,a=a.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function AD(e,t,n){var r=t.pendingProps;switch(jx(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return vn(t),null;case 1:return Hn(t.type)&&Wf(),vn(t),null;case 3:return r=t.stateNode,Ko(),wt(Wn),wt(Nn),Rx(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&($d(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Ir!==null&&(cy(Ir),Ir=null))),ty(e,t),vn(t),null;case 5:Px(t);var a=fs(nu.current);if(n=t.type,e!==null&&t.stateNode!=null)ZA(e,t,n,r,a),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(se(166));return vn(t),null}if(e=fs(ua.current),$d(t)){r=t.stateNode,n=t.type;var s=t.memoizedProps;switch(r[ia]=t,r[eu]=s,e=(t.mode&1)!==0,n){case"dialog":vt("cancel",r),vt("close",r);break;case"iframe":case"object":case"embed":vt("load",r);break;case"video":case"audio":for(a=0;a<Sc.length;a++)vt(Sc[a],r);break;case"source":vt("error",r);break;case"img":case"image":case"link":vt("error",r),vt("load",r);break;case"details":vt("toggle",r);break;case"input":q0(r,s),vt("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!s.multiple},vt("invalid",r);break;case"textarea":V0(r,s),vt("invalid",r)}Cv(n,s),a=null;for(var o in s)if(s.hasOwnProperty(o)){var l=s[o];o==="children"?typeof l=="string"?r.textContent!==l&&(s.suppressHydrationWarning!==!0&&Id(r.textContent,l,e),a=["children",l]):typeof l=="number"&&r.textContent!==""+l&&(s.suppressHydrationWarning!==!0&&Id(r.textContent,l,e),a=["children",""+l]):Hc.hasOwnProperty(o)&&l!=null&&o==="onScroll"&&vt("scroll",r)}switch(n){case"input":_d(r),K0(r,s,!0);break;case"textarea":_d(r),Y0(r);break;case"select":case"option":break;default:typeof s.onClick=="function"&&(r.onclick=Uf)}r=a,t.updateQueue=r,r!==null&&(t.flags|=4)}else{o=a.nodeType===9?a:a.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=_C(n)),e==="http://www.w3.org/1999/xhtml"?n==="script"?(e=o.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(n,{is:r.is}):(e=o.createElement(n),n==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,n),e[ia]=t,e[eu]=r,QA(e,t,!1,!1),t.stateNode=e;e:{switch(o=Av(n,r),n){case"dialog":vt("cancel",e),vt("close",e),a=r;break;case"iframe":case"object":case"embed":vt("load",e),a=r;break;case"video":case"audio":for(a=0;a<Sc.length;a++)vt(Sc[a],e);a=r;break;case"source":vt("error",e),a=r;break;case"img":case"image":case"link":vt("error",e),vt("load",e),a=r;break;case"details":vt("toggle",e),a=r;break;case"input":q0(e,r),a=Sv(e,r),vt("invalid",e);break;case"option":a=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},a=At({},r,{value:void 0}),vt("invalid",e);break;case"textarea":V0(e,r),a=Ev(e,r),vt("invalid",e);break;default:a=r}Cv(n,a),l=a;for(s in l)if(l.hasOwnProperty(s)){var c=l[s];s==="style"?TC(e,c):s==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,c!=null&&CC(e,c)):s==="children"?typeof c=="string"?(n!=="textarea"||c!=="")&&Gc(e,c):typeof c=="number"&&Gc(e,""+c):s!=="suppressContentEditableWarning"&&s!=="suppressHydrationWarning"&&s!=="autoFocus"&&(Hc.hasOwnProperty(s)?c!=null&&s==="onScroll"&&vt("scroll",e):c!=null&&cx(e,s,c,o))}switch(n){case"input":_d(e),K0(e,r,!1);break;case"textarea":_d(e),Y0(e);break;case"option":r.value!=null&&e.setAttribute("value",""+Ai(r.value));break;case"select":e.multiple=!!r.multiple,s=r.value,s!=null?Po(e,!!r.multiple,s,!1):r.defaultValue!=null&&Po(e,!!r.multiple,r.defaultValue,!0);break;default:typeof a.onClick=="function"&&(e.onclick=Uf)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return vn(t),null;case 6:if(e&&t.stateNode!=null)JA(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(se(166));if(n=fs(nu.current),fs(ua.current),$d(t)){if(r=t.stateNode,n=t.memoizedProps,r[ia]=t,(s=r.nodeValue!==n)&&(e=ar,e!==null))switch(e.tag){case 3:Id(r.nodeValue,n,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&Id(r.nodeValue,n,(e.mode&1)!==0)}s&&(t.flags|=4)}else r=(n.nodeType===9?n:n.ownerDocument).createTextNode(r),r[ia]=t,t.stateNode=r}return vn(t),null;case 13:if(wt(Et),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(St&&rr!==null&&t.mode&1&&!(t.flags&128))vA(),Go(),t.flags|=98560,s=!1;else if(s=$d(t),r!==null&&r.dehydrated!==null){if(e===null){if(!s)throw Error(se(318));if(s=t.memoizedState,s=s!==null?s.dehydrated:null,!s)throw Error(se(317));s[ia]=t}else Go(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;vn(t),s=!1}else Ir!==null&&(cy(Ir),Ir=null),s=!0;if(!s)return t.flags&65536?t:null}return t.flags&128?(t.lanes=n,t):(r=r!==null,r!==(e!==null&&e.memoizedState!==null)&&r&&(t.child.flags|=8192,t.mode&1&&(e===null||Et.current&1?Kt===0&&(Kt=3):Gx())),t.updateQueue!==null&&(t.flags|=4),vn(t),null);case 4:return Ko(),ty(e,t),e===null&&Zc(t.stateNode.containerInfo),vn(t),null;case 10:return Cx(t.type._context),vn(t),null;case 17:return Hn(t.type)&&Wf(),vn(t),null;case 19:if(wt(Et),s=t.memoizedState,s===null)return vn(t),null;if(r=(t.flags&128)!==0,o=s.rendering,o===null)if(r)ac(s,!1);else{if(Kt!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=Xf(e),o!==null){for(t.flags|=128,ac(s,!1),r=o.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;n!==null;)s=n,e=r,s.flags&=14680066,o=s.alternate,o===null?(s.childLanes=0,s.lanes=e,s.child=null,s.subtreeFlags=0,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=o.childLanes,s.lanes=o.lanes,s.child=o.child,s.subtreeFlags=0,s.deletions=null,s.memoizedProps=o.memoizedProps,s.memoizedState=o.memoizedState,s.updateQueue=o.updateQueue,s.type=o.type,e=o.dependencies,s.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return ht(Et,Et.current&1|2),t.child}e=e.sibling}s.tail!==null&&Mt()>Yo&&(t.flags|=128,r=!0,ac(s,!1),t.lanes=4194304)}else{if(!r)if(e=Xf(o),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),ac(s,!0),s.tail===null&&s.tailMode==="hidden"&&!o.alternate&&!St)return vn(t),null}else 2*Mt()-s.renderingStartTime>Yo&&n!==1073741824&&(t.flags|=128,r=!0,ac(s,!1),t.lanes=4194304);s.isBackwards?(o.sibling=t.child,t.child=o):(n=s.last,n!==null?n.sibling=o:t.child=o,s.last=o)}return s.tail!==null?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=Mt(),t.sibling=null,n=Et.current,ht(Et,r?n&1|2:n&1),t):(vn(t),null);case 22:case 23:return Hx(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?er&1073741824&&(vn(t),t.subtreeFlags&6&&(t.flags|=8192)):vn(t),null;case 24:return null;case 25:return null}throw Error(se(156,t.tag))}function TD(e,t){switch(jx(t),t.tag){case 1:return Hn(t.type)&&Wf(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ko(),wt(Wn),wt(Nn),Rx(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Px(t),null;case 13:if(wt(Et),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(se(340));Go()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return wt(Et),null;case 4:return Ko(),null;case 10:return Cx(t.type._context),null;case 22:case 23:return Hx(),null;case 24:return null;default:return null}}var Bd=!1,wn=!1,OD=typeof WeakSet=="function"?WeakSet:Set,ge=null;function Eo(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Ot(e,t,r)}else n.current=null}function ny(e,t,n){try{n()}catch(r){Ot(e,t,r)}}var Dk=!1;function PD(e,t){if(Bv=Bf,e=aA(),kx(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var a=r.anchorOffset,s=r.focusNode;r=r.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break e}var o=0,l=-1,c=-1,u=0,d=0,f=e,h=null;t:for(;;){for(var p;f!==n||a!==0&&f.nodeType!==3||(l=o+a),f!==s||r!==0&&f.nodeType!==3||(c=o+r),f.nodeType===3&&(o+=f.nodeValue.length),(p=f.firstChild)!==null;)h=f,f=p;for(;;){if(f===e)break t;if(h===n&&++u===a&&(l=o),h===s&&++d===r&&(c=o),(p=f.nextSibling)!==null)break;f=h,h=f.parentNode}f=p}n=l===-1||c===-1?null:{start:l,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(zv={focusedElem:e,selectionRange:n},Bf=!1,ge=t;ge!==null;)if(t=ge,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ge=e;else for(;ge!==null;){t=ge;try{var m=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var g=m.memoizedProps,y=m.memoizedState,v=t.stateNode,k=v.getSnapshotBeforeUpdate(t.elementType===t.type?g:Pr(t.type,g),y);v.__reactInternalSnapshotBeforeUpdate=k}break;case 3:var w=t.stateNode.containerInfo;w.nodeType===1?w.textContent="":w.nodeType===9&&w.documentElement&&w.removeChild(w.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(se(163))}}catch(N){Ot(t,t.return,N)}if(e=t.sibling,e!==null){e.return=t.return,ge=e;break}ge=t.return}return m=Dk,Dk=!1,m}function Rc(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var a=r=r.next;do{if((a.tag&e)===e){var s=a.destroy;a.destroy=void 0,s!==void 0&&ny(t,n,s)}a=a.next}while(a!==r)}}function Ep(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function ry(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function eT(e){var t=e.alternate;t!==null&&(e.alternate=null,eT(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ia],delete t[eu],delete t[Wv],delete t[pD],delete t[mD])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function tT(e){return e.tag===5||e.tag===3||e.tag===4}function Bk(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||tT(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function ay(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Uf));else if(r!==4&&(e=e.child,e!==null))for(ay(e,t,n),e=e.sibling;e!==null;)ay(e,t,n),e=e.sibling}function iy(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(iy(e,t,n),e=e.sibling;e!==null;)iy(e,t,n),e=e.sibling}var dn=null,Rr=!1;function ti(e,t,n){for(n=n.child;n!==null;)nT(e,t,n),n=n.sibling}function nT(e,t,n){if(ca&&typeof ca.onCommitFiberUnmount=="function")try{ca.onCommitFiberUnmount(yp,n)}catch{}switch(n.tag){case 5:wn||Eo(n,t);case 6:var r=dn,a=Rr;dn=null,ti(e,t,n),dn=r,Rr=a,dn!==null&&(Rr?(e=dn,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):dn.removeChild(n.stateNode));break;case 18:dn!==null&&(Rr?(e=dn,n=n.stateNode,e.nodeType===8?Qm(e.parentNode,n):e.nodeType===1&&Qm(e,n),Yc(e)):Qm(dn,n.stateNode));break;case 4:r=dn,a=Rr,dn=n.stateNode.containerInfo,Rr=!0,ti(e,t,n),dn=r,Rr=a;break;case 0:case 11:case 14:case 15:if(!wn&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){a=r=r.next;do{var s=a,o=s.destroy;s=s.tag,o!==void 0&&(s&2||s&4)&&ny(n,t,o),a=a.next}while(a!==r)}ti(e,t,n);break;case 1:if(!wn&&(Eo(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(l){Ot(n,t,l)}ti(e,t,n);break;case 21:ti(e,t,n);break;case 22:n.mode&1?(wn=(r=wn)||n.memoizedState!==null,ti(e,t,n),wn=r):ti(e,t,n);break;default:ti(e,t,n)}}function zk(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new OD),t.forEach(function(r){var a=FD.bind(null,e,r);n.has(r)||(n.add(r),r.then(a,a))})}}function Tr(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var a=n[r];try{var s=e,o=t,l=o;e:for(;l!==null;){switch(l.tag){case 5:dn=l.stateNode,Rr=!1;break e;case 3:dn=l.stateNode.containerInfo,Rr=!0;break e;case 4:dn=l.stateNode.containerInfo,Rr=!0;break e}l=l.return}if(dn===null)throw Error(se(160));nT(s,o,a),dn=null,Rr=!1;var c=a.alternate;c!==null&&(c.return=null),a.return=null}catch(u){Ot(a,t,u)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)rT(t,e),t=t.sibling}function rT(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Tr(t,e),ea(e),r&4){try{Rc(3,e,e.return),Ep(3,e)}catch(g){Ot(e,e.return,g)}try{Rc(5,e,e.return)}catch(g){Ot(e,e.return,g)}}break;case 1:Tr(t,e),ea(e),r&512&&n!==null&&Eo(n,n.return);break;case 5:if(Tr(t,e),ea(e),r&512&&n!==null&&Eo(n,n.return),e.flags&32){var a=e.stateNode;try{Gc(a,"")}catch(g){Ot(e,e.return,g)}}if(r&4&&(a=e.stateNode,a!=null)){var s=e.memoizedProps,o=n!==null?n.memoizedProps:s,l=e.type,c=e.updateQueue;if(e.updateQueue=null,c!==null)try{l==="input"&&s.type==="radio"&&s.name!=null&&NC(a,s),Av(l,o);var u=Av(l,s);for(o=0;o<c.length;o+=2){var d=c[o],f=c[o+1];d==="style"?TC(a,f):d==="dangerouslySetInnerHTML"?CC(a,f):d==="children"?Gc(a,f):cx(a,d,f,u)}switch(l){case"input":jv(a,s);break;case"textarea":EC(a,s);break;case"select":var h=a._wrapperState.wasMultiple;a._wrapperState.wasMultiple=!!s.multiple;var p=s.value;p!=null?Po(a,!!s.multiple,p,!1):h!==!!s.multiple&&(s.defaultValue!=null?Po(a,!!s.multiple,s.defaultValue,!0):Po(a,!!s.multiple,s.multiple?[]:"",!1))}a[eu]=s}catch(g){Ot(e,e.return,g)}}break;case 6:if(Tr(t,e),ea(e),r&4){if(e.stateNode===null)throw Error(se(162));a=e.stateNode,s=e.memoizedProps;try{a.nodeValue=s}catch(g){Ot(e,e.return,g)}}break;case 3:if(Tr(t,e),ea(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Yc(t.containerInfo)}catch(g){Ot(e,e.return,g)}break;case 4:Tr(t,e),ea(e);break;case 13:Tr(t,e),ea(e),a=e.child,a.flags&8192&&(s=a.memoizedState!==null,a.stateNode.isHidden=s,!s||a.alternate!==null&&a.alternate.memoizedState!==null||(Ux=Mt())),r&4&&zk(e);break;case 22:if(d=n!==null&&n.memoizedState!==null,e.mode&1?(wn=(u=wn)||d,Tr(t,e),wn=u):Tr(t,e),ea(e),r&8192){if(u=e.memoizedState!==null,(e.stateNode.isHidden=u)&&!d&&e.mode&1)for(ge=e,d=e.child;d!==null;){for(f=ge=d;ge!==null;){switch(h=ge,p=h.child,h.tag){case 0:case 11:case 14:case 15:Rc(4,h,h.return);break;case 1:Eo(h,h.return);var m=h.stateNode;if(typeof m.componentWillUnmount=="function"){r=h,n=h.return;try{t=r,m.props=t.memoizedProps,m.state=t.memoizedState,m.componentWillUnmount()}catch(g){Ot(r,n,g)}}break;case 5:Eo(h,h.return);break;case 22:if(h.memoizedState!==null){Uk(f);continue}}p!==null?(p.return=h,ge=p):Uk(f)}d=d.sibling}e:for(d=null,f=e;;){if(f.tag===5){if(d===null){d=f;try{a=f.stateNode,u?(s=a.style,typeof s.setProperty=="function"?s.setProperty("display","none","important"):s.display="none"):(l=f.stateNode,c=f.memoizedProps.style,o=c!=null&&c.hasOwnProperty("display")?c.display:null,l.style.display=AC("display",o))}catch(g){Ot(e,e.return,g)}}}else if(f.tag===6){if(d===null)try{f.stateNode.nodeValue=u?"":f.memoizedProps}catch(g){Ot(e,e.return,g)}}else if((f.tag!==22&&f.tag!==23||f.memoizedState===null||f===e)&&f.child!==null){f.child.return=f,f=f.child;continue}if(f===e)break e;for(;f.sibling===null;){if(f.return===null||f.return===e)break e;d===f&&(d=null),f=f.return}d===f&&(d=null),f.sibling.return=f.return,f=f.sibling}}break;case 19:Tr(t,e),ea(e),r&4&&zk(e);break;case 21:break;default:Tr(t,e),ea(e)}}function ea(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(tT(n)){var r=n;break e}n=n.return}throw Error(se(160))}switch(r.tag){case 5:var a=r.stateNode;r.flags&32&&(Gc(a,""),r.flags&=-33);var s=Bk(e);iy(e,s,a);break;case 3:case 4:var o=r.stateNode.containerInfo,l=Bk(e);ay(e,l,o);break;default:throw Error(se(161))}}catch(c){Ot(e,e.return,c)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function RD(e,t,n){ge=e,aT(e)}function aT(e,t,n){for(var r=(e.mode&1)!==0;ge!==null;){var a=ge,s=a.child;if(a.tag===22&&r){var o=a.memoizedState!==null||Bd;if(!o){var l=a.alternate,c=l!==null&&l.memoizedState!==null||wn;l=Bd;var u=wn;if(Bd=o,(wn=c)&&!u)for(ge=a;ge!==null;)o=ge,c=o.child,o.tag===22&&o.memoizedState!==null?Wk(a):c!==null?(c.return=o,ge=c):Wk(a);for(;s!==null;)ge=s,aT(s),s=s.sibling;ge=a,Bd=l,wn=u}Fk(e)}else a.subtreeFlags&8772&&s!==null?(s.return=a,ge=s):Fk(e)}}function Fk(e){for(;ge!==null;){var t=ge;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:wn||Ep(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!wn)if(n===null)r.componentDidMount();else{var a=t.elementType===t.type?n.memoizedProps:Pr(t.type,n.memoizedProps);r.componentDidUpdate(a,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var s=t.updateQueue;s!==null&&Nk(t,s,r);break;case 3:var o=t.updateQueue;if(o!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}Nk(t,o,n)}break;case 5:var l=t.stateNode;if(n===null&&t.flags&4){n=l;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&n.focus();break;case"img":c.src&&(n.src=c.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var u=t.alternate;if(u!==null){var d=u.memoizedState;if(d!==null){var f=d.dehydrated;f!==null&&Yc(f)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(se(163))}wn||t.flags&512&&ry(t)}catch(h){Ot(t,t.return,h)}}if(t===e){ge=null;break}if(n=t.sibling,n!==null){n.return=t.return,ge=n;break}ge=t.return}}function Uk(e){for(;ge!==null;){var t=ge;if(t===e){ge=null;break}var n=t.sibling;if(n!==null){n.return=t.return,ge=n;break}ge=t.return}}function Wk(e){for(;ge!==null;){var t=ge;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{Ep(4,t)}catch(c){Ot(t,n,c)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount=="function"){var a=t.return;try{r.componentDidMount()}catch(c){Ot(t,a,c)}}var s=t.return;try{ry(t)}catch(c){Ot(t,s,c)}break;case 5:var o=t.return;try{ry(t)}catch(c){Ot(t,o,c)}}}catch(c){Ot(t,t.return,c)}if(t===e){ge=null;break}var l=t.sibling;if(l!==null){l.return=t.return,ge=l;break}ge=t.return}}var MD=Math.ceil,Jf=Fa.ReactCurrentDispatcher,zx=Fa.ReactCurrentOwner,xr=Fa.ReactCurrentBatchConfig,We=0,nn=null,Bt=null,hn=0,er=0,_o=Ri(0),Kt=0,su=null,As=0,_p=0,Fx=0,Mc=null,zn=null,Ux=0,Yo=1/0,Sa=null,eh=!1,sy=null,Si=null,zd=!1,hi=null,th=0,Ic=0,oy=null,Cf=-1,Af=0;function Rn(){return We&6?Mt():Cf!==-1?Cf:Cf=Mt()}function ji(e){return e.mode&1?We&2&&hn!==0?hn&-hn:vD.transition!==null?(Af===0&&(Af=UC()),Af):(e=et,e!==0||(e=window.event,e=e===void 0?16:YC(e.type)),e):1}function Br(e,t,n,r){if(50<Ic)throw Ic=0,oy=null,Error(se(185));Qu(e,n,r),(!(We&2)||e!==nn)&&(e===nn&&(!(We&2)&&(_p|=n),Kt===4&&li(e,hn)),Gn(e,r),n===1&&We===0&&!(t.mode&1)&&(Yo=Mt()+500,Sp&&Mi()))}function Gn(e,t){var n=e.callbackNode;vL(e,t);var r=Df(e,e===nn?hn:0);if(r===0)n!==null&&Z0(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&Z0(n),t===1)e.tag===0?gD(Hk.bind(null,e)):pA(Hk.bind(null,e)),fD(function(){!(We&6)&&Mi()}),n=null;else{switch(WC(r)){case 1:n=px;break;case 4:n=zC;break;case 16:n=Lf;break;case 536870912:n=FC;break;default:n=Lf}n=fT(n,iT.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function iT(e,t){if(Cf=-1,Af=0,We&6)throw Error(se(327));var n=e.callbackNode;if(Lo()&&e.callbackNode!==n)return null;var r=Df(e,e===nn?hn:0);if(r===0)return null;if(r&30||r&e.expiredLanes||t)t=nh(e,r);else{t=r;var a=We;We|=2;var s=oT();(nn!==e||hn!==t)&&(Sa=null,Yo=Mt()+500,ys(e,t));do try{LD();break}catch(l){sT(e,l)}while(!0);_x(),Jf.current=s,We=a,Bt!==null?t=0:(nn=null,hn=0,t=Kt)}if(t!==0){if(t===2&&(a=Mv(e),a!==0&&(r=a,t=ly(e,a))),t===1)throw n=su,ys(e,0),li(e,r),Gn(e,Mt()),n;if(t===6)li(e,r);else{if(a=e.current.alternate,!(r&30)&&!ID(a)&&(t=nh(e,r),t===2&&(s=Mv(e),s!==0&&(r=s,t=ly(e,s))),t===1))throw n=su,ys(e,0),li(e,r),Gn(e,Mt()),n;switch(e.finishedWork=a,e.finishedLanes=r,t){case 0:case 1:throw Error(se(345));case 2:ns(e,zn,Sa);break;case 3:if(li(e,r),(r&130023424)===r&&(t=Ux+500-Mt(),10<t)){if(Df(e,0)!==0)break;if(a=e.suspendedLanes,(a&r)!==r){Rn(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=Uv(ns.bind(null,e,zn,Sa),t);break}ns(e,zn,Sa);break;case 4:if(li(e,r),(r&4194240)===r)break;for(t=e.eventTimes,a=-1;0<r;){var o=31-Dr(r);s=1<<o,o=t[o],o>a&&(a=o),r&=~s}if(r=a,r=Mt()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*MD(r/1960))-r,10<r){e.timeoutHandle=Uv(ns.bind(null,e,zn,Sa),r);break}ns(e,zn,Sa);break;case 5:ns(e,zn,Sa);break;default:throw Error(se(329))}}}return Gn(e,Mt()),e.callbackNode===n?iT.bind(null,e):null}function ly(e,t){var n=Mc;return e.current.memoizedState.isDehydrated&&(ys(e,t).flags|=256),e=nh(e,t),e!==2&&(t=zn,zn=n,t!==null&&cy(t)),e}function cy(e){zn===null?zn=e:zn.push.apply(zn,e)}function ID(e){for(var t=e;;){if(t.flags&16384){var n=t.updateQueue;if(n!==null&&(n=n.stores,n!==null))for(var r=0;r<n.length;r++){var a=n[r],s=a.getSnapshot;a=a.value;try{if(!Wr(s(),a))return!1}catch{return!1}}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function li(e,t){for(t&=~Fx,t&=~_p,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Dr(t),r=1<<n;e[n]=-1,t&=~r}}function Hk(e){if(We&6)throw Error(se(327));Lo();var t=Df(e,0);if(!(t&1))return Gn(e,Mt()),null;var n=nh(e,t);if(e.tag!==0&&n===2){var r=Mv(e);r!==0&&(t=r,n=ly(e,r))}if(n===1)throw n=su,ys(e,0),li(e,t),Gn(e,Mt()),n;if(n===6)throw Error(se(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,ns(e,zn,Sa),Gn(e,Mt()),null}function Wx(e,t){var n=We;We|=1;try{return e(t)}finally{We=n,We===0&&(Yo=Mt()+500,Sp&&Mi())}}function Ts(e){hi!==null&&hi.tag===0&&!(We&6)&&Lo();var t=We;We|=1;var n=xr.transition,r=et;try{if(xr.transition=null,et=1,e)return e()}finally{et=r,xr.transition=n,We=t,!(We&6)&&Mi()}}function Hx(){er=_o.current,wt(_o)}function ys(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,dD(n)),Bt!==null)for(n=Bt.return;n!==null;){var r=n;switch(jx(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&Wf();break;case 3:Ko(),wt(Wn),wt(Nn),Rx();break;case 5:Px(r);break;case 4:Ko();break;case 13:wt(Et);break;case 19:wt(Et);break;case 10:Cx(r.type._context);break;case 22:case 23:Hx()}n=n.return}if(nn=e,Bt=e=Ni(e.current,null),hn=er=t,Kt=0,su=null,Fx=_p=As=0,zn=Mc=null,ds!==null){for(t=0;t<ds.length;t++)if(n=ds[t],r=n.interleaved,r!==null){n.interleaved=null;var a=r.next,s=n.pending;if(s!==null){var o=s.next;s.next=a,r.next=o}n.pending=r}ds=null}return e}function sT(e,t){do{var n=Bt;try{if(_x(),Nf.current=Zf,Qf){for(var r=_t.memoizedState;r!==null;){var a=r.queue;a!==null&&(a.pending=null),r=r.next}Qf=!1}if(Cs=0,Jt=qt=_t=null,Pc=!1,ru=0,zx.current=null,n===null||n.return===null){Kt=1,su=t,Bt=null;break}e:{var s=e,o=n.return,l=n,c=t;if(t=hn,l.flags|=32768,c!==null&&typeof c=="object"&&typeof c.then=="function"){var u=c,d=l,f=d.tag;if(!(d.mode&1)&&(f===0||f===11||f===15)){var h=d.alternate;h?(d.updateQueue=h.updateQueue,d.memoizedState=h.memoizedState,d.lanes=h.lanes):(d.updateQueue=null,d.memoizedState=null)}var p=Ok(o);if(p!==null){p.flags&=-257,Pk(p,o,l,s,t),p.mode&1&&Tk(s,u,t),t=p,c=u;var m=t.updateQueue;if(m===null){var g=new Set;g.add(c),t.updateQueue=g}else m.add(c);break e}else{if(!(t&1)){Tk(s,u,t),Gx();break e}c=Error(se(426))}}else if(St&&l.mode&1){var y=Ok(o);if(y!==null){!(y.flags&65536)&&(y.flags|=256),Pk(y,o,l,s,t),Nx(Vo(c,l));break e}}s=c=Vo(c,l),Kt!==4&&(Kt=2),Mc===null?Mc=[s]:Mc.push(s),s=o;do{switch(s.tag){case 3:s.flags|=65536,t&=-t,s.lanes|=t;var v=WA(s,c,t);jk(s,v);break e;case 1:l=c;var k=s.type,w=s.stateNode;if(!(s.flags&128)&&(typeof k.getDerivedStateFromError=="function"||w!==null&&typeof w.componentDidCatch=="function"&&(Si===null||!Si.has(w)))){s.flags|=65536,t&=-t,s.lanes|=t;var N=HA(s,l,t);jk(s,N);break e}}s=s.return}while(s!==null)}cT(n)}catch(S){t=S,Bt===n&&n!==null&&(Bt=n=n.return);continue}break}while(!0)}function oT(){var e=Jf.current;return Jf.current=Zf,e===null?Zf:e}function Gx(){(Kt===0||Kt===3||Kt===2)&&(Kt=4),nn===null||!(As&268435455)&&!(_p&268435455)||li(nn,hn)}function nh(e,t){var n=We;We|=2;var r=oT();(nn!==e||hn!==t)&&(Sa=null,ys(e,t));do try{$D();break}catch(a){sT(e,a)}while(!0);if(_x(),We=n,Jf.current=r,Bt!==null)throw Error(se(261));return nn=null,hn=0,Kt}function $D(){for(;Bt!==null;)lT(Bt)}function LD(){for(;Bt!==null&&!lL();)lT(Bt)}function lT(e){var t=dT(e.alternate,e,er);e.memoizedProps=e.pendingProps,t===null?cT(e):Bt=t,zx.current=null}function cT(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=TD(n,t),n!==null){n.flags&=32767,Bt=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Kt=6,Bt=null;return}}else if(n=AD(n,t,er),n!==null){Bt=n;return}if(t=t.sibling,t!==null){Bt=t;return}Bt=t=e}while(t!==null);Kt===0&&(Kt=5)}function ns(e,t,n){var r=et,a=xr.transition;try{xr.transition=null,et=1,DD(e,t,n,r)}finally{xr.transition=a,et=r}return null}function DD(e,t,n,r){do Lo();while(hi!==null);if(We&6)throw Error(se(327));n=e.finishedWork;var a=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(se(177));e.callbackNode=null,e.callbackPriority=0;var s=n.lanes|n.childLanes;if(yL(e,s),e===nn&&(Bt=nn=null,hn=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||zd||(zd=!0,fT(Lf,function(){return Lo(),null})),s=(n.flags&15990)!==0,n.subtreeFlags&15990||s){s=xr.transition,xr.transition=null;var o=et;et=1;var l=We;We|=4,zx.current=null,PD(e,n),rT(n,e),aD(zv),Bf=!!Bv,zv=Bv=null,e.current=n,RD(n),cL(),We=l,et=o,xr.transition=s}else e.current=n;if(zd&&(zd=!1,hi=e,th=a),s=e.pendingLanes,s===0&&(Si=null),fL(n.stateNode),Gn(e,Mt()),t!==null)for(r=e.onRecoverableError,n=0;n<t.length;n++)a=t[n],r(a.value,{componentStack:a.stack,digest:a.digest});if(eh)throw eh=!1,e=sy,sy=null,e;return th&1&&e.tag!==0&&Lo(),s=e.pendingLanes,s&1?e===oy?Ic++:(Ic=0,oy=e):Ic=0,Mi(),null}function Lo(){if(hi!==null){var e=WC(th),t=xr.transition,n=et;try{if(xr.transition=null,et=16>e?16:e,hi===null)var r=!1;else{if(e=hi,hi=null,th=0,We&6)throw Error(se(331));var a=We;for(We|=4,ge=e.current;ge!==null;){var s=ge,o=s.child;if(ge.flags&16){var l=s.deletions;if(l!==null){for(var c=0;c<l.length;c++){var u=l[c];for(ge=u;ge!==null;){var d=ge;switch(d.tag){case 0:case 11:case 15:Rc(8,d,s)}var f=d.child;if(f!==null)f.return=d,ge=f;else for(;ge!==null;){d=ge;var h=d.sibling,p=d.return;if(eT(d),d===u){ge=null;break}if(h!==null){h.return=p,ge=h;break}ge=p}}}var m=s.alternate;if(m!==null){var g=m.child;if(g!==null){m.child=null;do{var y=g.sibling;g.sibling=null,g=y}while(g!==null)}}ge=s}}if(s.subtreeFlags&2064&&o!==null)o.return=s,ge=o;else e:for(;ge!==null;){if(s=ge,s.flags&2048)switch(s.tag){case 0:case 11:case 15:Rc(9,s,s.return)}var v=s.sibling;if(v!==null){v.return=s.return,ge=v;break e}ge=s.return}}var k=e.current;for(ge=k;ge!==null;){o=ge;var w=o.child;if(o.subtreeFlags&2064&&w!==null)w.return=o,ge=w;else e:for(o=k;ge!==null;){if(l=ge,l.flags&2048)try{switch(l.tag){case 0:case 11:case 15:Ep(9,l)}}catch(S){Ot(l,l.return,S)}if(l===o){ge=null;break e}var N=l.sibling;if(N!==null){N.return=l.return,ge=N;break e}ge=l.return}}if(We=a,Mi(),ca&&typeof ca.onPostCommitFiberRoot=="function")try{ca.onPostCommitFiberRoot(yp,e)}catch{}r=!0}return r}finally{et=n,xr.transition=t}}return!1}function Gk(e,t,n){t=Vo(n,t),t=WA(e,t,1),e=ki(e,t,1),t=Rn(),e!==null&&(Qu(e,1,t),Gn(e,t))}function Ot(e,t,n){if(e.tag===3)Gk(e,e,n);else for(;t!==null;){if(t.tag===3){Gk(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(Si===null||!Si.has(r))){e=Vo(n,e),e=HA(t,e,1),t=ki(t,e,1),e=Rn(),t!==null&&(Qu(t,1,e),Gn(t,e));break}}t=t.return}}function BD(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=Rn(),e.pingedLanes|=e.suspendedLanes&n,nn===e&&(hn&n)===n&&(Kt===4||Kt===3&&(hn&130023424)===hn&&500>Mt()-Ux?ys(e,0):Fx|=n),Gn(e,t)}function uT(e,t){t===0&&(e.mode&1?(t=Td,Td<<=1,!(Td&130023424)&&(Td=4194304)):t=1);var n=Rn();e=$a(e,t),e!==null&&(Qu(e,t,n),Gn(e,n))}function zD(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),uT(e,n)}function FD(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(se(314))}r!==null&&r.delete(t),uT(e,n)}var dT;dT=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Wn.current)Fn=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Fn=!1,CD(e,t,n);Fn=!!(e.flags&131072)}else Fn=!1,St&&t.flags&1048576&&mA(t,qf,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;_f(e,t),e=t.pendingProps;var a=Ho(t,Nn.current);$o(t,n),a=Ix(null,t,r,e,a,n);var s=$x();return t.flags|=1,typeof a=="object"&&a!==null&&typeof a.render=="function"&&a.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Hn(r)?(s=!0,Hf(t)):s=!1,t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,Tx(t),a.updater=Np,t.stateNode=a,a._reactInternals=t,Yv(t,r,e,n),t=Zv(null,t,r,!0,s,n)):(t.tag=0,St&&s&&Sx(t),Tn(null,t,a,n),t=t.child),t;case 16:r=t.elementType;e:{switch(_f(e,t),e=t.pendingProps,a=r._init,r=a(r._payload),t.type=r,a=t.tag=WD(r),e=Pr(r,e),a){case 0:t=Qv(null,t,r,e,n);break e;case 1:t=Ik(null,t,r,e,n);break e;case 11:t=Rk(null,t,r,e,n);break e;case 14:t=Mk(null,t,r,Pr(r.type,e),n);break e}throw Error(se(306,r,""))}return t;case 0:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:Pr(r,a),Qv(e,t,r,a,n);case 1:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:Pr(r,a),Ik(e,t,r,a,n);case 3:e:{if(VA(t),e===null)throw Error(se(387));r=t.pendingProps,s=t.memoizedState,a=s.element,wA(e,t),Yf(t,r,null,n);var o=t.memoizedState;if(r=o.element,s.isDehydrated)if(s={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=s,t.memoizedState=s,t.flags&256){a=Vo(Error(se(423)),t),t=$k(e,t,r,n,a);break e}else if(r!==a){a=Vo(Error(se(424)),t),t=$k(e,t,r,n,a);break e}else for(rr=wi(t.stateNode.containerInfo.firstChild),ar=t,St=!0,Ir=null,n=bA(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Go(),r===a){t=La(e,t,n);break e}Tn(e,t,r,n)}t=t.child}return t;case 5:return kA(t),e===null&&qv(t),r=t.type,a=t.pendingProps,s=e!==null?e.memoizedProps:null,o=a.children,Fv(r,a)?o=null:s!==null&&Fv(r,s)&&(t.flags|=32),KA(e,t),Tn(e,t,o,n),t.child;case 6:return e===null&&qv(t),null;case 13:return YA(e,t,n);case 4:return Ox(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=qo(t,null,r,n):Tn(e,t,r,n),t.child;case 11:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:Pr(r,a),Rk(e,t,r,a,n);case 7:return Tn(e,t,t.pendingProps,n),t.child;case 8:return Tn(e,t,t.pendingProps.children,n),t.child;case 12:return Tn(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,a=t.pendingProps,s=t.memoizedProps,o=a.value,ht(Kf,r._currentValue),r._currentValue=o,s!==null)if(Wr(s.value,o)){if(s.children===a.children&&!Wn.current){t=La(e,t,n);break e}}else for(s=t.child,s!==null&&(s.return=t);s!==null;){var l=s.dependencies;if(l!==null){o=s.child;for(var c=l.firstContext;c!==null;){if(c.context===r){if(s.tag===1){c=Ta(-1,n&-n),c.tag=2;var u=s.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?c.next=c:(c.next=d.next,d.next=c),u.pending=c}}s.lanes|=n,c=s.alternate,c!==null&&(c.lanes|=n),Kv(s.return,n,t),l.lanes|=n;break}c=c.next}}else if(s.tag===10)o=s.type===t.type?null:s.child;else if(s.tag===18){if(o=s.return,o===null)throw Error(se(341));o.lanes|=n,l=o.alternate,l!==null&&(l.lanes|=n),Kv(o,n,t),o=s.sibling}else o=s.child;if(o!==null)o.return=s;else for(o=s;o!==null;){if(o===t){o=null;break}if(s=o.sibling,s!==null){s.return=o.return,o=s;break}o=o.return}s=o}Tn(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,r=t.pendingProps.children,$o(t,n),a=kr(a),r=r(a),t.flags|=1,Tn(e,t,r,n),t.child;case 14:return r=t.type,a=Pr(r,t.pendingProps),a=Pr(r.type,a),Mk(e,t,r,a,n);case 15:return GA(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:Pr(r,a),_f(e,t),t.tag=1,Hn(r)?(e=!0,Hf(t)):e=!1,$o(t,n),UA(t,r,a),Yv(t,r,a,n),Zv(null,t,r,!0,e,n);case 19:return XA(e,t,n);case 22:return qA(e,t,n)}throw Error(se(156,t.tag))};function fT(e,t){return BC(e,t)}function UD(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function yr(e,t,n,r){return new UD(e,t,n,r)}function qx(e){return e=e.prototype,!(!e||!e.isReactComponent)}function WD(e){if(typeof e=="function")return qx(e)?1:0;if(e!=null){if(e=e.$$typeof,e===dx)return 11;if(e===fx)return 14}return 2}function Ni(e,t){var n=e.alternate;return n===null?(n=yr(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Tf(e,t,n,r,a,s){var o=2;if(r=e,typeof e=="function")qx(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case vo:return bs(n.children,a,s,t);case ux:o=8,a|=8;break;case bv:return e=yr(12,n,t,a|2),e.elementType=bv,e.lanes=s,e;case xv:return e=yr(13,n,t,a),e.elementType=xv,e.lanes=s,e;case wv:return e=yr(19,n,t,a),e.elementType=wv,e.lanes=s,e;case kC:return Cp(n,a,s,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case xC:o=10;break e;case wC:o=9;break e;case dx:o=11;break e;case fx:o=14;break e;case ai:o=16,r=null;break e}throw Error(se(130,e==null?e:typeof e,""))}return t=yr(o,n,t,a),t.elementType=e,t.type=r,t.lanes=s,t}function bs(e,t,n,r){return e=yr(7,e,r,t),e.lanes=n,e}function Cp(e,t,n,r){return e=yr(22,e,r,t),e.elementType=kC,e.lanes=n,e.stateNode={isHidden:!1},e}function ig(e,t,n){return e=yr(6,e,null,t),e.lanes=n,e}function sg(e,t,n){return t=yr(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function HD(e,t,n,r,a){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=zm(0),this.expirationTimes=zm(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=zm(0),this.identifierPrefix=r,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null}function Kx(e,t,n,r,a,s,o,l,c){return e=new HD(e,t,n,l,c),t===1?(t=1,s===!0&&(t|=8)):t=0,s=yr(3,null,null,t),e.current=s,s.stateNode=e,s.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Tx(s),e}function GD(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:go,key:r==null?null:""+r,children:e,containerInfo:t,implementation:n}}function hT(e){if(!e)return Ti;e=e._reactInternals;e:{if(Ds(e)!==e||e.tag!==1)throw Error(se(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Hn(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(se(171))}if(e.tag===1){var n=e.type;if(Hn(n))return hA(e,n,t)}return t}function pT(e,t,n,r,a,s,o,l,c){return e=Kx(n,r,!0,e,a,s,o,l,c),e.context=hT(null),n=e.current,r=Rn(),a=ji(n),s=Ta(r,a),s.callback=t??null,ki(n,s,a),e.current.lanes=a,Qu(e,a,r),Gn(e,r),e}function Ap(e,t,n,r){var a=t.current,s=Rn(),o=ji(a);return n=hT(n),t.context===null?t.context=n:t.pendingContext=n,t=Ta(s,o),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=ki(a,t,o),e!==null&&(Br(e,a,o,s),jf(e,a,o)),o}function rh(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function qk(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Vx(e,t){qk(e,t),(e=e.alternate)&&qk(e,t)}function qD(){return null}var mT=typeof reportError=="function"?reportError:function(e){console.error(e)};function Yx(e){this._internalRoot=e}Tp.prototype.render=Yx.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(se(409));Ap(e,t,null,null)};Tp.prototype.unmount=Yx.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Ts(function(){Ap(null,e,null,null)}),t[Ia]=null}};function Tp(e){this._internalRoot=e}Tp.prototype.unstable_scheduleHydration=function(e){if(e){var t=qC();e={blockedOn:null,target:e,priority:t};for(var n=0;n<oi.length&&t!==0&&t<oi[n].priority;n++);oi.splice(n,0,e),n===0&&VC(e)}};function Xx(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Op(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function Kk(){}function KD(e,t,n,r,a){if(a){if(typeof r=="function"){var s=r;r=function(){var u=rh(o);s.call(u)}}var o=pT(t,r,e,0,null,!1,!1,"",Kk);return e._reactRootContainer=o,e[Ia]=o.current,Zc(e.nodeType===8?e.parentNode:e),Ts(),o}for(;a=e.lastChild;)e.removeChild(a);if(typeof r=="function"){var l=r;r=function(){var u=rh(c);l.call(u)}}var c=Kx(e,0,!1,null,null,!1,!1,"",Kk);return e._reactRootContainer=c,e[Ia]=c.current,Zc(e.nodeType===8?e.parentNode:e),Ts(function(){Ap(t,c,n,r)}),c}function Pp(e,t,n,r,a){var s=n._reactRootContainer;if(s){var o=s;if(typeof a=="function"){var l=a;a=function(){var c=rh(o);l.call(c)}}Ap(t,o,e,a)}else o=KD(n,t,e,a,r);return rh(o)}HC=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=kc(t.pendingLanes);n!==0&&(mx(t,n|1),Gn(t,Mt()),!(We&6)&&(Yo=Mt()+500,Mi()))}break;case 13:Ts(function(){var r=$a(e,1);if(r!==null){var a=Rn();Br(r,e,1,a)}}),Vx(e,1)}};gx=function(e){if(e.tag===13){var t=$a(e,134217728);if(t!==null){var n=Rn();Br(t,e,134217728,n)}Vx(e,134217728)}};GC=function(e){if(e.tag===13){var t=ji(e),n=$a(e,t);if(n!==null){var r=Rn();Br(n,e,t,r)}Vx(e,t)}};qC=function(){return et};KC=function(e,t){var n=et;try{return et=e,t()}finally{et=n}};Ov=function(e,t,n){switch(t){case"input":if(jv(e,n),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=kp(r);if(!a)throw Error(se(90));jC(r),jv(r,a)}}}break;case"textarea":EC(e,n);break;case"select":t=n.value,t!=null&&Po(e,!!n.multiple,t,!1)}};RC=Wx;MC=Ts;var VD={usingClientEntryPoint:!1,Events:[Ju,wo,kp,OC,PC,Wx]},ic={findFiberByHostInstance:us,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},YD={bundleType:ic.bundleType,version:ic.version,rendererPackageName:ic.rendererPackageName,rendererConfig:ic.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Fa.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=LC(e),e===null?null:e.stateNode},findFiberByHostInstance:ic.findFiberByHostInstance||qD,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Fd=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Fd.isDisabled&&Fd.supportsFiber)try{yp=Fd.inject(YD),ca=Fd}catch{}}lr.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=VD;lr.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Xx(t))throw Error(se(200));return GD(e,t,null,n)};lr.createRoot=function(e,t){if(!Xx(e))throw Error(se(299));var n=!1,r="",a=mT;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(a=t.onRecoverableError)),t=Kx(e,1,!1,null,null,n,!1,r,a),e[Ia]=t.current,Zc(e.nodeType===8?e.parentNode:e),new Yx(t)};lr.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(se(188)):(e=Object.keys(e).join(","),Error(se(268,e)));return e=LC(t),e=e===null?null:e.stateNode,e};lr.flushSync=function(e){return Ts(e)};lr.hydrate=function(e,t,n){if(!Op(t))throw Error(se(200));return Pp(null,e,t,!0,n)};lr.hydrateRoot=function(e,t,n){if(!Xx(e))throw Error(se(405));var r=n!=null&&n.hydratedSources||null,a=!1,s="",o=mT;if(n!=null&&(n.unstable_strictMode===!0&&(a=!0),n.identifierPrefix!==void 0&&(s=n.identifierPrefix),n.onRecoverableError!==void 0&&(o=n.onRecoverableError)),t=pT(t,null,e,1,n??null,a,!1,s,o),e[Ia]=t.current,Zc(e),r)for(e=0;e<r.length;e++)n=r[e],a=n._getVersion,a=a(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,a]:t.mutableSourceEagerHydrationData.push(n,a);return new Tp(t)};lr.render=function(e,t,n){if(!Op(t))throw Error(se(200));return Pp(null,e,t,!1,n)};lr.unmountComponentAtNode=function(e){if(!Op(e))throw Error(se(40));return e._reactRootContainer?(Ts(function(){Pp(null,null,e,!1,function(){e._reactRootContainer=null,e[Ia]=null})}),!0):!1};lr.unstable_batchedUpdates=Wx;lr.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Op(n))throw Error(se(200));if(e==null||e._reactInternals===void 0)throw Error(se(38));return Pp(e,t,n,!1,r)};lr.version="18.3.1-next-f1338f8080-20240426";function gT(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(gT)}catch(e){console.error(e)}}gT(),gC.exports=lr;var XD=gC.exports,vT,Vk=XD;vT=Vk.createRoot,Vk.hydrateRoot;/**
|
|
41
|
+
* @remix-run/router v1.23.3
|
|
42
|
+
*
|
|
43
|
+
* Copyright (c) Remix Software Inc.
|
|
44
|
+
*
|
|
45
|
+
* This source code is licensed under the MIT license found in the
|
|
46
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
47
|
+
*
|
|
48
|
+
* @license MIT
|
|
49
|
+
*/function ou(){return ou=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},ou.apply(null,arguments)}var pi;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(pi||(pi={}));const Yk="popstate";function QD(e){e===void 0&&(e={});function t(r,a){let{pathname:s,search:o,hash:l}=r.location;return uy("",{pathname:s,search:o,hash:l},a.state&&a.state.usr||null,a.state&&a.state.key||"default")}function n(r,a){return typeof a=="string"?a:ah(a)}return JD(t,n,null,e)}function Ct(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Qx(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function ZD(){return Math.random().toString(36).substr(2,8)}function Xk(e,t){return{usr:e.state,key:e.key,idx:t}}function uy(e,t,n,r){return n===void 0&&(n=null),ou({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?Sl(t):t,{state:n,key:t&&t.key||r||ZD()})}function ah(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function Sl(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function JD(e,t,n,r){r===void 0&&(r={});let{window:a=document.defaultView,v5Compat:s=!1}=r,o=a.history,l=pi.Pop,c=null,u=d();u==null&&(u=0,o.replaceState(ou({},o.state,{idx:u}),""));function d(){return(o.state||{idx:null}).idx}function f(){l=pi.Pop;let y=d(),v=y==null?null:y-u;u=y,c&&c({action:l,location:g.location,delta:v})}function h(y,v){l=pi.Push;let k=uy(g.location,y,v);u=d()+1;let w=Xk(k,u),N=g.createHref(k);try{o.pushState(w,"",N)}catch(S){if(S instanceof DOMException&&S.name==="DataCloneError")throw S;a.location.assign(N)}s&&c&&c({action:l,location:g.location,delta:1})}function p(y,v){l=pi.Replace;let k=uy(g.location,y,v);u=d();let w=Xk(k,u),N=g.createHref(k);o.replaceState(w,"",N),s&&c&&c({action:l,location:g.location,delta:0})}function m(y){let v=a.location.origin!=="null"?a.location.origin:a.location.href,k=typeof y=="string"?y:ah(y);return k=k.replace(/ $/,"%20"),Ct(v,"No window.location.(origin|href) available to create URL for href: "+k),new URL(k,v)}let g={get action(){return l},get location(){return e(a,o)},listen(y){if(c)throw new Error("A history only accepts one active listener");return a.addEventListener(Yk,f),c=y,()=>{a.removeEventListener(Yk,f),c=null}},createHref(y){return t(a,y)},createURL:m,encodeLocation(y){let v=m(y);return{pathname:v.pathname,search:v.search,hash:v.hash}},push:h,replace:p,go(y){return o.go(y)}};return g}var Qk;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(Qk||(Qk={}));function e2(e,t,n){return n===void 0&&(n="/"),t2(e,t,n)}function t2(e,t,n,r){let a=typeof t=="string"?Sl(t):t,s=Xo(a.pathname||"/",n);if(s==null)return null;let o=yT(e);n2(o);let l=null,c=h2(s);for(let u=0;l==null&&u<o.length;++u)l=d2(o[u],c);return l}function yT(e,t,n,r){t===void 0&&(t=[]),n===void 0&&(n=[]),r===void 0&&(r="");let a=(s,o,l)=>{let c={relativePath:l===void 0?s.path||"":l,caseSensitive:s.caseSensitive===!0,childrenIndex:o,route:s};c.relativePath.startsWith("/")&&(Ct(c.relativePath.startsWith(r),'Absolute route path "'+c.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),c.relativePath=c.relativePath.slice(r.length));let u=Ei([r,c.relativePath]),d=n.concat(c);s.children&&s.children.length>0&&(Ct(s.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+u+'".')),yT(s.children,t,d,u)),!(s.path==null&&!s.index)&&t.push({path:u,score:c2(u,s.index),routesMeta:d})};return e.forEach((s,o)=>{var l;if(s.path===""||!((l=s.path)!=null&&l.includes("?")))a(s,o);else for(let c of bT(s.path))a(s,o,c)}),t}function bT(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,a=n.endsWith("?"),s=n.replace(/\?$/,"");if(r.length===0)return a?[s,""]:[s];let o=bT(r.join("/")),l=[];return l.push(...o.map(c=>c===""?s:[s,c].join("/"))),a&&l.push(...o),l.map(c=>e.startsWith("/")&&c===""?"/":c)}function n2(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:u2(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const r2=/^:[\w-]+$/,a2=3,i2=2,s2=1,o2=10,l2=-2,Zk=e=>e==="*";function c2(e,t){let n=e.split("/"),r=n.length;return n.some(Zk)&&(r+=l2),t&&(r+=i2),n.filter(a=>!Zk(a)).reduce((a,s)=>a+(r2.test(s)?a2:s===""?s2:o2),r)}function u2(e,t){return e.length===t.length&&e.slice(0,-1).every((r,a)=>r===t[a])?e[e.length-1]-t[t.length-1]:0}function d2(e,t,n){let{routesMeta:r}=e,a={},s="/",o=[];for(let l=0;l<r.length;++l){let c=r[l],u=l===r.length-1,d=s==="/"?t:t.slice(s.length)||"/",f=dy({path:c.relativePath,caseSensitive:c.caseSensitive,end:u},d),h=c.route;if(!f)return null;Object.assign(a,f.params),o.push({params:a,pathname:Ei([s,f.pathname]),pathnameBase:y2(Ei([s,f.pathnameBase])),route:h}),f.pathnameBase!=="/"&&(s=Ei([s,f.pathnameBase]))}return o}function dy(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=f2(e.path,e.caseSensitive,e.end),a=t.match(n);if(!a)return null;let s=a[0],o=s.replace(/(.)\/+$/,"$1"),l=a.slice(1);return{params:r.reduce((u,d,f)=>{let{paramName:h,isOptional:p}=d;if(h==="*"){let g=l[f]||"";o=s.slice(0,s.length-g.length).replace(/(.)\/+$/,"$1")}const m=l[f];return p&&!m?u[h]=void 0:u[h]=(m||"").replace(/%2F/g,"/"),u},{}),pathname:s,pathnameBase:o,pattern:e}}function f2(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),Qx(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],a="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(o,l,c)=>(r.push({paramName:l,isOptional:c!=null}),c?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),a+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?a+="\\/*$":e!==""&&e!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,t?void 0:"i"),r]}function h2(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Qx(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function Xo(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}const p2=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,m2=e=>p2.test(e);function g2(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:a=""}=typeof e=="string"?Sl(e):e,s;if(n)if(m2(n))s=n;else{if(n.includes("//")){let o=n;n=xT(n),Qx(!1,"Pathnames cannot have embedded double slashes - normalizing "+(o+" -> "+n))}n.startsWith("/")?s=Jk(n.substring(1),"/"):s=Jk(n,t)}else s=t;return{pathname:s,search:b2(r),hash:x2(a)}}function Jk(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(a=>{a===".."?n.length>1&&n.pop():a!=="."&&n.push(a)}),n.length>1?n.join("/"):"/"}function og(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in <Link to="..."> and the router will parse it for you.'}function v2(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function Zx(e,t){let n=v2(e);return t?n.map((r,a)=>a===n.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function Jx(e,t,n,r){r===void 0&&(r=!1);let a;typeof e=="string"?a=Sl(e):(a=ou({},e),Ct(!a.pathname||!a.pathname.includes("?"),og("?","pathname","search",a)),Ct(!a.pathname||!a.pathname.includes("#"),og("#","pathname","hash",a)),Ct(!a.search||!a.search.includes("#"),og("#","search","hash",a)));let s=e===""||a.pathname==="",o=s?"/":a.pathname,l;if(o==null)l=n;else{let f=t.length-1;if(!r&&o.startsWith("..")){let h=o.split("/");for(;h[0]==="..";)h.shift(),f-=1;a.pathname=h.join("/")}l=f>=0?t[f]:"/"}let c=g2(a,l),u=o&&o!=="/"&&o.endsWith("/"),d=(s||o===".")&&n.endsWith("/");return!c.pathname.endsWith("/")&&(u||d)&&(c.pathname+="/"),c}const xT=e=>e.replace(/\/\/+/g,"/"),Ei=e=>xT(e.join("/")),y2=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),b2=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,x2=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function w2(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const wT=["post","put","patch","delete"];new Set(wT);const k2=["get",...wT];new Set(k2);/**
|
|
50
|
+
* React Router v6.30.4
|
|
51
|
+
*
|
|
52
|
+
* Copyright (c) Remix Software Inc.
|
|
53
|
+
*
|
|
54
|
+
* This source code is licensed under the MIT license found in the
|
|
55
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
56
|
+
*
|
|
57
|
+
* @license MIT
|
|
58
|
+
*/function lu(){return lu=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},lu.apply(null,arguments)}const Rp=b.createContext(null),kT=b.createContext(null),Ua=b.createContext(null),Mp=b.createContext(null),Ii=b.createContext({outlet:null,matches:[],isDataRoute:!1}),ST=b.createContext(null);function S2(e,t){let{relative:n}=t===void 0?{}:t;jl()||Ct(!1);let{basename:r,navigator:a}=b.useContext(Ua),{hash:s,pathname:o,search:l}=Ip(e,{relative:n}),c=o;return r!=="/"&&(c=o==="/"?r:Ei([r,o])),a.createHref({pathname:c,search:l,hash:s})}function jl(){return b.useContext(Mp)!=null}function $i(){return jl()||Ct(!1),b.useContext(Mp).location}function jT(e){b.useContext(Ua).static||b.useLayoutEffect(e)}function ew(){let{isDataRoute:e}=b.useContext(Ii);return e?$2():j2()}function j2(){jl()||Ct(!1);let e=b.useContext(Rp),{basename:t,future:n,navigator:r}=b.useContext(Ua),{matches:a}=b.useContext(Ii),{pathname:s}=$i(),o=JSON.stringify(Zx(a,n.v7_relativeSplatPath)),l=b.useRef(!1);return jT(()=>{l.current=!0}),b.useCallback(function(u,d){if(d===void 0&&(d={}),!l.current)return;if(typeof u=="number"){r.go(u);return}let f=Jx(u,JSON.parse(o),s,d.relative==="path");e==null&&t!=="/"&&(f.pathname=f.pathname==="/"?t:Ei([t,f.pathname])),(d.replace?r.replace:r.push)(f,d.state,d)},[t,r,o,s,e])}function Ip(e,t){let{relative:n}=t===void 0?{}:t,{future:r}=b.useContext(Ua),{matches:a}=b.useContext(Ii),{pathname:s}=$i(),o=JSON.stringify(Zx(a,r.v7_relativeSplatPath));return b.useMemo(()=>Jx(e,JSON.parse(o),s,n==="path"),[e,o,s,n])}function N2(e,t){return E2(e,t)}function E2(e,t,n,r){jl()||Ct(!1);let{navigator:a}=b.useContext(Ua),{matches:s}=b.useContext(Ii),o=s[s.length-1],l=o?o.params:{};o&&o.pathname;let c=o?o.pathnameBase:"/";o&&o.route;let u=$i(),d;if(t){var f;let y=typeof t=="string"?Sl(t):t;c==="/"||(f=y.pathname)!=null&&f.startsWith(c)||Ct(!1),d=y}else d=u;let h=d.pathname||"/",p=h;if(c!=="/"){let y=c.replace(/^\//,"").split("/");p="/"+h.replace(/^\//,"").split("/").slice(y.length).join("/")}let m=e2(e,{pathname:p}),g=O2(m&&m.map(y=>Object.assign({},y,{params:Object.assign({},l,y.params),pathname:Ei([c,a.encodeLocation?a.encodeLocation(y.pathname).pathname:y.pathname]),pathnameBase:y.pathnameBase==="/"?c:Ei([c,a.encodeLocation?a.encodeLocation(y.pathnameBase).pathname:y.pathnameBase])})),s,n,r);return t&&g?b.createElement(Mp.Provider,{value:{location:lu({pathname:"/",search:"",hash:"",state:null,key:"default"},d),navigationType:pi.Pop}},g):g}function _2(){let e=I2(),t=w2(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,a={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return b.createElement(b.Fragment,null,b.createElement("h2",null,"Unexpected Application Error!"),b.createElement("h3",{style:{fontStyle:"italic"}},t),n?b.createElement("pre",{style:a},n):null,null)}const C2=b.createElement(_2,null);class A2 extends b.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error!==void 0?b.createElement(Ii.Provider,{value:this.props.routeContext},b.createElement(ST.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function T2(e){let{routeContext:t,match:n,children:r}=e,a=b.useContext(Rp);return a&&a.static&&a.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=n.route.id),b.createElement(Ii.Provider,{value:t},r)}function O2(e,t,n,r){var a;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var s;if(!n)return null;if(n.errors)e=n.matches;else if((s=r)!=null&&s.v7_partialHydration&&t.length===0&&!n.initialized&&n.matches.length>0)e=n.matches;else return null}let o=e,l=(a=n)==null?void 0:a.errors;if(l!=null){let d=o.findIndex(f=>f.route.id&&(l==null?void 0:l[f.route.id])!==void 0);d>=0||Ct(!1),o=o.slice(0,Math.min(o.length,d+1))}let c=!1,u=-1;if(n&&r&&r.v7_partialHydration)for(let d=0;d<o.length;d++){let f=o[d];if((f.route.HydrateFallback||f.route.hydrateFallbackElement)&&(u=d),f.route.id){let{loaderData:h,errors:p}=n,m=f.route.loader&&h[f.route.id]===void 0&&(!p||p[f.route.id]===void 0);if(f.route.lazy||m){c=!0,u>=0?o=o.slice(0,u+1):o=[o[0]];break}}}return o.reduceRight((d,f,h)=>{let p,m=!1,g=null,y=null;n&&(p=l&&f.route.id?l[f.route.id]:void 0,g=f.route.errorElement||C2,c&&(u<0&&h===0?(L2("route-fallback"),m=!0,y=null):u===h&&(m=!0,y=f.route.hydrateFallbackElement||null)));let v=t.concat(o.slice(0,h+1)),k=()=>{let w;return p?w=g:m?w=y:f.route.Component?w=b.createElement(f.route.Component,null):f.route.element?w=f.route.element:w=d,b.createElement(T2,{match:f,routeContext:{outlet:d,matches:v,isDataRoute:n!=null},children:w})};return n&&(f.route.ErrorBoundary||f.route.errorElement||h===0)?b.createElement(A2,{location:n.location,revalidation:n.revalidation,component:g,error:p,children:k(),routeContext:{outlet:null,matches:v,isDataRoute:!0}}):k()},null)}var NT=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(NT||{}),ET=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(ET||{});function P2(e){let t=b.useContext(Rp);return t||Ct(!1),t}function R2(e){let t=b.useContext(kT);return t||Ct(!1),t}function M2(e){let t=b.useContext(Ii);return t||Ct(!1),t}function _T(e){let t=M2(),n=t.matches[t.matches.length-1];return n.route.id||Ct(!1),n.route.id}function I2(){var e;let t=b.useContext(ST),n=R2(),r=_T();return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function $2(){let{router:e}=P2(NT.UseNavigateStable),t=_T(ET.UseNavigateStable),n=b.useRef(!1);return jT(()=>{n.current=!0}),b.useCallback(function(a,s){s===void 0&&(s={}),n.current&&(typeof a=="number"?e.navigate(a):e.navigate(a,lu({fromRouteId:t},s)))},[e,t])}const eS={};function L2(e,t,n){eS[e]||(eS[e]=!0)}function D2(e,t){e==null||e.v7_startTransition,e==null||e.v7_relativeSplatPath}function tS(e){let{to:t,replace:n,state:r,relative:a}=e;jl()||Ct(!1);let{future:s,static:o}=b.useContext(Ua),{matches:l}=b.useContext(Ii),{pathname:c}=$i(),u=ew(),d=Jx(t,Zx(l,s.v7_relativeSplatPath),c,a==="path"),f=JSON.stringify(d);return b.useEffect(()=>u(JSON.parse(f),{replace:n,state:r,relative:a}),[u,f,a,n,r]),null}function Ue(e){Ct(!1)}function B2(e){let{basename:t="/",children:n=null,location:r,navigationType:a=pi.Pop,navigator:s,static:o=!1,future:l}=e;jl()&&Ct(!1);let c=t.replace(/^\/*/,"/"),u=b.useMemo(()=>({basename:c,navigator:s,static:o,future:lu({v7_relativeSplatPath:!1},l)}),[c,l,s,o]);typeof r=="string"&&(r=Sl(r));let{pathname:d="/",search:f="",hash:h="",state:p=null,key:m="default"}=r,g=b.useMemo(()=>{let y=Xo(d,c);return y==null?null:{location:{pathname:y,search:f,hash:h,state:p,key:m},navigationType:a}},[c,d,f,h,p,m,a]);return g==null?null:b.createElement(Ua.Provider,{value:u},b.createElement(Mp.Provider,{children:n,value:g}))}function z2(e){let{children:t,location:n}=e;return N2(fy(t),n)}new Promise(()=>{});function fy(e,t){t===void 0&&(t=[]);let n=[];return b.Children.forEach(e,(r,a)=>{if(!b.isValidElement(r))return;let s=[...t,a];if(r.type===b.Fragment){n.push.apply(n,fy(r.props.children,s));return}r.type!==Ue&&Ct(!1),!r.props.index||!r.props.children||Ct(!1);let o={id:r.props.id||s.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,loader:r.props.loader,action:r.props.action,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(o.children=fy(r.props.children,s)),n.push(o)}),n}/**
|
|
59
|
+
* React Router DOM v6.30.4
|
|
60
|
+
*
|
|
61
|
+
* Copyright (c) Remix Software Inc.
|
|
62
|
+
*
|
|
63
|
+
* This source code is licensed under the MIT license found in the
|
|
64
|
+
* LICENSE.md file in the root directory of this source tree.
|
|
65
|
+
*
|
|
66
|
+
* @license MIT
|
|
67
|
+
*/function ih(){return ih=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},ih.apply(null,arguments)}function CT(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 F2(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function U2(e,t){return e.button===0&&(!t||t==="_self")&&!F2(e)}const W2=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],H2=["aria-current","caseSensitive","className","end","style","to","viewTransition","children"],G2="6";try{window.__reactRouterVersion=G2}catch{}const q2=b.createContext({isTransitioning:!1}),K2="startTransition",nS=B$[K2];function V2(e){let{basename:t,children:n,future:r,window:a}=e,s=b.useRef();s.current==null&&(s.current=QD({window:a,v5Compat:!0}));let o=s.current,[l,c]=b.useState({action:o.action,location:o.location}),{v7_startTransition:u}=r||{},d=b.useCallback(f=>{u&&nS?nS(()=>c(f)):c(f)},[c,u]);return b.useLayoutEffect(()=>o.listen(d),[o,d]),b.useEffect(()=>D2(r),[r]),b.createElement(B2,{basename:t,children:n,location:l.location,navigationType:l.action,navigator:o,future:r})}const Y2=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",X2=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,en=b.forwardRef(function(t,n){let{onClick:r,relative:a,reloadDocument:s,replace:o,state:l,target:c,to:u,preventScrollReset:d,viewTransition:f}=t,h=CT(t,W2),{basename:p}=b.useContext(Ua),m,g=!1;if(typeof u=="string"&&X2.test(u)&&(m=u,Y2))try{let w=new URL(window.location.href),N=u.startsWith("//")?new URL(w.protocol+u):new URL(u),S=Xo(N.pathname,p);N.origin===w.origin&&S!=null?u=S+N.search+N.hash:g=!0}catch{}let y=S2(u,{relative:a}),v=Z2(u,{replace:o,state:l,target:c,preventScrollReset:d,relative:a,viewTransition:f});function k(w){r&&r(w),w.defaultPrevented||v(w)}return b.createElement("a",ih({},h,{href:m||y,onClick:g||s?r:k,ref:n,target:c}))}),rS=b.forwardRef(function(t,n){let{"aria-current":r="page",caseSensitive:a=!1,className:s="",end:o=!1,style:l,to:c,viewTransition:u,children:d}=t,f=CT(t,H2),h=Ip(c,{relative:f.relative}),p=$i(),m=b.useContext(kT),{navigator:g,basename:y}=b.useContext(Ua),v=m!=null&&J2(h)&&u===!0,k=g.encodeLocation?g.encodeLocation(h).pathname:h.pathname,w=p.pathname,N=m&&m.navigation&&m.navigation.location?m.navigation.location.pathname:null;a||(w=w.toLowerCase(),N=N?N.toLowerCase():null,k=k.toLowerCase()),N&&y&&(N=Xo(N,y)||N);const S=k!=="/"&&k.endsWith("/")?k.length-1:k.length;let x=w===k||!o&&w.startsWith(k)&&w.charAt(S)==="/",E=N!=null&&(N===k||!o&&N.startsWith(k)&&N.charAt(k.length)==="/"),_={isActive:x,isPending:E,isTransitioning:v},O=x?r:void 0,C;typeof s=="function"?C=s(_):C=[s,x?"active":null,E?"pending":null,v?"transitioning":null].filter(Boolean).join(" ");let P=typeof l=="function"?l(_):l;return b.createElement(en,ih({},f,{"aria-current":O,className:C,ref:n,style:P,to:c,viewTransition:u}),typeof d=="function"?d(_):d)});var hy;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(hy||(hy={}));var aS;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(aS||(aS={}));function Q2(e){let t=b.useContext(Rp);return t||Ct(!1),t}function Z2(e,t){let{target:n,replace:r,state:a,preventScrollReset:s,relative:o,viewTransition:l}=t===void 0?{}:t,c=ew(),u=$i(),d=Ip(e,{relative:o});return b.useCallback(f=>{if(U2(f,n)){f.preventDefault();let h=r!==void 0?r:ah(u)===ah(d);c(e,{replace:h,state:a,preventScrollReset:s,relative:o,viewTransition:l})}},[u,c,d,r,a,n,e,s,o,l])}function J2(e,t){t===void 0&&(t={});let n=b.useContext(q2);n==null&&Ct(!1);let{basename:r}=Q2(hy.useViewTransitionState),a=Ip(e,{relative:t.relative});if(!n.isTransitioning)return!1;let s=Xo(n.currentLocation.pathname,r)||n.currentLocation.pathname,o=Xo(n.nextLocation.pathname,r)||n.nextLocation.pathname;return dy(a.pathname,o)!=null||dy(a.pathname,s)!=null}async function nt(e){if(!e.ok)return null;const t=e.headers.get("content-type")||"";if(!t.includes("application/json")&&!t.includes("text/json"))return t.includes("text/html")&&console.warn(`[dashboard] GET ${e.url||"/api/*"} returned HTML (${e.status}) instead of JSON — the dashboard server may be an older version. Stop it and start it again (agent-nuvira dashboard stop, or Ctrl+C in its terminal).`),null;try{return await e.json()}catch{return null}}const Co="buff-dashboard-admin-token";function AT(){try{if(typeof window<"u"&&window.localStorage)return window.localStorage}catch{}return null}function eB(e){if(!e||typeof e!="object")return!1;const t=e,n=t.diff;return typeof t.dir=="string"&&typeof t.base=="string"&&typeof t.removed=="boolean"&&!!n&&typeof n=="object"&&Array.isArray(n.files)&&n.files.every(r=>typeof r=="string")&&typeof n.summary=="string"&&!!n.payload&&typeof n.payload=="object"&&typeof n.payload.summary=="string"&&Array.isArray(n.payload.files)&&n.payload.files.every(r=>!!r&&typeof r.path=="string"&&typeof r.body=="string")}function tB(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.id=="string"&&typeof t.replayed=="number"&&typeof t.modelCalls=="number"&&typeof t.saved=="boolean"&&typeof t.notice=="string"&&(t.callsAvoided===void 0||typeof t.callsAvoided=="number")}function nB(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.goal=="string"&&typeof t.planned=="boolean"&&Array.isArray(t.steps)&&!!t.stepCounts&&typeof t.stepCounts=="object"&&typeof t.stepCounts.total=="number"&&typeof t.verification=="string"&&["verified","unverified","blocked","not-applicable","delivered-and-read-back"].includes(t.verification)&&(t.summary===null||typeof t.summary=="string")&&Array.isArray(t.changedPaths)&&!!t.flags&&typeof t.flags=="object"}const py=new Map;function rB(){const e=AT();if(e)try{const t=e.getItem(Co);if(t)return t}catch{}return py.get(Co)??null}function aB(e){const t=AT();if(t)try{e?t.setItem(Co,e):t.removeItem(Co);return}catch{}e?py.set(Co,e):py.delete(Co)}function Qt(){return rB()}let my=0;const gy=new Set;function iB(){return my}function sB(e){return gy.add(e),()=>{gy.delete(e)}}function oB(){my+=1;for(const e of gy)try{e(my)}catch{}}function lg(e){aB(e),oB()}function gt(){const e=Qt();return e?{Authorization:`Bearer ${e}`}:{}}class lB{constructor(t=""){Jr(this,"sse",null);Jr(this,"listeners",new Set);Jr(this,"connectionListeners",new Set);Jr(this,"dagListeners",new Set);Jr(this,"typingListeners",new Set);Jr(this,"chatRetryListeners",new Set);Jr(this,"reconnectTimer",null);Jr(this,"baseUrl");Jr(this,"lastData",null);this.baseUrl=t}subscribe(t){return this.listeners.add(t),()=>this.listeners.delete(t)}onConnectionChange(t){return this.connectionListeners.add(t),()=>this.connectionListeners.delete(t)}onDAGEvent(t){return this.dagListeners.add(t),()=>this.dagListeners.delete(t)}onTypingEvent(t){return this.typingListeners.add(t),()=>this.typingListeners.delete(t)}onChatRetryEvent(t){return this.chatRetryListeners.add(t),()=>this.chatRetryListeners.delete(t)}connect(){this.sse||(this.sse=new EventSource(`${this.baseUrl}/api/sse`),this.sse.addEventListener("init",t=>{try{const n=JSON.parse(t.data);this.lastData=n,this.notify(n),this.notifyConnection(!0)}catch(n){console.error("Failed to parse SSE init data:",n)}}),this.sse.addEventListener("refresh",t=>{try{const n=JSON.parse(t.data);this.lastData=n,this.notify(n),this.notifyConnection(!0)}catch(n){console.error("Failed to parse SSE refresh data:",n)}}),this.sse.addEventListener("dag",t=>{try{const n=JSON.parse(t.data);if(this.notifyDAG(n),this.lastData){const r={...this.lastData,dag:n};this.lastData=r,this.notify(r)}}catch(n){console.error("Failed to parse SSE dag event:",n)}}),this.sse.addEventListener("quota",t=>{try{const n=JSON.parse(t.data);if(this.lastData&&n.quota){const r={...this.lastData,routing:{...this.lastData.routing||{},quota:n.quota},serverTime:n.serverTime||this.lastData.serverTime};this.lastData=r,this.notify(r)}}catch(n){console.error("Failed to parse SSE quota event:",n)}}),this.sse.addEventListener("conversation",t=>{try{const n=JSON.parse(t.data);if(this.lastData&&n.conversations){const r={...this.lastData,conversations:{total:n.total??n.conversations.length,recent:n.conversations},serverTime:n.serverTime||this.lastData.serverTime};this.lastData=r,this.notify(r)}}catch(n){console.error("Failed to parse SSE conversation event:",n)}}),this.sse.addEventListener("typing",t=>{try{const n=JSON.parse(t.data);for(const r of this.typingListeners)try{r(n)}catch{}}catch(n){console.error("Failed to parse SSE typing event:",n)}}),this.sse.addEventListener("chat-retry",t=>{try{const n=JSON.parse(t.data);if(!n||typeof n.sessionId!="string"||typeof n.content!="string")return;for(const r of this.chatRetryListeners)try{r(n)}catch{}}catch(n){console.error("Failed to parse SSE chat-retry event:",n)}}),this.sse.onerror=()=>{this.notifyConnection(!1),this.disconnect(),this.reconnect()},this.sse.onopen=()=>{this.notifyConnection(!0)})}disconnect(){this.sse&&(this.sse.close(),this.sse=null),this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null)}reconnect(){this.reconnectTimer=setTimeout(()=>{this.connect()},3e3)}notify(t){this.listeners.forEach(n=>n(t))}notifyDAG(t){this.dagListeners.forEach(n=>n(t))}notifyConnection(t){this.connectionListeners.forEach(n=>n(t))}async fetchAll(){try{const t=await fetch(`${this.baseUrl}/api/all`),n=await nt(t);return n?(this.lastData=n,n):null}catch{return null}}async fetchExecutionAudit(t){try{const n=new URLSearchParams;t!=null&&t.skillName&&n.set("skillName",t.skillName),t!=null&&t.status&&n.set("status",t.status),t!=null&&t.limit&&n.set("limit",String(t.limit));const r=n.toString(),a=await fetch(`${this.baseUrl}/api/executions${r?`?${r}`:""}`,{signal:AbortSignal.timeout(8e3)}),s=await nt(a);return(s==null?void 0:s.entries)??[]}catch{return[]}}async fetchTraces(){try{const t=await fetch(`${this.baseUrl}/api/traces`,{signal:AbortSignal.timeout(8e3)}),n=await nt(t);return n!=null&&n.traces?n.traces:null}catch{return null}}async fetchAcceptance(){try{const t=await fetch(`${this.baseUrl}/api/acceptance`,{signal:AbortSignal.timeout(8e3)}),n=await nt(t);return!n||typeof n.labelled!="number"?null:n}catch{return null}}acceptanceExportUrl(t="json"){return`${this.baseUrl}/api/acceptance/export?format=${t}`}async importAcceptance(t,n){try{const r=await fetch(`${this.baseUrl}/api/acceptance/import`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:t,...n?{format:n}:{}})}),a=await nt(r);return!a||typeof a.ok!="boolean"?null:a}catch{return null}}async fetchDecisions(t,n){try{const r=new URLSearchParams;t&&r.set("dir",t),n&&n.trim()&&r.set("for",n.trim());const a=await fetch(`${this.baseUrl}/api/decisions?${r.toString()}`,{signal:AbortSignal.timeout(8e3)}),s=await nt(a);return!s||!Array.isArray(s.decisions)?null:s}catch{return null}}async reviseDecision(t,n,r,a){try{const s=await fetch(`${this.baseUrl}/api/decisions/revise`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({dir:t,id:n,answer:r,...a?{note:a}:{}})}),o=await nt(s);return!o||o.ok!==!0||!o.decision?null:o.decision}catch{return null}}async fetchGates(){try{const t=await fetch(`${this.baseUrl}/api/gates`,{signal:AbortSignal.timeout(8e3)}),n=await nt(t);return!n||typeof n.events!="number"?null:n}catch{return null}}async fetchConsent(){try{const t=await fetch(`${this.baseUrl}/api/consent`,{signal:AbortSignal.timeout(8e3)}),n=await nt(t);return!n||n.ok!==!0||!n.picture||!n.picture.denied?null:n.picture}catch{return null}}async fetchCapabilities(){try{const t=await fetch(`${this.baseUrl}/api/capabilities`,{signal:AbortSignal.timeout(8e3)}),n=await nt(t);return!n||n.ok!==!0||!Array.isArray(n.verbs)?null:n}catch{return null}}async saveLearnedCommand(t,n,r){try{const a=await fetch(`${this.baseUrl}/api/capabilities/commands`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({verb:t,command:n,...r?{note:r}:{}})}),s=await nt(a);return{ok:(s==null?void 0:s.ok)===!0,commands:s==null?void 0:s.commands,error:s==null?void 0:s.error}}catch{return{ok:!1,error:"Could not reach the server."}}}async forgetLearnedCommand(t){try{const n=await fetch(`${this.baseUrl}/api/capabilities/commands/forget`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({verb:t})}),r=await nt(n);return{ok:(r==null?void 0:r.ok)===!0,commands:r==null?void 0:r.commands,error:r==null?void 0:r.error}}catch{return{ok:!1,error:"Could not reach the server."}}}async fetchSessionGrants(){try{const t=await fetch(`${this.baseUrl}/api/session-grants`,{signal:AbortSignal.timeout(8e3)}),n=await nt(t);return!n||!Array.isArray(n.grants)?null:n.grants}catch{return null}}async revokeSessionGrant(t){try{const n=await fetch(`${this.baseUrl}/api/session-grants/clear`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:t})}),r=await nt(n);return(r==null?void 0:r.ok)===!0}catch{return!1}}async fetchAdminChecks(){try{const t=await fetch(`${this.baseUrl}/api/admin/checks`,{signal:AbortSignal.timeout(15e3)}),n=await nt(t);return!n||!Array.isArray(n.system)||!Array.isArray(n.enterprise)||!Array.isArray(n.providers)?null:n}catch{return null}}async fetchHub(){var t;try{const n=await fetch(`${this.baseUrl}/api/hub`,{signal:AbortSignal.timeout(8e3)}),r=await nt(n);return!r||!Array.isArray((t=r.toolsets)==null?void 0:t.toolsets)?null:r}catch{return null}}async rateTrace(t,n){try{const r=await fetch(`${this.baseUrl}/api/traces/${encodeURIComponent(t)}/verdict`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({verdict:n}),signal:AbortSignal.timeout(8e3)}),a=await nt(r);return a!=null&&a.ok&&a.rated?{traceId:a.rated.traceId,corpusLabeled:!!a.rated.corpusLabeled}:null}catch{return null}}async fetchTraceDetail(t){try{const n=await fetch(`${this.baseUrl}/api/traces/${encodeURIComponent(t)}`,{signal:AbortSignal.timeout(8e3)}),r=await nt(n);return r&&Array.isArray(r.steps)?r:null}catch{return null}}async sendAdminRequest(t,n,r){try{const a=Qt(),s=await fetch(`${this.baseUrl}${t}`,{method:n,headers:{"Content-Type":"application/json",...a?{Authorization:`Bearer ${a}`}:{}},body:r!==void 0?JSON.stringify(r):void 0,signal:AbortSignal.timeout(15e3)}),o=s.headers.get("content-type")||"";let l=null;if(o.includes("application/json")||o.includes("text/json"))try{l=await s.json()}catch{l=null}return{status:s.status,data:l}}catch{return null}}async fetchAdminAuthStatus(){const t=await this.sendAdminRequest("/api/admin/auth-status","GET");if(!t||typeof t.data!="object"||t.data===null)return null;const n=t.data;return typeof n.configured!="boolean"||typeof n.authenticated!="boolean"?null:{configured:n.configured,authenticated:n.authenticated,user:typeof n.user=="string"?n.user:null,role:typeof n.role=="string"?n.role:null,mustChangePassword:n.mustChangePassword===!0}}async changeAdminPassword(t,n){const r=await this.sendAdminRequest("/api/admin/change-password","POST",{currentPassword:t,newPassword:n});if(!r)return{ok:!1,error:"Could not reach the dashboard server."};const a=r.data??{};return r.status===200&&a.ok?{ok:!0}:{ok:!1,error:a.error||"Could not change the password."}}async fetchAdminUsers(){const t=await this.sendAdminRequest("/api/admin/users","GET");if(!t)return{ok:!1,error:"Could not reach the dashboard server."};const n=t.data??{};return t.status===200&&n.ok&&Array.isArray(n.users)?n:{ok:!1,error:n.error||"Failed to load users.",forbidden:t.status===403,unauthorized:t.status===401}}async addAdminUser(t,n,r){const a=await this.sendAdminRequest("/api/admin/users","POST",{user:t,password:n,role:r});if(!a)return{ok:!1,error:"Could not reach the dashboard server."};const s=a.data??{};return a.status===200&&s.ok?s:{ok:!1,error:s.error||"Failed to add user.",forbidden:a.status===403,unauthorized:a.status===401}}async removeAdminUser(t){const n=await this.sendAdminRequest(`/api/admin/users/${encodeURIComponent(t)}`,"DELETE");if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?r:{ok:!1,error:r.error||"Failed to remove user.",forbidden:n.status===403,unauthorized:n.status===401}}async fetchAdminCatalog(){const t=await this.sendAdminRequest("/api/admin/catalog","GET"),n=t==null?void 0:t.data;return!n||!Array.isArray(n.providers)?null:n.providers}async adminSetup(t,n){const r=await this.sendAdminRequest("/api/admin/setup","POST",{user:t,password:n});if(!r)return{ok:!1,error:"Could not reach the dashboard server."};const a=r.data??{};return r.status===200&&typeof a.token=="string"?(lg(a.token),{ok:!0,user:a.user,token:a.token}):{ok:!1,error:a.error||"Setup failed.",unauthorized:r.status===401}}async adminLogin(t,n){const r=await this.sendAdminRequest("/api/admin/login","POST",{user:t,password:n});if(!r)return{ok:!1,error:"Could not reach the dashboard server."};const a=r.data??{};return r.status===200&&typeof a.token=="string"?(lg(a.token),{ok:!0,user:a.user,token:a.token}):{ok:!1,error:a.error||"Login failed.",unauthorized:r.status===401}}async adminLogout(){await this.sendAdminRequest("/api/admin/logout","POST"),lg(null)}async shutdown(t){const n=await this.sendAdminRequest("/api/admin/shutdown","POST",{target:t});if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?r:{ok:!1,error:r.error||"Shutdown failed.",unauthorized:n.status===401,forbidden:n.status===403}}async saveProvider(t,n){const r=await this.sendAdminRequest(`/api/admin/providers/${encodeURIComponent(t)}`,"PUT",n);if(!r)return{ok:!1,error:"Could not reach the dashboard server."};const a=r.data??{};return r.status===200&&a.ok?a:{ok:!1,error:a.error||"Save failed.",unauthorized:r.status===401}}async deleteProvider(t){const n=await this.sendAdminRequest(`/api/admin/providers/${encodeURIComponent(t)}`,"DELETE");if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?r:{ok:!1,error:r.error||"Remove failed.",unauthorized:n.status===401}}async testProvider(t){const n=await this.sendAdminRequest(`/api/admin/providers/${encodeURIComponent(t)}/test`,"POST");if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200?r:{ok:!1,error:r.error||"Test failed.",unauthorized:n.status===401}}async fetchOmniRouteStatus(){const t=await this.sendAdminRequest("/api/admin/omniroute","GET");if(!t)return null;const n=t.data??{};return t.status!==200||!n.status?null:n.status}async controlOmniRoute(t){const n=await this.sendAdminRequest("/api/admin/omniroute","POST",{action:t});if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200?r:{ok:!1,error:r.error||"OmniRoute control failed.",unauthorized:n.status===401,forbidden:n.status===403}}async fetchAdminWorkspace(){const t=await this.sendAdminRequest("/api/admin/workspace","GET");if(!t)return null;const n=t.data??{};return t.status!==200||n.ok!==!0?null:{configured:typeof n.configured=="string"?n.configured:null,effective:typeof n.effective=="string"?n.effective:null,processCwd:typeof n.processCwd=="string"?n.processCwd:"",configuredValid:n.configuredValid===!0}}async saveAdminWorkspace(t){const n=await this.sendAdminRequest("/api/admin/workspace","PUT",{cwd:t});if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok===!0?{ok:!0,workspace:{configured:typeof r.configured=="string"?r.configured:null,effective:typeof r.effective=="string"?r.effective:null,processCwd:typeof r.processCwd=="string"?r.processCwd:"",configuredValid:r.configuredValid===!0}}:{ok:!1,error:r.error||"Save failed.",unauthorized:n.status===401,forbidden:n.status===403}}async fetchAdminCache(){const t=await this.sendAdminRequest("/api/admin/cache","GET");if(!t)return null;const n=t.data;return!n||n.ok!==!0||!Array.isArray(n.workspaces)?null:n}async clearAdminCache(t){const n=await this.sendAdminRequest("/api/admin/cache/clear","POST",{scope:t});if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?{ok:!0,removed:r.removed??0}:{ok:!1,error:r.error||"Could not clear the cache.",unauthorized:n.status===401,forbidden:n.status===403}}async fetchAdminServices(){const t=await this.sendAdminRequest("/api/admin/services","GET");if(!t)return null;const n=t.data;return!n||n.ok!==!0||!Array.isArray(n.services)?null:n}async saveService(t,n){const r=await this.sendAdminRequest(`/api/admin/services/${encodeURIComponent(t)}`,"PUT",{values:n});if(!r)return{ok:!1,error:"Could not reach the dashboard server."};const a=r.data??{};return r.status===200&&a.ok?a:{ok:!1,error:a.error||"Save failed.",unauthorized:r.status===401,forbidden:r.status===403}}async testService(t){const n=await this.sendAdminRequest(`/api/admin/services/${encodeURIComponent(t)}/test`,"POST");if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200?r:{ok:!1,error:r.error||"Test failed."}}async removeService(t){const n=await this.sendAdminRequest(`/api/admin/services/${encodeURIComponent(t)}`,"DELETE");if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?r:{ok:!1,error:r.error||"Remove failed.",unauthorized:n.status===401,forbidden:n.status===403}}async fetchAdminQuota(){const t=await this.sendAdminRequest("/api/admin/quota","GET");if(!t)return null;const n=t.data;return!n||!n.ok||typeof n.quota!="object"?null:n}async setToolsetEnabled(t,n){const r=await this.sendAdminRequest(`/api/admin/hub/toolsets/${encodeURIComponent(t)}`,"PUT",{enabled:n});if(!r)return{ok:!1,error:"Could not reach the dashboard server."};const a=r.data??{};return r.status===200&&a.ok?a:{ok:!1,error:a.error||"Toggle failed.",unauthorized:r.status===401,forbidden:r.status===403}}async setSkillEnabled(t,n){const r=await this.sendAdminRequest(`/api/admin/hub/skills/${encodeURIComponent(t)}`,"PUT",{enabled:n});if(!r)return{ok:!1,error:"Could not reach the dashboard server."};const a=r.data??{};return r.status===200&&a.ok?a:{ok:!1,error:a.error||"Toggle failed.",unauthorized:r.status===401,forbidden:r.status===403}}async fetchKnowledge(){try{const n=await(await fetch(`${this.baseUrl}/api/knowledge`,{headers:gt(),signal:AbortSignal.timeout(8e3)})).json();return Array.isArray(n.tags)?n.tags:null}catch{return null}}async knowledgeIngest(t,n){try{const r=await fetch(`${this.baseUrl}/api/knowledge/ingest`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({tag:t,paths:n})}),a=await r.json();return r.status===200&&a.ok?{...a,ok:!0}:{ok:!1,error:a.error||"Ingest failed."}}catch(r){return{ok:!1,error:r instanceof Error?r.message:String(r)}}}async knowledgeQuery(t,n,r){try{const a=await fetch(`${this.baseUrl}/api/knowledge/query`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({tag:t,question:n,topK:r})}),s=await a.json();return a.status===200&&s.ok?{...s,ok:!0}:{ok:!1,error:s.error||"Query failed."}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async knowledgeForget(t){try{const n=await fetch(`${this.baseUrl}/api/knowledge/forget`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({tag:t})}),r=await n.json();return n.status===200&&r.ok?{...r,ok:!0}:{ok:!1,error:r.error||"Forget failed."}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}}async marketplaceSearch(t){try{const r=await(await fetch(`${this.baseUrl}/api/skills/marketplace?q=${encodeURIComponent(t)}`,{headers:gt()})).json();return Array.isArray(r.results)?r.results:[]}catch{return[]}}async marketplaceInstall(t){try{const n=await fetch(`${this.baseUrl}/api/skills/marketplace/install`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({name:t})}),r=await n.json();return n.status===200&&r.ok?{ok:!0}:{ok:!1,error:r.error||"Install failed.",quarantined:r.quarantined===!0}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}}async marketplaceUninstall(t){try{const n=await fetch(`${this.baseUrl}/api/skills/marketplace/uninstall`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({name:t})}),r=await n.json();return n.status===200&&r.ok?{ok:!0}:{ok:!1,error:r.error||"Uninstall failed."}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}}async sendChannelMessage(t,n){const r=await this.sendAdminRequest("/api/admin/hub/channels/send","POST",{target:t,text:n});if(!r)return{ok:!1,error:"Could not reach the dashboard server."};const a=r.data??{};return r.status===200&&a.ok?a:{ok:!1,error:a.error||"Send failed.",unauthorized:r.status===401,forbidden:r.status===403}}async gatewayPolicies(){const t=await this.sendAdminRequest("/api/admin/gateway/policies","GET");if(!t)return{ok:!1,error:"Could not reach the dashboard server."};const n=t.data??{};return t.status===200&&n.ok?{ok:!0,policies:n.policies,statusRecipients:n.statusRecipients,contacts:n.contacts,askUserWait:n.askUserWait,askUserTimeoutMs:n.askUserTimeoutMs}:{ok:!1,error:n.error||"Failed to read policies.",unauthorized:t.status===401,forbidden:t.status===403}}async saveGatewayPolicies(t,n,r,a){const s={policies:t};Array.isArray(n)&&(s.statusRecipients=n),Array.isArray(r)&&(s.contacts=r),a&&(s.askUserWait=a.wait,typeof a.timeoutMs=="number"&&(s.askUserTimeoutMs=a.timeoutMs));const o=await this.sendAdminRequest("/api/admin/gateway/policies","PUT",s);if(!o)return{ok:!1,error:"Could not reach the dashboard server."};const l=o.data??{};return o.status===200&&l.ok?l:{ok:!1,error:l.error||"Failed to save policies.",unauthorized:o.status===401,forbidden:o.status===403}}async fetchGatewayConversations(t={}){const n=new URLSearchParams;t.offset&&n.set("offset",String(t.offset)),t.limit&&n.set("limit",String(t.limit)),t.q&&n.set("q",t.q);const r=n.toString(),a=await this.sendAdminRequest(`/api/admin/gateway/conversations${r?`?${r}`:""}`,"GET");if(!a)return{ok:!1,error:"Could not reach the dashboard server."};const s=a.data??{};return a.status===200&&s.ok?{ok:!0,conversations:s.conversations,total:s.total,hasMore:s.hasMore}:{ok:!1,error:s.error||"Failed to load conversations.",unauthorized:a.status===401,forbidden:a.status===403}}async clearGatewayConversation(t){const n=await this.sendAdminRequest("/api/admin/gateway/conversations","DELETE",{key:t});if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?{ok:!0}:{ok:!1,error:r.error||"Failed to clear conversation.",unauthorized:n.status===401,forbidden:n.status===403}}async addConversationTag(t,n){const r=await this.sendAdminRequest("/api/admin/gateway/conversations/tags","PUT",{action:"add",key:t,tag:n});if(!r)return{ok:!1,error:"Could not reach the dashboard server."};const a=r.data??{};return r.status===200&&a.ok?{ok:!0}:{ok:!1,error:a.error||"Failed to add tag.",unauthorized:r.status===401,forbidden:r.status===403}}async removeConversationTag(t,n){const r=await this.sendAdminRequest("/api/admin/gateway/conversations/tags","PUT",{action:"remove",key:t,tag:n});if(!r)return{ok:!1,error:"Could not reach the dashboard server."};const a=r.data??{};return r.status===200&&a.ok?{ok:!0}:{ok:!1,error:a.error||"Failed to remove tag.",unauthorized:r.status===401,forbidden:r.status===403}}async getAllConversationTags(){const t=await this.sendAdminRequest("/api/admin/gateway/conversations/tags","PUT",{action:"getAllTags"});if(!t)return{ok:!1,error:"Could not reach the dashboard server."};const n=t.data??{};return t.status===200&&n.ok?{ok:!0,tags:n.tags}:{ok:!1,error:n.error||"Failed to load tags.",unauthorized:t.status===401,forbidden:t.status===403}}async exportGatewayConversations(t){var n,r,a;try{const s=Qt(),o=await fetch(`${this.baseUrl}/api/admin/gateway/conversations/export`,{method:"POST",headers:{"Content-Type":"application/json",...s?{Authorization:`Bearer ${s}`}:{}},body:JSON.stringify({keys:t}),signal:AbortSignal.timeout(3e4)});if(o.status===200&&((n=o.headers.get("content-type"))!=null&&n.includes("application/zip"))){const c=await o.blob(),u=URL.createObjectURL(c),d=document.createElement("a");return d.href=u,d.download=((a=(r=o.headers.get("content-disposition"))==null?void 0:r.match(/filename="(.+)"/))==null?void 0:a[1])||"conversations.zip",document.body.appendChild(d),d.click(),document.body.removeChild(d),URL.revokeObjectURL(u),{ok:!0}}return{ok:!1,error:(await o.json().catch(()=>({}))).error||"Export failed."}}catch(s){return{ok:!1,error:s instanceof Error?s.message:String(s)}}}async getContacts(){const t=await this.sendAdminRequest("/api/admin/contacts","GET");if(!t)return{ok:!1,error:"Could not reach the dashboard server."};const n=t.data??{};return t.status===200&&n.ok?{ok:!0,contacts:n.contacts}:{ok:!1,error:n.error||"Failed to read contacts."}}async approveContact(t,n){return this.contactAction("approve",t,n)}async rejectContact(t,n){return this.contactAction("reject",t,n)}async deleteContact(t,n){return this.contactAction("delete",t,n)}async updateContact(t,n,r){const a=await this.sendAdminRequest("/api/admin/contacts","PUT",{action:"update",platform:t,id:n,...r});if(!a)return{ok:!1,error:"Could not reach the dashboard server."};const s=a.data??{};return a.status===200&&s.ok?s:{ok:!1,error:s.error||"Update failed."}}async contactAction(t,n,r){const a=await this.sendAdminRequest("/api/admin/contacts","PUT",{action:t,platform:n,nameOrId:r});if(!a)return{ok:!1,error:"Could not reach the dashboard server."};const s=a.data??{};return a.status===200&&s.ok?s:{ok:!1,error:s.error||`${t} failed.`}}async getPlatformConfigs(){const t=await this.sendAdminRequest("/api/config/platforms","GET");if(!t)return[];const n=t.data??{};return Array.isArray(n.platforms)?n.platforms:[]}async setPlatformConfig(t,n){const r=await this.sendAdminRequest(`/api/config/platforms/${encodeURIComponent(t)}`,"POST",{values:n});if(!r)return{ok:!1,error:"Could not reach the dashboard server."};const a=r.data??{};return r.status===200&&a.ok?a:{ok:!1,error:a.error||"Save failed.",unauthorized:r.status===401,forbidden:r.status===403}}async removePlatformConfig(t){const n=await this.sendAdminRequest(`/api/config/platforms/${encodeURIComponent(t)}`,"DELETE");if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?r:{ok:!1,error:r.error||"Remove failed.",unauthorized:n.status===401,forbidden:n.status===403}}async verifyPlatformConfig(t,n){const r=await this.sendAdminRequest(`/api/config/platforms/${encodeURIComponent(t)}/verify`,"POST",{values:n});if(!r)return{ok:!1,error:"Could not reach the dashboard server."};const a=r.data??{};return{ok:a.ok??!1,info:a.info,error:a.error}}async saveAdminQuota(t){const n=await this.sendAdminRequest("/api/admin/quota","PUT",t);if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?r:{ok:!1,error:r.error||"Save failed.",unauthorized:n.status===401}}async getBedrockStatus(){const t=await this.sendAdminRequest("/api/bedrock/status","GET");return!t||t.status!==200?{configured:!1,region:"us-east-1",authMethod:"none",apiKeySet:!1,iamKeySet:!1}:t.data??{}}async setupBedrock(t){const n=await this.sendAdminRequest("/api/bedrock/setup","POST",{envVars:t});if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?{ok:!0,envVarsWritten:r.envVarsWritten}:{ok:!1,error:r.error||"Save failed."}}async probeBedrock(t){const n=await this.sendAdminRequest("/api/bedrock/probe","POST",{region:t});if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?{ok:!0,models:r.models}:{ok:!1,error:r.error||"Probe failed."}}async listTasks(){const t=await this.sendAdminRequest("/api/tasks","GET");if(!t)return null;const n=t.data??{};return{status:t.status,tasks:Array.isArray(n.tasks)?n.tasks:[]}}async startTask(t,n){const r=await this.sendAdminRequest("/api/tasks","POST",{args:t,timeoutMs:n});if(!r)return{ok:!1,error:"Could not reach the dashboard server."};const a=r.data??{};return r.status===200&&a.ok&&a.task?a:{ok:!1,error:a.error||"Start failed.",unauthorized:r.status===401,forbidden:r.status===403}}async getTask(t){const n=await this.sendAdminRequest(`/api/tasks/${encodeURIComponent(t)}`,"GET");if(!n)return null;const r=n.data??{};return{status:n.status,task:r.task??null}}async cancelTask(t){const n=await this.sendAdminRequest(`/api/tasks/${encodeURIComponent(t)}/cancel`,"POST");if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?r:{ok:!1,error:r.error||"Cancel failed.",unauthorized:n.status===401,forbidden:n.status===403}}subscribeTask(t,n){const r=Qt(),a=new EventSource(`${this.baseUrl}/api/tasks/${encodeURIComponent(t)}/events?token=${encodeURIComponent(r??"")}`);return a.addEventListener("log",s=>{var o;try{(o=n.onLog)==null||o.call(n,JSON.parse(s.data))}catch{}}),a.addEventListener("status",s=>{var o;try{const l=JSON.parse(s.data);l.status&&((o=n.onStatus)==null||o.call(n,l.status))}catch{}}),()=>a.close()}async getWhatsAppStatus(){const t=await this.sendAdminRequest("/api/whatsapp","GET");if(!t)return null;const n=t.data??{};return t.status===200&&n.ok&&n.status?{status:n.status,contacts:n.contacts??{}}:null}async startWhatsAppPair(t){const n=await this.sendAdminRequest("/api/whatsapp/pair","POST",{phone:t||void 0});if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?r:{ok:!1,error:r.error||"Pairing failed to start.",unauthorized:n.status===401,forbidden:n.status===403}}async cancelWhatsAppPair(){const t=await this.sendAdminRequest("/api/whatsapp/cancel","POST");if(!t)return{ok:!1,error:"Could not reach the dashboard server."};const n=t.data??{};return t.status===200&&n.ok?n:{ok:!1,error:n.error||"Cancel failed.",unauthorized:t.status===401,forbidden:t.status===403}}async unpairWhatsApp(){const t=await this.sendAdminRequest("/api/whatsapp/unpair","POST");if(!t)return{ok:!1,error:"Could not reach the dashboard server."};const n=t.data??{};return t.status===200&&n.ok?n:{ok:!1,error:n.error||"Unpair failed.",unauthorized:t.status===401,forbidden:t.status===403}}subscribeWhatsApp(t){const n=Qt(),r=new EventSource(`${this.baseUrl}/api/whatsapp/events?token=${encodeURIComponent(n??"")}`);return r.addEventListener("qr",a=>{var s;try{const o=JSON.parse(a.data);o.qr&&((s=t.onQr)==null||s.call(t,o.qr))}catch{}}),r.addEventListener("code",a=>{var s;try{const o=JSON.parse(a.data);o.code&&((s=t.onCode)==null||s.call(t,o.code))}catch{}}),r.addEventListener("status",a=>{var s;try{(s=t.onStatus)==null||s.call(t,JSON.parse(a.data))}catch{}}),()=>r.close()}async chatResolve(t){const n=Qt();try{const r=await fetch(`${this.baseUrl}/api/chat/resolve`,{method:"POST",headers:{"Content-Type":"application/json",...n?{Authorization:`Bearer ${n}`}:{}},body:JSON.stringify({message:t}),signal:AbortSignal.timeout(1e4)}),a=await r.json();return r.status===200&&a.ok&&Array.isArray(a.matches)?{ok:!0,matches:a.matches}:{ok:!1,matches:[],error:typeof a.error=="string"?a.error:"Resolve failed."}}catch{return{ok:!1,matches:[],error:"Could not reach the dashboard server."}}}async listRoutableModels(){const t=Qt();try{const n=await fetch(`${this.baseUrl}/api/chat/routable-models`,{headers:t?{Authorization:`Bearer ${t}`}:{},signal:AbortSignal.timeout(1e4)}),r=await n.json();return n.status===200&&r.ok&&Array.isArray(r.models)?r.models:[]}catch{return[]}}async listProjects(){const t=Qt();try{const n=await fetch(`${this.baseUrl}/api/projects`,{headers:t?{Authorization:`Bearer ${t}`}:{},signal:AbortSignal.timeout(1e4)}),r=await n.json();return n.status===200&&r.ok&&Array.isArray(r.projects)?r.projects:[]}catch{return[]}}async attachProject(t){const n=Qt();try{const r=await fetch(`${this.baseUrl}/api/projects/attach`,{method:"POST",headers:{"Content-Type":"application/json",...n?{Authorization:`Bearer ${n}`}:{}},body:JSON.stringify({path:t}),signal:AbortSignal.timeout(3e4)}),a=await r.json();return r.status===200&&a.ok&&a.project?{ok:!0,project:a.project}:{ok:!1,error:typeof a.error=="string"?a.error:"Attach failed."}}catch{return{ok:!1,error:"Could not reach the dashboard server."}}}async browseDirectories(t,n){const r=Qt();try{const a=new URLSearchParams;t&&a.set("path",t),n!=null&&n.showDrives&&a.set("showDrives","1");const s=a.toString()?`?${a.toString()}`:"",o=await fetch(`${this.baseUrl}/api/browse${s}`,{headers:r?{Authorization:`Bearer ${r}`}:{},signal:AbortSignal.timeout(1e4)}),l=await o.json();return o.status===200&&l.ok&&Array.isArray(l.entries)?{ok:!0,path:l.path??"",entries:l.entries,parent:l.parent??null,isProject:l.isProject??!1,drives:l.drives,breadcrumbs:l.breadcrumbs}:{ok:!1,path:"",entries:[],parent:null,isProject:!1,error:typeof l.error=="string"?l.error:"Browse failed."}}catch{return{ok:!1,path:"",entries:[],parent:null,isProject:!1,error:"Could not reach the dashboard server."}}}async resolveFolder(t,n){const r=Qt();try{const a=await fetch(this.baseUrl+"/api/browse/resolve-folder",{method:"POST",headers:{"Content-Type":"application/json",...r?{Authorization:"Bearer "+r}:{}},body:JSON.stringify({name:t,subPath:n||""}),signal:AbortSignal.timeout(1e4)}),s=await a.json();return a.status===200&&s.ok&&s.path?{ok:!0,path:s.path}:{ok:!1,path:"",error:typeof s.error=="string"?s.error:"Could not resolve folder."}}catch{return{ok:!1,path:"",error:"Could not reach the dashboard server."}}}async listChatSessions(){const t=Qt();try{const n=await fetch(`${this.baseUrl}/api/sessions`,{headers:t?{Authorization:`Bearer ${t}`}:{},signal:AbortSignal.timeout(1e4)}),r=await n.json();return n.status===200&&r.ok&&Array.isArray(r.sessions)?r.sessions:[]}catch{return[]}}async deleteChatSession(t){const n=Qt();try{const r=await fetch(`${this.baseUrl}/api/sessions/${encodeURIComponent(t)}`,{method:"DELETE",headers:n?{Authorization:`Bearer ${n}`}:{},signal:AbortSignal.timeout(1e4)}),a=await r.json();return r.status===200&&a.ok?{ok:!0}:{ok:!1,error:a.error||"Could not delete the session."}}catch{return{ok:!1,error:"Network error — could not delete the session."}}}async renameChatSession(t,n){const r=Qt();try{const a=await fetch(`${this.baseUrl}/api/sessions/${encodeURIComponent(t)}/rename`,{method:"POST",headers:{"Content-Type":"application/json",...r?{Authorization:`Bearer ${r}`}:{}},body:JSON.stringify({title:n}),signal:AbortSignal.timeout(1e4)}),s=await a.json();return a.status===200&&s.ok?{ok:!0}:{ok:!1,error:s.error||"Could not rename the session."}}catch{return{ok:!1,error:"Network error — could not rename the session."}}}async getChatSession(t){const n=Qt();try{const r=await fetch(`${this.baseUrl}/api/sessions/${encodeURIComponent(t)}`,{headers:n?{Authorization:`Bearer ${n}`}:{},signal:AbortSignal.timeout(1e4)}),a=await r.json();return r.status===200&&a.ok&&a.session?a.session:null}catch{return null}}async chatSend(t,n,r,a){const s=Qt();try{const o=await fetch(`${this.baseUrl}/api/chat`,{method:"POST",headers:{"Content-Type":"application/json",...s?{Authorization:`Bearer ${s}`}:{}},body:JSON.stringify({sessionId:t,message:n,provider:r==null?void 0:r.provider,model:r==null?void 0:r.model,...(r==null?void 0:r.strict)===!0?{strict:!0}:{},projectPath:r==null?void 0:r.projectPath,attachments:r==null?void 0:r.attachments,...(r==null?void 0:r.worktree)===void 0?{}:{worktree:r.worktree},...(r==null?void 0:r.keepWorktree)===void 0?{}:{keepWorktree:r.keepWorktree},...(r==null?void 0:r.resume)===void 0?{}:{resume:r.resume}}),signal:a?AbortSignal.any([AbortSignal.timeout(3e5),a]):AbortSignal.timeout(3e5)}),l=await o.json();return o.status===200&&l.ok?{ok:!0,content:typeof l.content=="string"?l.content:"",followups:Array.isArray(l.followups)?l.followups:[],provider:typeof l.provider=="string"?l.provider:null,model:typeof l.model=="string"?l.model:null,...typeof l.routingNotice=="string"&&l.routingNotice?{routingNotice:l.routingNotice}:{},...typeof l.workspaceNotice=="string"&&l.workspaceNotice?{workspaceNotice:l.workspaceNotice}:{},...typeof l.workspacePath=="string"&&l.workspacePath?{workspacePath:l.workspacePath}:{},...typeof l.workspaceSource=="string"&&l.workspaceSource?{workspaceSource:l.workspaceSource}:{},generationFailed:l.generationFailed===!0,retryQueued:l.retryQueued===!0,...l.needsProject===!0?{needsProject:!0}:{},...l.refused===!0?{refused:!0}:{},...eB(l.worktree)?{worktree:l.worktree}:{},...tB(l.resume)?{resume:l.resume}:{},...Array.isArray(l.findings)?{findings:l.findings}:{},...nB(l.turnReport)?{turnReport:l.turnReport}:{}}:{ok:!1,error:typeof l.error=="string"?l.error:"The agent could not answer.",unauthorized:o.status===401,forbidden:o.status===403}}catch(o){const l=o==null?void 0:o.name;return l==="TimeoutError"?{ok:!1,turnStillRunning:!0,error:"The dashboard stopped waiting after 5 minutes — the turn is STILL RUNNING on the server. Its answer will appear here when it lands (nothing was lost — the turn keeps running)."}:l==="AbortError"?{ok:!1,error:"Cancelled."}:{ok:!1,error:"Could not reach the dashboard server."}}}async chatCancel(t){const n=await this.sendAdminRequest("/api/chat/cancel","POST",{sessionId:t});if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?{ok:!0,cancelled:r.cancelled===!0}:{ok:!1,error:r.error||"Cancel failed."}}async chatReset(t){const n=await this.sendAdminRequest("/api/chat/reset","POST",{sessionId:t});if(!n)return{ok:!1,error:"Could not reach the dashboard server."};const r=n.data??{};return n.status===200&&r.ok?{ok:!0}:{ok:!1,error:r.error||"Reset failed."}}async chatSupportBundle(t){var r,a,s;const n=Qt();try{const o=await fetch(`${this.baseUrl}/api/chat/${encodeURIComponent(t)}/support-bundle`,{method:"GET",headers:{...n?{Authorization:`Bearer ${n}`}:{}},signal:AbortSignal.timeout(3e4)});if(o.status===200&&((r=o.headers.get("content-type"))!=null&&r.includes("application/zip"))){const c=await o.blob(),u=URL.createObjectURL(c),d=document.createElement("a");return d.href=u,d.download=((s=(a=o.headers.get("content-disposition"))==null?void 0:a.match(/filename="(.+)"/))==null?void 0:s[1])||"nuvira-support.zip",document.body.appendChild(d),d.click(),document.body.removeChild(d),URL.revokeObjectURL(u),{ok:!0}}return{ok:!1,error:(await o.json().catch(()=>({}))).error||"Could not build the support bundle."}}catch(o){return{ok:!1,error:o instanceof Error?o.message:"Could not reach the dashboard server."}}}subscribeChat(t,n){const r=Qt(),a=new EventSource(`${this.baseUrl}/api/chat/${encodeURIComponent(t)}/events?token=${encodeURIComponent(r??"")}`);return a.addEventListener("progress",s=>{var o;try{const l=JSON.parse(s.data);l.line&&((o=n.onProgress)==null||o.call(n,l.line))}catch{}}),a.addEventListener("status",s=>{var o,l;try{const c=JSON.parse(s.data);c.status&&((o=n.onStatus)==null||o.call(n,c.status)),c.status==="done"&&c.answer&&typeof c.answer.content=="string"&&((l=n.onTurnDone)==null||l.call(n,{content:c.answer.content,followups:Array.isArray(c.answer.followups)?c.answer.followups:[],generationFailed:c.answer.generationFailed===!0,...c.answer.bounded===void 0?{}:{bounded:c.answer.bounded},...c.answer.provider===void 0?{}:{provider:c.answer.provider},...c.answer.model===void 0?{}:{model:c.answer.model}}))}catch{}}),a.addEventListener("token",s=>{var o;try{const l=JSON.parse(s.data);typeof l.text=="string"&&l.text.length>0&&((o=n.onToken)==null||o.call(n,l.text))}catch{}}),a.addEventListener("tool",s=>{var o;try{const l=JSON.parse(s.data);l.tool&&(l.phase==="started"||l.phase==="called")&&((o=n.onTool)==null||o.call(n,{id:l.id||`call_${Math.random().toString(36).slice(2,8)}`,tool:l.tool,phase:l.phase,args:l.args,ok:l.ok,result:l.result,error:l.error,durationMs:l.durationMs}))}catch{}}),a.addEventListener("plan",s=>{var o;try{const l=JSON.parse(s.data);l.goal&&Array.isArray(l.steps)&&((o=n.onPlan)==null||o.call(n,{goal:l.goal,steps:l.steps,revision:l.revision??0}))}catch{}}),a.addEventListener("diff",s=>{var o;try{const l=JSON.parse(s.data);Array.isArray(l.files)&&((o=n.onDiff)==null||o.call(n,{files:l.files,summary:l.summary??""}))}catch{}}),a.addEventListener("finding",s=>{var o;try{const c=JSON.parse(s.data).finding;c&&typeof c.claim=="string"&&(c.verdict==="CONFIRMED"||c.verdict==="PLAUSIBLE")&&((o=n.onFinding)==null||o.call(n,{claim:c.claim,verdict:c.verdict,outcome:typeof c.outcome=="string"?c.outcome:"",evidence:Array.isArray(c.evidence)?c.evidence:[],source:typeof c.source=="string"?c.source:""}))}catch{}}),a.addEventListener("skill_draft",s=>{var o;try{const l=JSON.parse(s.data);l.name&&l.markdown&&((o=n.onSkillDraft)==null||o.call(n,{name:l.name,description:l.description??"",markdown:l.markdown,updatedAt:l.updatedAt??0}))}catch{}}),a.addEventListener("secret_request",s=>{var o;try{const l=JSON.parse(s.data);l.skillName&&Array.isArray(l.missing)&&((o=n.onSecretRequest)==null||o.call(n,{skillName:l.skillName,missing:l.missing,persisted:l.persisted??{}}))}catch{}}),a.addEventListener("execution_result",s=>{var o;try{const l=JSON.parse(s.data);l.skillName&&l.runtime!==void 0&&((o=n.onExecutionResult)==null||o.call(n,{skillName:l.skillName,runtime:l.runtime,success:l.success??!1,durationMs:l.durationMs??0,exitCode:l.exitCode??0,stdout:l.stdout??"",stderr:l.stderr??"",timestamp:l.timestamp??Date.now()}))}catch{}}),a.addEventListener("question",s=>{var o;try{const l=JSON.parse(s.data);l.questionId&&l.question&&((o=n.onQuestion)==null||o.call(n,{questionId:l.questionId,question:l.question,choices:l.choices??[],multiSelect:l.multiSelect===!0}))}catch{}}),()=>a.close()}async chatRespond(t,n,r={}){try{const s=await(await fetch(`${this.baseUrl}/api/chat/${encodeURIComponent(t)}/respond`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({questionId:n,...r})})).json();return{ok:s.ok===!0,error:s.error}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async skillDraftAccept(t){try{const r=await(await fetch(`${this.baseUrl}/api/skills/drafts/${encodeURIComponent(t)}/accept`,{method:"POST",headers:{...gt()}})).json();return{ok:r.ok===!0,error:r.error}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}}async skillDraftReject(t){try{const r=await(await fetch(`${this.baseUrl}/api/skills/drafts/${encodeURIComponent(t)}`,{method:"DELETE",headers:{...gt()}})).json();return{ok:r.ok===!0,error:r.error}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}}async saveSecrets(t){try{const r=await(await fetch(`${this.baseUrl}/api/skills/secrets`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({vars:t})})).json();return{ok:r.ok===!0,error:r.error,saved:r.saved,refused:r.refused}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}}async fetchSkillEnv(){try{const t=await fetch(`${this.baseUrl}/api/skills/env`,{headers:{...gt()}}),n=await nt(t);return(n==null?void 0:n.vars)??[]}catch{return[]}}async deleteSkillEnvVar(t){try{const r=await(await fetch(`${this.baseUrl}/api/skills/env/delete`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({name:t})})).json();return{ok:r.ok===!0,removed:r.removed,error:r.error}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}}async testSkillEnvVar(t){try{const r=await(await fetch(`${this.baseUrl}/api/skills/env/test`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({name:t})})).json();return{ok:r.ok===!0,usable:r.usable,detail:r.detail,error:r.error}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}}async fetchProcessEnv(){try{const t=await fetch(`${this.baseUrl}/api/process-env`,{headers:{...gt()}}),n=await nt(t);return(n==null?void 0:n.vars)??[]}catch{return[]}}async fetchLimits(){try{const t=await fetch(`${this.baseUrl}/api/limits`),n=await nt(t);return!n||typeof n.attachmentMaxBytes!="number"||n.attachmentMaxBytes<=0?null:{attachmentMaxBytes:n.attachmentMaxBytes,extractMaxChars:typeof n.extractMaxChars=="number"?n.extractMaxChars:0}}catch{return null}}async fetchContinuity(){try{const t=await fetch(`${this.baseUrl}/api/continuity`,{headers:{...gt()}}),n=await nt(t);return!n||n.ok!==!0?null:{sessions:n.sessions??[],recall:n.recall??[],toggles:n.toggles??{sessionStore:!1,sessionRecall:!1}}}catch{return null}}async clearContinuity(t,n,r){try{const s=await(await fetch(`${this.baseUrl}/api/continuity/clear`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({target:t,...n?{id:n}:{},...r?{olderThanMs:r}:{}})})).json();return{ok:s.ok===!0,removed:s.removed,error:s.error}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}async fetchHistory(){try{const t=await fetch(`${this.baseUrl}/api/history`,{headers:{...gt()}});return await nt(t)}catch{return null}}async clearHistory(t,n={}){try{const a=await(await fetch(`${this.baseUrl}/api/history/clear`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({target:t,...n.id?{id:n.id}:{},...n.olderThanMs?{olderThanMs:n.olderThanMs}:{}})})).json();return{ok:a.ok===!0,removed:a.removed,error:a.error}}catch(r){return{ok:!1,error:r instanceof Error?r.message:String(r)}}}async fetchVerifyBacklog(){try{const t=await fetch(`${this.baseUrl}/api/models/verify-next`,{headers:{...gt()}});return await nt(t)}catch{return null}}async startVerifyBacklog(t){try{const n=await fetch(`${this.baseUrl}/api/models/verify-next`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({count:t})}),r=await nt(n);return r?{ok:r.ok===!0,error:r.error,refusal:r.refusal,state:r.state}:{ok:!1,error:"The dashboard server did not respond."}}catch(n){return{ok:!1,error:n instanceof Error?n.message:"Could not start the run."}}}async saveProcessEnvVar(t,n){try{const a=await(await fetch(`${this.baseUrl}/api/process-env`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({name:t,value:n})})).json();return{ok:a.ok===!0,row:a.row,error:a.error,reason:a.reason}}catch(r){return{ok:!1,error:r instanceof Error?r.message:String(r)}}}async deleteProcessEnvVar(t){try{const r=await(await fetch(`${this.baseUrl}/api/process-env/delete`,{method:"POST",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({name:t})})).json();return{ok:r.ok===!0,removed:r.removed,row:r.row,error:r.error}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}}async fetchHooks(){try{const t=await fetch(`${this.baseUrl}/api/hooks`,{headers:{...gt()}}),n=await nt(t);return!n||!Array.isArray(n.hooks)?null:n}catch{return null}}async saveHooks(t){try{const n=await fetch(`${this.baseUrl}/api/hooks`,{method:"PUT",headers:{"Content-Type":"application/json",...gt()},body:JSON.stringify({hooks:t})}),r=await n.json();return{ok:r.ok===!0,hooks:r.hooks,error:r.error,forbidden:n.status===403}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}}}const K=new lB;async function cB(e=!1){const t=await K.sendAdminRequest(`/api/mcp${e?"?deep=1":""}`,"GET");return!t||t.status!==200?null:t.data}async function uB(e){const t=await K.sendAdminRequest("/api/mcp/settings","POST",{patch:e}),n=(t==null?void 0:t.data)??null;return t?n??{ok:t.status===200,error:`Server returned HTTP ${t.status}`}:{ok:!1,error:"Could not reach the dashboard server."}}async function dB(e){const t=await K.sendAdminRequest("/api/mcp/install","POST",e);return t?t.data??{ok:!1,error:`Server returned HTTP ${t.status}`}:{ok:!1,error:"Could not reach the dashboard server."}}async function fB(e){const t=await K.sendAdminRequest("/api/mcp/servers","POST",e);return t?t.data??{ok:!1,error:`Server returned HTTP ${t.status}`}:{ok:!1,error:"Could not reach the dashboard server."}}async function hB(e){const t=await K.sendAdminRequest("/api/mcp/uninstall","POST",{name:e});return t?t.data??{ok:!1,reason:`Server returned HTTP ${t.status}`}:{ok:!1,reason:"Could not reach the dashboard server."}}const cu=["enterprise","neutral","pastel","executive","contrast","premium","premium-amoled"],$p=["light","dark"],tw=[100,112,125,150],sh={enterprise:"Enterprise",neutral:"Neutral",pastel:"Pastel",executive:"Executive",contrast:"High contrast",premium:"Premium","premium-amoled":"Premium AMOLED"},TT="nuvira.dashboard.theme",iS={palette:"enterprise",mode:"dark",a11y:!1,fontScale:100};function Do(e,t){return e.includes(t)}function pB(){return typeof window>"u"||typeof window.matchMedia!="function"?null:window.matchMedia("(prefers-color-scheme: dark)").matches}function OT(){const e=pB();return e===null?{...iS}:{...iS,mode:e?"dark":"light"}}function PT(){const e=OT();if(typeof localStorage>"u")return e;let t;try{const a=localStorage.getItem(TT);if(!a)return e;t=JSON.parse(a)}catch{return e}if(typeof t!="object"||t===null)return e;const n=t,r=Do(tw,n.fontScale)?n.fontScale:e.fontScale;return{palette:Do(cu,n.palette)?n.palette:e.palette,mode:Do($p,n.mode)?n.mode:e.mode,a11y:typeof n.a11y=="boolean"?n.a11y:e.a11y,fontScale:r}}function RT(e){if(!(typeof localStorage>"u"))try{localStorage.setItem(TT,JSON.stringify(e))}catch{}}function nw(e,t){const n=typeof document<"u"?document.documentElement:void 0;n&&(n.setAttribute("data-palette",e.palette),n.setAttribute("data-mode",e.mode),n.setAttribute("data-a11y",e.a11y?"on":"off"),n.setAttribute("data-font-scale",String(e.fontScale)),n.style.colorScheme=e.mode)}function mB(e,t){const n={palette:Do(cu,t.palette)?t.palette:e.palette,mode:Do($p,t.mode)?t.mode:e.mode,a11y:t.a11y??e.a11y,fontScale:Do(tw,t.fontScale)?t.fontScale:e.fontScale};return n.a11y||(n.fontScale=100),n}let pr=PT();const vy=new Set;function MT(){for(const e of vy)e()}function gB(e){return vy.add(e),()=>{vy.delete(e)}}function sS(){return pr}function Ud(e){const t=mB(pr,e);t.palette===pr.palette&&t.mode===pr.mode&&t.a11y===pr.a11y&&t.fontScale===pr.fontScale||(pr=t,nw(pr),RT(pr),MT())}function vB(){pr=OT(),nw(pr),RT(pr),MT()}function yB(){return b.useSyncExternalStore(gB,sS,sS)}const oS={light:"Light",dark:"Dark"},lS={100:"100%",112:"112%",125:"125%",150:"150%"};function bB(){const e=yB(),[t,n]=b.useState(!1),r=b.useRef(null),a=b.useRef(null),s=b.useRef(null),o=b.useId(),l=`${o}-panel`;b.useEffect(()=>{if(!t)return;function u(f){var h;f.key==="Escape"&&(n(!1),(h=r.current)==null||h.focus())}function d(f){var p;const h=f.target;h&&((p=s.current)!=null&&p.contains(h))||n(!1)}return document.addEventListener("keydown",u),document.addEventListener("pointerdown",d),()=>{document.removeEventListener("keydown",u),document.removeEventListener("pointerdown",d)}},[t]),b.useEffect(()=>{var d,f,h;if(!t)return;(h=((d=a.current)==null?void 0:d.querySelector("input:checked"))??((f=a.current)==null?void 0:f.querySelector("input")))==null||h.focus()},[t]);const c=`${sh[e.palette]} palette, ${oS[e.mode].toLowerCase()} mode, text size ${lS[e.fontScale]}`+(e.a11y?", accessibility mode on":"");return i.jsxs("div",{className:"theme-switcher",ref:s,onBlur:u=>{const d=u.relatedTarget;d&&!u.currentTarget.contains(d)&&n(!1)},children:[i.jsxs("button",{type:"button",ref:r,className:"theme-trigger","aria-expanded":t,"aria-controls":t?l:void 0,onClick:()=>n(u=>!u),children:[i.jsx("span",{"aria-hidden":"true",children:"🎨"}),i.jsx("span",{children:"Appearance"})]}),t&&i.jsxs("div",{className:"theme-panel",id:l,ref:a,children:[i.jsxs("fieldset",{className:"theme-group",children:[i.jsx("legend",{className:"theme-group-label",children:"Palette"}),cu.map(u=>i.jsxs("label",{className:"theme-option",children:[i.jsx("input",{type:"radio",name:`${o}-palette`,value:u,checked:e.palette===u,onChange:()=>Ud({palette:u})}),i.jsx("span",{className:"theme-swatch","data-swatch":u,"aria-hidden":"true"}),i.jsx("span",{className:"theme-option-label",children:sh[u]})]},u))]}),i.jsxs("fieldset",{className:"theme-group",children:[i.jsx("legend",{className:"theme-group-label",children:"Mode"}),$p.map(u=>i.jsxs("label",{className:"theme-option",children:[i.jsx("input",{type:"radio",name:`${o}-mode`,value:u,checked:e.mode===u,onChange:()=>Ud({mode:u})}),i.jsx("span",{className:"theme-option-label",children:oS[u]})]},u))]}),i.jsxs("fieldset",{className:"theme-group",children:[i.jsx("legend",{className:"theme-group-label",children:"Text size"}),tw.map(u=>i.jsxs("label",{className:"theme-option",children:[i.jsx("input",{type:"radio",name:`${o}-scale`,value:u,checked:e.fontScale===u,onChange:()=>Ud({fontScale:u,a11y:e.a11y||u!==100})}),i.jsx("span",{className:"theme-option-label",children:lS[u]})]},u)),!e.a11y&&i.jsx("p",{className:"theme-hint",children:"A larger size turns on accessibility mode, which is what defines it."})]}),i.jsxs("div",{className:"theme-group",children:[i.jsxs("label",{className:"theme-switch",children:[i.jsx("input",{type:"checkbox",checked:e.a11y,onChange:u=>Ud({a11y:u.target.checked})}),i.jsx("span",{className:"theme-switch-track","aria-hidden":"true"}),i.jsx("span",{className:"theme-option-label",children:"Accessibility mode"})]}),i.jsx("p",{className:"theme-hint",children:"Larger targets, stronger borders and no motion. Off by default so it never changes the look for anyone who does not need it."})]}),i.jsx("button",{type:"button",className:"theme-reset",onClick:vB,children:"Reset to system default"}),i.jsx("p",{className:"sr-only",role:"status",children:c})]})]})}function xB(){const[e,t]=b.useState(null),[n,r]=b.useState(!1),[a,s]=b.useState(""),[o,l]=b.useState(""),[c,u]=b.useState(!1),[d,f]=b.useState(null),h=b.useRef(null),p=b.useCallback(()=>{K.fetchAdminAuthStatus().then(w=>t(w))},[]);b.useEffect(()=>{p()},[p]),b.useEffect(()=>{if(!n)return;function w(S){h.current&&!h.current.contains(S.target)&&r(!1)}function N(S){S.key==="Escape"&&r(!1)}return document.addEventListener("mousedown",w),document.addEventListener("keydown",N),()=>{document.removeEventListener("mousedown",w),document.removeEventListener("keydown",N)}},[n]);const m=(e==null?void 0:e.authenticated)===!0,g=(e==null?void 0:e.configured)===!0,y=async w=>{w.preventDefault(),u(!0),f(null);const N=g?await K.adminLogin(a,o):await K.adminSetup(a,o);N.ok?(s(""),l(""),r(!1),p()):f(N.error||(g?"Login failed.":"Setup failed.")),u(!1)},v=async()=>{r(!1),await K.adminLogout(),p()},k=e?m?`👤 ${e.user||"account"}${e.role?` · ${e.role}`:""}`:"👤 Sign in":"👤 Account";return i.jsxs("div",{className:"topbar-account",ref:h,children:[i.jsx("button",{type:"button",className:"topbar-action","aria-haspopup":"menu","aria-expanded":n,onClick:()=>r(w=>!w),children:k}),n?i.jsx("div",{className:"topbar-account-menu",role:"menu",children:m?i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"topbar-account-user",children:[i.jsx("span",{children:(e==null?void 0:e.user)||"account"}),e!=null&&e.role?i.jsx("span",{className:`admin-role-badge admin-role-${e.role}`,children:e.role}):null]}),e!=null&&e.mustChangePassword?i.jsx("p",{className:"topbar-account-hint",children:"Still on the first-run password — change it on the Admin page before writes will work."}):null,i.jsx("button",{type:"button",className:"topbar-account-item",onClick:()=>void v(),children:"🚪 Log out"})]}):i.jsxs("form",{className:"topbar-account-form",onSubmit:y,children:[i.jsx("p",{className:"topbar-account-title",children:g?"Sign in":"Create the first admin"}),i.jsxs("label",{children:[i.jsx("span",{children:"Username"}),i.jsx("input",{type:"text",value:a,onChange:w=>s(w.target.value),autoComplete:"username",placeholder:"admin"})]}),i.jsxs("label",{children:[i.jsx("span",{children:"Password"}),i.jsx("input",{type:"password",value:o,onChange:w=>l(w.target.value),autoComplete:g?"current-password":"new-password",placeholder:"••••••••"})]}),d?i.jsx("div",{className:"admin-error",children:d}):null,i.jsx("button",{type:"submit",className:"admin-refresh-btn",disabled:c||!a||!o,children:c?"⏳ …":g?"🔐 Sign in":"🔐 Create admin"}),g?null:i.jsx("p",{className:"topbar-account-hint",children:"The first user is always an admin."})]})}):null]})}const IT=[{group:"General",items:[{keys:["?"],description:"Show the shortcut cheatsheet"},{keys:["F1"],description:"Open the Help page"},{keys:["Esc"],description:"Close a dialog or panel"},{keys:["g","c"],description:"Go to Chat"},{keys:["g","o"],description:"Go to Overview"},{keys:["g","t"],description:"Go to Tasks"},{keys:["g","m"],description:"Go to Models"},{keys:["g","s"],description:"Go to System"},{keys:["g","h"],description:"Go to Agent Hub"}]},{group:"Navigation",items:[{keys:["/"],description:"Focus the navigation filter"},{keys:["["],description:"Collapse / expand the navigation drawer"}]}],wB={c:"/chat",o:"/overview",t:"/tasks",m:"/models",s:"/system",h:"/hub"};function kB(e){var a;const t=e;if(!t||typeof t.tagName!="string")return!1;if(t.isContentEditable)return!0;const n=(a=t.getAttribute)==null?void 0:a.call(t,"contenteditable");if(n!=null&&n!=="false")return!0;const r=t.tagName.toLowerCase();return r==="input"||r==="textarea"||r==="select"}function SB({open:e,onClose:t}){const n=b.useId(),r=b.useRef(null),a=b.useRef(null);return b.useEffect(()=>{var l;if(!e)return;a.current=document.activeElement;const s=()=>{var c;return Array.from(((c=r.current)==null?void 0:c.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'))??[])};(l=s()[0])==null||l.focus();function o(c){if(c.key==="Escape"){c.stopPropagation(),t();return}if(c.key!=="Tab")return;const u=s();if(u.length===0)return;const d=u[0],f=u[u.length-1];c.shiftKey&&document.activeElement===d?(c.preventDefault(),f.focus()):!c.shiftKey&&document.activeElement===f&&(c.preventDefault(),d.focus())}return document.addEventListener("keydown",o),()=>{var c;document.removeEventListener("keydown",o),(c=a.current)==null||c.focus()}},[e,t]),e?i.jsx("div",{className:"modal-scrim",onClick:t,children:i.jsxs("div",{className:"shortcuts-dialog",role:"dialog","aria-modal":"true","aria-labelledby":n,ref:r,onClick:s=>s.stopPropagation(),children:[i.jsxs("div",{className:"shortcuts-head",children:[i.jsx("h2",{className:"shortcuts-title",id:n,children:"⌨️ Keyboard shortcuts"}),i.jsx("button",{type:"button",className:"btn-secondary",onClick:t,"aria-label":"Close keyboard shortcuts",children:"✕ Close"})]}),IT.map(s=>i.jsxs("section",{className:"shortcuts-group",children:[i.jsx("h3",{className:"shortcuts-group-title",children:s.group}),i.jsx("dl",{className:"shortcuts-list",children:s.items.map(o=>i.jsxs("div",{className:"shortcuts-row",children:[i.jsx("dt",{className:"shortcuts-keys",children:o.keys.map(l=>i.jsx("kbd",{className:"shortcuts-key",children:l},l))}),i.jsx("dd",{className:"shortcuts-description",children:o.description})]},o.description))})]},s.group)),i.jsxs("p",{className:"shortcuts-note",children:["Shortcuts are ignored while you are typing, so ",i.jsx("kbd",{className:"shortcuts-key",children:"?"})," in a question stays a question mark."]})]})}):null}const $T=[{path:"/overview",label:"Overview",icon:"📊"},{path:"/tasks",label:"Tasks",icon:"🚀"},{path:"/models",label:"Models",icon:"🧠"},{path:"/system",label:"System",icon:"⚙️"},{path:"/help",label:"Help",icon:"❓"}],yy=[{label:"Agent Management",items:[{path:"/chat",label:"Chat",icon:"💬"},{path:"/hub",label:"Agent Hub",icon:"🧰"},{path:"/capabilities",label:"Capabilities",icon:"📋"},{path:"/dag",label:"Execution",icon:"🔀"},{path:"/routing",label:"Routing",icon:"🤖"},{path:"/requests",label:"Requests",icon:"📨"},{path:"/hooks",label:"Hooks",icon:"🪝"}]},{label:"Analysis & Monitoring",items:[{path:"/traces",label:"Traces",icon:"🔍"},{path:"/evals",label:"Evals",icon:"🏆"},{path:"/benchmarks",label:"Benchmarks",icon:"📈"},{path:"/costs",label:"Costs",icon:"💰"}]},{label:"Resources",items:[{path:"/memory",label:"Memory",icon:"💾"},{path:"/knowledge",label:"Knowledge",icon:"📚"},{path:"/history",label:"History",icon:"📝"},{path:"/decisions",label:"Decisions",icon:"🧭"},{path:"/env",label:"Env Config",icon:"🔐"},{path:"/process-env",label:"Process Env",icon:"🌱"}]},{label:"Integrations",items:[{path:"/platforms",label:"Platforms",icon:"🌐"},{path:"/mcp",label:"MCP",icon:"🔌"},{path:"/gateway",label:"Gateway",icon:"📡"},{path:"/contacts",label:"Contacts",icon:"📇"},{path:"/bedrock",label:"Bedrock",icon:"🪨"}]},{label:"Runtime",items:[{path:"/models/timeline",label:"Timeline",icon:"📅"},{path:"/executions",label:"Executions",icon:"📜"},{path:"/admin",label:"Admin",icon:"🛠️"}]}];function jB(e){const t=e.trim().toLowerCase();return t?yy.map(n=>n.label.toLowerCase().includes(t)?n:{...n,items:n.items.filter(r=>r.label.toLowerCase().includes(t))}).filter(n=>n.items.length>0):yy}function NB({children:e,connected:t,lastUpdated:n,onRefresh:r,refreshing:a=!1}){const[s,o]=b.useState(!1),[l,c]=b.useState(""),[u,d]=b.useState(!1),f=b.useRef(null),h=b.useRef(null),p=b.useRef(0),m=b.useId(),g=$i(),y=ew(),v=t?"connected":"reconnecting",k=t?"Connected":"Reconnecting...",w=jB(l),N=()=>o(!1);return b.useEffect(()=>{function S(x){var E,_;if(!(x.metaKey||x.ctrlKey||x.altKey)&&!kB(x.target)){if(x.key==="Escape"){if(u)return;s&&(o(!1),(E=f.current)==null||E.focus());return}if(x.key==="?"){x.preventDefault(),d(!0);return}if(x.key==="F1"){x.preventDefault(),y("/help");return}if(x.key==="/"){x.preventDefault(),(_=h.current)==null||_.focus();return}if(x.key==="["){x.preventDefault(),o(O=>!O);return}if(x.key==="g"){p.current=Date.now();return}if(Date.now()-p.current<1500){const O=wB[x.key.toLowerCase()];p.current=0,O&&(x.preventDefault(),y(O))}}}return document.addEventListener("keydown",S),()=>document.removeEventListener("keydown",S)},[s,u,y]),b.useEffect(()=>{var S;s&&((S=h.current)==null||S.focus())},[s]),b.useEffect(()=>{N()},[g.pathname]),i.jsxs("div",{className:"layout",children:[i.jsxs("header",{className:"topbar",children:[i.jsx("button",{type:"button",ref:f,className:"topbar-menu","aria-label":"Toggle navigation","aria-controls":"app-nav","aria-expanded":s,onClick:()=>o(S=>!S),children:i.jsx("span",{"aria-hidden":"true",children:"☰"})}),i.jsxs("div",{className:"topbar-brand",children:[i.jsx("span",{className:"topbar-logo","aria-hidden":"true",children:"🤖"}),i.jsx("span",{className:"topbar-title",children:"Agent-Nuvira"})]}),i.jsx("nav",{className:"primary-nav","aria-label":"Primary",children:$T.map(S=>i.jsxs(rS,{to:S.path,end:!0,className:({isActive:x})=>`primary-link${x?" active":""}`,children:[i.jsx("span",{"aria-hidden":"true",children:S.icon})," ",S.label]},S.path))}),i.jsxs("div",{className:"topbar-actions",children:[i.jsxs("button",{type:"button",className:"topbar-action",onClick:r,disabled:a,"aria-busy":a,children:[i.jsx("span",{"aria-hidden":"true",children:"⟳"})," ",a?"Refreshing…":"Refresh"]}),i.jsxs("button",{type:"button",className:"topbar-action","aria-haspopup":"dialog","aria-expanded":u,onClick:()=>d(!0),children:[i.jsx("span",{"aria-hidden":"true",children:"⌨️"})," Shortcuts"]}),i.jsx(bB,{}),i.jsxs("a",{className:"topbar-action",href:"https://www.agent-nuvira.com",target:"_blank",rel:"noopener noreferrer",title:"Agent-Nuvira website — capabilities, commands, docs, setup",children:[i.jsx("span",{"aria-hidden":"true",children:"🌐"})," Website"]}),i.jsx(xB,{})]})]}),i.jsxs("div",{className:"layout-body",children:[s&&i.jsx("div",{className:"nav-scrim",onClick:N,"aria-hidden":"true"}),i.jsxs("nav",{className:`nav${s?" open":""}`,id:"app-nav","aria-label":"Sections",children:[i.jsxs("div",{className:"nav-search",children:[i.jsx("label",{className:"sr-only",htmlFor:m,children:"Filter navigation"}),i.jsx("input",{id:m,ref:h,type:"search",className:"nav-search-input",placeholder:"Search",value:l,onChange:S=>c(S.target.value)})]}),i.jsxs("div",{className:"nav-links",children:[w.map(S=>i.jsxs("section",{className:"nav-group",children:[i.jsx("h2",{className:"nav-group-title",children:S.label}),S.items.map(x=>i.jsxs(rS,{to:x.path,end:x.path==="/",className:({isActive:E})=>`nav-link${E?" active":""}`,children:[i.jsx("span",{className:"nav-icon","aria-hidden":"true",children:x.icon}),x.label]},x.path))]},S.label)),w.length===0&&i.jsxs("p",{className:"nav-empty",children:["No sections match “",l,"”."]})]}),i.jsxs("div",{className:"nav-footer",children:[i.jsx("span",{className:`status-dot ${v}`}),i.jsx("span",{className:"status-text",children:k}),i.jsx("span",{className:"last-updated",children:n})]})]}),i.jsx("main",{className:"main",children:e})]}),i.jsx(SB,{open:u,onClose:()=>d(!1)})]})}function LT(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t<a;t++)e[t]&&(n=LT(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function qe(){for(var e,t,n=0,r="",a=arguments.length;n<a;n++)(e=arguments[n])&&(t=LT(e))&&(r&&(r+=" "),r+=t);return r}var EB=Array.isArray,qn=EB,_B=typeof di=="object"&&di&&di.Object===Object&&di,DT=_B,CB=DT,AB=typeof self=="object"&&self&&self.Object===Object&&self,TB=CB||AB||Function("return this")(),ma=TB,OB=ma,PB=OB.Symbol,td=PB,cS=td,BT=Object.prototype,RB=BT.hasOwnProperty,MB=BT.toString,sc=cS?cS.toStringTag:void 0;function IB(e){var t=RB.call(e,sc),n=e[sc];try{e[sc]=void 0;var r=!0}catch{}var a=MB.call(e);return r&&(t?e[sc]=n:delete e[sc]),a}var $B=IB,LB=Object.prototype,DB=LB.toString;function BB(e){return DB.call(e)}var zB=BB,uS=td,FB=$B,UB=zB,WB="[object Null]",HB="[object Undefined]",dS=uS?uS.toStringTag:void 0;function GB(e){return e==null?e===void 0?HB:WB:dS&&dS in Object(e)?FB(e):UB(e)}var Wa=GB;function qB(e){return e!=null&&typeof e=="object"}var Ha=qB,KB=Wa,VB=Ha,YB="[object Symbol]";function XB(e){return typeof e=="symbol"||VB(e)&&KB(e)==YB}var Nl=XB,QB=qn,ZB=Nl,JB=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ez=/^\w*$/;function tz(e,t){if(QB(e))return!1;var n=typeof e;return n=="number"||n=="symbol"||n=="boolean"||e==null||ZB(e)?!0:ez.test(e)||!JB.test(e)||t!=null&&e in Object(t)}var rw=tz;function nz(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Li=nz;const El=Xe(Li);var rz=Wa,az=Li,iz="[object AsyncFunction]",sz="[object Function]",oz="[object GeneratorFunction]",lz="[object Proxy]";function cz(e){if(!az(e))return!1;var t=rz(e);return t==sz||t==oz||t==iz||t==lz}var aw=cz;const Le=Xe(aw);var uz=ma,dz=uz["__core-js_shared__"],fz=dz,cg=fz,fS=function(){var e=/[^.]+$/.exec(cg&&cg.keys&&cg.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function hz(e){return!!fS&&fS in e}var pz=hz,mz=Function.prototype,gz=mz.toString;function vz(e){if(e!=null){try{return gz.call(e)}catch{}try{return e+""}catch{}}return""}var zT=vz,yz=aw,bz=pz,xz=Li,wz=zT,kz=/[\\^$.*+?()[\]{}|]/g,Sz=/^\[object .+?Constructor\]$/,jz=Function.prototype,Nz=Object.prototype,Ez=jz.toString,_z=Nz.hasOwnProperty,Cz=RegExp("^"+Ez.call(_z).replace(kz,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Az(e){if(!xz(e)||bz(e))return!1;var t=yz(e)?Cz:Sz;return t.test(wz(e))}var Tz=Az;function Oz(e,t){return e==null?void 0:e[t]}var Pz=Oz,Rz=Tz,Mz=Pz;function Iz(e,t){var n=Mz(e,t);return Rz(n)?n:void 0}var Bs=Iz,$z=Bs,Lz=$z(Object,"create"),Lp=Lz,hS=Lp;function Dz(){this.__data__=hS?hS(null):{},this.size=0}var Bz=Dz;function zz(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Fz=zz,Uz=Lp,Wz="__lodash_hash_undefined__",Hz=Object.prototype,Gz=Hz.hasOwnProperty;function qz(e){var t=this.__data__;if(Uz){var n=t[e];return n===Wz?void 0:n}return Gz.call(t,e)?t[e]:void 0}var Kz=qz,Vz=Lp,Yz=Object.prototype,Xz=Yz.hasOwnProperty;function Qz(e){var t=this.__data__;return Vz?t[e]!==void 0:Xz.call(t,e)}var Zz=Qz,Jz=Lp,eF="__lodash_hash_undefined__";function tF(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Jz&&t===void 0?eF:t,this}var nF=tF,rF=Bz,aF=Fz,iF=Kz,sF=Zz,oF=nF;function _l(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}_l.prototype.clear=rF;_l.prototype.delete=aF;_l.prototype.get=iF;_l.prototype.has=sF;_l.prototype.set=oF;var lF=_l;function cF(){this.__data__=[],this.size=0}var uF=cF;function dF(e,t){return e===t||e!==e&&t!==t}var iw=dF,fF=iw;function hF(e,t){for(var n=e.length;n--;)if(fF(e[n][0],t))return n;return-1}var Dp=hF,pF=Dp,mF=Array.prototype,gF=mF.splice;function vF(e){var t=this.__data__,n=pF(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():gF.call(t,n,1),--this.size,!0}var yF=vF,bF=Dp;function xF(e){var t=this.__data__,n=bF(t,e);return n<0?void 0:t[n][1]}var wF=xF,kF=Dp;function SF(e){return kF(this.__data__,e)>-1}var jF=SF,NF=Dp;function EF(e,t){var n=this.__data__,r=NF(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}var _F=EF,CF=uF,AF=yF,TF=wF,OF=jF,PF=_F;function Cl(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Cl.prototype.clear=CF;Cl.prototype.delete=AF;Cl.prototype.get=TF;Cl.prototype.has=OF;Cl.prototype.set=PF;var Bp=Cl,RF=Bs,MF=ma,IF=RF(MF,"Map"),sw=IF,pS=lF,$F=Bp,LF=sw;function DF(){this.size=0,this.__data__={hash:new pS,map:new(LF||$F),string:new pS}}var BF=DF;function zF(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var FF=zF,UF=FF;function WF(e,t){var n=e.__data__;return UF(t)?n[typeof t=="string"?"string":"hash"]:n.map}var zp=WF,HF=zp;function GF(e){var t=HF(this,e).delete(e);return this.size-=t?1:0,t}var qF=GF,KF=zp;function VF(e){return KF(this,e).get(e)}var YF=VF,XF=zp;function QF(e){return XF(this,e).has(e)}var ZF=QF,JF=zp;function eU(e,t){var n=JF(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}var tU=eU,nU=BF,rU=qF,aU=YF,iU=ZF,sU=tU;function Al(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Al.prototype.clear=nU;Al.prototype.delete=rU;Al.prototype.get=aU;Al.prototype.has=iU;Al.prototype.set=sU;var ow=Al,FT=ow,oU="Expected a function";function lw(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(oU);var n=function(){var r=arguments,a=t?t.apply(this,r):r[0],s=n.cache;if(s.has(a))return s.get(a);var o=e.apply(this,r);return n.cache=s.set(a,o)||s,o};return n.cache=new(lw.Cache||FT),n}lw.Cache=FT;var UT=lw;const lU=Xe(UT);var cU=UT,uU=500;function dU(e){var t=cU(e,function(r){return n.size===uU&&n.clear(),r}),n=t.cache;return t}var fU=dU,hU=fU,pU=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,mU=/\\(\\)?/g,gU=hU(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(pU,function(n,r,a,s){t.push(a?s.replace(mU,"$1"):r||n)}),t}),vU=gU;function yU(e,t){for(var n=-1,r=e==null?0:e.length,a=Array(r);++n<r;)a[n]=t(e[n],n,e);return a}var cw=yU,mS=td,bU=cw,xU=qn,wU=Nl,gS=mS?mS.prototype:void 0,vS=gS?gS.toString:void 0;function WT(e){if(typeof e=="string")return e;if(xU(e))return bU(e,WT)+"";if(wU(e))return vS?vS.call(e):"";var t=e+"";return t=="0"&&1/e==-1/0?"-0":t}var kU=WT,SU=kU;function jU(e){return e==null?"":SU(e)}var HT=jU,NU=qn,EU=rw,_U=vU,CU=HT;function AU(e,t){return NU(e)?e:EU(e,t)?[e]:_U(CU(e))}var GT=AU,TU=Nl;function OU(e){if(typeof e=="string"||TU(e))return e;var t=e+"";return t=="0"&&1/e==-1/0?"-0":t}var Fp=OU,PU=GT,RU=Fp;function MU(e,t){t=PU(t,e);for(var n=0,r=t.length;e!=null&&n<r;)e=e[RU(t[n++])];return n&&n==r?e:void 0}var uw=MU,IU=uw;function $U(e,t,n){var r=e==null?void 0:IU(e,t);return r===void 0?n:r}var qT=$U;const wr=Xe(qT);function LU(e){return e==null}var DU=LU;const Ke=Xe(DU);var BU=Wa,zU=qn,FU=Ha,UU="[object String]";function WU(e){return typeof e=="string"||!zU(e)&&FU(e)&&BU(e)==UU}var HU=WU;const Os=Xe(HU);var KT={exports:{}},tt={};/**
|
|
68
|
+
* @license React
|
|
69
|
+
* react-is.production.min.js
|
|
70
|
+
*
|
|
71
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
72
|
+
*
|
|
73
|
+
* This source code is licensed under the MIT license found in the
|
|
74
|
+
* LICENSE file in the root directory of this source tree.
|
|
75
|
+
*/var dw=Symbol.for("react.element"),fw=Symbol.for("react.portal"),Up=Symbol.for("react.fragment"),Wp=Symbol.for("react.strict_mode"),Hp=Symbol.for("react.profiler"),Gp=Symbol.for("react.provider"),qp=Symbol.for("react.context"),GU=Symbol.for("react.server_context"),Kp=Symbol.for("react.forward_ref"),Vp=Symbol.for("react.suspense"),Yp=Symbol.for("react.suspense_list"),Xp=Symbol.for("react.memo"),Qp=Symbol.for("react.lazy"),qU=Symbol.for("react.offscreen"),VT;VT=Symbol.for("react.module.reference");function Nr(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case dw:switch(e=e.type,e){case Up:case Hp:case Wp:case Vp:case Yp:return e;default:switch(e=e&&e.$$typeof,e){case GU:case qp:case Kp:case Qp:case Xp:case Gp:return e;default:return t}}case fw:return t}}}tt.ContextConsumer=qp;tt.ContextProvider=Gp;tt.Element=dw;tt.ForwardRef=Kp;tt.Fragment=Up;tt.Lazy=Qp;tt.Memo=Xp;tt.Portal=fw;tt.Profiler=Hp;tt.StrictMode=Wp;tt.Suspense=Vp;tt.SuspenseList=Yp;tt.isAsyncMode=function(){return!1};tt.isConcurrentMode=function(){return!1};tt.isContextConsumer=function(e){return Nr(e)===qp};tt.isContextProvider=function(e){return Nr(e)===Gp};tt.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===dw};tt.isForwardRef=function(e){return Nr(e)===Kp};tt.isFragment=function(e){return Nr(e)===Up};tt.isLazy=function(e){return Nr(e)===Qp};tt.isMemo=function(e){return Nr(e)===Xp};tt.isPortal=function(e){return Nr(e)===fw};tt.isProfiler=function(e){return Nr(e)===Hp};tt.isStrictMode=function(e){return Nr(e)===Wp};tt.isSuspense=function(e){return Nr(e)===Vp};tt.isSuspenseList=function(e){return Nr(e)===Yp};tt.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Up||e===Hp||e===Wp||e===Vp||e===Yp||e===qU||typeof e=="object"&&e!==null&&(e.$$typeof===Qp||e.$$typeof===Xp||e.$$typeof===Gp||e.$$typeof===qp||e.$$typeof===Kp||e.$$typeof===VT||e.getModuleId!==void 0)};tt.typeOf=Nr;KT.exports=tt;var KU=KT.exports,VU=Wa,YU=Ha,XU="[object Number]";function QU(e){return typeof e=="number"||YU(e)&&VU(e)==XU}var YT=QU;const ZU=Xe(YT);var JU=YT;function e3(e){return JU(e)&&e!=+e}var t3=e3;const nd=Xe(t3);var Lr=function(t){return t===0?0:t>0?1:-1},hs=function(t){return Os(t)&&t.indexOf("%")===t.length-1},ce=function(t){return ZU(t)&&!nd(t)},n3=function(t){return Ke(t)},Vt=function(t){return ce(t)||Os(t)},r3=0,Zp=function(t){var n=++r3;return"".concat(t||"").concat(n)},Ps=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!ce(t)&&!Os(t))return r;var s;if(hs(t)){var o=t.indexOf("%");s=n*parseFloat(t.slice(0,o))/100}else s=+t;return nd(s)&&(s=r),a&&s>n&&(s=n),s},ci=function(t){if(!t)return null;var n=Object.keys(t);return n&&n.length?t[n[0]]:null},a3=function(t){if(!Array.isArray(t))return!1;for(var n=t.length,r={},a=0;a<n;a++)if(!r[t[a]])r[t[a]]=!0;else return!0;return!1},ao=function(t,n){return ce(t)&&ce(n)?function(r){return t+r*(n-t)}:function(){return n}};function by(e,t,n){return!e||!e.length?null:e.find(function(r){return r&&(typeof t=="function"?t(r):wr(r,t))===n})}var i3=function(t,n){return ce(t)&&ce(n)?t-n:Os(t)&&Os(n)?t.localeCompare(n):t instanceof Date&&n instanceof Date?t.getTime()-n.getTime():String(t).localeCompare(String(n))};function Bo(e,t){for(var n in e)if({}.hasOwnProperty.call(e,n)&&(!{}.hasOwnProperty.call(t,n)||e[n]!==t[n]))return!1;for(var r in t)if({}.hasOwnProperty.call(t,r)&&!{}.hasOwnProperty.call(e,r))return!1;return!0}function xy(e){"@babel/helpers - typeof";return xy=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},xy(e)}var s3=["viewBox","children"],o3=["aria-activedescendant","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colspan","aria-controls","aria-current","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","className","color","height","id","lang","max","media","method","min","name","style","target","width","role","tabIndex","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","href","ideographic","imageRendering","in2","in","intercept","k1","k2","k3","k4","k","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewTarget","visibility","vMathematical","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","ref","key","angle"],yS=["points","pathLength"],ug={svg:s3,polygon:yS,polyline:yS},hw=["dangerouslySetInnerHTML","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onChange","onChangeCapture","onBeforeInput","onBeforeInputCapture","onInput","onInputCapture","onReset","onResetCapture","onSubmit","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","onDragCapture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","onScrollCapture","onWheel","onWheelCapture","onAnimationStart","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onTransitionEnd","onTransitionEndCapture"],oh=function(t,n){if(!t||typeof t=="function"||typeof t=="boolean")return null;var r=t;if(b.isValidElement(t)&&(r=t.props),!El(r))return null;var a={};return Object.keys(r).forEach(function(s){hw.includes(s)&&(a[s]=n||function(o){return r[s](r,o)})}),a},l3=function(t,n,r){return function(a){return t(n,r,a),null}},lh=function(t,n,r){if(!El(t)||xy(t)!=="object")return null;var a=null;return Object.keys(t).forEach(function(s){var o=t[s];hw.includes(s)&&typeof o=="function"&&(a||(a={}),a[s]=l3(o,n,r))}),a},c3=["children"],u3=["children"];function bS(e,t){if(e==null)return{};var n=d3(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function d3(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var xS={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart",contextmenu:"onContextMenu",dblclick:"onDoubleClick"},Oa=function(t){return typeof t=="string"?t:t?t.displayName||t.name||"Component":""},wS=null,dg=null,pw=function e(t){if(t===wS&&Array.isArray(dg))return dg;var n=[];return b.Children.forEach(t,function(r){Ke(r)||(KU.isFragment(r)?n=n.concat(e(r.props.children)):n.push(r))}),dg=n,wS=t,n};function zr(e,t){var n=[],r=[];return Array.isArray(t)?r=t.map(function(a){return Oa(a)}):r=[Oa(t)],pw(e).forEach(function(a){var s=wr(a,"type.displayName")||wr(a,"type.name");r.indexOf(s)!==-1&&n.push(a)}),n}function tr(e,t){var n=zr(e,t);return n&&n[0]}var kS=function(t){if(!t||!t.props)return!1;var n=t.props,r=n.width,a=n.height;return!(!ce(r)||r<=0||!ce(a)||a<=0)},f3=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],h3=function(t){return t&&t.type&&Os(t.type)&&f3.indexOf(t.type)>=0},p3=function(t,n,r,a){var s,o=(s=ug==null?void 0:ug[a])!==null&&s!==void 0?s:[];return n.startsWith("data-")||!Le(t)&&(a&&o.includes(n)||o3.includes(n))||r&&hw.includes(n)},Ge=function(t,n,r){if(!t||typeof t=="function"||typeof t=="boolean")return null;var a=t;if(b.isValidElement(t)&&(a=t.props),!El(a))return null;var s={};return Object.keys(a).forEach(function(o){var l;p3((l=a)===null||l===void 0?void 0:l[o],o,n,r)&&(s[o]=a[o])}),s},wy=function e(t,n){if(t===n)return!0;var r=b.Children.count(t);if(r!==b.Children.count(n))return!1;if(r===0)return!0;if(r===1)return SS(Array.isArray(t)?t[0]:t,Array.isArray(n)?n[0]:n);for(var a=0;a<r;a++){var s=t[a],o=n[a];if(Array.isArray(s)||Array.isArray(o)){if(!e(s,o))return!1}else if(!SS(s,o))return!1}return!0},SS=function(t,n){if(Ke(t)&&Ke(n))return!0;if(!Ke(t)&&!Ke(n)){var r=t.props||{},a=r.children,s=bS(r,c3),o=n.props||{},l=o.children,c=bS(o,u3);return a&&l?Bo(s,c)&&wy(a,l):!a&&!l?Bo(s,c):!1}return!1},jS=function(t,n){var r=[],a={};return pw(t).forEach(function(s,o){if(h3(s))r.push(s);else if(s){var l=Oa(s.type),c=n[l]||{},u=c.handler,d=c.once;if(u&&(!d||!a[l])){var f=u(s,l,o);r.push(f),a[l]=!0}}}),r},m3=function(t){var n=t&&t.type;return n&&xS[n]?xS[n]:null},g3=function(t,n){return pw(n).indexOf(t)},v3=["children","width","height","viewBox","className","style","title","desc"];function ky(){return ky=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ky.apply(this,arguments)}function y3(e,t){if(e==null)return{};var n=b3(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function b3(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Sy(e){var t=e.children,n=e.width,r=e.height,a=e.viewBox,s=e.className,o=e.style,l=e.title,c=e.desc,u=y3(e,v3),d=a||{width:n,height:r,x:0,y:0},f=qe("recharts-surface",s);return V.createElement("svg",ky({},Ge(u,!0,"svg"),{className:f,width:n,height:r,style:o,viewBox:"".concat(d.x," ").concat(d.y," ").concat(d.width," ").concat(d.height)}),V.createElement("title",null,l),V.createElement("desc",null,c),t)}var x3=["children","className"];function jy(){return jy=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},jy.apply(this,arguments)}function w3(e,t){if(e==null)return{};var n=k3(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function k3(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var tn=V.forwardRef(function(e,t){var n=e.children,r=e.className,a=w3(e,x3),s=qe("recharts-layer",r);return V.createElement("g",jy({className:s},Ge(a,!0),{ref:t}),n)}),Pa=function(t,n){for(var r=arguments.length,a=new Array(r>2?r-2:0),s=2;s<r;s++)a[s-2]=arguments[s]};function S3(e,t,n){var r=-1,a=e.length;t<0&&(t=-t>a?0:a+t),n=n>a?a:n,n<0&&(n+=a),a=t>n?0:n-t>>>0,t>>>=0;for(var s=Array(a);++r<a;)s[r]=e[r+t];return s}var j3=S3,N3=j3;function E3(e,t,n){var r=e.length;return n=n===void 0?r:n,!t&&n>=r?e:N3(e,t,n)}var _3=E3,C3="\\ud800-\\udfff",A3="\\u0300-\\u036f",T3="\\ufe20-\\ufe2f",O3="\\u20d0-\\u20ff",P3=A3+T3+O3,R3="\\ufe0e\\ufe0f",M3="\\u200d",I3=RegExp("["+M3+C3+P3+R3+"]");function $3(e){return I3.test(e)}var XT=$3;function L3(e){return e.split("")}var D3=L3,QT="\\ud800-\\udfff",B3="\\u0300-\\u036f",z3="\\ufe20-\\ufe2f",F3="\\u20d0-\\u20ff",U3=B3+z3+F3,W3="\\ufe0e\\ufe0f",H3="["+QT+"]",Ny="["+U3+"]",Ey="\\ud83c[\\udffb-\\udfff]",G3="(?:"+Ny+"|"+Ey+")",ZT="[^"+QT+"]",JT="(?:\\ud83c[\\udde6-\\uddff]){2}",eO="[\\ud800-\\udbff][\\udc00-\\udfff]",q3="\\u200d",tO=G3+"?",nO="["+W3+"]?",K3="(?:"+q3+"(?:"+[ZT,JT,eO].join("|")+")"+nO+tO+")*",V3=nO+tO+K3,Y3="(?:"+[ZT+Ny+"?",Ny,JT,eO,H3].join("|")+")",X3=RegExp(Ey+"(?="+Ey+")|"+Y3+V3,"g");function Q3(e){return e.match(X3)||[]}var Z3=Q3,J3=D3,e4=XT,t4=Z3;function n4(e){return e4(e)?t4(e):J3(e)}var r4=n4,a4=_3,i4=XT,s4=r4,o4=HT;function l4(e){return function(t){t=o4(t);var n=i4(t)?s4(t):void 0,r=n?n[0]:t.charAt(0),a=n?a4(n,1).join(""):t.slice(1);return r[e]()+a}}var c4=l4,u4=c4,d4=u4("toUpperCase"),f4=d4;const Jp=Xe(f4);function ft(e){return function(){return e}}const rO=Math.cos,ch=Math.sin,Hr=Math.sqrt,uh=Math.PI,em=2*uh,_y=Math.PI,Cy=2*_y,rs=1e-6,h4=Cy-rs;function aO(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function p4(e){let t=Math.floor(e);if(!(t>=0))throw new Error(`invalid digits: ${e}`);if(t>15)return aO;const n=10**t;return function(r){this._+=r[0];for(let a=1,s=r.length;a<s;++a)this._+=Math.round(arguments[a]*n)/n+r[a]}}class m4{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=t==null?aO:p4(t)}moveTo(t,n){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,n){this._append`L${this._x1=+t},${this._y1=+n}`}quadraticCurveTo(t,n,r,a){this._append`Q${+t},${+n},${this._x1=+r},${this._y1=+a}`}bezierCurveTo(t,n,r,a,s,o){this._append`C${+t},${+n},${+r},${+a},${this._x1=+s},${this._y1=+o}`}arcTo(t,n,r,a,s){if(t=+t,n=+n,r=+r,a=+a,s=+s,s<0)throw new Error(`negative radius: ${s}`);let o=this._x1,l=this._y1,c=r-t,u=a-n,d=o-t,f=l-n,h=d*d+f*f;if(this._x1===null)this._append`M${this._x1=t},${this._y1=n}`;else if(h>rs)if(!(Math.abs(f*c-u*d)>rs)||!s)this._append`L${this._x1=t},${this._y1=n}`;else{let p=r-o,m=a-l,g=c*c+u*u,y=p*p+m*m,v=Math.sqrt(g),k=Math.sqrt(h),w=s*Math.tan((_y-Math.acos((g+h-y)/(2*v*k)))/2),N=w/k,S=w/v;Math.abs(N-1)>rs&&this._append`L${t+N*d},${n+N*f}`,this._append`A${s},${s},0,0,${+(f*p>d*m)},${this._x1=t+S*c},${this._y1=n+S*u}`}}arc(t,n,r,a,s,o){if(t=+t,n=+n,r=+r,o=!!o,r<0)throw new Error(`negative radius: ${r}`);let l=r*Math.cos(a),c=r*Math.sin(a),u=t+l,d=n+c,f=1^o,h=o?a-s:s-a;this._x1===null?this._append`M${u},${d}`:(Math.abs(this._x1-u)>rs||Math.abs(this._y1-d)>rs)&&this._append`L${u},${d}`,r&&(h<0&&(h=h%Cy+Cy),h>h4?this._append`A${r},${r},0,1,${f},${t-l},${n-c}A${r},${r},0,1,${f},${this._x1=u},${this._y1=d}`:h>rs&&this._append`A${r},${r},0,${+(h>=_y)},${f},${this._x1=t+r*Math.cos(s)},${this._y1=n+r*Math.sin(s)}`)}rect(t,n,r,a){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+a}h${-r}Z`}toString(){return this._}}function mw(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);t=r}return e},()=>new m4(t)}function gw(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function iO(e){this._context=e}iO.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function tm(e){return new iO(e)}function sO(e){return e[0]}function oO(e){return e[1]}function lO(e,t){var n=ft(!0),r=null,a=tm,s=null,o=mw(l);e=typeof e=="function"?e:e===void 0?sO:ft(e),t=typeof t=="function"?t:t===void 0?oO:ft(t);function l(c){var u,d=(c=gw(c)).length,f,h=!1,p;for(r==null&&(s=a(p=o())),u=0;u<=d;++u)!(u<d&&n(f=c[u],u,c))===h&&((h=!h)?s.lineStart():s.lineEnd()),h&&s.point(+e(f,u,c),+t(f,u,c));if(p)return s=null,p+""||null}return l.x=function(c){return arguments.length?(e=typeof c=="function"?c:ft(+c),l):e},l.y=function(c){return arguments.length?(t=typeof c=="function"?c:ft(+c),l):t},l.defined=function(c){return arguments.length?(n=typeof c=="function"?c:ft(!!c),l):n},l.curve=function(c){return arguments.length?(a=c,r!=null&&(s=a(r)),l):a},l.context=function(c){return arguments.length?(c==null?r=s=null:s=a(r=c),l):r},l}function Wd(e,t,n){var r=null,a=ft(!0),s=null,o=tm,l=null,c=mw(u);e=typeof e=="function"?e:e===void 0?sO:ft(+e),t=typeof t=="function"?t:ft(t===void 0?0:+t),n=typeof n=="function"?n:n===void 0?oO:ft(+n);function u(f){var h,p,m,g=(f=gw(f)).length,y,v=!1,k,w=new Array(g),N=new Array(g);for(s==null&&(l=o(k=c())),h=0;h<=g;++h){if(!(h<g&&a(y=f[h],h,f))===v)if(v=!v)p=h,l.areaStart(),l.lineStart();else{for(l.lineEnd(),l.lineStart(),m=h-1;m>=p;--m)l.point(w[m],N[m]);l.lineEnd(),l.areaEnd()}v&&(w[h]=+e(y,h,f),N[h]=+t(y,h,f),l.point(r?+r(y,h,f):w[h],n?+n(y,h,f):N[h]))}if(k)return l=null,k+""||null}function d(){return lO().defined(a).curve(o).context(s)}return u.x=function(f){return arguments.length?(e=typeof f=="function"?f:ft(+f),r=null,u):e},u.x0=function(f){return arguments.length?(e=typeof f=="function"?f:ft(+f),u):e},u.x1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:ft(+f),u):r},u.y=function(f){return arguments.length?(t=typeof f=="function"?f:ft(+f),n=null,u):t},u.y0=function(f){return arguments.length?(t=typeof f=="function"?f:ft(+f),u):t},u.y1=function(f){return arguments.length?(n=f==null?null:typeof f=="function"?f:ft(+f),u):n},u.lineX0=u.lineY0=function(){return d().x(e).y(t)},u.lineY1=function(){return d().x(e).y(n)},u.lineX1=function(){return d().x(r).y(t)},u.defined=function(f){return arguments.length?(a=typeof f=="function"?f:ft(!!f),u):a},u.curve=function(f){return arguments.length?(o=f,s!=null&&(l=o(s)),u):o},u.context=function(f){return arguments.length?(f==null?s=l=null:l=o(s=f),u):s},u}class cO{constructor(t,n){this._context=t,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,n){switch(t=+t,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n);break}}this._x0=t,this._y0=n}}function g4(e){return new cO(e,!0)}function v4(e){return new cO(e,!1)}const vw={draw(e,t){const n=Hr(t/uh);e.moveTo(n,0),e.arc(0,0,n,0,em)}},y4={draw(e,t){const n=Hr(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},uO=Hr(1/3),b4=uO*2,x4={draw(e,t){const n=Hr(t/b4),r=n*uO;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},w4={draw(e,t){const n=Hr(t),r=-n/2;e.rect(r,r,n,n)}},k4=.8908130915292852,dO=ch(uh/10)/ch(7*uh/10),S4=ch(em/10)*dO,j4=-rO(em/10)*dO,N4={draw(e,t){const n=Hr(t*k4),r=S4*n,a=j4*n;e.moveTo(0,-n),e.lineTo(r,a);for(let s=1;s<5;++s){const o=em*s/5,l=rO(o),c=ch(o);e.lineTo(c*n,-l*n),e.lineTo(l*r-c*a,c*r+l*a)}e.closePath()}},fg=Hr(3),E4={draw(e,t){const n=-Hr(t/(fg*3));e.moveTo(0,n*2),e.lineTo(-fg*n,-n),e.lineTo(fg*n,-n),e.closePath()}},dr=-.5,fr=Hr(3)/2,Ay=1/Hr(12),_4=(Ay/2+1)*3,C4={draw(e,t){const n=Hr(t/_4),r=n/2,a=n*Ay,s=r,o=n*Ay+n,l=-s,c=o;e.moveTo(r,a),e.lineTo(s,o),e.lineTo(l,c),e.lineTo(dr*r-fr*a,fr*r+dr*a),e.lineTo(dr*s-fr*o,fr*s+dr*o),e.lineTo(dr*l-fr*c,fr*l+dr*c),e.lineTo(dr*r+fr*a,dr*a-fr*r),e.lineTo(dr*s+fr*o,dr*o-fr*s),e.lineTo(dr*l+fr*c,dr*c-fr*l),e.closePath()}};function A4(e,t){let n=null,r=mw(a);e=typeof e=="function"?e:ft(e||vw),t=typeof t=="function"?t:ft(t===void 0?64:+t);function a(){let s;if(n||(n=s=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),s)return n=null,s+""||null}return a.type=function(s){return arguments.length?(e=typeof s=="function"?s:ft(s),a):e},a.size=function(s){return arguments.length?(t=typeof s=="function"?s:ft(+s),a):t},a.context=function(s){return arguments.length?(n=s??null,a):n},a}function dh(){}function fh(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function fO(e){this._context=e}fO.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:fh(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:fh(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function T4(e){return new fO(e)}function hO(e){this._context=e}hO.prototype={areaStart:dh,areaEnd:dh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:fh(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function O4(e){return new hO(e)}function pO(e){this._context=e}pO.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:fh(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function P4(e){return new pO(e)}function mO(e){this._context=e}mO.prototype={areaStart:dh,areaEnd:dh,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function R4(e){return new mO(e)}function NS(e){return e<0?-1:1}function ES(e,t,n){var r=e._x1-e._x0,a=t-e._x1,s=(e._y1-e._y0)/(r||a<0&&-0),o=(n-e._y1)/(a||r<0&&-0),l=(s*a+o*r)/(r+a);return(NS(s)+NS(o))*Math.min(Math.abs(s),Math.abs(o),.5*Math.abs(l))||0}function _S(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function hg(e,t,n){var r=e._x0,a=e._y0,s=e._x1,o=e._y1,l=(s-r)/3;e._context.bezierCurveTo(r+l,a+l*t,s-l,o-l*n,s,o)}function hh(e){this._context=e}hh.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:hg(this,this._t0,_S(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,hg(this,_S(this,n=ES(this,e,t)),n);break;default:hg(this,this._t0,n=ES(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function gO(e){this._context=new vO(e)}(gO.prototype=Object.create(hh.prototype)).point=function(e,t){hh.prototype.point.call(this,t,e)};function vO(e){this._context=e}vO.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,a,s){this._context.bezierCurveTo(t,e,r,n,s,a)}};function M4(e){return new hh(e)}function I4(e){return new gO(e)}function yO(e){this._context=e}yO.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=CS(e),a=CS(t),s=0,o=1;o<n;++s,++o)this._context.bezierCurveTo(r[0][s],a[0][s],r[1][s],a[1][s],e[o],t[o]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}};function CS(e){var t,n=e.length-1,r,a=new Array(n),s=new Array(n),o=new Array(n);for(a[0]=0,s[0]=2,o[0]=e[0]+2*e[1],t=1;t<n-1;++t)a[t]=1,s[t]=4,o[t]=4*e[t]+2*e[t+1];for(a[n-1]=2,s[n-1]=7,o[n-1]=8*e[n-1]+e[n],t=1;t<n;++t)r=a[t]/s[t-1],s[t]-=r,o[t]-=r*o[t-1];for(a[n-1]=o[n-1]/s[n-1],t=n-2;t>=0;--t)a[t]=(o[t]-a[t+1])/s[t];for(s[n-1]=(e[n]+a[n-1])/2,t=0;t<n-1;++t)s[t]=2*e[t+1]-a[t+1];return[a,s]}function $4(e){return new yO(e)}function nm(e,t){this._context=e,this._t=t}nm.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}break}}this._x=e,this._y=t}};function L4(e){return new nm(e,.5)}function D4(e){return new nm(e,0)}function B4(e){return new nm(e,1)}function Qo(e,t){if((o=e.length)>1)for(var n=1,r,a,s=e[t[0]],o,l=s.length;n<o;++n)for(a=s,s=e[t[n]],r=0;r<l;++r)s[r][1]+=s[r][0]=isNaN(a[r][1])?a[r][0]:a[r][1]}function Ty(e){for(var t=e.length,n=new Array(t);--t>=0;)n[t]=t;return n}function z4(e,t){return e[t]}function F4(e){const t=[];return t.key=e,t}function U4(){var e=ft([]),t=Ty,n=Qo,r=z4;function a(s){var o=Array.from(e.apply(this,arguments),F4),l,c=o.length,u=-1,d;for(const f of s)for(l=0,++u;l<c;++l)(o[l][u]=[0,+r(f,o[l].key,u,s)]).data=f;for(l=0,d=gw(t(o));l<c;++l)o[d[l]].index=l;return n(o,d),o}return a.keys=function(s){return arguments.length?(e=typeof s=="function"?s:ft(Array.from(s)),a):e},a.value=function(s){return arguments.length?(r=typeof s=="function"?s:ft(+s),a):r},a.order=function(s){return arguments.length?(t=s==null?Ty:typeof s=="function"?s:ft(Array.from(s)),a):t},a.offset=function(s){return arguments.length?(n=s??Qo,a):n},a}function W4(e,t){if((r=e.length)>0){for(var n,r,a=0,s=e[0].length,o;a<s;++a){for(o=n=0;n<r;++n)o+=e[n][a][1]||0;if(o)for(n=0;n<r;++n)e[n][a][1]/=o}Qo(e,t)}}function H4(e,t){if((a=e.length)>0){for(var n=0,r=e[t[0]],a,s=r.length;n<s;++n){for(var o=0,l=0;o<a;++o)l+=e[o][n][1]||0;r[n][1]+=r[n][0]=-l/2}Qo(e,t)}}function G4(e,t){if(!(!((o=e.length)>0)||!((s=(a=e[t[0]]).length)>0))){for(var n=0,r=1,a,s,o;r<s;++r){for(var l=0,c=0,u=0;l<o;++l){for(var d=e[t[l]],f=d[r][1]||0,h=d[r-1][1]||0,p=(f-h)/2,m=0;m<l;++m){var g=e[t[m]],y=g[r][1]||0,v=g[r-1][1]||0;p+=y-v}c+=f,u+=p*f}a[r-1][1]+=a[r-1][0]=n,c&&(n-=u/c)}a[r-1][1]+=a[r-1][0]=n,Qo(e,t)}}function uu(e){"@babel/helpers - typeof";return uu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},uu(e)}var q4=["type","size","sizeType"];function Oy(){return Oy=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Oy.apply(this,arguments)}function AS(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function TS(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?AS(Object(n),!0).forEach(function(r){K4(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):AS(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function K4(e,t,n){return t=V4(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function V4(e){var t=Y4(e,"string");return uu(t)=="symbol"?t:t+""}function Y4(e,t){if(uu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(uu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function X4(e,t){if(e==null)return{};var n=Q4(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Q4(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var bO={symbolCircle:vw,symbolCross:y4,symbolDiamond:x4,symbolSquare:w4,symbolStar:N4,symbolTriangle:E4,symbolWye:C4},Z4=Math.PI/180,J4=function(t){var n="symbol".concat(Jp(t));return bO[n]||vw},e6=function(t,n,r){if(n==="area")return t;switch(r){case"cross":return 5*t*t/9;case"diamond":return .5*t*t/Math.sqrt(3);case"square":return t*t;case"star":{var a=18*Z4;return 1.25*t*t*(Math.tan(a)-Math.tan(a*2)*Math.pow(Math.tan(a),2))}case"triangle":return Math.sqrt(3)*t*t/4;case"wye":return(21-10*Math.sqrt(3))*t*t/8;default:return Math.PI*t*t/4}},t6=function(t,n){bO["symbol".concat(Jp(t))]=n},yw=function(t){var n=t.type,r=n===void 0?"circle":n,a=t.size,s=a===void 0?64:a,o=t.sizeType,l=o===void 0?"area":o,c=X4(t,q4),u=TS(TS({},c),{},{type:r,size:s,sizeType:l}),d=function(){var y=J4(r),v=A4().type(y).size(e6(s,l,r));return v()},f=u.className,h=u.cx,p=u.cy,m=Ge(u,!0);return h===+h&&p===+p&&s===+s?V.createElement("path",Oy({},m,{className:qe("recharts-symbols",f),transform:"translate(".concat(h,", ").concat(p,")"),d:d()})):null};yw.registerSymbol=t6;function Zo(e){"@babel/helpers - typeof";return Zo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Zo(e)}function Py(){return Py=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Py.apply(this,arguments)}function OS(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function n6(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?OS(Object(n),!0).forEach(function(r){du(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):OS(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function r6(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a6(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,wO(r.key),r)}}function i6(e,t,n){return t&&a6(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function s6(e,t,n){return t=ph(t),o6(e,xO()?Reflect.construct(t,n||[],ph(e).constructor):t.apply(e,n))}function o6(e,t){if(t&&(Zo(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return l6(e)}function l6(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function xO(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(xO=function(){return!!e})()}function ph(e){return ph=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},ph(e)}function c6(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ry(e,t)}function Ry(e,t){return Ry=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},Ry(e,t)}function du(e,t,n){return t=wO(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function wO(e){var t=u6(e,"string");return Zo(t)=="symbol"?t:t+""}function u6(e,t){if(Zo(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Zo(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var hr=32,bw=function(e){function t(){return r6(this,t),s6(this,t,arguments)}return c6(t,e),i6(t,[{key:"renderIcon",value:function(r){var a=this.props.inactiveColor,s=hr/2,o=hr/6,l=hr/3,c=r.inactive?a:r.color;if(r.type==="plainline")return V.createElement("line",{strokeWidth:4,fill:"none",stroke:c,strokeDasharray:r.payload.strokeDasharray,x1:0,y1:s,x2:hr,y2:s,className:"recharts-legend-icon"});if(r.type==="line")return V.createElement("path",{strokeWidth:4,fill:"none",stroke:c,d:"M0,".concat(s,"h").concat(l,`
|
|
76
|
+
A`).concat(o,",").concat(o,",0,1,1,").concat(2*l,",").concat(s,`
|
|
77
|
+
H`).concat(hr,"M").concat(2*l,",").concat(s,`
|
|
78
|
+
A`).concat(o,",").concat(o,",0,1,1,").concat(l,",").concat(s),className:"recharts-legend-icon"});if(r.type==="rect")return V.createElement("path",{stroke:"none",fill:c,d:"M0,".concat(hr/8,"h").concat(hr,"v").concat(hr*3/4,"h").concat(-hr,"z"),className:"recharts-legend-icon"});if(V.isValidElement(r.legendIcon)){var u=n6({},r);return delete u.legendIcon,V.cloneElement(r.legendIcon,u)}return V.createElement(yw,{fill:c,cx:s,cy:s,size:hr,sizeType:"diameter",type:r.type})}},{key:"renderItems",value:function(){var r=this,a=this.props,s=a.payload,o=a.iconSize,l=a.layout,c=a.formatter,u=a.inactiveColor,d={x:0,y:0,width:hr,height:hr},f={display:l==="horizontal"?"inline-block":"block",marginRight:10},h={display:"inline-block",verticalAlign:"middle",marginRight:4};return s.map(function(p,m){var g=p.formatter||c,y=qe(du(du({"recharts-legend-item":!0},"legend-item-".concat(m),!0),"inactive",p.inactive));if(p.type==="none")return null;var v=Le(p.value)?null:p.value;Pa(!Le(p.value),`The name property is also required when using a function for the dataKey of a chart's cartesian components. Ex: <Bar name="Name of my Data"/>`);var k=p.inactive?u:p.color;return V.createElement("li",Py({className:y,style:f,key:"legend-item-".concat(m)},lh(r.props,p,m)),V.createElement(Sy,{width:o,height:o,viewBox:d,style:h},r.renderIcon(p)),V.createElement("span",{className:"recharts-legend-item-text",style:{color:k}},g?g(v,p,m):v))})}},{key:"render",value:function(){var r=this.props,a=r.payload,s=r.layout,o=r.align;if(!a||!a.length)return null;var l={padding:0,margin:0,textAlign:s==="horizontal"?o:"left"};return V.createElement("ul",{className:"recharts-default-legend",style:l},this.renderItems())}}])}(b.PureComponent);du(bw,"displayName","Legend");du(bw,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var d6=Bp;function f6(){this.__data__=new d6,this.size=0}var h6=f6;function p6(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}var m6=p6;function g6(e){return this.__data__.get(e)}var v6=g6;function y6(e){return this.__data__.has(e)}var b6=y6,x6=Bp,w6=sw,k6=ow,S6=200;function j6(e,t){var n=this.__data__;if(n instanceof x6){var r=n.__data__;if(!w6||r.length<S6-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new k6(r)}return n.set(e,t),this.size=n.size,this}var N6=j6,E6=Bp,_6=h6,C6=m6,A6=v6,T6=b6,O6=N6;function Tl(e){var t=this.__data__=new E6(e);this.size=t.size}Tl.prototype.clear=_6;Tl.prototype.delete=C6;Tl.prototype.get=A6;Tl.prototype.has=T6;Tl.prototype.set=O6;var kO=Tl,P6="__lodash_hash_undefined__";function R6(e){return this.__data__.set(e,P6),this}var M6=R6;function I6(e){return this.__data__.has(e)}var $6=I6,L6=ow,D6=M6,B6=$6;function mh(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new L6;++t<n;)this.add(e[t])}mh.prototype.add=mh.prototype.push=D6;mh.prototype.has=B6;var SO=mh;function z6(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}var jO=z6;function F6(e,t){return e.has(t)}var NO=F6,U6=SO,W6=jO,H6=NO,G6=1,q6=2;function K6(e,t,n,r,a,s){var o=n&G6,l=e.length,c=t.length;if(l!=c&&!(o&&c>l))return!1;var u=s.get(e),d=s.get(t);if(u&&d)return u==t&&d==e;var f=-1,h=!0,p=n&q6?new U6:void 0;for(s.set(e,t),s.set(t,e);++f<l;){var m=e[f],g=t[f];if(r)var y=o?r(g,m,f,t,e,s):r(m,g,f,e,t,s);if(y!==void 0){if(y)continue;h=!1;break}if(p){if(!W6(t,function(v,k){if(!H6(p,k)&&(m===v||a(m,v,n,r,s)))return p.push(k)})){h=!1;break}}else if(!(m===g||a(m,g,n,r,s))){h=!1;break}}return s.delete(e),s.delete(t),h}var EO=K6,V6=ma,Y6=V6.Uint8Array,X6=Y6;function Q6(e){var t=-1,n=Array(e.size);return e.forEach(function(r,a){n[++t]=[a,r]}),n}var Z6=Q6;function J6(e){var t=-1,n=Array(e.size);return e.forEach(function(r){n[++t]=r}),n}var xw=J6,PS=td,RS=X6,eW=iw,tW=EO,nW=Z6,rW=xw,aW=1,iW=2,sW="[object Boolean]",oW="[object Date]",lW="[object Error]",cW="[object Map]",uW="[object Number]",dW="[object RegExp]",fW="[object Set]",hW="[object String]",pW="[object Symbol]",mW="[object ArrayBuffer]",gW="[object DataView]",MS=PS?PS.prototype:void 0,pg=MS?MS.valueOf:void 0;function vW(e,t,n,r,a,s,o){switch(n){case gW:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case mW:return!(e.byteLength!=t.byteLength||!s(new RS(e),new RS(t)));case sW:case oW:case uW:return eW(+e,+t);case lW:return e.name==t.name&&e.message==t.message;case dW:case hW:return e==t+"";case cW:var l=nW;case fW:var c=r&aW;if(l||(l=rW),e.size!=t.size&&!c)return!1;var u=o.get(e);if(u)return u==t;r|=iW,o.set(e,t);var d=tW(l(e),l(t),r,a,s,o);return o.delete(e),d;case pW:if(pg)return pg.call(e)==pg.call(t)}return!1}var yW=vW;function bW(e,t){for(var n=-1,r=t.length,a=e.length;++n<r;)e[a+n]=t[n];return e}var _O=bW,xW=_O,wW=qn;function kW(e,t,n){var r=t(e);return wW(e)?r:xW(r,n(e))}var SW=kW;function jW(e,t){for(var n=-1,r=e==null?0:e.length,a=0,s=[];++n<r;){var o=e[n];t(o,n,e)&&(s[a++]=o)}return s}var NW=jW;function EW(){return[]}var _W=EW,CW=NW,AW=_W,TW=Object.prototype,OW=TW.propertyIsEnumerable,IS=Object.getOwnPropertySymbols,PW=IS?function(e){return e==null?[]:(e=Object(e),CW(IS(e),function(t){return OW.call(e,t)}))}:AW,RW=PW;function MW(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}var IW=MW,$W=Wa,LW=Ha,DW="[object Arguments]";function BW(e){return LW(e)&&$W(e)==DW}var zW=BW,$S=zW,FW=Ha,CO=Object.prototype,UW=CO.hasOwnProperty,WW=CO.propertyIsEnumerable,HW=$S(function(){return arguments}())?$S:function(e){return FW(e)&&UW.call(e,"callee")&&!WW.call(e,"callee")},ww=HW,gh={exports:{}};function GW(){return!1}var qW=GW;gh.exports;(function(e,t){var n=ma,r=qW,a=t&&!t.nodeType&&t,s=a&&!0&&e&&!e.nodeType&&e,o=s&&s.exports===a,l=o?n.Buffer:void 0,c=l?l.isBuffer:void 0,u=c||r;e.exports=u})(gh,gh.exports);var AO=gh.exports,KW=9007199254740991,VW=/^(?:0|[1-9]\d*)$/;function YW(e,t){var n=typeof e;return t=t??KW,!!t&&(n=="number"||n!="symbol"&&VW.test(e))&&e>-1&&e%1==0&&e<t}var kw=YW,XW=9007199254740991;function QW(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=XW}var Sw=QW,ZW=Wa,JW=Sw,e8=Ha,t8="[object Arguments]",n8="[object Array]",r8="[object Boolean]",a8="[object Date]",i8="[object Error]",s8="[object Function]",o8="[object Map]",l8="[object Number]",c8="[object Object]",u8="[object RegExp]",d8="[object Set]",f8="[object String]",h8="[object WeakMap]",p8="[object ArrayBuffer]",m8="[object DataView]",g8="[object Float32Array]",v8="[object Float64Array]",y8="[object Int8Array]",b8="[object Int16Array]",x8="[object Int32Array]",w8="[object Uint8Array]",k8="[object Uint8ClampedArray]",S8="[object Uint16Array]",j8="[object Uint32Array]",yt={};yt[g8]=yt[v8]=yt[y8]=yt[b8]=yt[x8]=yt[w8]=yt[k8]=yt[S8]=yt[j8]=!0;yt[t8]=yt[n8]=yt[p8]=yt[r8]=yt[m8]=yt[a8]=yt[i8]=yt[s8]=yt[o8]=yt[l8]=yt[c8]=yt[u8]=yt[d8]=yt[f8]=yt[h8]=!1;function N8(e){return e8(e)&&JW(e.length)&&!!yt[ZW(e)]}var E8=N8;function _8(e){return function(t){return e(t)}}var TO=_8,vh={exports:{}};vh.exports;(function(e,t){var n=DT,r=t&&!t.nodeType&&t,a=r&&!0&&e&&!e.nodeType&&e,s=a&&a.exports===r,o=s&&n.process,l=function(){try{var c=a&&a.require&&a.require("util").types;return c||o&&o.binding&&o.binding("util")}catch{}}();e.exports=l})(vh,vh.exports);var C8=vh.exports,A8=E8,T8=TO,LS=C8,DS=LS&&LS.isTypedArray,O8=DS?T8(DS):A8,OO=O8,P8=IW,R8=ww,M8=qn,I8=AO,$8=kw,L8=OO,D8=Object.prototype,B8=D8.hasOwnProperty;function z8(e,t){var n=M8(e),r=!n&&R8(e),a=!n&&!r&&I8(e),s=!n&&!r&&!a&&L8(e),o=n||r||a||s,l=o?P8(e.length,String):[],c=l.length;for(var u in e)(t||B8.call(e,u))&&!(o&&(u=="length"||a&&(u=="offset"||u=="parent")||s&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||$8(u,c)))&&l.push(u);return l}var F8=z8,U8=Object.prototype;function W8(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||U8;return e===n}var H8=W8;function G8(e,t){return function(n){return e(t(n))}}var PO=G8,q8=PO,K8=q8(Object.keys,Object),V8=K8,Y8=H8,X8=V8,Q8=Object.prototype,Z8=Q8.hasOwnProperty;function J8(e){if(!Y8(e))return X8(e);var t=[];for(var n in Object(e))Z8.call(e,n)&&n!="constructor"&&t.push(n);return t}var eH=J8,tH=aw,nH=Sw;function rH(e){return e!=null&&nH(e.length)&&!tH(e)}var rd=rH,aH=F8,iH=eH,sH=rd;function oH(e){return sH(e)?aH(e):iH(e)}var rm=oH,lH=SW,cH=RW,uH=rm;function dH(e){return lH(e,uH,cH)}var fH=dH,BS=fH,hH=1,pH=Object.prototype,mH=pH.hasOwnProperty;function gH(e,t,n,r,a,s){var o=n&hH,l=BS(e),c=l.length,u=BS(t),d=u.length;if(c!=d&&!o)return!1;for(var f=c;f--;){var h=l[f];if(!(o?h in t:mH.call(t,h)))return!1}var p=s.get(e),m=s.get(t);if(p&&m)return p==t&&m==e;var g=!0;s.set(e,t),s.set(t,e);for(var y=o;++f<c;){h=l[f];var v=e[h],k=t[h];if(r)var w=o?r(k,v,h,t,e,s):r(v,k,h,e,t,s);if(!(w===void 0?v===k||a(v,k,n,r,s):w)){g=!1;break}y||(y=h=="constructor")}if(g&&!y){var N=e.constructor,S=t.constructor;N!=S&&"constructor"in e&&"constructor"in t&&!(typeof N=="function"&&N instanceof N&&typeof S=="function"&&S instanceof S)&&(g=!1)}return s.delete(e),s.delete(t),g}var vH=gH,yH=Bs,bH=ma,xH=yH(bH,"DataView"),wH=xH,kH=Bs,SH=ma,jH=kH(SH,"Promise"),NH=jH,EH=Bs,_H=ma,CH=EH(_H,"Set"),RO=CH,AH=Bs,TH=ma,OH=AH(TH,"WeakMap"),PH=OH,My=wH,Iy=sw,$y=NH,Ly=RO,Dy=PH,MO=Wa,Ol=zT,zS="[object Map]",RH="[object Object]",FS="[object Promise]",US="[object Set]",WS="[object WeakMap]",HS="[object DataView]",MH=Ol(My),IH=Ol(Iy),$H=Ol($y),LH=Ol(Ly),DH=Ol(Dy),as=MO;(My&&as(new My(new ArrayBuffer(1)))!=HS||Iy&&as(new Iy)!=zS||$y&&as($y.resolve())!=FS||Ly&&as(new Ly)!=US||Dy&&as(new Dy)!=WS)&&(as=function(e){var t=MO(e),n=t==RH?e.constructor:void 0,r=n?Ol(n):"";if(r)switch(r){case MH:return HS;case IH:return zS;case $H:return FS;case LH:return US;case DH:return WS}return t});var BH=as,mg=kO,zH=EO,FH=yW,UH=vH,GS=BH,qS=qn,KS=AO,WH=OO,HH=1,VS="[object Arguments]",YS="[object Array]",Hd="[object Object]",GH=Object.prototype,XS=GH.hasOwnProperty;function qH(e,t,n,r,a,s){var o=qS(e),l=qS(t),c=o?YS:GS(e),u=l?YS:GS(t);c=c==VS?Hd:c,u=u==VS?Hd:u;var d=c==Hd,f=u==Hd,h=c==u;if(h&&KS(e)){if(!KS(t))return!1;o=!0,d=!1}if(h&&!d)return s||(s=new mg),o||WH(e)?zH(e,t,n,r,a,s):FH(e,t,c,n,r,a,s);if(!(n&HH)){var p=d&&XS.call(e,"__wrapped__"),m=f&&XS.call(t,"__wrapped__");if(p||m){var g=p?e.value():e,y=m?t.value():t;return s||(s=new mg),a(g,y,n,r,s)}}return h?(s||(s=new mg),UH(e,t,n,r,a,s)):!1}var KH=qH,VH=KH,QS=Ha;function IO(e,t,n,r,a){return e===t?!0:e==null||t==null||!QS(e)&&!QS(t)?e!==e&&t!==t:VH(e,t,n,r,IO,a)}var jw=IO,YH=kO,XH=jw,QH=1,ZH=2;function JH(e,t,n,r){var a=n.length,s=a,o=!r;if(e==null)return!s;for(e=Object(e);a--;){var l=n[a];if(o&&l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++a<s;){l=n[a];var c=l[0],u=e[c],d=l[1];if(o&&l[2]){if(u===void 0&&!(c in e))return!1}else{var f=new YH;if(r)var h=r(u,d,c,e,t,f);if(!(h===void 0?XH(d,u,QH|ZH,r,f):h))return!1}}return!0}var e5=JH,t5=Li;function n5(e){return e===e&&!t5(e)}var $O=n5,r5=$O,a5=rm;function i5(e){for(var t=a5(e),n=t.length;n--;){var r=t[n],a=e[r];t[n]=[r,a,r5(a)]}return t}var s5=i5;function o5(e,t){return function(n){return n==null?!1:n[e]===t&&(t!==void 0||e in Object(n))}}var LO=o5,l5=e5,c5=s5,u5=LO;function d5(e){var t=c5(e);return t.length==1&&t[0][2]?u5(t[0][0],t[0][1]):function(n){return n===e||l5(n,e,t)}}var f5=d5;function h5(e,t){return e!=null&&t in Object(e)}var p5=h5,m5=GT,g5=ww,v5=qn,y5=kw,b5=Sw,x5=Fp;function w5(e,t,n){t=m5(t,e);for(var r=-1,a=t.length,s=!1;++r<a;){var o=x5(t[r]);if(!(s=e!=null&&n(e,o)))break;e=e[o]}return s||++r!=a?s:(a=e==null?0:e.length,!!a&&b5(a)&&y5(o,a)&&(v5(e)||g5(e)))}var k5=w5,S5=p5,j5=k5;function N5(e,t){return e!=null&&j5(e,t,S5)}var E5=N5,_5=jw,C5=qT,A5=E5,T5=rw,O5=$O,P5=LO,R5=Fp,M5=1,I5=2;function $5(e,t){return T5(e)&&O5(t)?P5(R5(e),t):function(n){var r=C5(n,e);return r===void 0&&r===t?A5(n,e):_5(t,r,M5|I5)}}var L5=$5;function D5(e){return e}var Pl=D5;function B5(e){return function(t){return t==null?void 0:t[e]}}var z5=B5,F5=uw;function U5(e){return function(t){return F5(t,e)}}var W5=U5,H5=z5,G5=W5,q5=rw,K5=Fp;function V5(e){return q5(e)?H5(K5(e)):G5(e)}var Y5=V5,X5=f5,Q5=L5,Z5=Pl,J5=qn,e9=Y5;function t9(e){return typeof e=="function"?e:e==null?Z5:typeof e=="object"?J5(e)?Q5(e[0],e[1]):X5(e):e9(e)}var Di=t9;function n9(e,t,n,r){for(var a=e.length,s=n+(r?1:-1);r?s--:++s<a;)if(t(e[s],s,e))return s;return-1}var DO=n9;function r9(e){return e!==e}var a9=r9;function i9(e,t,n){for(var r=n-1,a=e.length;++r<a;)if(e[r]===t)return r;return-1}var s9=i9,o9=DO,l9=a9,c9=s9;function u9(e,t,n){return t===t?c9(e,t,n):o9(e,l9,n)}var d9=u9,f9=d9;function h9(e,t){var n=e==null?0:e.length;return!!n&&f9(e,t,0)>-1}var p9=h9;function m9(e,t,n){for(var r=-1,a=e==null?0:e.length;++r<a;)if(n(t,e[r]))return!0;return!1}var g9=m9;function v9(){}var y9=v9,gg=RO,b9=y9,x9=xw,w9=1/0,k9=gg&&1/x9(new gg([,-0]))[1]==w9?function(e){return new gg(e)}:b9,S9=k9,j9=SO,N9=p9,E9=g9,_9=NO,C9=S9,A9=xw,T9=200;function O9(e,t,n){var r=-1,a=N9,s=e.length,o=!0,l=[],c=l;if(n)o=!1,a=E9;else if(s>=T9){var u=t?null:C9(e);if(u)return A9(u);o=!1,a=_9,c=new j9}else c=t?[]:l;e:for(;++r<s;){var d=e[r],f=t?t(d):d;if(d=n||d!==0?d:0,o&&f===f){for(var h=c.length;h--;)if(c[h]===f)continue e;t&&c.push(f),l.push(d)}else a(c,f,n)||(c!==l&&c.push(f),l.push(d))}return l}var P9=O9,R9=Di,M9=P9;function I9(e,t){return e&&e.length?M9(e,R9(t)):[]}var $9=I9;const ZS=Xe($9);function BO(e,t,n){return t===!0?ZS(e,n):Le(t)?ZS(e,t):e}function Jo(e){"@babel/helpers - typeof";return Jo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Jo(e)}var L9=["ref"];function JS(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function ka(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?JS(Object(n),!0).forEach(function(r){am(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):JS(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function D9(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ej(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,FO(r.key),r)}}function B9(e,t,n){return t&&ej(e.prototype,t),n&&ej(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function z9(e,t,n){return t=yh(t),F9(e,zO()?Reflect.construct(t,n||[],yh(e).constructor):t.apply(e,n))}function F9(e,t){if(t&&(Jo(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return U9(e)}function U9(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function zO(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(zO=function(){return!!e})()}function yh(e){return yh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},yh(e)}function W9(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&By(e,t)}function By(e,t){return By=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},By(e,t)}function am(e,t,n){return t=FO(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function FO(e){var t=H9(e,"string");return Jo(t)=="symbol"?t:t+""}function H9(e,t){if(Jo(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Jo(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function G9(e,t){if(e==null)return{};var n=q9(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function q9(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function K9(e){return e.value}function V9(e,t){if(V.isValidElement(e))return V.cloneElement(e,t);if(typeof e=="function")return V.createElement(e,t);t.ref;var n=G9(t,L9);return V.createElement(bw,n)}var tj=1,xs=function(e){function t(){var n;D9(this,t);for(var r=arguments.length,a=new Array(r),s=0;s<r;s++)a[s]=arguments[s];return n=z9(this,t,[].concat(a)),am(n,"lastBoundingBox",{width:-1,height:-1}),n}return W9(t,e),B9(t,[{key:"componentDidMount",value:function(){this.updateBBox()}},{key:"componentDidUpdate",value:function(){this.updateBBox()}},{key:"getBBox",value:function(){if(this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var r=this.wrapperNode.getBoundingClientRect();return r.height=this.wrapperNode.offsetHeight,r.width=this.wrapperNode.offsetWidth,r}return null}},{key:"updateBBox",value:function(){var r=this.props.onBBoxUpdate,a=this.getBBox();a?(Math.abs(a.width-this.lastBoundingBox.width)>tj||Math.abs(a.height-this.lastBoundingBox.height)>tj)&&(this.lastBoundingBox.width=a.width,this.lastBoundingBox.height=a.height,r&&r(a)):(this.lastBoundingBox.width!==-1||this.lastBoundingBox.height!==-1)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,r&&r(null))}},{key:"getBBoxSnapshot",value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?ka({},this.lastBoundingBox):{width:0,height:0}}},{key:"getDefaultPosition",value:function(r){var a=this.props,s=a.layout,o=a.align,l=a.verticalAlign,c=a.margin,u=a.chartWidth,d=a.chartHeight,f,h;if(!r||(r.left===void 0||r.left===null)&&(r.right===void 0||r.right===null))if(o==="center"&&s==="vertical"){var p=this.getBBoxSnapshot();f={left:((u||0)-p.width)/2}}else f=o==="right"?{right:c&&c.right||0}:{left:c&&c.left||0};if(!r||(r.top===void 0||r.top===null)&&(r.bottom===void 0||r.bottom===null))if(l==="middle"){var m=this.getBBoxSnapshot();h={top:((d||0)-m.height)/2}}else h=l==="bottom"?{bottom:c&&c.bottom||0}:{top:c&&c.top||0};return ka(ka({},f),h)}},{key:"render",value:function(){var r=this,a=this.props,s=a.content,o=a.width,l=a.height,c=a.wrapperStyle,u=a.payloadUniqBy,d=a.payload,f=ka(ka({position:"absolute",width:o||"auto",height:l||"auto"},this.getDefaultPosition(c)),c);return V.createElement("div",{className:"recharts-legend-wrapper",style:f,ref:function(p){r.wrapperNode=p}},V9(s,ka(ka({},this.props),{},{payload:BO(d,u,K9)})))}}],[{key:"getWithHeight",value:function(r,a){var s=ka(ka({},this.defaultProps),r.props),o=s.layout;return o==="vertical"&&ce(r.props.height)?{height:r.props.height}:o==="horizontal"?{width:r.props.width||a}:null}}])}(b.PureComponent);am(xs,"displayName","Legend");am(xs,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"});var nj=td,Y9=ww,X9=qn,rj=nj?nj.isConcatSpreadable:void 0;function Q9(e){return X9(e)||Y9(e)||!!(rj&&e&&e[rj])}var Z9=Q9,J9=_O,eG=Z9;function UO(e,t,n,r,a){var s=-1,o=e.length;for(n||(n=eG),a||(a=[]);++s<o;){var l=e[s];t>0&&n(l)?t>1?UO(l,t-1,n,r,a):J9(a,l):r||(a[a.length]=l)}return a}var WO=UO;function tG(e){return function(t,n,r){for(var a=-1,s=Object(t),o=r(t),l=o.length;l--;){var c=o[e?l:++a];if(n(s[c],c,s)===!1)break}return t}}var nG=tG,rG=nG,aG=rG(),iG=aG,sG=iG,oG=rm;function lG(e,t){return e&&sG(e,t,oG)}var HO=lG,cG=rd;function uG(e,t){return function(n,r){if(n==null)return n;if(!cG(n))return e(n,r);for(var a=n.length,s=t?a:-1,o=Object(n);(t?s--:++s<a)&&r(o[s],s,o)!==!1;);return n}}var dG=uG,fG=HO,hG=dG,pG=hG(fG),Nw=pG,mG=Nw,gG=rd;function vG(e,t){var n=-1,r=gG(e)?Array(e.length):[];return mG(e,function(a,s,o){r[++n]=t(a,s,o)}),r}var GO=vG;function yG(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}var bG=yG,aj=Nl;function xG(e,t){if(e!==t){var n=e!==void 0,r=e===null,a=e===e,s=aj(e),o=t!==void 0,l=t===null,c=t===t,u=aj(t);if(!l&&!u&&!s&&e>t||s&&o&&c&&!l&&!u||r&&o&&c||!n&&c||!a)return 1;if(!r&&!s&&!u&&e<t||u&&n&&a&&!r&&!s||l&&n&&a||!o&&a||!c)return-1}return 0}var wG=xG,kG=wG;function SG(e,t,n){for(var r=-1,a=e.criteria,s=t.criteria,o=a.length,l=n.length;++r<o;){var c=kG(a[r],s[r]);if(c){if(r>=l)return c;var u=n[r];return c*(u=="desc"?-1:1)}}return e.index-t.index}var jG=SG,vg=cw,NG=uw,EG=Di,_G=GO,CG=bG,AG=TO,TG=jG,OG=Pl,PG=qn;function RG(e,t,n){t.length?t=vg(t,function(s){return PG(s)?function(o){return NG(o,s.length===1?s[0]:s)}:s}):t=[OG];var r=-1;t=vg(t,AG(EG));var a=_G(e,function(s,o,l){var c=vg(t,function(u){return u(s)});return{criteria:c,index:++r,value:s}});return CG(a,function(s,o){return TG(s,o,n)})}var MG=RG;function IG(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}var $G=IG,LG=$G,ij=Math.max;function DG(e,t,n){return t=ij(t===void 0?e.length-1:t,0),function(){for(var r=arguments,a=-1,s=ij(r.length-t,0),o=Array(s);++a<s;)o[a]=r[t+a];a=-1;for(var l=Array(t+1);++a<t;)l[a]=r[a];return l[t]=n(o),LG(e,this,l)}}var BG=DG;function zG(e){return function(){return e}}var FG=zG,UG=Bs,WG=function(){try{var e=UG(Object,"defineProperty");return e({},"",{}),e}catch{}}(),qO=WG,HG=FG,sj=qO,GG=Pl,qG=sj?function(e,t){return sj(e,"toString",{configurable:!0,enumerable:!1,value:HG(t),writable:!0})}:GG,KG=qG,VG=800,YG=16,XG=Date.now;function QG(e){var t=0,n=0;return function(){var r=XG(),a=YG-(r-n);if(n=r,a>0){if(++t>=VG)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var ZG=QG,JG=KG,eq=ZG,tq=eq(JG),nq=tq,rq=Pl,aq=BG,iq=nq;function sq(e,t){return iq(aq(e,t,rq),e+"")}var oq=sq,lq=iw,cq=rd,uq=kw,dq=Li;function fq(e,t,n){if(!dq(n))return!1;var r=typeof t;return(r=="number"?cq(n)&&uq(t,n.length):r=="string"&&t in n)?lq(n[t],e):!1}var im=fq,hq=WO,pq=MG,mq=oq,oj=im,gq=mq(function(e,t){if(e==null)return[];var n=t.length;return n>1&&oj(e,t[0],t[1])?t=[]:n>2&&oj(t[0],t[1],t[2])&&(t=[t[0]]),pq(e,hq(t,1),[])}),vq=gq;const Ew=Xe(vq);function fu(e){"@babel/helpers - typeof";return fu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fu(e)}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)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},zy.apply(this,arguments)}function yq(e,t){return kq(e)||wq(e,t)||xq(e,t)||bq()}function bq(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
79
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xq(e,t){if(e){if(typeof e=="string")return lj(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return lj(e,t)}}function lj(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function wq(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,a,s,o,l=[],c=!0,u=!1;try{if(s=(n=n.call(e)).next,t!==0)for(;!(c=(r=s.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(d){u=!0,a=d}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return l}}function kq(e){if(Array.isArray(e))return e}function cj(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function yg(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?cj(Object(n),!0).forEach(function(r){Sq(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):cj(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Sq(e,t,n){return t=jq(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function jq(e){var t=Nq(e,"string");return fu(t)=="symbol"?t:t+""}function Nq(e,t){if(fu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(fu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Eq(e){return Array.isArray(e)&&Vt(e[0])&&Vt(e[1])?e.join(" ~ "):e}var _q=function(t){var n=t.separator,r=n===void 0?" : ":n,a=t.contentStyle,s=a===void 0?{}:a,o=t.itemStyle,l=o===void 0?{}:o,c=t.labelStyle,u=c===void 0?{}:c,d=t.payload,f=t.formatter,h=t.itemSorter,p=t.wrapperClassName,m=t.labelClassName,g=t.label,y=t.labelFormatter,v=t.accessibilityLayer,k=v===void 0?!1:v,w=function(){if(d&&d.length){var A={padding:0,margin:0},D=(h?Ew(d,h):d).map(function(I,M){if(I.type==="none")return null;var L=yg({display:"block",paddingTop:4,paddingBottom:4,color:I.color||"#000"},l),U=I.formatter||f||Eq,R=I.value,B=I.name,T=R,Z=B;if(U&&T!=null&&Z!=null){var F=U(R,B,I,M,d);if(Array.isArray(F)){var $=yq(F,2);T=$[0],Z=$[1]}else T=F}return V.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(M),style:L},Vt(Z)?V.createElement("span",{className:"recharts-tooltip-item-name"},Z):null,Vt(Z)?V.createElement("span",{className:"recharts-tooltip-item-separator"},r):null,V.createElement("span",{className:"recharts-tooltip-item-value"},T),V.createElement("span",{className:"recharts-tooltip-item-unit"},I.unit||""))});return V.createElement("ul",{className:"recharts-tooltip-item-list",style:A},D)}return null},N=yg({margin:0,padding:10,backgroundColor:"#fff",border:"1px solid #ccc",whiteSpace:"nowrap"},s),S=yg({margin:0},u),x=!Ke(g),E=x?g:"",_=qe("recharts-default-tooltip",p),O=qe("recharts-tooltip-label",m);x&&y&&d!==void 0&&d!==null&&(E=y(g,d));var C=k?{role:"status","aria-live":"assertive"}:{};return V.createElement("div",zy({className:_,style:N},C),V.createElement("p",{className:O,style:S},V.isValidElement(E)?E:"".concat(E)),w())};function hu(e){"@babel/helpers - typeof";return hu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},hu(e)}function Gd(e,t,n){return t=Cq(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Cq(e){var t=Aq(e,"string");return hu(t)=="symbol"?t:t+""}function Aq(e,t){if(hu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(hu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var oc="recharts-tooltip-wrapper",Tq={visibility:"hidden"};function Oq(e){var t=e.coordinate,n=e.translateX,r=e.translateY;return qe(oc,Gd(Gd(Gd(Gd({},"".concat(oc,"-right"),ce(n)&&t&&ce(t.x)&&n>=t.x),"".concat(oc,"-left"),ce(n)&&t&&ce(t.x)&&n<t.x),"".concat(oc,"-bottom"),ce(r)&&t&&ce(t.y)&&r>=t.y),"".concat(oc,"-top"),ce(r)&&t&&ce(t.y)&&r<t.y))}function uj(e){var t=e.allowEscapeViewBox,n=e.coordinate,r=e.key,a=e.offsetTopLeft,s=e.position,o=e.reverseDirection,l=e.tooltipDimension,c=e.viewBox,u=e.viewBoxDimension;if(s&&ce(s[r]))return s[r];var d=n[r]-l-a,f=n[r]+a;if(t[r])return o[r]?d:f;if(o[r]){var h=d,p=c[r];return h<p?Math.max(f,c[r]):Math.max(d,c[r])}var m=f+l,g=c[r]+u;return m>g?Math.max(d,c[r]):Math.max(f,c[r])}function Pq(e){var t=e.translateX,n=e.translateY,r=e.useTranslate3d;return{transform:r?"translate3d(".concat(t,"px, ").concat(n,"px, 0)"):"translate(".concat(t,"px, ").concat(n,"px)")}}function Rq(e){var t=e.allowEscapeViewBox,n=e.coordinate,r=e.offsetTopLeft,a=e.position,s=e.reverseDirection,o=e.tooltipBox,l=e.useTranslate3d,c=e.viewBox,u,d,f;return o.height>0&&o.width>0&&n?(d=uj({allowEscapeViewBox:t,coordinate:n,key:"x",offsetTopLeft:r,position:a,reverseDirection:s,tooltipDimension:o.width,viewBox:c,viewBoxDimension:c.width}),f=uj({allowEscapeViewBox:t,coordinate:n,key:"y",offsetTopLeft:r,position:a,reverseDirection:s,tooltipDimension:o.height,viewBox:c,viewBoxDimension:c.height}),u=Pq({translateX:d,translateY:f,useTranslate3d:l})):u=Tq,{cssProperties:u,cssClasses:Oq({translateX:d,translateY:f,coordinate:n})}}function el(e){"@babel/helpers - typeof";return el=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},el(e)}function dj(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function fj(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?dj(Object(n),!0).forEach(function(r){Uy(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):dj(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Mq(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Iq(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,VO(r.key),r)}}function $q(e,t,n){return t&&Iq(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Lq(e,t,n){return t=bh(t),Dq(e,KO()?Reflect.construct(t,n||[],bh(e).constructor):t.apply(e,n))}function Dq(e,t){if(t&&(el(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Bq(e)}function Bq(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function KO(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(KO=function(){return!!e})()}function bh(e){return bh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},bh(e)}function zq(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Fy(e,t)}function Fy(e,t){return Fy=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},Fy(e,t)}function Uy(e,t,n){return t=VO(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function VO(e){var t=Fq(e,"string");return el(t)=="symbol"?t:t+""}function Fq(e,t){if(el(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(el(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var hj=1,Uq=function(e){function t(){var n;Mq(this,t);for(var r=arguments.length,a=new Array(r),s=0;s<r;s++)a[s]=arguments[s];return n=Lq(this,t,[].concat(a)),Uy(n,"state",{dismissed:!1,dismissedAtCoordinate:{x:0,y:0},lastBoundingBox:{width:-1,height:-1}}),Uy(n,"handleKeyDown",function(o){if(o.key==="Escape"){var l,c,u,d;n.setState({dismissed:!0,dismissedAtCoordinate:{x:(l=(c=n.props.coordinate)===null||c===void 0?void 0:c.x)!==null&&l!==void 0?l:0,y:(u=(d=n.props.coordinate)===null||d===void 0?void 0:d.y)!==null&&u!==void 0?u:0}})}}),n}return zq(t,e),$q(t,[{key:"updateBBox",value:function(){if(this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var r=this.wrapperNode.getBoundingClientRect();(Math.abs(r.width-this.state.lastBoundingBox.width)>hj||Math.abs(r.height-this.state.lastBoundingBox.height)>hj)&&this.setState({lastBoundingBox:{width:r.width,height:r.height}})}else(this.state.lastBoundingBox.width!==-1||this.state.lastBoundingBox.height!==-1)&&this.setState({lastBoundingBox:{width:-1,height:-1}})}},{key:"componentDidMount",value:function(){document.addEventListener("keydown",this.handleKeyDown),this.updateBBox()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("keydown",this.handleKeyDown)}},{key:"componentDidUpdate",value:function(){var r,a;this.props.active&&this.updateBBox(),this.state.dismissed&&(((r=this.props.coordinate)===null||r===void 0?void 0:r.x)!==this.state.dismissedAtCoordinate.x||((a=this.props.coordinate)===null||a===void 0?void 0:a.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}},{key:"render",value:function(){var r=this,a=this.props,s=a.active,o=a.allowEscapeViewBox,l=a.animationDuration,c=a.animationEasing,u=a.children,d=a.coordinate,f=a.hasPayload,h=a.isAnimationActive,p=a.offset,m=a.position,g=a.reverseDirection,y=a.useTranslate3d,v=a.viewBox,k=a.wrapperStyle,w=Rq({allowEscapeViewBox:o,coordinate:d,offsetTopLeft:p,position:m,reverseDirection:g,tooltipBox:this.state.lastBoundingBox,useTranslate3d:y,viewBox:v}),N=w.cssClasses,S=w.cssProperties,x=fj(fj({transition:h&&s?"transform ".concat(l,"ms ").concat(c):void 0},S),{},{pointerEvents:"none",visibility:!this.state.dismissed&&s&&f?"visible":"hidden",position:"absolute",top:0,left:0},k);return V.createElement("div",{tabIndex:-1,className:N,style:x,ref:function(_){r.wrapperNode=_}},u)}}])}(b.PureComponent),Wq=function(){return!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout)},ad={isSsr:Wq()};function tl(e){"@babel/helpers - typeof";return tl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},tl(e)}function pj(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function mj(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?pj(Object(n),!0).forEach(function(r){_w(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pj(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Hq(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Gq(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,XO(r.key),r)}}function qq(e,t,n){return t&&Gq(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Kq(e,t,n){return t=xh(t),Vq(e,YO()?Reflect.construct(t,n||[],xh(e).constructor):t.apply(e,n))}function Vq(e,t){if(t&&(tl(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Yq(e)}function Yq(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function YO(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(YO=function(){return!!e})()}function xh(e){return xh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},xh(e)}function Xq(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Wy(e,t)}function Wy(e,t){return Wy=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},Wy(e,t)}function _w(e,t,n){return t=XO(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function XO(e){var t=Qq(e,"string");return tl(t)=="symbol"?t:t+""}function Qq(e,t){if(tl(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(tl(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function Zq(e){return e.dataKey}function Jq(e,t){return V.isValidElement(e)?V.cloneElement(e,t):typeof e=="function"?V.createElement(e,t):V.createElement(_q,t)}var xn=function(e){function t(){return Hq(this,t),Kq(this,t,arguments)}return Xq(t,e),qq(t,[{key:"render",value:function(){var r=this,a=this.props,s=a.active,o=a.allowEscapeViewBox,l=a.animationDuration,c=a.animationEasing,u=a.content,d=a.coordinate,f=a.filterNull,h=a.isAnimationActive,p=a.offset,m=a.payload,g=a.payloadUniqBy,y=a.position,v=a.reverseDirection,k=a.useTranslate3d,w=a.viewBox,N=a.wrapperStyle,S=m??[];f&&S.length&&(S=BO(m.filter(function(E){return E.value!=null&&(E.hide!==!0||r.props.includeHidden)}),g,Zq));var x=S.length>0;return V.createElement(Uq,{allowEscapeViewBox:o,animationDuration:l,animationEasing:c,isAnimationActive:h,active:s,coordinate:d,hasPayload:x,offset:p,position:y,reverseDirection:v,useTranslate3d:k,viewBox:w,wrapperStyle:N},Jq(u,mj(mj({},this.props),{},{payload:S})))}}])}(b.PureComponent);_w(xn,"displayName","Tooltip");_w(xn,"defaultProps",{accessibilityLayer:!1,allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!ad.isSsr,itemStyle:{},labelStyle:{},offset:10,reverseDirection:{x:!1,y:!1},separator:" : ",trigger:"hover",useTranslate3d:!1,viewBox:{x:0,y:0,height:0,width:0},wrapperStyle:{}});var eK=ma,tK=function(){return eK.Date.now()},nK=tK,rK=/\s/;function aK(e){for(var t=e.length;t--&&rK.test(e.charAt(t)););return t}var iK=aK,sK=iK,oK=/^\s+/;function lK(e){return e&&e.slice(0,sK(e)+1).replace(oK,"")}var cK=lK,uK=cK,gj=Li,dK=Nl,vj=NaN,fK=/^[-+]0x[0-9a-f]+$/i,hK=/^0b[01]+$/i,pK=/^0o[0-7]+$/i,mK=parseInt;function gK(e){if(typeof e=="number")return e;if(dK(e))return vj;if(gj(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=gj(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=uK(e);var n=hK.test(e);return n||pK.test(e)?mK(e.slice(2),n?2:8):fK.test(e)?vj:+e}var QO=gK,vK=Li,bg=nK,yj=QO,yK="Expected a function",bK=Math.max,xK=Math.min;function wK(e,t,n){var r,a,s,o,l,c,u=0,d=!1,f=!1,h=!0;if(typeof e!="function")throw new TypeError(yK);t=yj(t)||0,vK(n)&&(d=!!n.leading,f="maxWait"in n,s=f?bK(yj(n.maxWait)||0,t):s,h="trailing"in n?!!n.trailing:h);function p(x){var E=r,_=a;return r=a=void 0,u=x,o=e.apply(_,E),o}function m(x){return u=x,l=setTimeout(v,t),d?p(x):o}function g(x){var E=x-c,_=x-u,O=t-E;return f?xK(O,s-_):O}function y(x){var E=x-c,_=x-u;return c===void 0||E>=t||E<0||f&&_>=s}function v(){var x=bg();if(y(x))return k(x);l=setTimeout(v,g(x))}function k(x){return l=void 0,h&&r?p(x):(r=a=void 0,o)}function w(){l!==void 0&&clearTimeout(l),u=0,r=c=a=l=void 0}function N(){return l===void 0?o:k(bg())}function S(){var x=bg(),E=y(x);if(r=arguments,a=this,c=x,E){if(l===void 0)return m(c);if(f)return clearTimeout(l),l=setTimeout(v,t),p(c)}return l===void 0&&(l=setTimeout(v,t)),o}return S.cancel=w,S.flush=N,S}var kK=wK,SK=kK,jK=Li,NK="Expected a function";function EK(e,t,n){var r=!0,a=!0;if(typeof e!="function")throw new TypeError(NK);return jK(n)&&(r="leading"in n?!!n.leading:r,a="trailing"in n?!!n.trailing:a),SK(e,t,{leading:r,maxWait:t,trailing:a})}var _K=EK;const ZO=Xe(_K);function pu(e){"@babel/helpers - typeof";return pu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pu(e)}function bj(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function qd(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?bj(Object(n),!0).forEach(function(r){CK(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):bj(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function CK(e,t,n){return t=AK(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function AK(e){var t=TK(e,"string");return pu(t)=="symbol"?t:t+""}function TK(e,t){if(pu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(pu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function OK(e,t){return IK(e)||MK(e,t)||RK(e,t)||PK()}function PK(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
80
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function RK(e,t){if(e){if(typeof e=="string")return xj(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return xj(e,t)}}function xj(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function MK(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,a,s,o,l=[],c=!0,u=!1;try{if(s=(n=n.call(e)).next,t!==0)for(;!(c=(r=s.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(d){u=!0,a=d}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return l}}function IK(e){if(Array.isArray(e))return e}var os=b.forwardRef(function(e,t){var n=e.aspect,r=e.initialDimension,a=r===void 0?{width:-1,height:-1}:r,s=e.width,o=s===void 0?"100%":s,l=e.height,c=l===void 0?"100%":l,u=e.minWidth,d=u===void 0?0:u,f=e.minHeight,h=e.maxHeight,p=e.children,m=e.debounce,g=m===void 0?0:m,y=e.id,v=e.className,k=e.onResize,w=e.style,N=w===void 0?{}:w,S=b.useRef(null),x=b.useRef();x.current=k,b.useImperativeHandle(t,function(){return Object.defineProperty(S.current,"current",{get:function(){return console.warn("The usage of ref.current.current is deprecated and will no longer be supported."),S.current},configurable:!0})});var E=b.useState({containerWidth:a.width,containerHeight:a.height}),_=OK(E,2),O=_[0],C=_[1],P=b.useCallback(function(D,I){C(function(M){var L=Math.round(D),U=Math.round(I);return M.containerWidth===L&&M.containerHeight===U?M:{containerWidth:L,containerHeight:U}})},[]);b.useEffect(function(){var D=function(B){var T,Z=B[0].contentRect,F=Z.width,$=Z.height;P(F,$),(T=x.current)===null||T===void 0||T.call(x,F,$)};g>0&&(D=ZO(D,g,{trailing:!0,leading:!1}));var I=new ResizeObserver(D),M=S.current.getBoundingClientRect(),L=M.width,U=M.height;return P(L,U),I.observe(S.current),function(){I.disconnect()}},[P,g]);var A=b.useMemo(function(){var D=O.containerWidth,I=O.containerHeight;if(D<0||I<0)return null;Pa(hs(o)||hs(c),`The width(%s) and height(%s) are both fixed numbers,
|
|
81
|
+
maybe you don't need to use a ResponsiveContainer.`,o,c),Pa(!n||n>0,"The aspect(%s) must be greater than zero.",n);var M=hs(o)?D:o,L=hs(c)?I:c;n&&n>0&&(M?L=M/n:L&&(M=L*n),h&&L>h&&(L=h)),Pa(M>0||L>0,`The width(%s) and height(%s) of chart should be greater than 0,
|
|
82
|
+
please check the style of container, or the props width(%s) and height(%s),
|
|
83
|
+
or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the
|
|
84
|
+
height and width.`,M,L,o,c,d,f,n);var U=!Array.isArray(p)&&Oa(p.type).endsWith("Chart");return V.Children.map(p,function(R){return V.isValidElement(R)?b.cloneElement(R,qd({width:M,height:L},U?{style:qd({height:"100%",width:"100%",maxHeight:L,maxWidth:M},R.props.style)}:{})):R})},[n,p,c,h,f,d,O,o]);return V.createElement("div",{id:y?"".concat(y):void 0,className:qe("recharts-responsive-container",v),style:qd(qd({},N),{},{width:o,height:c,minWidth:d,minHeight:f,maxHeight:h}),ref:S},A)}),mu=function(t){return null};mu.displayName="Cell";function gu(e){"@babel/helpers - typeof";return gu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gu(e)}function wj(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Hy(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?wj(Object(n),!0).forEach(function(r){$K(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):wj(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function $K(e,t,n){return t=LK(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function LK(e){var t=DK(e,"string");return gu(t)=="symbol"?t:t+""}function DK(e,t){if(gu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(gu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var io={widthCache:{},cacheCount:0},BK=2e3,zK={position:"absolute",top:"-20000px",left:0,padding:0,margin:0,border:"none",whiteSpace:"pre"},kj="recharts_measurement_span";function FK(e){var t=Hy({},e);return Object.keys(t).forEach(function(n){t[n]||delete t[n]}),t}var $c=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||ad.isSsr)return{width:0,height:0};var r=FK(n),a=JSON.stringify({text:t,copyStyle:r});if(io.widthCache[a])return io.widthCache[a];try{var s=document.getElementById(kj);s||(s=document.createElement("span"),s.setAttribute("id",kj),s.setAttribute("aria-hidden","true"),document.body.appendChild(s));var o=Hy(Hy({},zK),r);Object.assign(s.style,o),s.textContent="".concat(t);var l=s.getBoundingClientRect(),c={width:l.width,height:l.height};return io.widthCache[a]=c,++io.cacheCount>BK&&(io.cacheCount=0,io.widthCache={}),c}catch{return{width:0,height:0}}},UK=function(t){return{top:t.top+window.scrollY-document.documentElement.clientTop,left:t.left+window.scrollX-document.documentElement.clientLeft}};function vu(e){"@babel/helpers - typeof";return vu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},vu(e)}function wh(e,t){return qK(e)||GK(e,t)||HK(e,t)||WK()}function WK(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
85
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function HK(e,t){if(e){if(typeof e=="string")return Sj(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Sj(e,t)}}function Sj(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function GK(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,a,s,o,l=[],c=!0,u=!1;try{if(s=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=s.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(d){u=!0,a=d}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return l}}function qK(e){if(Array.isArray(e))return e}function KK(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function jj(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,YK(r.key),r)}}function VK(e,t,n){return t&&jj(e.prototype,t),n&&jj(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function YK(e){var t=XK(e,"string");return vu(t)=="symbol"?t:t+""}function XK(e,t){if(vu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(vu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var Nj=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([*/])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,Ej=/(-?\d+(?:\.\d+)?[a-zA-Z%]*)([+-])(-?\d+(?:\.\d+)?[a-zA-Z%]*)/,QK=/^px|cm|vh|vw|em|rem|%|mm|in|pt|pc|ex|ch|vmin|vmax|Q$/,ZK=/(-?\d+(?:\.\d+)?)([a-zA-Z%]+)?/,JO={cm:96/2.54,mm:96/25.4,pt:96/72,pc:96/6,in:96,Q:96/(2.54*40),px:1},JK=Object.keys(JO),Ao="NaN";function eV(e,t){return e*JO[t]}var Kd=function(){function e(t,n){KK(this,e),this.num=t,this.unit=n,this.num=t,this.unit=n,Number.isNaN(t)&&(this.unit=""),n!==""&&!QK.test(n)&&(this.num=NaN,this.unit=""),JK.includes(n)&&(this.num=eV(t,n),this.unit="px")}return VK(e,[{key:"add",value:function(n){return this.unit!==n.unit?new e(NaN,""):new e(this.num+n.num,this.unit)}},{key:"subtract",value:function(n){return this.unit!==n.unit?new e(NaN,""):new e(this.num-n.num,this.unit)}},{key:"multiply",value:function(n){return this.unit!==""&&n.unit!==""&&this.unit!==n.unit?new e(NaN,""):new e(this.num*n.num,this.unit||n.unit)}},{key:"divide",value:function(n){return this.unit!==""&&n.unit!==""&&this.unit!==n.unit?new e(NaN,""):new e(this.num/n.num,this.unit||n.unit)}},{key:"toString",value:function(){return"".concat(this.num).concat(this.unit)}},{key:"isNaN",value:function(){return Number.isNaN(this.num)}}],[{key:"parse",value:function(n){var r,a=(r=ZK.exec(n))!==null&&r!==void 0?r:[],s=wh(a,3),o=s[1],l=s[2];return new e(parseFloat(o),l??"")}}])}();function eP(e){if(e.includes(Ao))return Ao;for(var t=e;t.includes("*")||t.includes("/");){var n,r=(n=Nj.exec(t))!==null&&n!==void 0?n:[],a=wh(r,4),s=a[1],o=a[2],l=a[3],c=Kd.parse(s??""),u=Kd.parse(l??""),d=o==="*"?c.multiply(u):c.divide(u);if(d.isNaN())return Ao;t=t.replace(Nj,d.toString())}for(;t.includes("+")||/.-\d+(?:\.\d+)?/.test(t);){var f,h=(f=Ej.exec(t))!==null&&f!==void 0?f:[],p=wh(h,4),m=p[1],g=p[2],y=p[3],v=Kd.parse(m??""),k=Kd.parse(y??""),w=g==="+"?v.add(k):v.subtract(k);if(w.isNaN())return Ao;t=t.replace(Ej,w.toString())}return t}var _j=/\(([^()]*)\)/;function tV(e){for(var t=e;t.includes("(");){var n=_j.exec(t),r=wh(n,2),a=r[1];t=t.replace(_j,eP(a))}return t}function nV(e){var t=e.replace(/\s+/g,"");return t=tV(t),t=eP(t),t}function rV(e){try{return nV(e)}catch{return Ao}}function xg(e){var t=rV(e.slice(5,-1));return t===Ao?"":t}var aV=["x","y","lineHeight","capHeight","scaleToFit","textAnchor","verticalAnchor","fill"],iV=["dx","dy","angle","className","breakAll"];function Gy(){return Gy=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Gy.apply(this,arguments)}function Cj(e,t){if(e==null)return{};var n=sV(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function sV(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Aj(e,t){return uV(e)||cV(e,t)||lV(e,t)||oV()}function oV(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
86
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function lV(e,t){if(e){if(typeof e=="string")return Tj(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Tj(e,t)}}function Tj(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function cV(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,a,s,o,l=[],c=!0,u=!1;try{if(s=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=s.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(d){u=!0,a=d}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return l}}function uV(e){if(Array.isArray(e))return e}var tP=/[ \f\n\r\t\v\u2028\u2029]+/,nP=function(t){var n=t.children,r=t.breakAll,a=t.style;try{var s=[];Ke(n)||(r?s=n.toString().split(""):s=n.toString().split(tP));var o=s.map(function(c){return{word:c,width:$c(c,a).width}}),l=r?0:$c(" ",a).width;return{wordsWithComputedWidth:o,spaceWidth:l}}catch{return null}},dV=function(t,n,r,a,s){var o=t.maxLines,l=t.children,c=t.style,u=t.breakAll,d=ce(o),f=l,h=function(){var M=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return M.reduce(function(L,U){var R=U.word,B=U.width,T=L[L.length-1];if(T&&(a==null||s||T.width+B+r<Number(a)))T.words.push(R),T.width+=B+r;else{var Z={words:[R],width:B};L.push(Z)}return L},[])},p=h(n),m=function(M){return M.reduce(function(L,U){return L.width>U.width?L:U})};if(!d)return p;for(var g="…",y=function(M){var L=f.slice(0,M),U=nP({breakAll:u,style:c,children:L+g}).wordsWithComputedWidth,R=h(U),B=R.length>o||m(R).width>Number(a);return[B,R]},v=0,k=f.length-1,w=0,N;v<=k&&w<=f.length-1;){var S=Math.floor((v+k)/2),x=S-1,E=y(x),_=Aj(E,2),O=_[0],C=_[1],P=y(S),A=Aj(P,1),D=A[0];if(!O&&!D&&(v=S+1),O&&D&&(k=S-1),!O&&D){N=C;break}w++}return N||p},Oj=function(t){var n=Ke(t)?[]:t.toString().split(tP);return[{words:n}]},fV=function(t){var n=t.width,r=t.scaleToFit,a=t.children,s=t.style,o=t.breakAll,l=t.maxLines;if((n||r)&&!ad.isSsr){var c,u,d=nP({breakAll:o,children:a,style:s});if(d){var f=d.wordsWithComputedWidth,h=d.spaceWidth;c=f,u=h}else return Oj(a);return dV({breakAll:o,children:a,maxLines:l,style:s},c,u,n,r)}return Oj(a)},Pj="#808080",kh=function(t){var n=t.x,r=n===void 0?0:n,a=t.y,s=a===void 0?0:a,o=t.lineHeight,l=o===void 0?"1em":o,c=t.capHeight,u=c===void 0?"0.71em":c,d=t.scaleToFit,f=d===void 0?!1:d,h=t.textAnchor,p=h===void 0?"start":h,m=t.verticalAnchor,g=m===void 0?"end":m,y=t.fill,v=y===void 0?Pj:y,k=Cj(t,aV),w=b.useMemo(function(){return fV({breakAll:k.breakAll,children:k.children,maxLines:k.maxLines,scaleToFit:f,style:k.style,width:k.width})},[k.breakAll,k.children,k.maxLines,f,k.style,k.width]),N=k.dx,S=k.dy,x=k.angle,E=k.className,_=k.breakAll,O=Cj(k,iV);if(!Vt(r)||!Vt(s))return null;var C=r+(ce(N)?N:0),P=s+(ce(S)?S:0),A;switch(g){case"start":A=xg("calc(".concat(u,")"));break;case"middle":A=xg("calc(".concat((w.length-1)/2," * -").concat(l," + (").concat(u," / 2))"));break;default:A=xg("calc(".concat(w.length-1," * -").concat(l,")"));break}var D=[];if(f){var I=w[0].width,M=k.width;D.push("scale(".concat((ce(M)?M/I:1)/I,")"))}return x&&D.push("rotate(".concat(x,", ").concat(C,", ").concat(P,")")),D.length&&(O.transform=D.join(" ")),V.createElement("text",Gy({},Ge(O,!0),{x:C,y:P,className:qe("recharts-text",E),textAnchor:p,fill:v.includes("url")?Pj:v}),w.map(function(L,U){var R=L.words.join(_?"":" ");return V.createElement("tspan",{x:C,dy:U===0?A:l,key:"".concat(R,"-").concat(U)},R)}))};function _i(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function hV(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Cw(e){let t,n,r;e.length!==2?(t=_i,n=(l,c)=>_i(e(l),c),r=(l,c)=>e(l)-c):(t=e===_i||e===hV?e:pV,n=e,r=e);function a(l,c,u=0,d=l.length){if(u<d){if(t(c,c)!==0)return d;do{const f=u+d>>>1;n(l[f],c)<0?u=f+1:d=f}while(u<d)}return u}function s(l,c,u=0,d=l.length){if(u<d){if(t(c,c)!==0)return d;do{const f=u+d>>>1;n(l[f],c)<=0?u=f+1:d=f}while(u<d)}return u}function o(l,c,u=0,d=l.length){const f=a(l,c,u,d-1);return f>u&&r(l[f-1],c)>-r(l[f],c)?f-1:f}return{left:a,center:o,right:s}}function pV(){return 0}function rP(e){return e===null?NaN:+e}function*mV(e,t){for(let n of e)n!=null&&(n=+n)>=n&&(yield n)}const gV=Cw(_i),id=gV.right;Cw(rP).center;class Rj extends Map{constructor(t,n=bV){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),t!=null)for(const[r,a]of t)this.set(r,a)}get(t){return super.get(Mj(this,t))}has(t){return super.has(Mj(this,t))}set(t,n){return super.set(vV(this,t),n)}delete(t){return super.delete(yV(this,t))}}function Mj({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):n}function vV({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function yV({_intern:e,_key:t},n){const r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function bV(e){return e!==null&&typeof e=="object"?e.valueOf():e}function xV(e=_i){if(e===_i)return aP;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 aP(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:e>t?1:0)}const wV=Math.sqrt(50),kV=Math.sqrt(10),SV=Math.sqrt(2);function Sh(e,t,n){const r=(t-e)/Math.max(0,n),a=Math.floor(Math.log10(r)),s=r/Math.pow(10,a),o=s>=wV?10:s>=kV?5:s>=SV?2:1;let l,c,u;return a<0?(u=Math.pow(10,-a)/o,l=Math.round(e*u),c=Math.round(t*u),l/u<e&&++l,c/u>t&&--c,u=-u):(u=Math.pow(10,a)*o,l=Math.round(e/u),c=Math.round(t/u),l*u<e&&++l,c*u>t&&--c),c<l&&.5<=n&&n<2?Sh(e,t,n*2):[l,c,u]}function qy(e,t,n){if(t=+t,e=+e,n=+n,!(n>0))return[];if(e===t)return[e];const r=t<e,[a,s,o]=r?Sh(t,e,n):Sh(e,t,n);if(!(s>=a))return[];const l=s-a+1,c=new Array(l);if(r)if(o<0)for(let u=0;u<l;++u)c[u]=(s-u)/-o;else for(let u=0;u<l;++u)c[u]=(s-u)*o;else if(o<0)for(let u=0;u<l;++u)c[u]=(a+u)/-o;else for(let u=0;u<l;++u)c[u]=(a+u)*o;return c}function Ky(e,t,n){return t=+t,e=+e,n=+n,Sh(e,t,n)[2]}function Vy(e,t,n){t=+t,e=+e,n=+n;const r=t<e,a=r?Ky(t,e,n):Ky(e,t,n);return(r?-1:1)*(a<0?1/-a:a)}function Ij(e,t){let n;for(const r of e)r!=null&&(n<r||n===void 0&&r>=r)&&(n=r);return n}function $j(e,t){let n;for(const r of e)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);return n}function iP(e,t,n=0,r=1/0,a){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(a=a===void 0?aP:xV(a);r>n;){if(r-n>600){const c=r-n+1,u=t-n+1,d=Math.log(c),f=.5*Math.exp(2*d/3),h=.5*Math.sqrt(d*f*(c-f)/c)*(u-c/2<0?-1:1),p=Math.max(n,Math.floor(t-u*f/c+h)),m=Math.min(r,Math.floor(t+(c-u)*f/c+h));iP(e,t,p,m,a)}const s=e[t];let o=n,l=r;for(lc(e,n,t),a(e[r],s)>0&&lc(e,n,r);o<l;){for(lc(e,o,l),++o,--l;a(e[o],s)<0;)++o;for(;a(e[l],s)>0;)--l}a(e[n],s)===0?lc(e,n,l):(++l,lc(e,l,r)),l<=t&&(n=l+1),t<=l&&(r=l-1)}return e}function lc(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function jV(e,t,n){if(e=Float64Array.from(mV(e)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return $j(e);if(t>=1)return Ij(e);var r,a=(r-1)*t,s=Math.floor(a),o=Ij(iP(e,s).subarray(0,s+1)),l=$j(e.subarray(s+1));return o+(l-o)*(a-s)}}function NV(e,t,n=rP){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,a=(r-1)*t,s=Math.floor(a),o=+n(e[s],s,e),l=+n(e[s+1],s+1,e);return o+(l-o)*(a-s)}}function EV(e,t,n){e=+e,t=+t,n=(a=arguments.length)<2?(t=e,e=0,1):a<3?1:+n;for(var r=-1,a=Math.max(0,Math.ceil((t-e)/n))|0,s=new Array(a);++r<a;)s[r]=e+r*n;return s}function Er(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}function Ga(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 Yy=Symbol("implicit");function Aw(){var e=new Rj,t=[],n=[],r=Yy;function a(s){let o=e.get(s);if(o===void 0){if(r!==Yy)return r;e.set(s,o=t.push(s)-1)}return n[o%n.length]}return a.domain=function(s){if(!arguments.length)return t.slice();t=[],e=new Rj;for(const o of s)e.has(o)||e.set(o,t.push(o)-1);return a},a.range=function(s){return arguments.length?(n=Array.from(s),a):n.slice()},a.unknown=function(s){return arguments.length?(r=s,a):r},a.copy=function(){return Aw(t,n).unknown(r)},Er.apply(a,arguments),a}function yu(){var e=Aw().unknown(void 0),t=e.domain,n=e.range,r=0,a=1,s,o,l=!1,c=0,u=0,d=.5;delete e.unknown;function f(){var h=t().length,p=a<r,m=p?a:r,g=p?r:a;s=(g-m)/Math.max(1,h-c+u*2),l&&(s=Math.floor(s)),m+=(g-m-s*(h-c))*d,o=s*(1-c),l&&(m=Math.round(m),o=Math.round(o));var y=EV(h).map(function(v){return m+s*v});return n(p?y.reverse():y)}return e.domain=function(h){return arguments.length?(t(h),f()):t()},e.range=function(h){return arguments.length?([r,a]=h,r=+r,a=+a,f()):[r,a]},e.rangeRound=function(h){return[r,a]=h,r=+r,a=+a,l=!0,f()},e.bandwidth=function(){return o},e.step=function(){return s},e.round=function(h){return arguments.length?(l=!!h,f()):l},e.padding=function(h){return arguments.length?(c=Math.min(1,u=+h),f()):c},e.paddingInner=function(h){return arguments.length?(c=Math.min(1,h),f()):c},e.paddingOuter=function(h){return arguments.length?(u=+h,f()):u},e.align=function(h){return arguments.length?(d=Math.max(0,Math.min(1,h)),f()):d},e.copy=function(){return yu(t(),[r,a]).round(l).paddingInner(c).paddingOuter(u).align(d)},Er.apply(f(),arguments)}function sP(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return sP(t())},e}function Lc(){return sP(yu.apply(null,arguments).paddingInner(1))}function Tw(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function oP(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function sd(){}var bu=.7,jh=1/bu,zo="\\s*([+-]?\\d+)\\s*",xu="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",da="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",_V=/^#([0-9a-f]{3,8})$/,CV=new RegExp(`^rgb\\(${zo},${zo},${zo}\\)$`),AV=new RegExp(`^rgb\\(${da},${da},${da}\\)$`),TV=new RegExp(`^rgba\\(${zo},${zo},${zo},${xu}\\)$`),OV=new RegExp(`^rgba\\(${da},${da},${da},${xu}\\)$`),PV=new RegExp(`^hsl\\(${xu},${da},${da}\\)$`),RV=new RegExp(`^hsla\\(${xu},${da},${da},${xu}\\)$`),Lj={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};Tw(sd,wu,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Dj,formatHex:Dj,formatHex8:MV,formatHsl:IV,formatRgb:Bj,toString:Bj});function Dj(){return this.rgb().formatHex()}function MV(){return this.rgb().formatHex8()}function IV(){return lP(this).formatHsl()}function Bj(){return this.rgb().formatRgb()}function wu(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=_V.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?zj(t):n===3?new Un(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Vd(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Vd(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=CV.exec(e))?new Un(t[1],t[2],t[3],1):(t=AV.exec(e))?new Un(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=TV.exec(e))?Vd(t[1],t[2],t[3],t[4]):(t=OV.exec(e))?Vd(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=PV.exec(e))?Wj(t[1],t[2]/100,t[3]/100,1):(t=RV.exec(e))?Wj(t[1],t[2]/100,t[3]/100,t[4]):Lj.hasOwnProperty(e)?zj(Lj[e]):e==="transparent"?new Un(NaN,NaN,NaN,0):null}function zj(e){return new Un(e>>16&255,e>>8&255,e&255,1)}function Vd(e,t,n,r){return r<=0&&(e=t=n=NaN),new Un(e,t,n,r)}function $V(e){return e instanceof sd||(e=wu(e)),e?(e=e.rgb(),new Un(e.r,e.g,e.b,e.opacity)):new Un}function Xy(e,t,n,r){return arguments.length===1?$V(e):new Un(e,t,n,r??1)}function Un(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Tw(Un,Xy,oP(sd,{brighter(e){return e=e==null?jh:Math.pow(jh,e),new Un(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?bu:Math.pow(bu,e),new Un(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Un(ws(this.r),ws(this.g),ws(this.b),Nh(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:Fj,formatHex:Fj,formatHex8:LV,formatRgb:Uj,toString:Uj}));function Fj(){return`#${ps(this.r)}${ps(this.g)}${ps(this.b)}`}function LV(){return`#${ps(this.r)}${ps(this.g)}${ps(this.b)}${ps((isNaN(this.opacity)?1:this.opacity)*255)}`}function Uj(){const e=Nh(this.opacity);return`${e===1?"rgb(":"rgba("}${ws(this.r)}, ${ws(this.g)}, ${ws(this.b)}${e===1?")":`, ${e})`}`}function Nh(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function ws(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function ps(e){return e=ws(e),(e<16?"0":"")+e.toString(16)}function Wj(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new $r(e,t,n,r)}function lP(e){if(e instanceof $r)return new $r(e.h,e.s,e.l,e.opacity);if(e instanceof sd||(e=wu(e)),!e)return new $r;if(e instanceof $r)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,a=Math.min(t,n,r),s=Math.max(t,n,r),o=NaN,l=s-a,c=(s+a)/2;return l?(t===s?o=(n-r)/l+(n<r)*6:n===s?o=(r-t)/l+2:o=(t-n)/l+4,l/=c<.5?s+a:2-s-a,o*=60):l=c>0&&c<1?0:o,new $r(o,l,c,e.opacity)}function DV(e,t,n,r){return arguments.length===1?lP(e):new $r(e,t,n,r??1)}function $r(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Tw($r,DV,oP(sd,{brighter(e){return e=e==null?jh:Math.pow(jh,e),new $r(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?bu:Math.pow(bu,e),new $r(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,a=2*n-r;return new Un(wg(e>=240?e-240:e+120,a,r),wg(e,a,r),wg(e<120?e+240:e-120,a,r),this.opacity)},clamp(){return new $r(Hj(this.h),Yd(this.s),Yd(this.l),Nh(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=Nh(this.opacity);return`${e===1?"hsl(":"hsla("}${Hj(this.h)}, ${Yd(this.s)*100}%, ${Yd(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Hj(e){return e=(e||0)%360,e<0?e+360:e}function Yd(e){return Math.max(0,Math.min(1,e||0))}function wg(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 Ow=e=>()=>e;function BV(e,t){return function(n){return e+n*t}}function zV(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 FV(e){return(e=+e)==1?cP:function(t,n){return n-t?zV(t,n,e):Ow(isNaN(t)?n:t)}}function cP(e,t){var n=t-e;return n?BV(e,n):Ow(isNaN(e)?t:e)}const Gj=function e(t){var n=FV(t);function r(a,s){var o=n((a=Xy(a)).r,(s=Xy(s)).r),l=n(a.g,s.g),c=n(a.b,s.b),u=cP(a.opacity,s.opacity);return function(d){return a.r=o(d),a.g=l(d),a.b=c(d),a.opacity=u(d),a+""}}return r.gamma=e,r}(1);function UV(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),a;return function(s){for(a=0;a<n;++a)r[a]=e[a]*(1-s)+t[a]*s;return r}}function WV(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function HV(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,a=new Array(r),s=new Array(n),o;for(o=0;o<r;++o)a[o]=Rl(e[o],t[o]);for(;o<n;++o)s[o]=t[o];return function(l){for(o=0;o<r;++o)s[o]=a[o](l);return s}}function GV(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function Eh(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function qV(e,t){var n={},r={},a;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(a in t)a in e?n[a]=Rl(e[a],t[a]):r[a]=t[a];return function(s){for(a in n)r[a]=n[a](s);return r}}var Qy=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,kg=new RegExp(Qy.source,"g");function KV(e){return function(){return e}}function VV(e){return function(t){return e(t)+""}}function YV(e,t){var n=Qy.lastIndex=kg.lastIndex=0,r,a,s,o=-1,l=[],c=[];for(e=e+"",t=t+"";(r=Qy.exec(e))&&(a=kg.exec(t));)(s=a.index)>n&&(s=t.slice(n,s),l[o]?l[o]+=s:l[++o]=s),(r=r[0])===(a=a[0])?l[o]?l[o]+=a:l[++o]=a:(l[++o]=null,c.push({i:o,x:Eh(r,a)})),n=kg.lastIndex;return n<t.length&&(s=t.slice(n),l[o]?l[o]+=s:l[++o]=s),l.length<2?c[0]?VV(c[0].x):KV(t):(t=c.length,function(u){for(var d=0,f;d<t;++d)l[(f=c[d]).i]=f.x(u);return l.join("")})}function Rl(e,t){var n=typeof t,r;return t==null||n==="boolean"?Ow(t):(n==="number"?Eh:n==="string"?(r=wu(t))?(t=r,Gj):YV:t instanceof wu?Gj:t instanceof Date?GV:WV(t)?UV:Array.isArray(t)?HV:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?qV:Eh)(e,t)}function Pw(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}function XV(e,t){t===void 0&&(t=e,e=Rl);for(var n=0,r=t.length-1,a=t[0],s=new Array(r<0?0:r);n<r;)s[n]=e(a,a=t[++n]);return function(o){var l=Math.max(0,Math.min(r-1,Math.floor(o*=r)));return s[l](o-l)}}function QV(e){return function(){return e}}function _h(e){return+e}var qj=[0,1];function Pn(e){return e}function Zy(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:QV(isNaN(t)?NaN:.5)}function ZV(e,t){var n;return e>t&&(n=e,e=t,t=n),function(r){return Math.max(e,Math.min(t,r))}}function JV(e,t,n){var r=e[0],a=e[1],s=t[0],o=t[1];return a<r?(r=Zy(a,r),s=n(o,s)):(r=Zy(r,a),s=n(s,o)),function(l){return s(r(l))}}function e7(e,t,n){var r=Math.min(e.length,t.length)-1,a=new Array(r),s=new Array(r),o=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++o<r;)a[o]=Zy(e[o],e[o+1]),s[o]=n(t[o],t[o+1]);return function(l){var c=id(e,l,1,r)-1;return s[c](a[c](l))}}function od(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function sm(){var e=qj,t=qj,n=Rl,r,a,s,o=Pn,l,c,u;function d(){var h=Math.min(e.length,t.length);return o!==Pn&&(o=ZV(e[0],e[h-1])),l=h>2?e7:JV,c=u=null,f}function f(h){return h==null||isNaN(h=+h)?s:(c||(c=l(e.map(r),t,n)))(r(o(h)))}return f.invert=function(h){return o(a((u||(u=l(t,e.map(r),Eh)))(h)))},f.domain=function(h){return arguments.length?(e=Array.from(h,_h),d()):e.slice()},f.range=function(h){return arguments.length?(t=Array.from(h),d()):t.slice()},f.rangeRound=function(h){return t=Array.from(h),n=Pw,d()},f.clamp=function(h){return arguments.length?(o=h?!0:Pn,d()):o!==Pn},f.interpolate=function(h){return arguments.length?(n=h,d()):n},f.unknown=function(h){return arguments.length?(s=h,f):s},function(h,p){return r=h,a=p,d()}}function Rw(){return sm()(Pn,Pn)}function t7(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function Ch(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 nl(e){return e=Ch(Math.abs(e)),e?e[1]:NaN}function n7(e,t){return function(n,r){for(var a=n.length,s=[],o=0,l=e[0],c=0;a>0&&l>0&&(c+l+1>r&&(l=Math.max(1,r-c)),s.push(n.substring(a-=l,a+l)),!((c+=l+1)>r));)l=e[o=(o+1)%e.length];return s.reverse().join(t)}}function r7(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}var a7=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function ku(e){if(!(t=a7.exec(e)))throw new Error("invalid format: "+e);var t;return new Mw({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]})}ku.prototype=Mw.prototype;function Mw(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+""}Mw.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 i7(e){e:for(var t=e.length,n=1,r=-1,a;n<t;++n)switch(e[n]){case".":r=a=n;break;case"0":r===0&&(r=n),a=n;break;default:if(!+e[n])break e;r>0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(a+1):e}var Ah;function s7(e,t){var n=Ch(e,t);if(!n)return Ah=void 0,e.toPrecision(t);var r=n[0],a=n[1],s=a-(Ah=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,o=r.length;return s===o?r:s>o?r+new Array(s-o+1).join("0"):s>0?r.slice(0,s)+"."+r.slice(s):"0."+new Array(1-s).join("0")+Ch(e,Math.max(0,t+s-1))[0]}function Kj(e,t){var n=Ch(e,t);if(!n)return e+"";var r=n[0],a=n[1];return a<0?"0."+new Array(-a).join("0")+r:r.length>a+1?r.slice(0,a+1)+"."+r.slice(a+1):r+new Array(a-r.length+2).join("0")}const Vj={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:t7,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)=>Kj(e*100,t),r:Kj,s:s7,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Yj(e){return e}var Xj=Array.prototype.map,Qj=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function o7(e){var t=e.grouping===void 0||e.thousands===void 0?Yj:n7(Xj.call(e.grouping,Number),e.thousands+""),n=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",a=e.decimal===void 0?".":e.decimal+"",s=e.numerals===void 0?Yj:r7(Xj.call(e.numerals,String)),o=e.percent===void 0?"%":e.percent+"",l=e.minus===void 0?"−":e.minus+"",c=e.nan===void 0?"NaN":e.nan+"";function u(f,h){f=ku(f);var p=f.fill,m=f.align,g=f.sign,y=f.symbol,v=f.zero,k=f.width,w=f.comma,N=f.precision,S=f.trim,x=f.type;x==="n"?(w=!0,x="g"):Vj[x]||(N===void 0&&(N=12),S=!0,x="g"),(v||p==="0"&&m==="=")&&(v=!0,p="0",m="=");var E=(h&&h.prefix!==void 0?h.prefix:"")+(y==="$"?n:y==="#"&&/[boxX]/.test(x)?"0"+x.toLowerCase():""),_=(y==="$"?r:/[%p]/.test(x)?o:"")+(h&&h.suffix!==void 0?h.suffix:""),O=Vj[x],C=/[defgprs%]/.test(x);N=N===void 0?6:/[gprs]/.test(x)?Math.max(1,Math.min(21,N)):Math.max(0,Math.min(20,N));function P(A){var D=E,I=_,M,L,U;if(x==="c")I=O(A)+I,A="";else{A=+A;var R=A<0||1/A<0;if(A=isNaN(A)?c:O(Math.abs(A),N),S&&(A=i7(A)),R&&+A==0&&g!=="+"&&(R=!1),D=(R?g==="("?g:l:g==="-"||g==="("?"":g)+D,I=(x==="s"&&!isNaN(A)&&Ah!==void 0?Qj[8+Ah/3]:"")+I+(R&&g==="("?")":""),C){for(M=-1,L=A.length;++M<L;)if(U=A.charCodeAt(M),48>U||U>57){I=(U===46?a+A.slice(M+1):A.slice(M))+I,A=A.slice(0,M);break}}}w&&!v&&(A=t(A,1/0));var B=D.length+A.length+I.length,T=B<k?new Array(k-B+1).join(p):"";switch(w&&v&&(A=t(T+A,T.length?k-I.length:1/0),T=""),m){case"<":A=D+A+I+T;break;case"=":A=D+T+A+I;break;case"^":A=T.slice(0,B=T.length>>1)+D+A+I+T.slice(B);break;default:A=T+D+A+I;break}return s(A)}return P.toString=function(){return f+""},P}function d(f,h){var p=Math.max(-8,Math.min(8,Math.floor(nl(h)/3)))*3,m=Math.pow(10,-p),g=u((f=ku(f),f.type="f",f),{suffix:Qj[8+p/3]});return function(y){return g(m*y)}}return{format:u,formatPrefix:d}}var Xd,Iw,uP;l7({thousands:",",grouping:[3],currency:["$",""]});function l7(e){return Xd=o7(e),Iw=Xd.format,uP=Xd.formatPrefix,Xd}function c7(e){return Math.max(0,-nl(Math.abs(e)))}function u7(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(nl(t)/3)))*3-nl(Math.abs(e)))}function d7(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,nl(t)-nl(e))+1}function dP(e,t,n,r){var a=Vy(e,t,n),s;switch(r=ku(r??",f"),r.type){case"s":{var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(s=u7(a,o))&&(r.precision=s),uP(r,o)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(s=d7(a,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=s-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(s=c7(a))&&(r.precision=s-(r.type==="%")*2);break}}return Iw(r)}function Bi(e){var t=e.domain;return e.ticks=function(n){var r=t();return qy(r[0],r[r.length-1],n??10)},e.tickFormat=function(n,r){var a=t();return dP(a[0],a[a.length-1],n??10,r)},e.nice=function(n){n==null&&(n=10);var r=t(),a=0,s=r.length-1,o=r[a],l=r[s],c,u,d=10;for(l<o&&(u=o,o=l,l=u,u=a,a=s,s=u);d-- >0;){if(u=Ky(o,l,n),u===c)return r[a]=o,r[s]=l,t(r);if(u>0)o=Math.floor(o/u)*u,l=Math.ceil(l/u)*u;else if(u<0)o=Math.ceil(o*u)/u,l=Math.floor(l*u)/u;else break;c=u}return e},e}function Th(){var e=Rw();return e.copy=function(){return od(e,Th())},Er.apply(e,arguments),Bi(e)}function fP(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,_h),n):e.slice()},n.unknown=function(r){return arguments.length?(t=r,n):t},n.copy=function(){return fP(e).unknown(t)},e=arguments.length?Array.from(e,_h):[0,1],Bi(n)}function hP(e,t){e=e.slice();var n=0,r=e.length-1,a=e[n],s=e[r],o;return s<a&&(o=n,n=r,r=o,o=a,a=s,s=o),e[n]=t.floor(a),e[r]=t.ceil(s),e}function Zj(e){return Math.log(e)}function Jj(e){return Math.exp(e)}function f7(e){return-Math.log(-e)}function h7(e){return-Math.exp(-e)}function p7(e){return isFinite(e)?+("1e"+e):e<0?0:e}function m7(e){return e===10?p7:e===Math.E?Math.exp:t=>Math.pow(e,t)}function g7(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 e1(e){return(t,n)=>-e(-t,n)}function $w(e){const t=e(Zj,Jj),n=t.domain;let r=10,a,s;function o(){return a=g7(r),s=m7(r),n()[0]<0?(a=e1(a),s=e1(s),e(f7,h7)):e(Zj,Jj),t}return t.base=function(l){return arguments.length?(r=+l,o()):r},t.domain=function(l){return arguments.length?(n(l),o()):n()},t.ticks=l=>{const c=n();let u=c[0],d=c[c.length-1];const f=d<u;f&&([u,d]=[d,u]);let h=a(u),p=a(d),m,g;const y=l==null?10:+l;let v=[];if(!(r%1)&&p-h<y){if(h=Math.floor(h),p=Math.ceil(p),u>0){for(;h<=p;++h)for(m=1;m<r;++m)if(g=h<0?m/s(-h):m*s(h),!(g<u)){if(g>d)break;v.push(g)}}else for(;h<=p;++h)for(m=r-1;m>=1;--m)if(g=h>0?m/s(-h):m*s(h),!(g<u)){if(g>d)break;v.push(g)}v.length*2<y&&(v=qy(u,d,y))}else v=qy(h,p,Math.min(p-h,y)).map(s);return f?v.reverse():v},t.tickFormat=(l,c)=>{if(l==null&&(l=10),c==null&&(c=r===10?"s":","),typeof c!="function"&&(!(r%1)&&(c=ku(c)).precision==null&&(c.trim=!0),c=Iw(c)),l===1/0)return c;const u=Math.max(1,r*l/t.ticks().length);return d=>{let f=d/s(Math.round(a(d)));return f*r<r-.5&&(f*=r),f<=u?c(d):""}},t.nice=()=>n(hP(n(),{floor:l=>s(Math.floor(a(l))),ceil:l=>s(Math.ceil(a(l)))})),t}function pP(){const e=$w(sm()).domain([1,10]);return e.copy=()=>od(e,pP()).base(e.base()),Er.apply(e,arguments),e}function t1(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function n1(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Lw(e){var t=1,n=e(t1(t),n1(t));return n.constant=function(r){return arguments.length?e(t1(t=+r),n1(t)):t},Bi(n)}function mP(){var e=Lw(sm());return e.copy=function(){return od(e,mP()).constant(e.constant())},Er.apply(e,arguments)}function r1(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function v7(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function y7(e){return e<0?-e*e:e*e}function Dw(e){var t=e(Pn,Pn),n=1;function r(){return n===1?e(Pn,Pn):n===.5?e(v7,y7):e(r1(n),r1(1/n))}return t.exponent=function(a){return arguments.length?(n=+a,r()):n},Bi(t)}function Bw(){var e=Dw(sm());return e.copy=function(){return od(e,Bw()).exponent(e.exponent())},Er.apply(e,arguments),e}function b7(){return Bw.apply(null,arguments).exponent(.5)}function a1(e){return Math.sign(e)*e*e}function x7(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function gP(){var e=Rw(),t=[0,1],n=!1,r;function a(s){var o=x7(e(s));return isNaN(o)?r:n?Math.round(o):o}return a.invert=function(s){return e.invert(a1(s))},a.domain=function(s){return arguments.length?(e.domain(s),a):e.domain()},a.range=function(s){return arguments.length?(e.range((t=Array.from(s,_h)).map(a1)),a):t.slice()},a.rangeRound=function(s){return a.range(s).round(!0)},a.round=function(s){return arguments.length?(n=!!s,a):n},a.clamp=function(s){return arguments.length?(e.clamp(s),a):e.clamp()},a.unknown=function(s){return arguments.length?(r=s,a):r},a.copy=function(){return gP(e.domain(),t).round(n).clamp(e.clamp()).unknown(r)},Er.apply(a,arguments),Bi(a)}function vP(){var e=[],t=[],n=[],r;function a(){var o=0,l=Math.max(1,t.length);for(n=new Array(l-1);++o<l;)n[o-1]=NV(e,o/l);return s}function s(o){return o==null||isNaN(o=+o)?r:t[id(n,o)]}return s.invertExtent=function(o){var l=t.indexOf(o);return l<0?[NaN,NaN]:[l>0?n[l-1]:e[0],l<n.length?n[l]:e[e.length-1]]},s.domain=function(o){if(!arguments.length)return e.slice();e=[];for(let l of o)l!=null&&!isNaN(l=+l)&&e.push(l);return e.sort(_i),a()},s.range=function(o){return arguments.length?(t=Array.from(o),a()):t.slice()},s.unknown=function(o){return arguments.length?(r=o,s):r},s.quantiles=function(){return n.slice()},s.copy=function(){return vP().domain(e).range(t).unknown(r)},Er.apply(s,arguments)}function yP(){var e=0,t=1,n=1,r=[.5],a=[0,1],s;function o(c){return c!=null&&c<=c?a[id(r,c,0,n)]:s}function l(){var c=-1;for(r=new Array(n);++c<n;)r[c]=((c+1)*t-(c-n)*e)/(n+1);return o}return o.domain=function(c){return arguments.length?([e,t]=c,e=+e,t=+t,l()):[e,t]},o.range=function(c){return arguments.length?(n=(a=Array.from(c)).length-1,l()):a.slice()},o.invertExtent=function(c){var u=a.indexOf(c);return u<0?[NaN,NaN]:u<1?[e,r[0]]:u>=n?[r[n-1],t]:[r[u-1],r[u]]},o.unknown=function(c){return arguments.length&&(s=c),o},o.thresholds=function(){return r.slice()},o.copy=function(){return yP().domain([e,t]).range(a).unknown(s)},Er.apply(Bi(o),arguments)}function bP(){var e=[.5],t=[0,1],n,r=1;function a(s){return s!=null&&s<=s?t[id(e,s,0,r)]:n}return a.domain=function(s){return arguments.length?(e=Array.from(s),r=Math.min(e.length,t.length-1),a):e.slice()},a.range=function(s){return arguments.length?(t=Array.from(s),r=Math.min(e.length,t.length-1),a):t.slice()},a.invertExtent=function(s){var o=t.indexOf(s);return[e[o-1],e[o]]},a.unknown=function(s){return arguments.length?(n=s,a):n},a.copy=function(){return bP().domain(e).range(t).unknown(n)},Er.apply(a,arguments)}const Sg=new Date,jg=new Date;function Yt(e,t,n,r){function a(s){return e(s=arguments.length===0?new Date:new Date(+s)),s}return a.floor=s=>(e(s=new Date(+s)),s),a.ceil=s=>(e(s=new Date(s-1)),t(s,1),e(s),s),a.round=s=>{const o=a(s),l=a.ceil(s);return s-o<l-s?o:l},a.offset=(s,o)=>(t(s=new Date(+s),o==null?1:Math.floor(o)),s),a.range=(s,o,l)=>{const c=[];if(s=a.ceil(s),l=l==null?1:Math.floor(l),!(s<o)||!(l>0))return c;let u;do c.push(u=new Date(+s)),t(s,l),e(s);while(u<s&&s<o);return c},a.filter=s=>Yt(o=>{if(o>=o)for(;e(o),!s(o);)o.setTime(o-1)},(o,l)=>{if(o>=o)if(l<0)for(;++l<=0;)for(;t(o,-1),!s(o););else for(;--l>=0;)for(;t(o,1),!s(o););}),n&&(a.count=(s,o)=>(Sg.setTime(+s),jg.setTime(+o),e(Sg),e(jg),Math.floor(n(Sg,jg))),a.every=s=>(s=Math.floor(s),!isFinite(s)||!(s>0)?null:s>1?a.filter(r?o=>r(o)%s===0:o=>a.count(0,o)%s===0):a)),a}const Oh=Yt(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Oh.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Yt(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):Oh);Oh.range;const _a=1e3,br=_a*60,Ca=br*60,Da=Ca*24,zw=Da*7,i1=Da*30,Ng=Da*365,ms=Yt(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*_a)},(e,t)=>(t-e)/_a,e=>e.getUTCSeconds());ms.range;const Fw=Yt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*_a)},(e,t)=>{e.setTime(+e+t*br)},(e,t)=>(t-e)/br,e=>e.getMinutes());Fw.range;const Uw=Yt(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*br)},(e,t)=>(t-e)/br,e=>e.getUTCMinutes());Uw.range;const Ww=Yt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*_a-e.getMinutes()*br)},(e,t)=>{e.setTime(+e+t*Ca)},(e,t)=>(t-e)/Ca,e=>e.getHours());Ww.range;const Hw=Yt(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*Ca)},(e,t)=>(t-e)/Ca,e=>e.getUTCHours());Hw.range;const ld=Yt(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*br)/Da,e=>e.getDate()-1);ld.range;const om=Yt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Da,e=>e.getUTCDate()-1);om.range;const xP=Yt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Da,e=>Math.floor(e/Da));xP.range;function zs(e){return Yt(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())*br)/zw)}const lm=zs(0),Ph=zs(1),w7=zs(2),k7=zs(3),rl=zs(4),S7=zs(5),j7=zs(6);lm.range;Ph.range;w7.range;k7.range;rl.range;S7.range;j7.range;function Fs(e){return Yt(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)/zw)}const cm=Fs(0),Rh=Fs(1),N7=Fs(2),E7=Fs(3),al=Fs(4),_7=Fs(5),C7=Fs(6);cm.range;Rh.range;N7.range;E7.range;al.range;_7.range;C7.range;const Gw=Yt(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());Gw.range;const qw=Yt(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());qw.range;const Ba=Yt(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());Ba.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Yt(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)});Ba.range;const za=Yt(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());za.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Yt(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)});za.range;function wP(e,t,n,r,a,s){const o=[[ms,1,_a],[ms,5,5*_a],[ms,15,15*_a],[ms,30,30*_a],[s,1,br],[s,5,5*br],[s,15,15*br],[s,30,30*br],[a,1,Ca],[a,3,3*Ca],[a,6,6*Ca],[a,12,12*Ca],[r,1,Da],[r,2,2*Da],[n,1,zw],[t,1,i1],[t,3,3*i1],[e,1,Ng]];function l(u,d,f){const h=d<u;h&&([u,d]=[d,u]);const p=f&&typeof f.range=="function"?f:c(u,d,f),m=p?p.range(u,+d+1):[];return h?m.reverse():m}function c(u,d,f){const h=Math.abs(d-u)/f,p=Cw(([,,y])=>y).right(o,h);if(p===o.length)return e.every(Vy(u/Ng,d/Ng,f));if(p===0)return Oh.every(Math.max(Vy(u,d,f),1));const[m,g]=o[h/o[p-1][2]<o[p][2]/h?p-1:p];return m.every(g)}return[l,c]}const[A7,T7]=wP(za,qw,cm,xP,Hw,Uw),[O7,P7]=wP(Ba,Gw,lm,ld,Ww,Fw);function Eg(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 _g(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 cc(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function R7(e){var t=e.dateTime,n=e.date,r=e.time,a=e.periods,s=e.days,o=e.shortDays,l=e.months,c=e.shortMonths,u=uc(a),d=dc(a),f=uc(s),h=dc(s),p=uc(o),m=dc(o),g=uc(l),y=dc(l),v=uc(c),k=dc(c),w={a:U,A:R,b:B,B:T,c:null,d:d1,e:d1,f:nY,g:fY,G:pY,H:J7,I:eY,j:tY,L:kP,m:rY,M:aY,p:Z,q:F,Q:p1,s:m1,S:iY,u:sY,U:oY,V:lY,w:cY,W:uY,x:null,X:null,y:dY,Y:hY,Z:mY,"%":h1},N={a:$,A:ae,b:ue,B:me,c:null,d:f1,e:f1,f:bY,g:AY,G:OY,H:gY,I:vY,j:yY,L:jP,m:xY,M:wY,p:Ee,q:J,Q:p1,s:m1,S:kY,u:SY,U:jY,V:NY,w:EY,W:_Y,x:null,X:null,y:CY,Y:TY,Z:PY,"%":h1},S={a:C,A:P,b:A,B:D,c:I,d:c1,e:c1,f:Y7,g:l1,G:o1,H:u1,I:u1,j:G7,L:V7,m:H7,M:q7,p:O,q:W7,Q:Q7,s:Z7,S:K7,u:D7,U:B7,V:z7,w:L7,W:F7,x:M,X:L,y:l1,Y:o1,Z:U7,"%":X7};w.x=x(n,w),w.X=x(r,w),w.c=x(t,w),N.x=x(n,N),N.X=x(r,N),N.c=x(t,N);function x(Y,re){return function(le){var H=[],ye=-1,xe=0,Oe=Y.length,pe,Re,fe;for(le instanceof Date||(le=new Date(+le));++ye<Oe;)Y.charCodeAt(ye)===37&&(H.push(Y.slice(xe,ye)),(Re=s1[pe=Y.charAt(++ye)])!=null?pe=Y.charAt(++ye):Re=pe==="e"?" ":"0",(fe=re[pe])&&(pe=fe(le,Re)),H.push(pe),xe=ye+1);return H.push(Y.slice(xe,ye)),H.join("")}}function E(Y,re){return function(le){var H=cc(1900,void 0,1),ye=_(H,Y,le+="",0),xe,Oe;if(ye!=le.length)return null;if("Q"in H)return new Date(H.Q);if("s"in H)return new Date(H.s*1e3+("L"in H?H.L:0));if(re&&!("Z"in H)&&(H.Z=0),"p"in H&&(H.H=H.H%12+H.p*12),H.m===void 0&&(H.m="q"in H?H.q:0),"V"in H){if(H.V<1||H.V>53)return null;"w"in H||(H.w=1),"Z"in H?(xe=_g(cc(H.y,0,1)),Oe=xe.getUTCDay(),xe=Oe>4||Oe===0?Rh.ceil(xe):Rh(xe),xe=om.offset(xe,(H.V-1)*7),H.y=xe.getUTCFullYear(),H.m=xe.getUTCMonth(),H.d=xe.getUTCDate()+(H.w+6)%7):(xe=Eg(cc(H.y,0,1)),Oe=xe.getDay(),xe=Oe>4||Oe===0?Ph.ceil(xe):Ph(xe),xe=ld.offset(xe,(H.V-1)*7),H.y=xe.getFullYear(),H.m=xe.getMonth(),H.d=xe.getDate()+(H.w+6)%7)}else("W"in H||"U"in H)&&("w"in H||(H.w="u"in H?H.u%7:"W"in H?1:0),Oe="Z"in H?_g(cc(H.y,0,1)).getUTCDay():Eg(cc(H.y,0,1)).getDay(),H.m=0,H.d="W"in H?(H.w+6)%7+H.W*7-(Oe+5)%7:H.w+H.U*7-(Oe+6)%7);return"Z"in H?(H.H+=H.Z/100|0,H.M+=H.Z%100,_g(H)):Eg(H)}}function _(Y,re,le,H){for(var ye=0,xe=re.length,Oe=le.length,pe,Re;ye<xe;){if(H>=Oe)return-1;if(pe=re.charCodeAt(ye++),pe===37){if(pe=re.charAt(ye++),Re=S[pe in s1?re.charAt(ye++):pe],!Re||(H=Re(Y,le,H))<0)return-1}else if(pe!=le.charCodeAt(H++))return-1}return H}function O(Y,re,le){var H=u.exec(re.slice(le));return H?(Y.p=d.get(H[0].toLowerCase()),le+H[0].length):-1}function C(Y,re,le){var H=p.exec(re.slice(le));return H?(Y.w=m.get(H[0].toLowerCase()),le+H[0].length):-1}function P(Y,re,le){var H=f.exec(re.slice(le));return H?(Y.w=h.get(H[0].toLowerCase()),le+H[0].length):-1}function A(Y,re,le){var H=v.exec(re.slice(le));return H?(Y.m=k.get(H[0].toLowerCase()),le+H[0].length):-1}function D(Y,re,le){var H=g.exec(re.slice(le));return H?(Y.m=y.get(H[0].toLowerCase()),le+H[0].length):-1}function I(Y,re,le){return _(Y,t,re,le)}function M(Y,re,le){return _(Y,n,re,le)}function L(Y,re,le){return _(Y,r,re,le)}function U(Y){return o[Y.getDay()]}function R(Y){return s[Y.getDay()]}function B(Y){return c[Y.getMonth()]}function T(Y){return l[Y.getMonth()]}function Z(Y){return a[+(Y.getHours()>=12)]}function F(Y){return 1+~~(Y.getMonth()/3)}function $(Y){return o[Y.getUTCDay()]}function ae(Y){return s[Y.getUTCDay()]}function ue(Y){return c[Y.getUTCMonth()]}function me(Y){return l[Y.getUTCMonth()]}function Ee(Y){return a[+(Y.getUTCHours()>=12)]}function J(Y){return 1+~~(Y.getUTCMonth()/3)}return{format:function(Y){var re=x(Y+="",w);return re.toString=function(){return Y},re},parse:function(Y){var re=E(Y+="",!1);return re.toString=function(){return Y},re},utcFormat:function(Y){var re=x(Y+="",N);return re.toString=function(){return Y},re},utcParse:function(Y){var re=E(Y+="",!0);return re.toString=function(){return Y},re}}}var s1={"-":"",_:" ",0:"0"},rn=/^\s*\d+/,M7=/^%/,I7=/[\\^$*+?|[\]().{}]/g;function He(e,t,n){var r=e<0?"-":"",a=(r?-e:e)+"",s=a.length;return r+(s<n?new Array(n-s+1).join(t)+a:a)}function $7(e){return e.replace(I7,"\\$&")}function uc(e){return new RegExp("^(?:"+e.map($7).join("|")+")","i")}function dc(e){return new Map(e.map((t,n)=>[t.toLowerCase(),n]))}function L7(e,t,n){var r=rn.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function D7(e,t,n){var r=rn.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function B7(e,t,n){var r=rn.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function z7(e,t,n){var r=rn.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function F7(e,t,n){var r=rn.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function o1(e,t,n){var r=rn.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function l1(e,t,n){var r=rn.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function U7(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 W7(e,t,n){var r=rn.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function H7(e,t,n){var r=rn.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function c1(e,t,n){var r=rn.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function G7(e,t,n){var r=rn.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function u1(e,t,n){var r=rn.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function q7(e,t,n){var r=rn.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function K7(e,t,n){var r=rn.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function V7(e,t,n){var r=rn.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function Y7(e,t,n){var r=rn.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function X7(e,t,n){var r=M7.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function Q7(e,t,n){var r=rn.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function Z7(e,t,n){var r=rn.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function d1(e,t){return He(e.getDate(),t,2)}function J7(e,t){return He(e.getHours(),t,2)}function eY(e,t){return He(e.getHours()%12||12,t,2)}function tY(e,t){return He(1+ld.count(Ba(e),e),t,3)}function kP(e,t){return He(e.getMilliseconds(),t,3)}function nY(e,t){return kP(e,t)+"000"}function rY(e,t){return He(e.getMonth()+1,t,2)}function aY(e,t){return He(e.getMinutes(),t,2)}function iY(e,t){return He(e.getSeconds(),t,2)}function sY(e){var t=e.getDay();return t===0?7:t}function oY(e,t){return He(lm.count(Ba(e)-1,e),t,2)}function SP(e){var t=e.getDay();return t>=4||t===0?rl(e):rl.ceil(e)}function lY(e,t){return e=SP(e),He(rl.count(Ba(e),e)+(Ba(e).getDay()===4),t,2)}function cY(e){return e.getDay()}function uY(e,t){return He(Ph.count(Ba(e)-1,e),t,2)}function dY(e,t){return He(e.getFullYear()%100,t,2)}function fY(e,t){return e=SP(e),He(e.getFullYear()%100,t,2)}function hY(e,t){return He(e.getFullYear()%1e4,t,4)}function pY(e,t){var n=e.getDay();return e=n>=4||n===0?rl(e):rl.ceil(e),He(e.getFullYear()%1e4,t,4)}function mY(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+He(t/60|0,"0",2)+He(t%60,"0",2)}function f1(e,t){return He(e.getUTCDate(),t,2)}function gY(e,t){return He(e.getUTCHours(),t,2)}function vY(e,t){return He(e.getUTCHours()%12||12,t,2)}function yY(e,t){return He(1+om.count(za(e),e),t,3)}function jP(e,t){return He(e.getUTCMilliseconds(),t,3)}function bY(e,t){return jP(e,t)+"000"}function xY(e,t){return He(e.getUTCMonth()+1,t,2)}function wY(e,t){return He(e.getUTCMinutes(),t,2)}function kY(e,t){return He(e.getUTCSeconds(),t,2)}function SY(e){var t=e.getUTCDay();return t===0?7:t}function jY(e,t){return He(cm.count(za(e)-1,e),t,2)}function NP(e){var t=e.getUTCDay();return t>=4||t===0?al(e):al.ceil(e)}function NY(e,t){return e=NP(e),He(al.count(za(e),e)+(za(e).getUTCDay()===4),t,2)}function EY(e){return e.getUTCDay()}function _Y(e,t){return He(Rh.count(za(e)-1,e),t,2)}function CY(e,t){return He(e.getUTCFullYear()%100,t,2)}function AY(e,t){return e=NP(e),He(e.getUTCFullYear()%100,t,2)}function TY(e,t){return He(e.getUTCFullYear()%1e4,t,4)}function OY(e,t){var n=e.getUTCDay();return e=n>=4||n===0?al(e):al.ceil(e),He(e.getUTCFullYear()%1e4,t,4)}function PY(){return"+0000"}function h1(){return"%"}function p1(e){return+e}function m1(e){return Math.floor(+e/1e3)}var so,EP,_P;RY({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 RY(e){return so=R7(e),EP=so.format,so.parse,_P=so.utcFormat,so.utcParse,so}function MY(e){return new Date(e)}function IY(e){return e instanceof Date?+e:+new Date(+e)}function Kw(e,t,n,r,a,s,o,l,c,u){var d=Rw(),f=d.invert,h=d.domain,p=u(".%L"),m=u(":%S"),g=u("%I:%M"),y=u("%I %p"),v=u("%a %d"),k=u("%b %d"),w=u("%B"),N=u("%Y");function S(x){return(c(x)<x?p:l(x)<x?m:o(x)<x?g:s(x)<x?y:r(x)<x?a(x)<x?v:k:n(x)<x?w:N)(x)}return d.invert=function(x){return new Date(f(x))},d.domain=function(x){return arguments.length?h(Array.from(x,IY)):h().map(MY)},d.ticks=function(x){var E=h();return e(E[0],E[E.length-1],x??10)},d.tickFormat=function(x,E){return E==null?S:u(E)},d.nice=function(x){var E=h();return(!x||typeof x.range!="function")&&(x=t(E[0],E[E.length-1],x??10)),x?h(hP(E,x)):d},d.copy=function(){return od(d,Kw(e,t,n,r,a,s,o,l,c,u))},d}function $Y(){return Er.apply(Kw(O7,P7,Ba,Gw,lm,ld,Ww,Fw,ms,EP).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function LY(){return Er.apply(Kw(A7,T7,za,qw,cm,om,Hw,Uw,ms,_P).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function um(){var e=0,t=1,n,r,a,s,o=Pn,l=!1,c;function u(f){return f==null||isNaN(f=+f)?c:o(a===0?.5:(f=(s(f)-n)*a,l?Math.max(0,Math.min(1,f)):f))}u.domain=function(f){return arguments.length?([e,t]=f,n=s(e=+e),r=s(t=+t),a=n===r?0:1/(r-n),u):[e,t]},u.clamp=function(f){return arguments.length?(l=!!f,u):l},u.interpolator=function(f){return arguments.length?(o=f,u):o};function d(f){return function(h){var p,m;return arguments.length?([p,m]=h,o=f(p,m),u):[o(0),o(1)]}}return u.range=d(Rl),u.rangeRound=d(Pw),u.unknown=function(f){return arguments.length?(c=f,u):c},function(f){return s=f,n=f(e),r=f(t),a=n===r?0:1/(r-n),u}}function zi(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function CP(){var e=Bi(um()(Pn));return e.copy=function(){return zi(e,CP())},Ga.apply(e,arguments)}function AP(){var e=$w(um()).domain([1,10]);return e.copy=function(){return zi(e,AP()).base(e.base())},Ga.apply(e,arguments)}function TP(){var e=Lw(um());return e.copy=function(){return zi(e,TP()).constant(e.constant())},Ga.apply(e,arguments)}function Vw(){var e=Dw(um());return e.copy=function(){return zi(e,Vw()).exponent(e.exponent())},Ga.apply(e,arguments)}function DY(){return Vw.apply(null,arguments).exponent(.5)}function OP(){var e=[],t=Pn;function n(r){if(r!=null&&!isNaN(r=+r))return t((id(e,r,1)-1)/(e.length-1))}return n.domain=function(r){if(!arguments.length)return e.slice();e=[];for(let a of r)a!=null&&!isNaN(a=+a)&&e.push(a);return e.sort(_i),n},n.interpolator=function(r){return arguments.length?(t=r,n):t},n.range=function(){return e.map((r,a)=>t(a/(e.length-1)))},n.quantiles=function(r){return Array.from({length:r+1},(a,s)=>jV(e,s/r))},n.copy=function(){return OP(t).domain(e)},Ga.apply(n,arguments)}function dm(){var e=0,t=.5,n=1,r=1,a,s,o,l,c,u=Pn,d,f=!1,h;function p(g){return isNaN(g=+g)?h:(g=.5+((g=+d(g))-s)*(r*g<r*s?l:c),u(f?Math.max(0,Math.min(1,g)):g))}p.domain=function(g){return arguments.length?([e,t,n]=g,a=d(e=+e),s=d(t=+t),o=d(n=+n),l=a===s?0:.5/(s-a),c=s===o?0:.5/(o-s),r=s<a?-1:1,p):[e,t,n]},p.clamp=function(g){return arguments.length?(f=!!g,p):f},p.interpolator=function(g){return arguments.length?(u=g,p):u};function m(g){return function(y){var v,k,w;return arguments.length?([v,k,w]=y,u=XV(g,[v,k,w]),p):[u(0),u(.5),u(1)]}}return p.range=m(Rl),p.rangeRound=m(Pw),p.unknown=function(g){return arguments.length?(h=g,p):h},function(g){return d=g,a=g(e),s=g(t),o=g(n),l=a===s?0:.5/(s-a),c=s===o?0:.5/(o-s),r=s<a?-1:1,p}}function PP(){var e=Bi(dm()(Pn));return e.copy=function(){return zi(e,PP())},Ga.apply(e,arguments)}function RP(){var e=$w(dm()).domain([.1,1,10]);return e.copy=function(){return zi(e,RP()).base(e.base())},Ga.apply(e,arguments)}function MP(){var e=Lw(dm());return e.copy=function(){return zi(e,MP()).constant(e.constant())},Ga.apply(e,arguments)}function Yw(){var e=Dw(dm());return e.copy=function(){return zi(e,Yw()).exponent(e.exponent())},Ga.apply(e,arguments)}function BY(){return Yw.apply(null,arguments).exponent(.5)}const g1=Object.freeze(Object.defineProperty({__proto__:null,scaleBand:yu,scaleDiverging:PP,scaleDivergingLog:RP,scaleDivergingPow:Yw,scaleDivergingSqrt:BY,scaleDivergingSymlog:MP,scaleIdentity:fP,scaleImplicit:Yy,scaleLinear:Th,scaleLog:pP,scaleOrdinal:Aw,scalePoint:Lc,scalePow:Bw,scaleQuantile:vP,scaleQuantize:yP,scaleRadial:gP,scaleSequential:CP,scaleSequentialLog:AP,scaleSequentialPow:Vw,scaleSequentialQuantile:OP,scaleSequentialSqrt:DY,scaleSequentialSymlog:TP,scaleSqrt:b7,scaleSymlog:mP,scaleThreshold:bP,scaleTime:$Y,scaleUtc:LY,tickFormat:dP},Symbol.toStringTag,{value:"Module"}));var zY=Nl;function FY(e,t,n){for(var r=-1,a=e.length;++r<a;){var s=e[r],o=t(s);if(o!=null&&(l===void 0?o===o&&!zY(o):n(o,l)))var l=o,c=s}return c}var IP=FY;function UY(e,t){return e>t}var WY=UY,HY=IP,GY=WY,qY=Pl;function KY(e){return e&&e.length?HY(e,qY,GY):void 0}var VY=KY;const fm=Xe(VY);function YY(e,t){return e<t}var XY=YY,QY=IP,ZY=XY,JY=Pl;function eX(e){return e&&e.length?QY(e,JY,ZY):void 0}var tX=eX;const hm=Xe(tX);var nX=cw,rX=Di,aX=GO,iX=qn;function sX(e,t){var n=iX(e)?nX:aX;return n(e,rX(t))}var oX=sX,lX=WO,cX=oX;function uX(e,t){return lX(cX(e,t),1)}var dX=uX;const fX=Xe(dX);var hX=jw;function pX(e,t){return hX(e,t)}var mX=pX;const Xw=Xe(mX);var Ml=1e9,gX={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},Zw,jt=!0,jr="[DecimalError] ",ks=jr+"Invalid argument: ",Qw=jr+"Exponent out of range: ",Il=Math.floor,is=Math.pow,vX=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,nr,Zt=1e7,bt=7,$P=9007199254740991,Mh=Il($P/bt),ve={};ve.absoluteValue=ve.abs=function(){var e=new this.constructor(this);return e.s&&(e.s=1),e};ve.comparedTo=ve.cmp=function(e){var t,n,r,a,s=this;if(e=new s.constructor(e),s.s!==e.s)return s.s||-e.s;if(s.e!==e.e)return s.e>e.e^s.s<0?1:-1;for(r=s.d.length,a=e.d.length,t=0,n=r<a?r:a;t<n;++t)if(s.d[t]!==e.d[t])return s.d[t]>e.d[t]^s.s<0?1:-1;return r===a?0:r>a^s.s<0?1:-1};ve.decimalPlaces=ve.dp=function(){var e=this,t=e.d.length-1,n=(t-e.e)*bt;if(t=e.d[t],t)for(;t%10==0;t/=10)n--;return n<0?0:n};ve.dividedBy=ve.div=function(e){return Ra(this,new this.constructor(e))};ve.dividedToIntegerBy=ve.idiv=function(e){var t=this,n=t.constructor;return ot(Ra(t,new n(e),0,1),n.precision)};ve.equals=ve.eq=function(e){return!this.cmp(e)};ve.exponent=function(){return zt(this)};ve.greaterThan=ve.gt=function(e){return this.cmp(e)>0};ve.greaterThanOrEqualTo=ve.gte=function(e){return this.cmp(e)>=0};ve.isInteger=ve.isint=function(){return this.e>this.d.length-2};ve.isNegative=ve.isneg=function(){return this.s<0};ve.isPositive=ve.ispos=function(){return this.s>0};ve.isZero=function(){return this.s===0};ve.lessThan=ve.lt=function(e){return this.cmp(e)<0};ve.lessThanOrEqualTo=ve.lte=function(e){return this.cmp(e)<1};ve.logarithm=ve.log=function(e){var t,n=this,r=n.constructor,a=r.precision,s=a+5;if(e===void 0)e=new r(10);else if(e=new r(e),e.s<1||e.eq(nr))throw Error(jr+"NaN");if(n.s<1)throw Error(jr+(n.s?"NaN":"-Infinity"));return n.eq(nr)?new r(0):(jt=!1,t=Ra(Su(n,s),Su(e,s),s),jt=!0,ot(t,a))};ve.minus=ve.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?BP(t,e):LP(t,(e.s=-e.s,e))};ve.modulo=ve.mod=function(e){var t,n=this,r=n.constructor,a=r.precision;if(e=new r(e),!e.s)throw Error(jr+"NaN");return n.s?(jt=!1,t=Ra(n,e,0,1).times(e),jt=!0,n.minus(t)):ot(new r(n),a)};ve.naturalExponential=ve.exp=function(){return DP(this)};ve.naturalLogarithm=ve.ln=function(){return Su(this)};ve.negated=ve.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};ve.plus=ve.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?LP(t,e):BP(t,(e.s=-e.s,e))};ve.precision=ve.sd=function(e){var t,n,r,a=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(ks+e);if(t=zt(a)+1,r=a.d.length-1,n=r*bt+1,r=a.d[r],r){for(;r%10==0;r/=10)n--;for(r=a.d[0];r>=10;r/=10)n++}return e&&t>n?t:n};ve.squareRoot=ve.sqrt=function(){var e,t,n,r,a,s,o,l=this,c=l.constructor;if(l.s<1){if(!l.s)return new c(0);throw Error(jr+"NaN")}for(e=zt(l),jt=!1,a=Math.sqrt(+l),a==0||a==1/0?(t=la(l.d),(t.length+e)%2==0&&(t+="0"),a=Math.sqrt(t),e=Il((e+1)/2)-(e<0||e%2),a==1/0?t="5e"+e:(t=a.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),r=new c(t)):r=new c(a.toString()),n=c.precision,a=o=n+3;;)if(s=r,r=s.plus(Ra(l,s,o+2)).times(.5),la(s.d).slice(0,o)===(t=la(r.d)).slice(0,o)){if(t=t.slice(o-3,o+1),a==o&&t=="4999"){if(ot(s,n+1,0),s.times(s).eq(l)){r=s;break}}else if(t!="9999")break;o+=4}return jt=!0,ot(r,n)};ve.times=ve.mul=function(e){var t,n,r,a,s,o,l,c,u,d=this,f=d.constructor,h=d.d,p=(e=new f(e)).d;if(!d.s||!e.s)return new f(0);for(e.s*=d.s,n=d.e+e.e,c=h.length,u=p.length,c<u&&(s=h,h=p,p=s,o=c,c=u,u=o),s=[],o=c+u,r=o;r--;)s.push(0);for(r=u;--r>=0;){for(t=0,a=c+r;a>r;)l=s[a]+p[r]*h[a-r-1]+t,s[a--]=l%Zt|0,t=l/Zt|0;s[a]=(s[a]+t)%Zt|0}for(;!s[--o];)s.pop();return t?++n:s.shift(),e.d=s,e.e=n,jt?ot(e,f.precision):e};ve.toDecimalPlaces=ve.todp=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(ha(e,0,Ml),t===void 0?t=r.rounding:ha(t,0,8),ot(n,e+zt(n)+1,t))};ve.toExponential=function(e,t){var n,r=this,a=r.constructor;return e===void 0?n=Rs(r,!0):(ha(e,0,Ml),t===void 0?t=a.rounding:ha(t,0,8),r=ot(new a(r),e+1,t),n=Rs(r,!0,e+1)),n};ve.toFixed=function(e,t){var n,r,a=this,s=a.constructor;return e===void 0?Rs(a):(ha(e,0,Ml),t===void 0?t=s.rounding:ha(t,0,8),r=ot(new s(a),e+zt(a)+1,t),n=Rs(r.abs(),!1,e+zt(r)+1),a.isneg()&&!a.isZero()?"-"+n:n)};ve.toInteger=ve.toint=function(){var e=this,t=e.constructor;return ot(new t(e),zt(e)+1,t.rounding)};ve.toNumber=function(){return+this};ve.toPower=ve.pow=function(e){var t,n,r,a,s,o,l=this,c=l.constructor,u=12,d=+(e=new c(e));if(!e.s)return new c(nr);if(l=new c(l),!l.s){if(e.s<1)throw Error(jr+"Infinity");return l}if(l.eq(nr))return l;if(r=c.precision,e.eq(nr))return ot(l,r);if(t=e.e,n=e.d.length-1,o=t>=n,s=l.s,o){if((n=d<0?-d:d)<=$P){for(a=new c(nr),t=Math.ceil(r/bt+4),jt=!1;n%2&&(a=a.times(l),y1(a.d,t)),n=Il(n/2),n!==0;)l=l.times(l),y1(l.d,t);return jt=!0,e.s<0?new c(nr).div(a):ot(a,r)}}else if(s<0)throw Error(jr+"NaN");return s=s<0&&e.d[Math.max(t,n)]&1?-1:1,l.s=1,jt=!1,a=e.times(Su(l,r+u)),jt=!0,a=DP(a),a.s=s,a};ve.toPrecision=function(e,t){var n,r,a=this,s=a.constructor;return e===void 0?(n=zt(a),r=Rs(a,n<=s.toExpNeg||n>=s.toExpPos)):(ha(e,1,Ml),t===void 0?t=s.rounding:ha(t,0,8),a=ot(new s(a),e,t),n=zt(a),r=Rs(a,e<=n||n<=s.toExpNeg,e)),r};ve.toSignificantDigits=ve.tosd=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(ha(e,1,Ml),t===void 0?t=r.rounding:ha(t,0,8)),ot(new r(n),e,t)};ve.toString=ve.valueOf=ve.val=ve.toJSON=ve[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=zt(e),n=e.constructor;return Rs(e,t<=n.toExpNeg||t>=n.toExpPos)};function LP(e,t){var n,r,a,s,o,l,c,u,d=e.constructor,f=d.precision;if(!e.s||!t.s)return t.s||(t=new d(e)),jt?ot(t,f):t;if(c=e.d,u=t.d,o=e.e,a=t.e,c=c.slice(),s=o-a,s){for(s<0?(r=c,s=-s,l=u.length):(r=u,a=o,l=c.length),o=Math.ceil(f/bt),l=o>l?o+1:l+1,s>l&&(s=l,r.length=1),r.reverse();s--;)r.push(0);r.reverse()}for(l=c.length,s=u.length,l-s<0&&(s=l,r=u,u=c,c=r),n=0;s;)n=(c[--s]=c[s]+u[s]+n)/Zt|0,c[s]%=Zt;for(n&&(c.unshift(n),++a),l=c.length;c[--l]==0;)c.pop();return t.d=c,t.e=a,jt?ot(t,f):t}function ha(e,t,n){if(e!==~~e||e<t||e>n)throw Error(ks+e)}function la(e){var t,n,r,a=e.length-1,s="",o=e[0];if(a>0){for(s+=o,t=1;t<a;t++)r=e[t]+"",n=bt-r.length,n&&(s+=si(n)),s+=r;o=e[t],r=o+"",n=bt-r.length,n&&(s+=si(n))}else if(o===0)return"0";for(;o%10===0;)o/=10;return s+o}var Ra=function(){function e(r,a){var s,o=0,l=r.length;for(r=r.slice();l--;)s=r[l]*a+o,r[l]=s%Zt|0,o=s/Zt|0;return o&&r.unshift(o),r}function t(r,a,s,o){var l,c;if(s!=o)c=s>o?1:-1;else for(l=c=0;l<s;l++)if(r[l]!=a[l]){c=r[l]>a[l]?1:-1;break}return c}function n(r,a,s){for(var o=0;s--;)r[s]-=o,o=r[s]<a[s]?1:0,r[s]=o*Zt+r[s]-a[s];for(;!r[0]&&r.length>1;)r.shift()}return function(r,a,s,o){var l,c,u,d,f,h,p,m,g,y,v,k,w,N,S,x,E,_,O=r.constructor,C=r.s==a.s?1:-1,P=r.d,A=a.d;if(!r.s)return new O(r);if(!a.s)throw Error(jr+"Division by zero");for(c=r.e-a.e,E=A.length,S=P.length,p=new O(C),m=p.d=[],u=0;A[u]==(P[u]||0);)++u;if(A[u]>(P[u]||0)&&--c,s==null?k=s=O.precision:o?k=s+(zt(r)-zt(a))+1:k=s,k<0)return new O(0);if(k=k/bt+2|0,u=0,E==1)for(d=0,A=A[0],k++;(u<S||d)&&k--;u++)w=d*Zt+(P[u]||0),m[u]=w/A|0,d=w%A|0;else{for(d=Zt/(A[0]+1)|0,d>1&&(A=e(A,d),P=e(P,d),E=A.length,S=P.length),N=E,g=P.slice(0,E),y=g.length;y<E;)g[y++]=0;_=A.slice(),_.unshift(0),x=A[0],A[1]>=Zt/2&&++x;do d=0,l=t(A,g,E,y),l<0?(v=g[0],E!=y&&(v=v*Zt+(g[1]||0)),d=v/x|0,d>1?(d>=Zt&&(d=Zt-1),f=e(A,d),h=f.length,y=g.length,l=t(f,g,h,y),l==1&&(d--,n(f,E<h?_:A,h))):(d==0&&(l=d=1),f=A.slice()),h=f.length,h<y&&f.unshift(0),n(g,f,y),l==-1&&(y=g.length,l=t(A,g,E,y),l<1&&(d++,n(g,E<y?_:A,y))),y=g.length):l===0&&(d++,g=[0]),m[u++]=d,l&&g[0]?g[y++]=P[N]||0:(g=[P[N]],y=1);while((N++<S||g[0]!==void 0)&&k--)}return m[0]||m.shift(),p.e=c,ot(p,o?s+zt(p)+1:s)}}();function DP(e,t){var n,r,a,s,o,l,c=0,u=0,d=e.constructor,f=d.precision;if(zt(e)>16)throw Error(Qw+zt(e));if(!e.s)return new d(nr);for(jt=!1,l=f,o=new d(.03125);e.abs().gte(.1);)e=e.times(o),u+=5;for(r=Math.log(is(2,u))/Math.LN10*2+5|0,l+=r,n=a=s=new d(nr),d.precision=l;;){if(a=ot(a.times(e),l),n=n.times(++c),o=s.plus(Ra(a,n,l)),la(o.d).slice(0,l)===la(s.d).slice(0,l)){for(;u--;)s=ot(s.times(s),l);return d.precision=f,t==null?(jt=!0,ot(s,f)):s}s=o}}function zt(e){for(var t=e.e*bt,n=e.d[0];n>=10;n/=10)t++;return t}function Cg(e,t,n){if(t>e.LN10.sd())throw jt=!0,n&&(e.precision=n),Error(jr+"LN10 precision limit exceeded");return ot(new e(e.LN10),t)}function si(e){for(var t="";e--;)t+="0";return t}function Su(e,t){var n,r,a,s,o,l,c,u,d,f=1,h=10,p=e,m=p.d,g=p.constructor,y=g.precision;if(p.s<1)throw Error(jr+(p.s?"NaN":"-Infinity"));if(p.eq(nr))return new g(0);if(t==null?(jt=!1,u=y):u=t,p.eq(10))return t==null&&(jt=!0),Cg(g,u);if(u+=h,g.precision=u,n=la(m),r=n.charAt(0),s=zt(p),Math.abs(s)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)p=p.times(e),n=la(p.d),r=n.charAt(0),f++;s=zt(p),r>1?(p=new g("0."+n),s++):p=new g(r+"."+n.slice(1))}else return c=Cg(g,u+2,y).times(s+""),p=Su(new g(r+"."+n.slice(1)),u-h).plus(c),g.precision=y,t==null?(jt=!0,ot(p,y)):p;for(l=o=p=Ra(p.minus(nr),p.plus(nr),u),d=ot(p.times(p),u),a=3;;){if(o=ot(o.times(d),u),c=l.plus(Ra(o,new g(a),u)),la(c.d).slice(0,u)===la(l.d).slice(0,u))return l=l.times(2),s!==0&&(l=l.plus(Cg(g,u+2,y).times(s+""))),l=Ra(l,new g(f),u),g.precision=y,t==null?(jt=!0,ot(l,y)):l;l=c,a+=2}}function v1(e,t){var n,r,a;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(a=t.length;t.charCodeAt(a-1)===48;)--a;if(t=t.slice(r,a),t){if(a-=r,n=n-r-1,e.e=Il(n/bt),e.d=[],r=(n+1)%bt,n<0&&(r+=bt),r<a){for(r&&e.d.push(+t.slice(0,r)),a-=bt;r<a;)e.d.push(+t.slice(r,r+=bt));t=t.slice(r),r=bt-t.length}else r-=a;for(;r--;)t+="0";if(e.d.push(+t),jt&&(e.e>Mh||e.e<-Mh))throw Error(Qw+n)}else e.s=0,e.e=0,e.d=[0];return e}function ot(e,t,n){var r,a,s,o,l,c,u,d,f=e.d;for(o=1,s=f[0];s>=10;s/=10)o++;if(r=t-o,r<0)r+=bt,a=t,u=f[d=0];else{if(d=Math.ceil((r+1)/bt),s=f.length,d>=s)return e;for(u=s=f[d],o=1;s>=10;s/=10)o++;r%=bt,a=r-bt+o}if(n!==void 0&&(s=is(10,o-a-1),l=u/s%10|0,c=t<0||f[d+1]!==void 0||u%s,c=n<4?(l||c)&&(n==0||n==(e.s<0?3:2)):l>5||l==5&&(n==4||c||n==6&&(r>0?a>0?u/is(10,o-a):0:f[d-1])%10&1||n==(e.s<0?8:7))),t<1||!f[0])return c?(s=zt(e),f.length=1,t=t-s-1,f[0]=is(10,(bt-t%bt)%bt),e.e=Il(-t/bt)||0):(f.length=1,f[0]=e.e=e.s=0),e;if(r==0?(f.length=d,s=1,d--):(f.length=d+1,s=is(10,bt-r),f[d]=a>0?(u/is(10,o-a)%is(10,a)|0)*s:0),c)for(;;)if(d==0){(f[0]+=s)==Zt&&(f[0]=1,++e.e);break}else{if(f[d]+=s,f[d]!=Zt)break;f[d--]=0,s=1}for(r=f.length;f[--r]===0;)f.pop();if(jt&&(e.e>Mh||e.e<-Mh))throw Error(Qw+zt(e));return e}function BP(e,t){var n,r,a,s,o,l,c,u,d,f,h=e.constructor,p=h.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new h(e),jt?ot(t,p):t;if(c=e.d,f=t.d,r=t.e,u=e.e,c=c.slice(),o=u-r,o){for(d=o<0,d?(n=c,o=-o,l=f.length):(n=f,r=u,l=c.length),a=Math.max(Math.ceil(p/bt),l)+2,o>a&&(o=a,n.length=1),n.reverse(),a=o;a--;)n.push(0);n.reverse()}else{for(a=c.length,l=f.length,d=a<l,d&&(l=a),a=0;a<l;a++)if(c[a]!=f[a]){d=c[a]<f[a];break}o=0}for(d&&(n=c,c=f,f=n,t.s=-t.s),l=c.length,a=f.length-l;a>0;--a)c[l++]=0;for(a=f.length;a>o;){if(c[--a]<f[a]){for(s=a;s&&c[--s]===0;)c[s]=Zt-1;--c[s],c[a]+=Zt}c[a]-=f[a]}for(;c[--l]===0;)c.pop();for(;c[0]===0;c.shift())--r;return c[0]?(t.d=c,t.e=r,jt?ot(t,p):t):new h(0)}function Rs(e,t,n){var r,a=zt(e),s=la(e.d),o=s.length;return t?(n&&(r=n-o)>0?s=s.charAt(0)+"."+s.slice(1)+si(r):o>1&&(s=s.charAt(0)+"."+s.slice(1)),s=s+(a<0?"e":"e+")+a):a<0?(s="0."+si(-a-1)+s,n&&(r=n-o)>0&&(s+=si(r))):a>=o?(s+=si(a+1-o),n&&(r=n-a-1)>0&&(s=s+"."+si(r))):((r=a+1)<o&&(s=s.slice(0,r)+"."+s.slice(r)),n&&(r=n-o)>0&&(a+1===o&&(s+="."),s+=si(r))),e.s<0?"-"+s:s}function y1(e,t){if(e.length>t)return e.length=t,!0}function zP(e){var t,n,r;function a(s){var o=this;if(!(o instanceof a))return new a(s);if(o.constructor=a,s instanceof a){o.s=s.s,o.e=s.e,o.d=(s=s.d)?s.slice():s;return}if(typeof s=="number"){if(s*0!==0)throw Error(ks+s);if(s>0)o.s=1;else if(s<0)s=-s,o.s=-1;else{o.s=0,o.e=0,o.d=[0];return}if(s===~~s&&s<1e7){o.e=0,o.d=[s];return}return v1(o,s.toString())}else if(typeof s!="string")throw Error(ks+s);if(s.charCodeAt(0)===45?(s=s.slice(1),o.s=-1):o.s=1,vX.test(s))v1(o,s);else throw Error(ks+s)}if(a.prototype=ve,a.ROUND_UP=0,a.ROUND_DOWN=1,a.ROUND_CEIL=2,a.ROUND_FLOOR=3,a.ROUND_HALF_UP=4,a.ROUND_HALF_DOWN=5,a.ROUND_HALF_EVEN=6,a.ROUND_HALF_CEIL=7,a.ROUND_HALF_FLOOR=8,a.clone=zP,a.config=a.set=yX,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 a.config(e),a}function yX(e){if(!e||typeof e!="object")throw Error(jr+"Object expected");var t,n,r,a=["precision",1,Ml,"rounding",0,8,"toExpNeg",-1/0,0,"toExpPos",0,1/0];for(t=0;t<a.length;t+=3)if((r=e[n=a[t]])!==void 0)if(Il(r)===r&&r>=a[t+1]&&r<=a[t+2])this[n]=r;else throw Error(ks+n+": "+r);if((r=e[n="LN10"])!==void 0)if(r==Math.LN10)this[n]=new this(r);else throw Error(ks+n+": "+r);return this}var Zw=zP(gX);nr=new Zw(1);const at=Zw;function bX(e){return SX(e)||kX(e)||wX(e)||xX()}function xX(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
87
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function wX(e,t){if(e){if(typeof e=="string")return Jy(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Jy(e,t)}}function kX(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function SX(e){if(Array.isArray(e))return Jy(e)}function Jy(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var jX=function(t){return t},FP={},UP=function(t){return t===FP},b1=function(t){return function n(){return arguments.length===0||arguments.length===1&&UP(arguments.length<=0?void 0:arguments[0])?n:t.apply(void 0,arguments)}},NX=function e(t,n){return t===1?n:b1(function(){for(var r=arguments.length,a=new Array(r),s=0;s<r;s++)a[s]=arguments[s];var o=a.filter(function(l){return l!==FP}).length;return o>=t?n.apply(void 0,a):e(t-o,b1(function(){for(var l=arguments.length,c=new Array(l),u=0;u<l;u++)c[u]=arguments[u];var d=a.map(function(f){return UP(f)?c.shift():f});return n.apply(void 0,bX(d).concat(c))}))})},pm=function(t){return NX(t.length,t)},eb=function(t,n){for(var r=[],a=t;a<n;++a)r[a-t]=a;return r},EX=pm(function(e,t){return Array.isArray(t)?t.map(e):Object.keys(t).map(function(n){return t[n]}).map(e)}),_X=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];if(!n.length)return jX;var a=n.reverse(),s=a[0],o=a.slice(1);return function(){return o.reduce(function(l,c){return c(l)},s.apply(void 0,arguments))}},tb=function(t){return Array.isArray(t)?t.reverse():t.split("").reverse.join("")},WP=function(t){var n=null,r=null;return function(){for(var a=arguments.length,s=new Array(a),o=0;o<a;o++)s[o]=arguments[o];return n&&s.every(function(l,c){return l===n[c]})||(n=s,r=t.apply(void 0,s)),r}};function CX(e){var t;return e===0?t=1:t=Math.floor(new at(e).abs().log(10).toNumber())+1,t}function AX(e,t,n){for(var r=new at(e),a=0,s=[];r.lt(t)&&a<1e5;)s.push(r.toNumber()),r=r.add(n),a++;return s}var TX=pm(function(e,t,n){var r=+e,a=+t;return r+n*(a-r)}),OX=pm(function(e,t,n){var r=t-+e;return r=r||1/0,(n-e)/r}),PX=pm(function(e,t,n){var r=t-+e;return r=r||1/0,Math.max(0,Math.min(1,(n-e)/r))});const mm={rangeStep:AX,getDigitCount:CX,interpolateNumber:TX,uninterpolateNumber:OX,uninterpolateTruncation:PX};function nb(e){return IX(e)||MX(e)||HP(e)||RX()}function RX(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
88
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function MX(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function IX(e){if(Array.isArray(e))return rb(e)}function ju(e,t){return DX(e)||LX(e,t)||HP(e,t)||$X()}function $X(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
89
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function HP(e,t){if(e){if(typeof e=="string")return rb(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return rb(e,t)}}function rb(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function LX(e,t){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(e)))){var n=[],r=!0,a=!1,s=void 0;try{for(var o=e[Symbol.iterator](),l;!(r=(l=o.next()).done)&&(n.push(l.value),!(t&&n.length===t));r=!0);}catch(c){a=!0,s=c}finally{try{!r&&o.return!=null&&o.return()}finally{if(a)throw s}}return n}}function DX(e){if(Array.isArray(e))return e}function GP(e){var t=ju(e,2),n=t[0],r=t[1],a=n,s=r;return n>r&&(a=r,s=n),[a,s]}function qP(e,t,n){if(e.lte(0))return new at(0);var r=mm.getDigitCount(e.toNumber()),a=new at(10).pow(r),s=e.div(a),o=r!==1?.05:.1,l=new at(Math.ceil(s.div(o).toNumber())).add(n).mul(o),c=l.mul(a);return t?c:new at(Math.ceil(c))}function BX(e,t,n){var r=1,a=new at(e);if(!a.isint()&&n){var s=Math.abs(e);s<1?(r=new at(10).pow(mm.getDigitCount(e)-1),a=new at(Math.floor(a.div(r).toNumber())).mul(r)):s>1&&(a=new at(Math.floor(e)))}else e===0?a=new at(Math.floor((t-1)/2)):n||(a=new at(Math.floor(e)));var o=Math.floor((t-1)/2),l=_X(EX(function(c){return a.add(new at(c-o).mul(r)).toNumber()}),eb);return l(0,t)}function KP(e,t,n,r){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((t-e)/(n-1)))return{step:new at(0),tickMin:new at(0),tickMax:new at(0)};var s=qP(new at(t).sub(e).div(n-1),r,a),o;e<=0&&t>=0?o=new at(0):(o=new at(e).add(t).div(2),o=o.sub(new at(o).mod(s)));var l=Math.ceil(o.sub(e).div(s).toNumber()),c=Math.ceil(new at(t).sub(o).div(s).toNumber()),u=l+c+1;return u>n?KP(e,t,n,r,a+1):(u<n&&(c=t>0?c+(n-u):c,l=t>0?l:l+(n-u)),{step:s,tickMin:o.sub(new at(l).mul(s)),tickMax:o.add(new at(c).mul(s))})}function zX(e){var t=ju(e,2),n=t[0],r=t[1],a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=Math.max(a,2),l=GP([n,r]),c=ju(l,2),u=c[0],d=c[1];if(u===-1/0||d===1/0){var f=d===1/0?[u].concat(nb(eb(0,a-1).map(function(){return 1/0}))):[].concat(nb(eb(0,a-1).map(function(){return-1/0})),[d]);return n>r?tb(f):f}if(u===d)return BX(u,a,s);var h=KP(u,d,o,s),p=h.step,m=h.tickMin,g=h.tickMax,y=mm.rangeStep(m,g.add(new at(.1).mul(p)),p);return n>r?tb(y):y}function FX(e,t){var n=ju(e,2),r=n[0],a=n[1],s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,o=GP([r,a]),l=ju(o,2),c=l[0],u=l[1];if(c===-1/0||u===1/0)return[r,a];if(c===u)return[c];var d=Math.max(t,2),f=qP(new at(u).sub(c).div(d-1),s,0),h=[].concat(nb(mm.rangeStep(new at(c),new at(u).sub(new at(.99).mul(f)),f)),[u]);return r>a?tb(h):h}var UX=WP(zX),WX=WP(FX),HX="Invariant failed";function Ms(e,t){throw new Error(HX)}var GX=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function il(e){"@babel/helpers - typeof";return il=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},il(e)}function Ih(){return Ih=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ih.apply(this,arguments)}function qX(e,t){return XX(e)||YX(e,t)||VX(e,t)||KX()}function KX(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
90
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function VX(e,t){if(e){if(typeof e=="string")return x1(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return x1(e,t)}}function x1(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function YX(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,a,s,o,l=[],c=!0,u=!1;try{if(s=(n=n.call(e)).next,t!==0)for(;!(c=(r=s.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(d){u=!0,a=d}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return l}}function XX(e){if(Array.isArray(e))return e}function QX(e,t){if(e==null)return{};var n=ZX(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function ZX(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function JX(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function eQ(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,XP(r.key),r)}}function tQ(e,t,n){return t&&eQ(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function nQ(e,t,n){return t=$h(t),rQ(e,VP()?Reflect.construct(t,n||[],$h(e).constructor):t.apply(e,n))}function rQ(e,t){if(t&&(il(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return aQ(e)}function aQ(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function VP(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(VP=function(){return!!e})()}function $h(e){return $h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},$h(e)}function iQ(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ab(e,t)}function ab(e,t){return ab=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},ab(e,t)}function YP(e,t,n){return t=XP(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function XP(e){var t=sQ(e,"string");return il(t)=="symbol"?t:t+""}function sQ(e,t){if(il(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(il(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var gm=function(e){function t(){return JX(this,t),nQ(this,t,arguments)}return iQ(t,e),tQ(t,[{key:"render",value:function(){var r=this.props,a=r.offset,s=r.layout,o=r.width,l=r.dataKey,c=r.data,u=r.dataPointFormatter,d=r.xAxis,f=r.yAxis,h=QX(r,GX),p=Ge(h,!1);this.props.direction==="x"&&d.type!=="number"&&Ms();var m=c.map(function(g){var y=u(g,l),v=y.x,k=y.y,w=y.value,N=y.errorVal;if(!N)return null;var S=[],x,E;if(Array.isArray(N)){var _=qX(N,2);x=_[0],E=_[1]}else x=E=N;if(s==="vertical"){var O=d.scale,C=k+a,P=C+o,A=C-o,D=O(w-x),I=O(w+E);S.push({x1:I,y1:P,x2:I,y2:A}),S.push({x1:D,y1:C,x2:I,y2:C}),S.push({x1:D,y1:P,x2:D,y2:A})}else if(s==="horizontal"){var M=f.scale,L=v+a,U=L-o,R=L+o,B=M(w-x),T=M(w+E);S.push({x1:U,y1:T,x2:R,y2:T}),S.push({x1:L,y1:B,x2:L,y2:T}),S.push({x1:U,y1:B,x2:R,y2:B})}return V.createElement(tn,Ih({className:"recharts-errorBar",key:"bar-".concat(S.map(function(Z){return"".concat(Z.x1,"-").concat(Z.x2,"-").concat(Z.y1,"-").concat(Z.y2)}))},p),S.map(function(Z){return V.createElement("line",Ih({},Z,{key:"line-".concat(Z.x1,"-").concat(Z.x2,"-").concat(Z.y1,"-").concat(Z.y2)}))}))});return V.createElement(tn,{className:"recharts-errorBars"},m)}}])}(V.Component);YP(gm,"defaultProps",{stroke:"black",strokeWidth:1.5,width:5,offset:0,layout:"horizontal"});YP(gm,"displayName","ErrorBar");function Nu(e){"@babel/helpers - typeof";return Nu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Nu(e)}function w1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Qi(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?w1(Object(n),!0).forEach(function(r){oQ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):w1(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function oQ(e,t,n){return t=lQ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function lQ(e){var t=cQ(e,"string");return Nu(t)=="symbol"?t:t+""}function cQ(e,t){if(Nu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Nu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var QP=function(t){var n=t.children,r=t.formattedGraphicalItems,a=t.legendWidth,s=t.legendContent,o=tr(n,xs);if(!o)return null;var l=xs.defaultProps,c=l!==void 0?Qi(Qi({},l),o.props):{},u;return o.props&&o.props.payload?u=o.props&&o.props.payload:s==="children"?u=(r||[]).reduce(function(d,f){var h=f.item,p=f.props,m=p.sectors||p.data||[];return d.concat(m.map(function(g){return{type:o.props.iconType||h.props.legendType,value:g.name,color:g.fill,payload:g}}))},[]):u=(r||[]).map(function(d){var f=d.item,h=f.type.defaultProps,p=h!==void 0?Qi(Qi({},h),f.props):{},m=p.dataKey,g=p.name,y=p.legendType,v=p.hide;return{inactive:v,dataKey:m,type:c.iconType||y||"square",color:Jw(f),value:g||m,payload:p}}),Qi(Qi(Qi({},c),xs.getWithHeight(o,a)),{},{payload:u,item:o})};function Eu(e){"@babel/helpers - typeof";return Eu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Eu(e)}function k1(e){return hQ(e)||fQ(e)||dQ(e)||uQ()}function uQ(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
91
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function dQ(e,t){if(e){if(typeof e=="string")return ib(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ib(e,t)}}function fQ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function hQ(e){if(Array.isArray(e))return ib(e)}function ib(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function S1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Pt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?S1(Object(n),!0).forEach(function(r){Fo(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):S1(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Fo(e,t,n){return t=pQ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function pQ(e){var t=mQ(e,"string");return Eu(t)=="symbol"?t:t+""}function mQ(e,t){if(Eu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Eu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function pa(e,t,n){return Ke(e)||Ke(t)?n:Vt(t)?wr(e,t,n):Le(t)?t(e):n}function Dc(e,t,n,r){var a=fX(e,function(l){return pa(l,t)});if(n==="number"){var s=a.filter(function(l){return ce(l)||parseFloat(l)});return s.length?[hm(s),fm(s)]:[1/0,-1/0]}var o=r?a.filter(function(l){return!Ke(l)}):a;return o.map(function(l){return Vt(l)||l instanceof Date?l:""})}var gQ=function(t){var n,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],a=arguments.length>2?arguments[2]:void 0,s=arguments.length>3?arguments[3]:void 0,o=-1,l=(n=r==null?void 0:r.length)!==null&&n!==void 0?n:0;if(l<=1)return 0;if(s&&s.axisType==="angleAxis"&&Math.abs(Math.abs(s.range[1]-s.range[0])-360)<=1e-6)for(var c=s.range,u=0;u<l;u++){var d=u>0?a[u-1].coordinate:a[l-1].coordinate,f=a[u].coordinate,h=u>=l-1?a[0].coordinate:a[u+1].coordinate,p=void 0;if(Lr(f-d)!==Lr(h-f)){var m=[];if(Lr(h-f)===Lr(c[1]-c[0])){p=h;var g=f+c[1]-c[0];m[0]=Math.min(g,(g+d)/2),m[1]=Math.max(g,(g+d)/2)}else{p=d;var y=h+c[1]-c[0];m[0]=Math.min(f,(y+f)/2),m[1]=Math.max(f,(y+f)/2)}var v=[Math.min(f,(p+f)/2),Math.max(f,(p+f)/2)];if(t>v[0]&&t<=v[1]||t>=m[0]&&t<=m[1]){o=a[u].index;break}}else{var k=Math.min(d,h),w=Math.max(d,h);if(t>(k+f)/2&&t<=(w+f)/2){o=a[u].index;break}}}else for(var N=0;N<l;N++)if(N===0&&t<=(r[N].coordinate+r[N+1].coordinate)/2||N>0&&N<l-1&&t>(r[N].coordinate+r[N-1].coordinate)/2&&t<=(r[N].coordinate+r[N+1].coordinate)/2||N===l-1&&t>(r[N].coordinate+r[N-1].coordinate)/2){o=r[N].index;break}return o},Jw=function(t){var n,r=t,a=r.type.displayName,s=(n=t.type)!==null&&n!==void 0&&n.defaultProps?Pt(Pt({},t.type.defaultProps),t.props):t.props,o=s.stroke,l=s.fill,c;switch(a){case"Line":c=o;break;case"Area":case"Radar":c=o&&o!=="none"?o:l;break;default:c=l;break}return c},vQ=function(t){var n=t.barSize,r=t.totalSize,a=t.stackGroups,s=a===void 0?{}:a;if(!s)return{};for(var o={},l=Object.keys(s),c=0,u=l.length;c<u;c++)for(var d=s[l[c]].stackGroups,f=Object.keys(d),h=0,p=f.length;h<p;h++){var m=d[f[h]],g=m.items,y=m.cateAxisId,v=g.filter(function(E){return Oa(E.type).indexOf("Bar")>=0});if(v&&v.length){var k=v[0].type.defaultProps,w=k!==void 0?Pt(Pt({},k),v[0].props):v[0].props,N=w.barSize,S=w[y];o[S]||(o[S]=[]);var x=Ke(N)?n:N;o[S].push({item:v[0],stackList:v.slice(1),barSize:Ke(x)?void 0:Ps(x,r,0)})}}return o},yQ=function(t){var n=t.barGap,r=t.barCategoryGap,a=t.bandSize,s=t.sizeList,o=s===void 0?[]:s,l=t.maxBarSize,c=o.length;if(c<1)return null;var u=Ps(n,a,0,!0),d,f=[];if(o[0].barSize===+o[0].barSize){var h=!1,p=a/c,m=o.reduce(function(N,S){return N+S.barSize||0},0);m+=(c-1)*u,m>=a&&(m-=(c-1)*u,u=0),m>=a&&p>0&&(h=!0,p*=.9,m=c*p);var g=(a-m)/2>>0,y={offset:g-u,size:0};d=o.reduce(function(N,S){var x={item:S.item,position:{offset:y.offset+y.size+u,size:h?p:S.barSize}},E=[].concat(k1(N),[x]);return y=E[E.length-1].position,S.stackList&&S.stackList.length&&S.stackList.forEach(function(_){E.push({item:_,position:y})}),E},f)}else{var v=Ps(r,a,0,!0);a-2*v-(c-1)*u<=0&&(u=0);var k=(a-2*v-(c-1)*u)/c;k>1&&(k>>=0);var w=l===+l?Math.min(k,l):k;d=o.reduce(function(N,S,x){var E=[].concat(k1(N),[{item:S.item,position:{offset:v+(k+u)*x+(k-w)/2,size:w}}]);return S.stackList&&S.stackList.length&&S.stackList.forEach(function(_){E.push({item:_,position:E[E.length-1].position})}),E},f)}return d},bQ=function(t,n,r,a){var s=r.children,o=r.width,l=r.margin,c=o-(l.left||0)-(l.right||0),u=QP({children:s,legendWidth:c});if(u){var d=a||{},f=d.width,h=d.height,p=u.align,m=u.verticalAlign,g=u.layout;if((g==="vertical"||g==="horizontal"&&m==="middle")&&p!=="center"&&ce(t[p]))return Pt(Pt({},t),{},Fo({},p,t[p]+(f||0)));if((g==="horizontal"||g==="vertical"&&p==="center")&&m!=="middle"&&ce(t[m]))return Pt(Pt({},t),{},Fo({},m,t[m]+(h||0)))}return t},xQ=function(t,n,r){return Ke(n)?!0:t==="horizontal"?n==="yAxis":t==="vertical"||r==="x"?n==="xAxis":r==="y"?n==="yAxis":!0},ZP=function(t,n,r,a,s){var o=n.props.children,l=zr(o,gm).filter(function(u){return xQ(a,s,u.props.direction)});if(l&&l.length){var c=l.map(function(u){return u.props.dataKey});return t.reduce(function(u,d){var f=pa(d,r);if(Ke(f))return u;var h=Array.isArray(f)?[hm(f),fm(f)]:[f,f],p=c.reduce(function(m,g){var y=pa(d,g,0),v=h[0]-Math.abs(Array.isArray(y)?y[0]:y),k=h[1]+Math.abs(Array.isArray(y)?y[1]:y);return[Math.min(v,m[0]),Math.max(k,m[1])]},[1/0,-1/0]);return[Math.min(p[0],u[0]),Math.max(p[1],u[1])]},[1/0,-1/0])}return null},wQ=function(t,n,r,a,s){var o=n.map(function(l){return ZP(t,l,r,s,a)}).filter(function(l){return!Ke(l)});return o&&o.length?o.reduce(function(l,c){return[Math.min(l[0],c[0]),Math.max(l[1],c[1])]},[1/0,-1/0]):null},JP=function(t,n,r,a,s){var o=n.map(function(c){var u=c.props.dataKey;return r==="number"&&u&&ZP(t,c,u,a)||Dc(t,u,r,s)});if(r==="number")return o.reduce(function(c,u){return[Math.min(c[0],u[0]),Math.max(c[1],u[1])]},[1/0,-1/0]);var l={};return o.reduce(function(c,u){for(var d=0,f=u.length;d<f;d++)l[u[d]]||(l[u[d]]=!0,c.push(u[d]));return c},[])},eR=function(t,n){return t==="horizontal"&&n==="xAxis"||t==="vertical"&&n==="yAxis"||t==="centric"&&n==="angleAxis"||t==="radial"&&n==="radiusAxis"},tR=function(t,n,r,a){if(a)return t.map(function(c){return c.coordinate});var s,o,l=t.map(function(c){return c.coordinate===n&&(s=!0),c.coordinate===r&&(o=!0),c.coordinate});return s||l.push(n),o||l.push(r),l},Aa=function(t,n,r){if(!t)return null;var a=t.scale,s=t.duplicateDomain,o=t.type,l=t.range,c=t.realScaleType==="scaleBand"?a.bandwidth()/2:2,u=(n||r)&&o==="category"&&a.bandwidth?a.bandwidth()/c:0;if(u=t.axisType==="angleAxis"&&(l==null?void 0:l.length)>=2?Lr(l[0]-l[1])*2*u:u,n&&(t.ticks||t.niceTicks)){var d=(t.ticks||t.niceTicks).map(function(f){var h=s?s.indexOf(f):f;return{coordinate:a(h)+u,value:f,offset:u}});return d.filter(function(f){return!nd(f.coordinate)})}return t.isCategorical&&t.categoricalDomain?t.categoricalDomain.map(function(f,h){return{coordinate:a(f)+u,value:f,index:h,offset:u}}):a.ticks&&!r?a.ticks(t.tickCount).map(function(f){return{coordinate:a(f)+u,value:f,offset:u}}):a.domain().map(function(f,h){return{coordinate:a(f)+u,value:s?s[f]:f,index:h,offset:u}})},Ag=new WeakMap,Qd=function(t,n){if(typeof n!="function")return t;Ag.has(t)||Ag.set(t,new WeakMap);var r=Ag.get(t);if(r.has(n))return r.get(n);var a=function(){t.apply(void 0,arguments),n.apply(void 0,arguments)};return r.set(n,a),a},kQ=function(t,n,r){var a=t.scale,s=t.type,o=t.layout,l=t.axisType;if(a==="auto")return o==="radial"&&l==="radiusAxis"?{scale:yu(),realScaleType:"band"}:o==="radial"&&l==="angleAxis"?{scale:Th(),realScaleType:"linear"}:s==="category"&&n&&(n.indexOf("LineChart")>=0||n.indexOf("AreaChart")>=0||n.indexOf("ComposedChart")>=0&&!r)?{scale:Lc(),realScaleType:"point"}:s==="category"?{scale:yu(),realScaleType:"band"}:{scale:Th(),realScaleType:"linear"};if(Os(a)){var c="scale".concat(Jp(a));return{scale:(g1[c]||Lc)(),realScaleType:g1[c]?c:"point"}}return Le(a)?{scale:a}:{scale:Lc(),realScaleType:"point"}},j1=1e-4,SQ=function(t){var n=t.domain();if(!(!n||n.length<=2)){var r=n.length,a=t.range(),s=Math.min(a[0],a[1])-j1,o=Math.max(a[0],a[1])+j1,l=t(n[0]),c=t(n[r-1]);(l<s||l>o||c<s||c>o)&&t.domain([n[0],n[r-1]])}},jQ=function(t,n){if(!t)return null;for(var r=0,a=t.length;r<a;r++)if(t[r].item===n)return t[r].position;return null},NQ=function(t,n){if(!n||n.length!==2||!ce(n[0])||!ce(n[1]))return t;var r=Math.min(n[0],n[1]),a=Math.max(n[0],n[1]),s=[t[0],t[1]];return(!ce(t[0])||t[0]<r)&&(s[0]=r),(!ce(t[1])||t[1]>a)&&(s[1]=a),s[0]>a&&(s[0]=a),s[1]<r&&(s[1]=r),s},EQ=function(t){var n=t.length;if(!(n<=0))for(var r=0,a=t[0].length;r<a;++r)for(var s=0,o=0,l=0;l<n;++l){var c=nd(t[l][r][1])?t[l][r][0]:t[l][r][1];c>=0?(t[l][r][0]=s,t[l][r][1]=s+c,s=t[l][r][1]):(t[l][r][0]=o,t[l][r][1]=o+c,o=t[l][r][1])}},_Q=function(t){var n=t.length;if(!(n<=0))for(var r=0,a=t[0].length;r<a;++r)for(var s=0,o=0;o<n;++o){var l=nd(t[o][r][1])?t[o][r][0]:t[o][r][1];l>=0?(t[o][r][0]=s,t[o][r][1]=s+l,s=t[o][r][1]):(t[o][r][0]=0,t[o][r][1]=0)}},CQ={sign:EQ,expand:W4,none:Qo,silhouette:H4,wiggle:G4,positive:_Q},AQ=function(t,n,r){var a=n.map(function(l){return l.props.dataKey}),s=CQ[r],o=U4().keys(a).value(function(l,c){return+pa(l,c,0)}).order(Ty).offset(s);return o(t)},TQ=function(t,n,r,a,s,o){if(!t)return null;var l=o?n.reverse():n,c={},u=l.reduce(function(f,h){var p,m=(p=h.type)!==null&&p!==void 0&&p.defaultProps?Pt(Pt({},h.type.defaultProps),h.props):h.props,g=m.stackId,y=m.hide;if(y)return f;var v=m[r],k=f[v]||{hasStack:!1,stackGroups:{}};if(Vt(g)){var w=k.stackGroups[g]||{numericAxisId:r,cateAxisId:a,items:[]};w.items.push(h),k.hasStack=!0,k.stackGroups[g]=w}else k.stackGroups[Zp("_stackId_")]={numericAxisId:r,cateAxisId:a,items:[h]};return Pt(Pt({},f),{},Fo({},v,k))},c),d={};return Object.keys(u).reduce(function(f,h){var p=u[h];if(p.hasStack){var m={};p.stackGroups=Object.keys(p.stackGroups).reduce(function(g,y){var v=p.stackGroups[y];return Pt(Pt({},g),{},Fo({},y,{numericAxisId:r,cateAxisId:a,items:v.items,stackedData:AQ(t,v.items,s)}))},m)}return Pt(Pt({},f),{},Fo({},h,p))},d)},OQ=function(t,n){var r=n.realScaleType,a=n.type,s=n.tickCount,o=n.originalDomain,l=n.allowDecimals,c=r||n.scale;if(c!=="auto"&&c!=="linear")return null;if(s&&a==="number"&&o&&(o[0]==="auto"||o[1]==="auto")){var u=t.domain();if(!u.length)return null;var d=UX(u,s,l);return t.domain([hm(d),fm(d)]),{niceTicks:d}}if(s&&a==="number"){var f=t.domain(),h=WX(f,s,l);return{niceTicks:h}}return null},N1=function(t){var n=t.axis,r=t.ticks,a=t.offset,s=t.bandSize,o=t.entry,l=t.index;if(n.type==="category")return r[l]?r[l].coordinate+a:null;var c=pa(o,n.dataKey,n.domain[l]);return Ke(c)?null:n.scale(c)-s/2+a},PQ=function(t){var n=t.numericAxis,r=n.scale.domain();if(n.type==="number"){var a=Math.min(r[0],r[1]),s=Math.max(r[0],r[1]);return a<=0&&s>=0?0:s<0?s:a}return r[0]},RQ=function(t,n){var r,a=(r=t.type)!==null&&r!==void 0&&r.defaultProps?Pt(Pt({},t.type.defaultProps),t.props):t.props,s=a.stackId;if(Vt(s)){var o=n[s];if(o){var l=o.items.indexOf(t);return l>=0?o.stackedData[l]:null}}return null},MQ=function(t){return t.reduce(function(n,r){return[hm(r.concat([n[0]]).filter(ce)),fm(r.concat([n[1]]).filter(ce))]},[1/0,-1/0])},nR=function(t,n,r){return Object.keys(t).reduce(function(a,s){var o=t[s],l=o.stackedData,c=l.reduce(function(u,d){var f=MQ(d.slice(n,r+1));return[Math.min(u[0],f[0]),Math.max(u[1],f[1])]},[1/0,-1/0]);return[Math.min(c[0],a[0]),Math.max(c[1],a[1])]},[1/0,-1/0]).map(function(a){return a===1/0||a===-1/0?0:a})},E1=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,_1=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,sb=function(t,n,r){if(Le(t))return t(n,r);if(!Array.isArray(t))return n;var a=[];if(ce(t[0]))a[0]=r?t[0]:Math.min(t[0],n[0]);else if(E1.test(t[0])){var s=+E1.exec(t[0])[1];a[0]=n[0]-s}else Le(t[0])?a[0]=t[0](n[0]):a[0]=n[0];if(ce(t[1]))a[1]=r?t[1]:Math.max(t[1],n[1]);else if(_1.test(t[1])){var o=+_1.exec(t[1])[1];a[1]=n[1]+o}else Le(t[1])?a[1]=t[1](n[1]):a[1]=n[1];return a},Lh=function(t,n,r){if(t&&t.scale&&t.scale.bandwidth){var a=t.scale.bandwidth();if(!r||a>0)return a}if(t&&n&&n.length>=2){for(var s=Ew(n,function(f){return f.coordinate}),o=1/0,l=1,c=s.length;l<c;l++){var u=s[l],d=s[l-1];o=Math.min((u.coordinate||0)-(d.coordinate||0),o)}return o===1/0?0:o}return r?void 0:0},C1=function(t,n,r){return!t||!t.length||Xw(t,wr(r,"type.defaultProps.domain"))?n:t},rR=function(t,n){var r=t.type.defaultProps?Pt(Pt({},t.type.defaultProps),t.props):t.props,a=r.dataKey,s=r.name,o=r.unit,l=r.formatter,c=r.tooltipType,u=r.chartType,d=r.hide;return Pt(Pt({},Ge(t,!1)),{},{dataKey:a,unit:o,formatter:l,name:s||a,color:Jw(t),value:pa(n,a),type:c,payload:n,chartType:u,hide:d})};function _u(e){"@babel/helpers - typeof";return _u=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_u(e)}function A1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function T1(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?A1(Object(n),!0).forEach(function(r){IQ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):A1(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function IQ(e,t,n){return t=$Q(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $Q(e){var t=LQ(e,"string");return _u(t)=="symbol"?t:t+""}function LQ(e,t){if(_u(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(_u(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Dh=Math.PI/180,DQ=function(t){return t*180/Math.PI},fn=function(t,n,r,a){return{x:t+Math.cos(-Dh*a)*r,y:n+Math.sin(-Dh*a)*r}},BQ=function(t,n){var r=t.x,a=t.y,s=n.x,o=n.y;return Math.sqrt(Math.pow(r-s,2)+Math.pow(a-o,2))},zQ=function(t,n){var r=t.x,a=t.y,s=n.cx,o=n.cy,l=BQ({x:r,y:a},{x:s,y:o});if(l<=0)return{radius:l};var c=(r-s)/l,u=Math.acos(c);return a>o&&(u=2*Math.PI-u),{radius:l,angle:DQ(u),angleInRadian:u}},FQ=function(t){var n=t.startAngle,r=t.endAngle,a=Math.floor(n/360),s=Math.floor(r/360),o=Math.min(a,s);return{startAngle:n-o*360,endAngle:r-o*360}},UQ=function(t,n){var r=n.startAngle,a=n.endAngle,s=Math.floor(r/360),o=Math.floor(a/360),l=Math.min(s,o);return t+l*360},O1=function(t,n){var r=t.x,a=t.y,s=zQ({x:r,y:a},n),o=s.radius,l=s.angle,c=n.innerRadius,u=n.outerRadius;if(o<c||o>u)return!1;if(o===0)return!0;var d=FQ(n),f=d.startAngle,h=d.endAngle,p=l,m;if(f<=h){for(;p>h;)p-=360;for(;p<f;)p+=360;m=p>=f&&p<=h}else{for(;p>f;)p-=360;for(;p<h;)p+=360;m=p>=h&&p<=f}return m?T1(T1({},n),{},{radius:o,angle:UQ(p,n)}):null};function Cu(e){"@babel/helpers - typeof";return Cu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Cu(e)}var WQ=["offset"];function HQ(e){return VQ(e)||KQ(e)||qQ(e)||GQ()}function GQ(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
92
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qQ(e,t){if(e){if(typeof e=="string")return ob(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ob(e,t)}}function KQ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function VQ(e){if(Array.isArray(e))return ob(e)}function ob(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function YQ(e,t){if(e==null)return{};var n=XQ(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function XQ(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function P1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Gt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?P1(Object(n),!0).forEach(function(r){QQ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):P1(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function QQ(e,t,n){return t=ZQ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ZQ(e){var t=JQ(e,"string");return Cu(t)=="symbol"?t:t+""}function JQ(e,t){if(Cu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Cu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Au(){return Au=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Au.apply(this,arguments)}var eZ=function(t){var n=t.value,r=t.formatter,a=Ke(t.children)?n:t.children;return Le(r)?r(a):a},tZ=function(t,n){var r=Lr(n-t),a=Math.min(Math.abs(n-t),360);return r*a},nZ=function(t,n,r){var a=t.position,s=t.viewBox,o=t.offset,l=t.className,c=s,u=c.cx,d=c.cy,f=c.innerRadius,h=c.outerRadius,p=c.startAngle,m=c.endAngle,g=c.clockWise,y=(f+h)/2,v=tZ(p,m),k=v>=0?1:-1,w,N;a==="insideStart"?(w=p+k*o,N=g):a==="insideEnd"?(w=m-k*o,N=!g):a==="end"&&(w=m+k*o,N=g),N=v<=0?N:!N;var S=fn(u,d,y,w),x=fn(u,d,y,w+(N?1:-1)*359),E="M".concat(S.x,",").concat(S.y,`
|
|
93
|
+
A`).concat(y,",").concat(y,",0,1,").concat(N?0:1,`,
|
|
94
|
+
`).concat(x.x,",").concat(x.y),_=Ke(t.id)?Zp("recharts-radial-line-"):t.id;return V.createElement("text",Au({},r,{dominantBaseline:"central",className:qe("recharts-radial-bar-label",l)}),V.createElement("defs",null,V.createElement("path",{id:_,d:E})),V.createElement("textPath",{xlinkHref:"#".concat(_)},n))},rZ=function(t){var n=t.viewBox,r=t.offset,a=t.position,s=n,o=s.cx,l=s.cy,c=s.innerRadius,u=s.outerRadius,d=s.startAngle,f=s.endAngle,h=(d+f)/2;if(a==="outside"){var p=fn(o,l,u+r,h),m=p.x,g=p.y;return{x:m,y:g,textAnchor:m>=o?"start":"end",verticalAnchor:"middle"}}if(a==="center")return{x:o,y:l,textAnchor:"middle",verticalAnchor:"middle"};if(a==="centerTop")return{x:o,y:l,textAnchor:"middle",verticalAnchor:"start"};if(a==="centerBottom")return{x:o,y:l,textAnchor:"middle",verticalAnchor:"end"};var y=(c+u)/2,v=fn(o,l,y,h),k=v.x,w=v.y;return{x:k,y:w,textAnchor:"middle",verticalAnchor:"middle"}},aZ=function(t){var n=t.viewBox,r=t.parentViewBox,a=t.offset,s=t.position,o=n,l=o.x,c=o.y,u=o.width,d=o.height,f=d>=0?1:-1,h=f*a,p=f>0?"end":"start",m=f>0?"start":"end",g=u>=0?1:-1,y=g*a,v=g>0?"end":"start",k=g>0?"start":"end";if(s==="top"){var w={x:l+u/2,y:c-f*a,textAnchor:"middle",verticalAnchor:p};return Gt(Gt({},w),r?{height:Math.max(c-r.y,0),width:u}:{})}if(s==="bottom"){var N={x:l+u/2,y:c+d+h,textAnchor:"middle",verticalAnchor:m};return Gt(Gt({},N),r?{height:Math.max(r.y+r.height-(c+d),0),width:u}:{})}if(s==="left"){var S={x:l-y,y:c+d/2,textAnchor:v,verticalAnchor:"middle"};return Gt(Gt({},S),r?{width:Math.max(S.x-r.x,0),height:d}:{})}if(s==="right"){var x={x:l+u+y,y:c+d/2,textAnchor:k,verticalAnchor:"middle"};return Gt(Gt({},x),r?{width:Math.max(r.x+r.width-x.x,0),height:d}:{})}var E=r?{width:u,height:d}:{};return s==="insideLeft"?Gt({x:l+y,y:c+d/2,textAnchor:k,verticalAnchor:"middle"},E):s==="insideRight"?Gt({x:l+u-y,y:c+d/2,textAnchor:v,verticalAnchor:"middle"},E):s==="insideTop"?Gt({x:l+u/2,y:c+h,textAnchor:"middle",verticalAnchor:m},E):s==="insideBottom"?Gt({x:l+u/2,y:c+d-h,textAnchor:"middle",verticalAnchor:p},E):s==="insideTopLeft"?Gt({x:l+y,y:c+h,textAnchor:k,verticalAnchor:m},E):s==="insideTopRight"?Gt({x:l+u-y,y:c+h,textAnchor:v,verticalAnchor:m},E):s==="insideBottomLeft"?Gt({x:l+y,y:c+d-h,textAnchor:k,verticalAnchor:p},E):s==="insideBottomRight"?Gt({x:l+u-y,y:c+d-h,textAnchor:v,verticalAnchor:p},E):El(s)&&(ce(s.x)||hs(s.x))&&(ce(s.y)||hs(s.y))?Gt({x:l+Ps(s.x,u),y:c+Ps(s.y,d),textAnchor:"end",verticalAnchor:"end"},E):Gt({x:l+u/2,y:c+d/2,textAnchor:"middle",verticalAnchor:"middle"},E)},iZ=function(t){return"cx"in t&&ce(t.cx)};function kn(e){var t=e.offset,n=t===void 0?5:t,r=YQ(e,WQ),a=Gt({offset:n},r),s=a.viewBox,o=a.position,l=a.value,c=a.children,u=a.content,d=a.className,f=d===void 0?"":d,h=a.textBreakAll;if(!s||Ke(l)&&Ke(c)&&!b.isValidElement(u)&&!Le(u))return null;if(b.isValidElement(u))return b.cloneElement(u,a);var p;if(Le(u)){if(p=b.createElement(u,a),b.isValidElement(p))return p}else p=eZ(a);var m=iZ(s),g=Ge(a,!0);if(m&&(o==="insideStart"||o==="insideEnd"||o==="end"))return nZ(a,p,g);var y=m?rZ(a):aZ(a);return V.createElement(kh,Au({className:qe("recharts-label",f)},g,y,{breakAll:h}),p)}kn.displayName="Label";var aR=function(t){var n=t.cx,r=t.cy,a=t.angle,s=t.startAngle,o=t.endAngle,l=t.r,c=t.radius,u=t.innerRadius,d=t.outerRadius,f=t.x,h=t.y,p=t.top,m=t.left,g=t.width,y=t.height,v=t.clockWise,k=t.labelViewBox;if(k)return k;if(ce(g)&&ce(y)){if(ce(f)&&ce(h))return{x:f,y:h,width:g,height:y};if(ce(p)&&ce(m))return{x:p,y:m,width:g,height:y}}return ce(f)&&ce(h)?{x:f,y:h,width:0,height:0}:ce(n)&&ce(r)?{cx:n,cy:r,startAngle:s||a||0,endAngle:o||a||0,innerRadius:u||0,outerRadius:d||c||l||0,clockWise:v}:t.viewBox?t.viewBox:{}},sZ=function(t,n){return t?t===!0?V.createElement(kn,{key:"label-implicit",viewBox:n}):Vt(t)?V.createElement(kn,{key:"label-implicit",viewBox:n,value:t}):b.isValidElement(t)?t.type===kn?b.cloneElement(t,{key:"label-implicit",viewBox:n}):V.createElement(kn,{key:"label-implicit",content:t,viewBox:n}):Le(t)?V.createElement(kn,{key:"label-implicit",content:t,viewBox:n}):El(t)?V.createElement(kn,Au({viewBox:n},t,{key:"label-implicit"})):null:null},oZ=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!t||!t.children&&r&&!t.label)return null;var a=t.children,s=aR(t),o=zr(a,kn).map(function(c,u){return b.cloneElement(c,{viewBox:n||s,key:"label-".concat(u)})});if(!r)return o;var l=sZ(t.label,n||s);return[l].concat(HQ(o))};kn.parseViewBox=aR;kn.renderCallByParent=oZ;function lZ(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}var cZ=lZ;const uZ=Xe(cZ);function Tu(e){"@babel/helpers - typeof";return Tu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Tu(e)}var dZ=["valueAccessor"],fZ=["data","dataKey","clockWise","id","textBreakAll"];function hZ(e){return vZ(e)||gZ(e)||mZ(e)||pZ()}function pZ(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
95
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function mZ(e,t){if(e){if(typeof e=="string")return lb(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return lb(e,t)}}function gZ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function vZ(e){if(Array.isArray(e))return lb(e)}function lb(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Bh(){return Bh=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Bh.apply(this,arguments)}function R1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function M1(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?R1(Object(n),!0).forEach(function(r){yZ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):R1(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function yZ(e,t,n){return t=bZ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function bZ(e){var t=xZ(e,"string");return Tu(t)=="symbol"?t:t+""}function xZ(e,t){if(Tu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Tu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function I1(e,t){if(e==null)return{};var n=wZ(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function wZ(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var kZ=function(t){return Array.isArray(t.value)?uZ(t.value):t.value};function Ss(e){var t=e.valueAccessor,n=t===void 0?kZ:t,r=I1(e,dZ),a=r.data,s=r.dataKey,o=r.clockWise,l=r.id,c=r.textBreakAll,u=I1(r,fZ);return!a||!a.length?null:V.createElement(tn,{className:"recharts-label-list"},a.map(function(d,f){var h=Ke(s)?n(d,f):pa(d&&d.payload,s),p=Ke(l)?{}:{id:"".concat(l,"-").concat(f)};return V.createElement(kn,Bh({},Ge(d,!0),u,p,{parentViewBox:d.parentViewBox,value:h,textBreakAll:c,viewBox:kn.parseViewBox(Ke(o)?d:M1(M1({},d),{},{clockWise:o})),key:"label-".concat(f),index:f}))}))}Ss.displayName="LabelList";function SZ(e,t){return e?e===!0?V.createElement(Ss,{key:"labelList-implicit",data:t}):V.isValidElement(e)||Le(e)?V.createElement(Ss,{key:"labelList-implicit",data:t,content:e}):El(e)?V.createElement(Ss,Bh({data:t},e,{key:"labelList-implicit"})):null:null}function jZ(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e||!e.children&&n&&!e.label)return null;var r=e.children,a=zr(r,Ss).map(function(o,l){return b.cloneElement(o,{data:t,key:"labelList-".concat(l)})});if(!n)return a;var s=SZ(e.label,t);return[s].concat(hZ(a))}Ss.renderCallByParent=jZ;function Ou(e){"@babel/helpers - typeof";return Ou=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ou(e)}function cb(){return cb=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},cb.apply(this,arguments)}function $1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function L1(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?$1(Object(n),!0).forEach(function(r){NZ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$1(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function NZ(e,t,n){return t=EZ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function EZ(e){var t=_Z(e,"string");return Ou(t)=="symbol"?t:t+""}function _Z(e,t){if(Ou(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Ou(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var CZ=function(t,n){var r=Lr(n-t),a=Math.min(Math.abs(n-t),359.999);return r*a},Zd=function(t){var n=t.cx,r=t.cy,a=t.radius,s=t.angle,o=t.sign,l=t.isExternal,c=t.cornerRadius,u=t.cornerIsExternal,d=c*(l?1:-1)+a,f=Math.asin(c/d)/Dh,h=u?s:s+o*f,p=fn(n,r,d,h),m=fn(n,r,a,h),g=u?s-o*f:s,y=fn(n,r,d*Math.cos(f*Dh),g);return{center:p,circleTangency:m,lineTangency:y,theta:f}},iR=function(t){var n=t.cx,r=t.cy,a=t.innerRadius,s=t.outerRadius,o=t.startAngle,l=t.endAngle,c=CZ(o,l),u=o+c,d=fn(n,r,s,o),f=fn(n,r,s,u),h="M ".concat(d.x,",").concat(d.y,`
|
|
96
|
+
A `).concat(s,",").concat(s,`,0,
|
|
97
|
+
`).concat(+(Math.abs(c)>180),",").concat(+(o>u),`,
|
|
98
|
+
`).concat(f.x,",").concat(f.y,`
|
|
99
|
+
`);if(a>0){var p=fn(n,r,a,o),m=fn(n,r,a,u);h+="L ".concat(m.x,",").concat(m.y,`
|
|
100
|
+
A `).concat(a,",").concat(a,`,0,
|
|
101
|
+
`).concat(+(Math.abs(c)>180),",").concat(+(o<=u),`,
|
|
102
|
+
`).concat(p.x,",").concat(p.y," Z")}else h+="L ".concat(n,",").concat(r," Z");return h},AZ=function(t){var n=t.cx,r=t.cy,a=t.innerRadius,s=t.outerRadius,o=t.cornerRadius,l=t.forceCornerRadius,c=t.cornerIsExternal,u=t.startAngle,d=t.endAngle,f=Lr(d-u),h=Zd({cx:n,cy:r,radius:s,angle:u,sign:f,cornerRadius:o,cornerIsExternal:c}),p=h.circleTangency,m=h.lineTangency,g=h.theta,y=Zd({cx:n,cy:r,radius:s,angle:d,sign:-f,cornerRadius:o,cornerIsExternal:c}),v=y.circleTangency,k=y.lineTangency,w=y.theta,N=c?Math.abs(u-d):Math.abs(u-d)-g-w;if(N<0)return l?"M ".concat(m.x,",").concat(m.y,`
|
|
103
|
+
a`).concat(o,",").concat(o,",0,0,1,").concat(o*2,`,0
|
|
104
|
+
a`).concat(o,",").concat(o,",0,0,1,").concat(-o*2,`,0
|
|
105
|
+
`):iR({cx:n,cy:r,innerRadius:a,outerRadius:s,startAngle:u,endAngle:d});var S="M ".concat(m.x,",").concat(m.y,`
|
|
106
|
+
A`).concat(o,",").concat(o,",0,0,").concat(+(f<0),",").concat(p.x,",").concat(p.y,`
|
|
107
|
+
A`).concat(s,",").concat(s,",0,").concat(+(N>180),",").concat(+(f<0),",").concat(v.x,",").concat(v.y,`
|
|
108
|
+
A`).concat(o,",").concat(o,",0,0,").concat(+(f<0),",").concat(k.x,",").concat(k.y,`
|
|
109
|
+
`);if(a>0){var x=Zd({cx:n,cy:r,radius:a,angle:u,sign:f,isExternal:!0,cornerRadius:o,cornerIsExternal:c}),E=x.circleTangency,_=x.lineTangency,O=x.theta,C=Zd({cx:n,cy:r,radius:a,angle:d,sign:-f,isExternal:!0,cornerRadius:o,cornerIsExternal:c}),P=C.circleTangency,A=C.lineTangency,D=C.theta,I=c?Math.abs(u-d):Math.abs(u-d)-O-D;if(I<0&&o===0)return"".concat(S,"L").concat(n,",").concat(r,"Z");S+="L".concat(A.x,",").concat(A.y,`
|
|
110
|
+
A`).concat(o,",").concat(o,",0,0,").concat(+(f<0),",").concat(P.x,",").concat(P.y,`
|
|
111
|
+
A`).concat(a,",").concat(a,",0,").concat(+(I>180),",").concat(+(f>0),",").concat(E.x,",").concat(E.y,`
|
|
112
|
+
A`).concat(o,",").concat(o,",0,0,").concat(+(f<0),",").concat(_.x,",").concat(_.y,"Z")}else S+="L".concat(n,",").concat(r,"Z");return S},TZ={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},sR=function(t){var n=L1(L1({},TZ),t),r=n.cx,a=n.cy,s=n.innerRadius,o=n.outerRadius,l=n.cornerRadius,c=n.forceCornerRadius,u=n.cornerIsExternal,d=n.startAngle,f=n.endAngle,h=n.className;if(o<s||d===f)return null;var p=qe("recharts-sector",h),m=o-s,g=Ps(l,m,0,!0),y;return g>0&&Math.abs(d-f)<360?y=AZ({cx:r,cy:a,innerRadius:s,outerRadius:o,cornerRadius:Math.min(g,m/2),forceCornerRadius:c,cornerIsExternal:u,startAngle:d,endAngle:f}):y=iR({cx:r,cy:a,innerRadius:s,outerRadius:o,startAngle:d,endAngle:f}),V.createElement("path",cb({},Ge(n,!0),{className:p,d:y,role:"img"}))};function Pu(e){"@babel/helpers - typeof";return Pu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Pu(e)}function ub(){return ub=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ub.apply(this,arguments)}function D1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function B1(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?D1(Object(n),!0).forEach(function(r){OZ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):D1(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function OZ(e,t,n){return t=PZ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function PZ(e){var t=RZ(e,"string");return Pu(t)=="symbol"?t:t+""}function RZ(e,t){if(Pu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Pu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var z1={curveBasisClosed:O4,curveBasisOpen:P4,curveBasis:T4,curveBumpX:g4,curveBumpY:v4,curveLinearClosed:R4,curveLinear:tm,curveMonotoneX:M4,curveMonotoneY:I4,curveNatural:$4,curveStep:L4,curveStepAfter:B4,curveStepBefore:D4},Jd=function(t){return t.x===+t.x&&t.y===+t.y},fc=function(t){return t.x},hc=function(t){return t.y},MZ=function(t,n){if(Le(t))return t;var r="curve".concat(Jp(t));return(r==="curveMonotone"||r==="curveBump")&&n?z1["".concat(r).concat(n==="vertical"?"Y":"X")]:z1[r]||tm},IZ=function(t){var n=t.type,r=n===void 0?"linear":n,a=t.points,s=a===void 0?[]:a,o=t.baseLine,l=t.layout,c=t.connectNulls,u=c===void 0?!1:c,d=MZ(r,l),f=u?s.filter(function(g){return Jd(g)}):s,h;if(Array.isArray(o)){var p=u?o.filter(function(g){return Jd(g)}):o,m=f.map(function(g,y){return B1(B1({},g),{},{base:p[y]})});return l==="vertical"?h=Wd().y(hc).x1(fc).x0(function(g){return g.base.x}):h=Wd().x(fc).y1(hc).y0(function(g){return g.base.y}),h.defined(Jd).curve(d),h(m)}return l==="vertical"&&ce(o)?h=Wd().y(hc).x1(fc).x0(o):ce(o)?h=Wd().x(fc).y1(hc).y0(o):h=lO().x(fc).y(hc),h.defined(Jd).curve(d),h(f)},F1=function(t){var n=t.className,r=t.points,a=t.path,s=t.pathRef;if((!r||!r.length)&&!a)return null;var o=r&&r.length?IZ(t):a;return b.createElement("path",ub({},Ge(t,!1),oh(t),{className:qe("recharts-curve",n),d:o,ref:s}))},oR={exports:{}},$Z="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",LZ=$Z,DZ=LZ;function lR(){}function cR(){}cR.resetWarningCache=lR;var BZ=function(){function e(r,a,s,o,l,c){if(c!==DZ){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}e.isRequired=e;function t(){return e}var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:cR,resetWarningCache:lR};return n.PropTypes=n,n};oR.exports=BZ();var zZ=oR.exports;const Ye=Xe(zZ),{getOwnPropertyNames:FZ,getOwnPropertySymbols:UZ}=Object,{hasOwnProperty:WZ}=Object.prototype;function Tg(e,t){return function(r,a,s){return e(r,a,s)&&t(r,a,s)}}function ef(e){return function(n,r,a){if(!n||!r||typeof n!="object"||typeof r!="object")return e(n,r,a);const{cache:s}=a,o=s.get(n),l=s.get(r);if(o&&l)return o===r&&l===n;s.set(n,r),s.set(r,n);const c=e(n,r,a);return s.delete(n),s.delete(r),c}}function HZ(e){return e!=null?e[Symbol.toStringTag]:void 0}function U1(e){return FZ(e).concat(UZ(e))}const GZ=Object.hasOwn||((e,t)=>WZ.call(e,t));function Us(e,t){return e===t||!e&&!t&&e!==e&&t!==t}const qZ="__v",KZ="__o",VZ="_owner",{getOwnPropertyDescriptor:W1,keys:H1}=Object;function YZ(e,t){return e.byteLength===t.byteLength&&zh(new Uint8Array(e),new Uint8Array(t))}function XZ(e,t,n){let r=e.length;if(t.length!==r)return!1;for(;r-- >0;)if(!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function QZ(e,t){return e.byteLength===t.byteLength&&zh(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}function ZZ(e,t){return Us(e.getTime(),t.getTime())}function JZ(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function eJ(e,t){return e===t}function G1(e,t,n){const r=e.size;if(r!==t.size)return!1;if(!r)return!0;const a=new Array(r),s=e.entries();let o,l,c=0;for(;(o=s.next())&&!o.done;){const u=t.entries();let d=!1,f=0;for(;(l=u.next())&&!l.done;){if(a[f]){f++;continue}const h=o.value,p=l.value;if(n.equals(h[0],p[0],c,f,e,t,n)&&n.equals(h[1],p[1],h[0],p[0],e,t,n)){d=a[f]=!0;break}f++}if(!d)return!1;c++}return!0}const tJ=Us;function nJ(e,t,n){const r=H1(e);let a=r.length;if(H1(t).length!==a)return!1;for(;a-- >0;)if(!uR(e,t,n,r[a]))return!1;return!0}function pc(e,t,n){const r=U1(e);let a=r.length;if(U1(t).length!==a)return!1;let s,o,l;for(;a-- >0;)if(s=r[a],!uR(e,t,n,s)||(o=W1(e,s),l=W1(t,s),(o||l)&&(!o||!l||o.configurable!==l.configurable||o.enumerable!==l.enumerable||o.writable!==l.writable)))return!1;return!0}function rJ(e,t){return Us(e.valueOf(),t.valueOf())}function aJ(e,t){return e.source===t.source&&e.flags===t.flags}function q1(e,t,n){const r=e.size;if(r!==t.size)return!1;if(!r)return!0;const a=new Array(r),s=e.values();let o,l;for(;(o=s.next())&&!o.done;){const c=t.values();let u=!1,d=0;for(;(l=c.next())&&!l.done;){if(!a[d]&&n.equals(o.value,l.value,o.value,l.value,e,t,n)){u=a[d]=!0;break}d++}if(!u)return!1}return!0}function zh(e,t){let n=e.byteLength;if(t.byteLength!==n||e.byteOffset!==t.byteOffset)return!1;for(;n-- >0;)if(e[n]!==t[n])return!1;return!0}function iJ(e,t){return e.hostname===t.hostname&&e.pathname===t.pathname&&e.protocol===t.protocol&&e.port===t.port&&e.hash===t.hash&&e.username===t.username&&e.password===t.password}function uR(e,t,n,r){return(r===VZ||r===KZ||r===qZ)&&(e.$$typeof||t.$$typeof)?!0:GZ(t,r)&&n.equals(e[r],t[r],r,r,e,t,n)}const sJ="[object ArrayBuffer]",oJ="[object Arguments]",lJ="[object Boolean]",cJ="[object DataView]",uJ="[object Date]",dJ="[object Error]",fJ="[object Map]",hJ="[object Number]",pJ="[object Object]",mJ="[object RegExp]",gJ="[object Set]",vJ="[object String]",yJ={"[object Int8Array]":!0,"[object Uint8Array]":!0,"[object Uint8ClampedArray]":!0,"[object Int16Array]":!0,"[object Uint16Array]":!0,"[object Int32Array]":!0,"[object Uint32Array]":!0,"[object Float16Array]":!0,"[object Float32Array]":!0,"[object Float64Array]":!0,"[object BigInt64Array]":!0,"[object BigUint64Array]":!0},bJ="[object URL]",xJ=Object.prototype.toString;function wJ({areArrayBuffersEqual:e,areArraysEqual:t,areDataViewsEqual:n,areDatesEqual:r,areErrorsEqual:a,areFunctionsEqual:s,areMapsEqual:o,areNumbersEqual:l,areObjectsEqual:c,arePrimitiveWrappersEqual:u,areRegExpsEqual:d,areSetsEqual:f,areTypedArraysEqual:h,areUrlsEqual:p,unknownTagComparators:m}){return function(y,v,k){if(y===v)return!0;if(y==null||v==null)return!1;const w=typeof y;if(w!==typeof v)return!1;if(w!=="object")return w==="number"?l(y,v,k):w==="function"?s(y,v,k):!1;const N=y.constructor;if(N!==v.constructor)return!1;if(N===Object)return c(y,v,k);if(Array.isArray(y))return t(y,v,k);if(N===Date)return r(y,v,k);if(N===RegExp)return d(y,v,k);if(N===Map)return o(y,v,k);if(N===Set)return f(y,v,k);const S=xJ.call(y);if(S===uJ)return r(y,v,k);if(S===mJ)return d(y,v,k);if(S===fJ)return o(y,v,k);if(S===gJ)return f(y,v,k);if(S===pJ)return typeof y.then!="function"&&typeof v.then!="function"&&c(y,v,k);if(S===bJ)return p(y,v,k);if(S===dJ)return a(y,v,k);if(S===oJ)return c(y,v,k);if(yJ[S])return h(y,v,k);if(S===sJ)return e(y,v,k);if(S===cJ)return n(y,v,k);if(S===lJ||S===hJ||S===vJ)return u(y,v,k);if(m){let x=m[S];if(!x){const E=HZ(y);E&&(x=m[E])}if(x)return x(y,v,k)}return!1}}function kJ({circular:e,createCustomConfig:t,strict:n}){let r={areArrayBuffersEqual:YZ,areArraysEqual:n?pc:XZ,areDataViewsEqual:QZ,areDatesEqual:ZZ,areErrorsEqual:JZ,areFunctionsEqual:eJ,areMapsEqual:n?Tg(G1,pc):G1,areNumbersEqual:tJ,areObjectsEqual:n?pc:nJ,arePrimitiveWrappersEqual:rJ,areRegExpsEqual:aJ,areSetsEqual:n?Tg(q1,pc):q1,areTypedArraysEqual:n?Tg(zh,pc):zh,areUrlsEqual:iJ,unknownTagComparators:void 0};if(t&&(r=Object.assign({},r,t(r))),e){const a=ef(r.areArraysEqual),s=ef(r.areMapsEqual),o=ef(r.areObjectsEqual),l=ef(r.areSetsEqual);r=Object.assign({},r,{areArraysEqual:a,areMapsEqual:s,areObjectsEqual:o,areSetsEqual:l})}return r}function SJ(e){return function(t,n,r,a,s,o,l){return e(t,n,l)}}function jJ({circular:e,comparator:t,createState:n,equals:r,strict:a}){if(n)return function(l,c){const{cache:u=e?new WeakMap:void 0,meta:d}=n();return t(l,c,{cache:u,equals:r,meta:d,strict:a})};if(e)return function(l,c){return t(l,c,{cache:new WeakMap,equals:r,meta:void 0,strict:a})};const s={cache:void 0,equals:r,meta:void 0,strict:a};return function(l,c){return t(l,c,s)}}const NJ=Fi();Fi({strict:!0});Fi({circular:!0});Fi({circular:!0,strict:!0});Fi({createInternalComparator:()=>Us});Fi({strict:!0,createInternalComparator:()=>Us});Fi({circular:!0,createInternalComparator:()=>Us});Fi({circular:!0,createInternalComparator:()=>Us,strict:!0});function Fi(e={}){const{circular:t=!1,createInternalComparator:n,createState:r,strict:a=!1}=e,s=kJ(e),o=wJ(s),l=n?n(o):SJ(o);return jJ({circular:t,comparator:o,createState:r,equals:l,strict:a})}function EJ(e){typeof requestAnimationFrame<"u"&&requestAnimationFrame(e)}function K1(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=-1,r=function a(s){n<0&&(n=s),s-n>t?(e(s),n=-1):EJ(a)};requestAnimationFrame(r)}function db(e){"@babel/helpers - typeof";return db=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},db(e)}function _J(e){return OJ(e)||TJ(e)||AJ(e)||CJ()}function CJ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
113
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function AJ(e,t){if(e){if(typeof e=="string")return V1(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return V1(e,t)}}function V1(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function TJ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function OJ(e){if(Array.isArray(e))return e}function PJ(){var e={},t=function(){return null},n=!1,r=function a(s){if(!n){if(Array.isArray(s)){if(!s.length)return;var o=s,l=_J(o),c=l[0],u=l.slice(1);if(typeof c=="number"){K1(a.bind(null,u),c);return}a(c),K1(a.bind(null,u));return}db(s)==="object"&&(e=s,t(e)),typeof s=="function"&&s()}};return{stop:function(){n=!0},start:function(s){n=!1,r(s)},subscribe:function(s){return t=s,function(){t=function(){return null}}}}}function Ru(e){"@babel/helpers - typeof";return Ru=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ru(e)}function Y1(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function X1(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Y1(Object(n),!0).forEach(function(r){dR(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Y1(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function dR(e,t,n){return t=RJ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function RJ(e){var t=MJ(e,"string");return Ru(t)==="symbol"?t:String(t)}function MJ(e,t){if(Ru(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Ru(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var IJ=function(t,n){return[Object.keys(t),Object.keys(n)].reduce(function(r,a){return r.filter(function(s){return a.includes(s)})})},$J=function(t){return t},LJ=function(t){return t.replace(/([A-Z])/g,function(n){return"-".concat(n.toLowerCase())})},Bc=function(t,n){return Object.keys(n).reduce(function(r,a){return X1(X1({},r),{},dR({},a,t(a,n[a])))},{})},Q1=function(t,n,r){return t.map(function(a){return"".concat(LJ(a)," ").concat(n,"ms ").concat(r)}).join(",")};function DJ(e,t){return FJ(e)||zJ(e,t)||fR(e,t)||BJ()}function BJ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
114
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function zJ(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,a,s,o,l=[],c=!0,u=!1;try{if(s=(n=n.call(e)).next,t!==0)for(;!(c=(r=s.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(d){u=!0,a=d}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return l}}function FJ(e){if(Array.isArray(e))return e}function UJ(e){return GJ(e)||HJ(e)||fR(e)||WJ()}function WJ(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
115
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function fR(e,t){if(e){if(typeof e=="string")return fb(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return fb(e,t)}}function HJ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function GJ(e){if(Array.isArray(e))return fb(e)}function fb(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Fh=1e-4,hR=function(t,n){return[0,3*t,3*n-6*t,3*t-3*n+1]},pR=function(t,n){return t.map(function(r,a){return r*Math.pow(n,a)}).reduce(function(r,a){return r+a})},Z1=function(t,n){return function(r){var a=hR(t,n);return pR(a,r)}},qJ=function(t,n){return function(r){var a=hR(t,n),s=[].concat(UJ(a.map(function(o,l){return o*l}).slice(1)),[0]);return pR(s,r)}},J1=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];var a=n[0],s=n[1],o=n[2],l=n[3];if(n.length===1)switch(n[0]){case"linear":a=0,s=0,o=1,l=1;break;case"ease":a=.25,s=.1,o=.25,l=1;break;case"ease-in":a=.42,s=0,o=1,l=1;break;case"ease-out":a=.42,s=0,o=.58,l=1;break;case"ease-in-out":a=0,s=0,o=.58,l=1;break;default:{var c=n[0].split("(");if(c[0]==="cubic-bezier"&&c[1].split(")")[0].split(",").length===4){var u=c[1].split(")")[0].split(",").map(function(y){return parseFloat(y)}),d=DJ(u,4);a=d[0],s=d[1],o=d[2],l=d[3]}}}var f=Z1(a,o),h=Z1(s,l),p=qJ(a,o),m=function(v){return v>1?1:v<0?0:v},g=function(v){for(var k=v>1?1:v,w=k,N=0;N<8;++N){var S=f(w)-k,x=p(w);if(Math.abs(S-k)<Fh||x<Fh)return h(w);w=m(w-S/x)}return h(w)};return g.isStepper=!1,g},KJ=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=t.stiff,r=n===void 0?100:n,a=t.damping,s=a===void 0?8:a,o=t.dt,l=o===void 0?17:o,c=function(d,f,h){var p=-(d-f)*r,m=h*s,g=h+(p-m)*l/1e3,y=h*l/1e3+d;return Math.abs(y-f)<Fh&&Math.abs(g)<Fh?[f,0]:[y,g]};return c.isStepper=!0,c.dt=l,c},VJ=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];var a=n[0];if(typeof a=="string")switch(a){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return J1(a);case"spring":return KJ();default:if(a.split("(")[0]==="cubic-bezier")return J1(a)}return typeof a=="function"?a:null};function Mu(e){"@babel/helpers - typeof";return Mu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Mu(e)}function eN(e){return QJ(e)||XJ(e)||mR(e)||YJ()}function YJ(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
116
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function XJ(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function QJ(e){if(Array.isArray(e))return pb(e)}function tN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function un(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?tN(Object(n),!0).forEach(function(r){hb(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function hb(e,t,n){return t=ZJ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ZJ(e){var t=JJ(e,"string");return Mu(t)==="symbol"?t:String(t)}function JJ(e,t){if(Mu(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Mu(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function eee(e,t){return ree(e)||nee(e,t)||mR(e,t)||tee()}function tee(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
117
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function mR(e,t){if(e){if(typeof e=="string")return pb(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return pb(e,t)}}function pb(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function nee(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,a,s,o,l=[],c=!0,u=!1;try{if(s=(n=n.call(e)).next,t!==0)for(;!(c=(r=s.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(d){u=!0,a=d}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return l}}function ree(e){if(Array.isArray(e))return e}var Uh=function(t,n,r){return t+(n-t)*r},mb=function(t){var n=t.from,r=t.to;return n!==r},aee=function e(t,n,r){var a=Bc(function(s,o){if(mb(o)){var l=t(o.from,o.to,o.velocity),c=eee(l,2),u=c[0],d=c[1];return un(un({},o),{},{from:u,velocity:d})}return o},n);return r<1?Bc(function(s,o){return mb(o)?un(un({},o),{},{velocity:Uh(o.velocity,a[s].velocity,r),from:Uh(o.from,a[s].from,r)}):o},n):e(t,a,r-1)};const iee=function(e,t,n,r,a){var s=IJ(e,t),o=s.reduce(function(y,v){return un(un({},y),{},hb({},v,[e[v],t[v]]))},{}),l=s.reduce(function(y,v){return un(un({},y),{},hb({},v,{from:e[v],velocity:0,to:t[v]}))},{}),c=-1,u,d,f=function(){return null},h=function(){return Bc(function(v,k){return k.from},l)},p=function(){return!Object.values(l).filter(mb).length},m=function(v){u||(u=v);var k=v-u,w=k/n.dt;l=aee(n,l,w),a(un(un(un({},e),t),h())),u=v,p()||(c=requestAnimationFrame(f))},g=function(v){d||(d=v);var k=(v-d)/r,w=Bc(function(S,x){return Uh.apply(void 0,eN(x).concat([n(k)]))},o);if(a(un(un(un({},e),t),w)),k<1)c=requestAnimationFrame(f);else{var N=Bc(function(S,x){return Uh.apply(void 0,eN(x).concat([n(1)]))},o);a(un(un(un({},e),t),N))}};return f=n.isStepper?m:g,function(){return requestAnimationFrame(f),function(){cancelAnimationFrame(c)}}};function sl(e){"@babel/helpers - typeof";return sl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},sl(e)}var see=["children","begin","duration","attributeName","easing","isActive","steps","from","to","canBegin","onAnimationEnd","shouldReAnimate","onAnimationReStart"];function oee(e,t){if(e==null)return{};var n=lee(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function lee(e,t){if(e==null)return{};var n={},r=Object.keys(e),a,s;for(s=0;s<r.length;s++)a=r[s],!(t.indexOf(a)>=0)&&(n[a]=e[a]);return n}function Og(e){return fee(e)||dee(e)||uee(e)||cee()}function cee(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
118
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function uee(e,t){if(e){if(typeof e=="string")return gb(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return gb(e,t)}}function dee(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function fee(e){if(Array.isArray(e))return gb(e)}function gb(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function nN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).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?nN(Object(n),!0).forEach(function(r){jc(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):nN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function jc(e,t,n){return t=gR(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hee(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function pee(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,gR(r.key),r)}}function mee(e,t,n){return t&&pee(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function gR(e){var t=gee(e,"string");return sl(t)==="symbol"?t:String(t)}function gee(e,t){if(sl(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(sl(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function vee(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&vb(e,t)}function vb(e,t){return vb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},vb(e,t)}function yee(e){var t=bee();return function(){var r=Wh(e),a;if(t){var s=Wh(this).constructor;a=Reflect.construct(r,arguments,s)}else a=r.apply(this,arguments);return yb(this,a)}}function yb(e,t){if(t&&(sl(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return bb(e)}function bb(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function bee(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Wh(e){return Wh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Wh(e)}var Oi=function(e){vee(n,e);var t=yee(n);function n(r,a){var s;hee(this,n),s=t.call(this,r,a);var o=s.props,l=o.isActive,c=o.attributeName,u=o.from,d=o.to,f=o.steps,h=o.children,p=o.duration;if(s.handleStyleChange=s.handleStyleChange.bind(bb(s)),s.changeStyle=s.changeStyle.bind(bb(s)),!l||p<=0)return s.state={style:{}},typeof h=="function"&&(s.state={style:d}),yb(s);if(f&&f.length)s.state={style:f[0].style};else if(u){if(typeof h=="function")return s.state={style:u},yb(s);s.state={style:c?jc({},c,u):u}}else s.state={style:{}};return s}return mee(n,[{key:"componentDidMount",value:function(){var a=this.props,s=a.isActive,o=a.canBegin;this.mounted=!0,!(!s||!o)&&this.runAnimation(this.props)}},{key:"componentDidUpdate",value:function(a){var s=this.props,o=s.isActive,l=s.canBegin,c=s.attributeName,u=s.shouldReAnimate,d=s.to,f=s.from,h=this.state.style;if(l){if(!o){var p={style:c?jc({},c,d):d};this.state&&h&&(c&&h[c]!==d||!c&&h!==d)&&this.setState(p);return}if(!(NJ(a.to,d)&&a.canBegin&&a.isActive)){var m=!a.canBegin||!a.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var g=m||u?f:a.to;if(this.state&&h){var y={style:c?jc({},c,g):g};(c&&h[c]!==g||!c&&h!==g)&&this.setState(y)}this.runAnimation(Or(Or({},this.props),{},{from:g,begin:0}))}}}},{key:"componentWillUnmount",value:function(){this.mounted=!1;var a=this.props.onAnimationEnd;this.unSubscribe&&this.unSubscribe(),this.manager&&(this.manager.stop(),this.manager=null),this.stopJSAnimation&&this.stopJSAnimation(),a&&a()}},{key:"handleStyleChange",value:function(a){this.changeStyle(a)}},{key:"changeStyle",value:function(a){this.mounted&&this.setState({style:a})}},{key:"runJSAnimation",value:function(a){var s=this,o=a.from,l=a.to,c=a.duration,u=a.easing,d=a.begin,f=a.onAnimationEnd,h=a.onAnimationStart,p=iee(o,l,VJ(u),c,this.changeStyle),m=function(){s.stopJSAnimation=p()};this.manager.start([h,d,m,c,f])}},{key:"runStepAnimation",value:function(a){var s=this,o=a.steps,l=a.begin,c=a.onAnimationStart,u=o[0],d=u.style,f=u.duration,h=f===void 0?0:f,p=function(g,y,v){if(v===0)return g;var k=y.duration,w=y.easing,N=w===void 0?"ease":w,S=y.style,x=y.properties,E=y.onAnimationEnd,_=v>0?o[v-1]:y,O=x||Object.keys(S);if(typeof N=="function"||N==="spring")return[].concat(Og(g),[s.runJSAnimation.bind(s,{from:_.style,to:S,duration:k,easing:N}),k]);var C=Q1(O,k,N),P=Or(Or(Or({},_.style),S),{},{transition:C});return[].concat(Og(g),[P,k,E]).filter($J)};return this.manager.start([c].concat(Og(o.reduce(p,[d,Math.max(h,l)])),[a.onAnimationEnd]))}},{key:"runAnimation",value:function(a){this.manager||(this.manager=PJ());var s=a.begin,o=a.duration,l=a.attributeName,c=a.to,u=a.easing,d=a.onAnimationStart,f=a.onAnimationEnd,h=a.steps,p=a.children,m=this.manager;if(this.unSubscribe=m.subscribe(this.handleStyleChange),typeof u=="function"||typeof p=="function"||u==="spring"){this.runJSAnimation(a);return}if(h.length>1){this.runStepAnimation(a);return}var g=l?jc({},l,c):c,y=Q1(Object.keys(g),o,u);m.start([d,s,Or(Or({},g),{},{transition:y}),o,f])}},{key:"render",value:function(){var a=this.props,s=a.children;a.begin;var o=a.duration;a.attributeName,a.easing;var l=a.isActive;a.steps,a.from,a.to,a.canBegin,a.onAnimationEnd,a.shouldReAnimate,a.onAnimationReStart;var c=oee(a,see),u=b.Children.count(s),d=this.state.style;if(typeof s=="function")return s(d);if(!l||u===0||o<=0)return s;var f=function(p){var m=p.props,g=m.style,y=g===void 0?{}:g,v=m.className,k=b.cloneElement(p,Or(Or({},c),{},{style:Or(Or({},y),d),className:v}));return k};return u===1?f(b.Children.only(s)):V.createElement("div",null,b.Children.map(s,function(h){return f(h)}))}}]),n}(b.PureComponent);Oi.displayName="Animate";Oi.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};Oi.propTypes={from:Ye.oneOfType([Ye.object,Ye.string]),to:Ye.oneOfType([Ye.object,Ye.string]),attributeName:Ye.string,duration:Ye.number,begin:Ye.number,easing:Ye.oneOfType([Ye.string,Ye.func]),steps:Ye.arrayOf(Ye.shape({duration:Ye.number.isRequired,style:Ye.object.isRequired,easing:Ye.oneOfType([Ye.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),Ye.func]),properties:Ye.arrayOf("string"),onAnimationEnd:Ye.func})),children:Ye.oneOfType([Ye.node,Ye.func]),isActive:Ye.bool,canBegin:Ye.bool,onAnimationEnd:Ye.func,shouldReAnimate:Ye.bool,onAnimationStart:Ye.func,onAnimationReStart:Ye.func};function Iu(e){"@babel/helpers - typeof";return Iu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Iu(e)}function Hh(){return Hh=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Hh.apply(this,arguments)}function xee(e,t){return jee(e)||See(e,t)||kee(e,t)||wee()}function wee(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
119
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function kee(e,t){if(e){if(typeof e=="string")return rN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return rN(e,t)}}function rN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function See(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,a,s,o,l=[],c=!0,u=!1;try{if(s=(n=n.call(e)).next,t!==0)for(;!(c=(r=s.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(d){u=!0,a=d}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return l}}function jee(e){if(Array.isArray(e))return e}function aN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function iN(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?aN(Object(n),!0).forEach(function(r){Nee(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):aN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Nee(e,t,n){return t=Eee(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Eee(e){var t=_ee(e,"string");return Iu(t)=="symbol"?t:t+""}function _ee(e,t){if(Iu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Iu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var sN=function(t,n,r,a,s){var o=Math.min(Math.abs(r)/2,Math.abs(a)/2),l=a>=0?1:-1,c=r>=0?1:-1,u=a>=0&&r>=0||a<0&&r<0?1:0,d;if(o>0&&s instanceof Array){for(var f=[0,0,0,0],h=0,p=4;h<p;h++)f[h]=s[h]>o?o:s[h];d="M".concat(t,",").concat(n+l*f[0]),f[0]>0&&(d+="A ".concat(f[0],",").concat(f[0],",0,0,").concat(u,",").concat(t+c*f[0],",").concat(n)),d+="L ".concat(t+r-c*f[1],",").concat(n),f[1]>0&&(d+="A ".concat(f[1],",").concat(f[1],",0,0,").concat(u,`,
|
|
120
|
+
`).concat(t+r,",").concat(n+l*f[1])),d+="L ".concat(t+r,",").concat(n+a-l*f[2]),f[2]>0&&(d+="A ".concat(f[2],",").concat(f[2],",0,0,").concat(u,`,
|
|
121
|
+
`).concat(t+r-c*f[2],",").concat(n+a)),d+="L ".concat(t+c*f[3],",").concat(n+a),f[3]>0&&(d+="A ".concat(f[3],",").concat(f[3],",0,0,").concat(u,`,
|
|
122
|
+
`).concat(t,",").concat(n+a-l*f[3])),d+="Z"}else if(o>0&&s===+s&&s>0){var m=Math.min(o,s);d="M ".concat(t,",").concat(n+l*m,`
|
|
123
|
+
A `).concat(m,",").concat(m,",0,0,").concat(u,",").concat(t+c*m,",").concat(n,`
|
|
124
|
+
L `).concat(t+r-c*m,",").concat(n,`
|
|
125
|
+
A `).concat(m,",").concat(m,",0,0,").concat(u,",").concat(t+r,",").concat(n+l*m,`
|
|
126
|
+
L `).concat(t+r,",").concat(n+a-l*m,`
|
|
127
|
+
A `).concat(m,",").concat(m,",0,0,").concat(u,",").concat(t+r-c*m,",").concat(n+a,`
|
|
128
|
+
L `).concat(t+c*m,",").concat(n+a,`
|
|
129
|
+
A `).concat(m,",").concat(m,",0,0,").concat(u,",").concat(t,",").concat(n+a-l*m," Z")}else d="M ".concat(t,",").concat(n," h ").concat(r," v ").concat(a," h ").concat(-r," Z");return d},Cee=function(t,n){if(!t||!n)return!1;var r=t.x,a=t.y,s=n.x,o=n.y,l=n.width,c=n.height;if(Math.abs(l)>0&&Math.abs(c)>0){var u=Math.min(s,s+l),d=Math.max(s,s+l),f=Math.min(o,o+c),h=Math.max(o,o+c);return r>=u&&r<=d&&a>=f&&a<=h}return!1},Aee={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},e0=function(t){var n=iN(iN({},Aee),t),r=b.useRef(),a=b.useState(-1),s=xee(a,2),o=s[0],l=s[1];b.useEffect(function(){if(r.current&&r.current.getTotalLength)try{var N=r.current.getTotalLength();N&&l(N)}catch{}},[]);var c=n.x,u=n.y,d=n.width,f=n.height,h=n.radius,p=n.className,m=n.animationEasing,g=n.animationDuration,y=n.animationBegin,v=n.isAnimationActive,k=n.isUpdateAnimationActive;if(c!==+c||u!==+u||d!==+d||f!==+f||d===0||f===0)return null;var w=qe("recharts-rectangle",p);return k?V.createElement(Oi,{canBegin:o>0,from:{width:d,height:f,x:c,y:u},to:{width:d,height:f,x:c,y:u},duration:g,animationEasing:m,isActive:k},function(N){var S=N.width,x=N.height,E=N.x,_=N.y;return V.createElement(Oi,{canBegin:o>0,from:"0px ".concat(o===-1?1:o,"px"),to:"".concat(o,"px 0px"),attributeName:"strokeDasharray",begin:y,duration:g,isActive:v,easing:m},V.createElement("path",Hh({},Ge(n,!0),{className:w,d:sN(E,_,S,x,h),ref:r})))}):V.createElement("path",Hh({},Ge(n,!0),{className:w,d:sN(c,u,d,f,h)}))};function xb(){return xb=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},xb.apply(this,arguments)}var vR=function(t){var n=t.cx,r=t.cy,a=t.r,s=t.className,o=qe("recharts-dot",s);return n===+n&&r===+r&&a===+a?b.createElement("circle",xb({},Ge(t,!1),oh(t),{className:o,cx:n,cy:r,r:a})):null};function $u(e){"@babel/helpers - typeof";return $u=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$u(e)}var Tee=["x","y","top","left","width","height","className"];function wb(){return wb=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},wb.apply(this,arguments)}function oN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Oee(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?oN(Object(n),!0).forEach(function(r){Pee(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):oN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Pee(e,t,n){return t=Ree(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ree(e){var t=Mee(e,"string");return $u(t)=="symbol"?t:t+""}function Mee(e,t){if($u(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if($u(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Iee(e,t){if(e==null)return{};var n=$ee(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function $ee(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var Lee=function(t,n,r,a,s,o){return"M".concat(t,",").concat(s,"v").concat(a,"M").concat(o,",").concat(n,"h").concat(r)},Dee=function(t){var n=t.x,r=n===void 0?0:n,a=t.y,s=a===void 0?0:a,o=t.top,l=o===void 0?0:o,c=t.left,u=c===void 0?0:c,d=t.width,f=d===void 0?0:d,h=t.height,p=h===void 0?0:h,m=t.className,g=Iee(t,Tee),y=Oee({x:r,y:s,top:l,left:u,width:f,height:p},g);return!ce(r)||!ce(s)||!ce(f)||!ce(p)||!ce(l)||!ce(u)?null:V.createElement("path",wb({},Ge(y,!0),{className:qe("recharts-cross",m),d:Lee(r,s,f,p,l,u)}))},Bee=PO,zee=Bee(Object.getPrototypeOf,Object),Fee=zee,Uee=Wa,Wee=Fee,Hee=Ha,Gee="[object Object]",qee=Function.prototype,Kee=Object.prototype,yR=qee.toString,Vee=Kee.hasOwnProperty,Yee=yR.call(Object);function Xee(e){if(!Hee(e)||Uee(e)!=Gee)return!1;var t=Wee(e);if(t===null)return!0;var n=Vee.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&yR.call(n)==Yee}var Qee=Xee;const Zee=Xe(Qee);var Jee=Wa,ete=Ha,tte="[object Boolean]";function nte(e){return e===!0||e===!1||ete(e)&&Jee(e)==tte}var rte=nte;const ate=Xe(rte);function Lu(e){"@babel/helpers - typeof";return Lu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Lu(e)}function Gh(){return Gh=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Gh.apply(this,arguments)}function ite(e,t){return cte(e)||lte(e,t)||ote(e,t)||ste()}function ste(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
130
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ote(e,t){if(e){if(typeof e=="string")return lN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return lN(e,t)}}function lN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function lte(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,a,s,o,l=[],c=!0,u=!1;try{if(s=(n=n.call(e)).next,t!==0)for(;!(c=(r=s.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(d){u=!0,a=d}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return l}}function cte(e){if(Array.isArray(e))return e}function cN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function uN(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?cN(Object(n),!0).forEach(function(r){ute(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):cN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function ute(e,t,n){return t=dte(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function dte(e){var t=fte(e,"string");return Lu(t)=="symbol"?t:t+""}function fte(e,t){if(Lu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Lu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var dN=function(t,n,r,a,s){var o=r-a,l;return l="M ".concat(t,",").concat(n),l+="L ".concat(t+r,",").concat(n),l+="L ".concat(t+r-o/2,",").concat(n+s),l+="L ".concat(t+r-o/2-a,",").concat(n+s),l+="L ".concat(t,",").concat(n," Z"),l},hte={x:0,y:0,upperWidth:0,lowerWidth:0,height:0,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},pte=function(t){var n=uN(uN({},hte),t),r=b.useRef(),a=b.useState(-1),s=ite(a,2),o=s[0],l=s[1];b.useEffect(function(){if(r.current&&r.current.getTotalLength)try{var w=r.current.getTotalLength();w&&l(w)}catch{}},[]);var c=n.x,u=n.y,d=n.upperWidth,f=n.lowerWidth,h=n.height,p=n.className,m=n.animationEasing,g=n.animationDuration,y=n.animationBegin,v=n.isUpdateAnimationActive;if(c!==+c||u!==+u||d!==+d||f!==+f||h!==+h||d===0&&f===0||h===0)return null;var k=qe("recharts-trapezoid",p);return v?V.createElement(Oi,{canBegin:o>0,from:{upperWidth:0,lowerWidth:0,height:h,x:c,y:u},to:{upperWidth:d,lowerWidth:f,height:h,x:c,y:u},duration:g,animationEasing:m,isActive:v},function(w){var N=w.upperWidth,S=w.lowerWidth,x=w.height,E=w.x,_=w.y;return V.createElement(Oi,{canBegin:o>0,from:"0px ".concat(o===-1?1:o,"px"),to:"".concat(o,"px 0px"),attributeName:"strokeDasharray",begin:y,duration:g,easing:m},V.createElement("path",Gh({},Ge(n,!0),{className:k,d:dN(E,_,N,S,x),ref:r})))}):V.createElement("g",null,V.createElement("path",Gh({},Ge(n,!0),{className:k,d:dN(c,u,d,f,h)})))},mte=["option","shapeType","propTransformer","activeClassName","isActive"];function Du(e){"@babel/helpers - typeof";return Du=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Du(e)}function gte(e,t){if(e==null)return{};var n=vte(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function vte(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function fN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function qh(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?fN(Object(n),!0).forEach(function(r){yte(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):fN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function yte(e,t,n){return t=bte(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function bte(e){var t=xte(e,"string");return Du(t)=="symbol"?t:t+""}function xte(e,t){if(Du(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Du(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function wte(e,t){return qh(qh({},t),e)}function kte(e,t){return e==="symbols"}function hN(e){var t=e.shapeType,n=e.elementProps;switch(t){case"rectangle":return V.createElement(e0,n);case"trapezoid":return V.createElement(pte,n);case"sector":return V.createElement(sR,n);case"symbols":if(kte(t))return V.createElement(yw,n);break;default:return null}}function Ste(e){return b.isValidElement(e)?e.props:e}function jte(e){var t=e.option,n=e.shapeType,r=e.propTransformer,a=r===void 0?wte:r,s=e.activeClassName,o=s===void 0?"recharts-active-shape":s,l=e.isActive,c=gte(e,mte),u;if(b.isValidElement(t))u=b.cloneElement(t,qh(qh({},c),Ste(t)));else if(Le(t))u=t(c);else if(Zee(t)&&!ate(t)){var d=a(t,c);u=V.createElement(hN,{shapeType:n,elementProps:d})}else{var f=c;u=V.createElement(hN,{shapeType:n,elementProps:f})}return l?V.createElement(tn,{className:o},u):u}function vm(e,t){return t!=null&&"trapezoids"in e.props}function ym(e,t){return t!=null&&"sectors"in e.props}function Bu(e,t){return t!=null&&"points"in e.props}function Nte(e,t){var n,r,a=e.x===(t==null||(n=t.labelViewBox)===null||n===void 0?void 0:n.x)||e.x===t.x,s=e.y===(t==null||(r=t.labelViewBox)===null||r===void 0?void 0:r.y)||e.y===t.y;return a&&s}function Ete(e,t){var n=e.endAngle===t.endAngle,r=e.startAngle===t.startAngle;return n&&r}function _te(e,t){var n=e.x===t.x,r=e.y===t.y,a=e.z===t.z;return n&&r&&a}function Cte(e,t){var n;return vm(e,t)?n=Nte:ym(e,t)?n=Ete:Bu(e,t)&&(n=_te),n}function Ate(e,t){var n;return vm(e,t)?n="trapezoids":ym(e,t)?n="sectors":Bu(e,t)&&(n="points"),n}function Tte(e,t){if(vm(e,t)){var n;return(n=t.tooltipPayload)===null||n===void 0||(n=n[0])===null||n===void 0||(n=n.payload)===null||n===void 0?void 0:n.payload}if(ym(e,t)){var r;return(r=t.tooltipPayload)===null||r===void 0||(r=r[0])===null||r===void 0||(r=r.payload)===null||r===void 0?void 0:r.payload}return Bu(e,t)?t.payload:{}}function Ote(e){var t=e.activeTooltipItem,n=e.graphicalItem,r=e.itemData,a=Ate(n,t),s=Tte(n,t),o=r.filter(function(c,u){var d=Xw(s,c),f=n.props[a].filter(function(m){var g=Cte(n,t);return g(m,t)}),h=n.props[a].indexOf(f[f.length-1]),p=u===h;return d&&p}),l=r.indexOf(o[o.length-1]);return l}var Pte=Math.ceil,Rte=Math.max;function Mte(e,t,n,r){for(var a=-1,s=Rte(Pte((t-e)/(n||1)),0),o=Array(s);s--;)o[r?s:++a]=e,e+=n;return o}var Ite=Mte,$te=QO,pN=1/0,Lte=17976931348623157e292;function Dte(e){if(!e)return e===0?e:0;if(e=$te(e),e===pN||e===-pN){var t=e<0?-1:1;return t*Lte}return e===e?e:0}var bR=Dte,Bte=Ite,zte=im,Pg=bR;function Fte(e){return function(t,n,r){return r&&typeof r!="number"&&zte(t,n,r)&&(n=r=void 0),t=Pg(t),n===void 0?(n=t,t=0):n=Pg(n),r=r===void 0?t<n?1:-1:Pg(r),Bte(t,n,r,e)}}var Ute=Fte,Wte=Ute,Hte=Wte(),Gte=Hte;const Kh=Xe(Gte);function zu(e){"@babel/helpers - typeof";return zu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},zu(e)}function mN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function gN(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?mN(Object(n),!0).forEach(function(r){xR(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):mN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function xR(e,t,n){return t=qte(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function qte(e){var t=Kte(e,"string");return zu(t)=="symbol"?t:t+""}function Kte(e,t){if(zu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(zu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Vte=["Webkit","Moz","O","ms"],Yte=function(t,n){var r=t.replace(/(\w)/,function(s){return s.toUpperCase()}),a=Vte.reduce(function(s,o){return gN(gN({},s),{},xR({},o+r,n))},{});return a[t]=n,a};function ol(e){"@babel/helpers - typeof";return ol=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ol(e)}function Vh(){return Vh=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Vh.apply(this,arguments)}function vN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Rg(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?vN(Object(n),!0).forEach(function(r){Jn(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):vN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Xte(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function yN(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,kR(r.key),r)}}function Qte(e,t,n){return t&&yN(e.prototype,t),n&&yN(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function Zte(e,t,n){return t=Yh(t),Jte(e,wR()?Reflect.construct(t,n||[],Yh(e).constructor):t.apply(e,n))}function Jte(e,t){if(t&&(ol(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ene(e)}function ene(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function wR(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(wR=function(){return!!e})()}function Yh(e){return Yh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Yh(e)}function tne(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&kb(e,t)}function kb(e,t){return kb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},kb(e,t)}function Jn(e,t,n){return t=kR(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function kR(e){var t=nne(e,"string");return ol(t)=="symbol"?t:t+""}function nne(e,t){if(ol(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(ol(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var rne=function(t){var n=t.data,r=t.startIndex,a=t.endIndex,s=t.x,o=t.width,l=t.travellerWidth;if(!n||!n.length)return{};var c=n.length,u=Lc().domain(Kh(0,c)).range([s,s+o-l]),d=u.domain().map(function(f){return u(f)});return{isTextActive:!1,isSlideMoving:!1,isTravellerMoving:!1,isTravellerFocused:!1,startX:u(r),endX:u(a),scale:u,scaleValues:d}},bN=function(t){return t.changedTouches&&!!t.changedTouches.length},ll=function(e){function t(n){var r;return Xte(this,t),r=Zte(this,t,[n]),Jn(r,"handleDrag",function(a){r.leaveTimer&&(clearTimeout(r.leaveTimer),r.leaveTimer=null),r.state.isTravellerMoving?r.handleTravellerMove(a):r.state.isSlideMoving&&r.handleSlideDrag(a)}),Jn(r,"handleTouchMove",function(a){a.changedTouches!=null&&a.changedTouches.length>0&&r.handleDrag(a.changedTouches[0])}),Jn(r,"handleDragEnd",function(){r.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var a=r.props,s=a.endIndex,o=a.onDragEnd,l=a.startIndex;o==null||o({endIndex:s,startIndex:l})}),r.detachDragEndListener()}),Jn(r,"handleLeaveWrapper",function(){(r.state.isTravellerMoving||r.state.isSlideMoving)&&(r.leaveTimer=window.setTimeout(r.handleDragEnd,r.props.leaveTimeOut))}),Jn(r,"handleEnterSlideOrTraveller",function(){r.setState({isTextActive:!0})}),Jn(r,"handleLeaveSlideOrTraveller",function(){r.setState({isTextActive:!1})}),Jn(r,"handleSlideDragStart",function(a){var s=bN(a)?a.changedTouches[0]:a;r.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:s.pageX}),r.attachDragEndListener()}),r.travellerDragStartHandlers={startX:r.handleTravellerDragStart.bind(r,"startX"),endX:r.handleTravellerDragStart.bind(r,"endX")},r.state={},r}return tne(t,e),Qte(t,[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(r){var a=r.startX,s=r.endX,o=this.state.scaleValues,l=this.props,c=l.gap,u=l.data,d=u.length-1,f=Math.min(a,s),h=Math.max(a,s),p=t.getIndexInRange(o,f),m=t.getIndexInRange(o,h);return{startIndex:p-p%c,endIndex:m===d?d:m-m%c}}},{key:"getTextOfTick",value:function(r){var a=this.props,s=a.data,o=a.tickFormatter,l=a.dataKey,c=pa(s[r],l,r);return Le(o)?o(c,r):c}},{key:"attachDragEndListener",value:function(){window.addEventListener("mouseup",this.handleDragEnd,!0),window.addEventListener("touchend",this.handleDragEnd,!0),window.addEventListener("mousemove",this.handleDrag,!0)}},{key:"detachDragEndListener",value:function(){window.removeEventListener("mouseup",this.handleDragEnd,!0),window.removeEventListener("touchend",this.handleDragEnd,!0),window.removeEventListener("mousemove",this.handleDrag,!0)}},{key:"handleSlideDrag",value:function(r){var a=this.state,s=a.slideMoveStartX,o=a.startX,l=a.endX,c=this.props,u=c.x,d=c.width,f=c.travellerWidth,h=c.startIndex,p=c.endIndex,m=c.onChange,g=r.pageX-s;g>0?g=Math.min(g,u+d-f-l,u+d-f-o):g<0&&(g=Math.max(g,u-o,u-l));var y=this.getIndex({startX:o+g,endX:l+g});(y.startIndex!==h||y.endIndex!==p)&&m&&m(y),this.setState({startX:o+g,endX:l+g,slideMoveStartX:r.pageX})}},{key:"handleTravellerDragStart",value:function(r,a){var s=bN(a)?a.changedTouches[0]:a;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:r,brushMoveStartX:s.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(r){var a=this.state,s=a.brushMoveStartX,o=a.movingTravellerId,l=a.endX,c=a.startX,u=this.state[o],d=this.props,f=d.x,h=d.width,p=d.travellerWidth,m=d.onChange,g=d.gap,y=d.data,v={startX:this.state.startX,endX:this.state.endX},k=r.pageX-s;k>0?k=Math.min(k,f+h-p-u):k<0&&(k=Math.max(k,f-u)),v[o]=u+k;var w=this.getIndex(v),N=w.startIndex,S=w.endIndex,x=function(){var _=y.length-1;return o==="startX"&&(l>c?N%g===0:S%g===0)||l<c&&S===_||o==="endX"&&(l>c?S%g===0:N%g===0)||l>c&&S===_};this.setState(Jn(Jn({},o,u+k),"brushMoveStartX",r.pageX),function(){m&&x()&&m(w)})}},{key:"handleTravellerMoveKeyboard",value:function(r,a){var s=this,o=this.state,l=o.scaleValues,c=o.startX,u=o.endX,d=this.state[a],f=l.indexOf(d);if(f!==-1){var h=f+r;if(!(h===-1||h>=l.length)){var p=l[h];a==="startX"&&p>=u||a==="endX"&&p<=c||this.setState(Jn({},a,p),function(){s.props.onChange(s.getIndex({startX:s.state.startX,endX:s.state.endX}))})}}}},{key:"renderBackground",value:function(){var r=this.props,a=r.x,s=r.y,o=r.width,l=r.height,c=r.fill,u=r.stroke;return V.createElement("rect",{stroke:u,fill:c,x:a,y:s,width:o,height:l})}},{key:"renderPanorama",value:function(){var r=this.props,a=r.x,s=r.y,o=r.width,l=r.height,c=r.data,u=r.children,d=r.padding,f=b.Children.only(u);return f?V.cloneElement(f,{x:a,y:s,width:o,height:l,margin:d,compact:!0,data:c}):null}},{key:"renderTravellerLayer",value:function(r,a){var s,o,l=this,c=this.props,u=c.y,d=c.travellerWidth,f=c.height,h=c.traveller,p=c.ariaLabel,m=c.data,g=c.startIndex,y=c.endIndex,v=Math.max(r,this.props.x),k=Rg(Rg({},Ge(this.props,!1)),{},{x:v,y:u,width:d,height:f}),w=p||"Min value: ".concat((s=m[g])===null||s===void 0?void 0:s.name,", Max value: ").concat((o=m[y])===null||o===void 0?void 0:o.name);return V.createElement(tn,{tabIndex:0,role:"slider","aria-label":w,"aria-valuenow":r,className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[a],onTouchStart:this.travellerDragStartHandlers[a],onKeyDown:function(S){["ArrowLeft","ArrowRight"].includes(S.key)&&(S.preventDefault(),S.stopPropagation(),l.handleTravellerMoveKeyboard(S.key==="ArrowRight"?1:-1,a))},onFocus:function(){l.setState({isTravellerFocused:!0})},onBlur:function(){l.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},t.renderTraveller(h,k))}},{key:"renderSlide",value:function(r,a){var s=this.props,o=s.y,l=s.height,c=s.stroke,u=s.travellerWidth,d=Math.min(r,a)+u,f=Math.max(Math.abs(a-r)-u,0);return V.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:c,fillOpacity:.2,x:d,y:o,width:f,height:l})}},{key:"renderText",value:function(){var r=this.props,a=r.startIndex,s=r.endIndex,o=r.y,l=r.height,c=r.travellerWidth,u=r.stroke,d=this.state,f=d.startX,h=d.endX,p=5,m={pointerEvents:"none",fill:u};return V.createElement(tn,{className:"recharts-brush-texts"},V.createElement(kh,Vh({textAnchor:"end",verticalAnchor:"middle",x:Math.min(f,h)-p,y:o+l/2},m),this.getTextOfTick(a)),V.createElement(kh,Vh({textAnchor:"start",verticalAnchor:"middle",x:Math.max(f,h)+c+p,y:o+l/2},m),this.getTextOfTick(s)))}},{key:"render",value:function(){var r=this.props,a=r.data,s=r.className,o=r.children,l=r.x,c=r.y,u=r.width,d=r.height,f=r.alwaysShowText,h=this.state,p=h.startX,m=h.endX,g=h.isTextActive,y=h.isSlideMoving,v=h.isTravellerMoving,k=h.isTravellerFocused;if(!a||!a.length||!ce(l)||!ce(c)||!ce(u)||!ce(d)||u<=0||d<=0)return null;var w=qe("recharts-brush",s),N=V.Children.count(o)===1,S=Yte("userSelect","none");return V.createElement(tn,{className:w,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:S},this.renderBackground(),N&&this.renderPanorama(),this.renderSlide(p,m),this.renderTravellerLayer(p,"startX"),this.renderTravellerLayer(m,"endX"),(g||y||v||k||f)&&this.renderText())}}],[{key:"renderDefaultTraveller",value:function(r){var a=r.x,s=r.y,o=r.width,l=r.height,c=r.stroke,u=Math.floor(s+l/2)-1;return V.createElement(V.Fragment,null,V.createElement("rect",{x:a,y:s,width:o,height:l,fill:c,stroke:"none"}),V.createElement("line",{x1:a+1,y1:u,x2:a+o-1,y2:u,fill:"none",stroke:"#fff"}),V.createElement("line",{x1:a+1,y1:u+2,x2:a+o-1,y2:u+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(r,a){var s;return V.isValidElement(r)?s=V.cloneElement(r,a):Le(r)?s=r(a):s=t.renderDefaultTraveller(a),s}},{key:"getDerivedStateFromProps",value:function(r,a){var s=r.data,o=r.width,l=r.x,c=r.travellerWidth,u=r.updateId,d=r.startIndex,f=r.endIndex;if(s!==a.prevData||u!==a.prevUpdateId)return Rg({prevData:s,prevTravellerWidth:c,prevUpdateId:u,prevX:l,prevWidth:o},s&&s.length?rne({data:s,width:o,x:l,travellerWidth:c,startIndex:d,endIndex:f}):{scale:null,scaleValues:null});if(a.scale&&(o!==a.prevWidth||l!==a.prevX||c!==a.prevTravellerWidth)){a.scale.range([l,l+o-c]);var h=a.scale.domain().map(function(p){return a.scale(p)});return{prevData:s,prevTravellerWidth:c,prevUpdateId:u,prevX:l,prevWidth:o,startX:a.scale(r.startIndex),endX:a.scale(r.endIndex),scaleValues:h}}return null}},{key:"getIndexInRange",value:function(r,a){for(var s=r.length,o=0,l=s-1;l-o>1;){var c=Math.floor((o+l)/2);r[c]>a?l=c:o=c}return a>=r[l]?l:o}}])}(b.PureComponent);Jn(ll,"displayName","Brush");Jn(ll,"defaultProps",{height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var ane=Nw;function ine(e,t){var n;return ane(e,function(r,a,s){return n=t(r,a,s),!n}),!!n}var sne=ine,one=jO,lne=Di,cne=sne,une=qn,dne=im;function fne(e,t,n){var r=une(e)?one:cne;return n&&dne(e,t,n)&&(t=void 0),r(e,lne(t))}var hne=fne;const pne=Xe(hne);var fa=function(t,n){var r=t.alwaysShow,a=t.ifOverflow;return r&&(a="extendDomain"),a===n},xN=qO;function mne(e,t,n){t=="__proto__"&&xN?xN(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}var gne=mne,vne=gne,yne=HO,bne=Di;function xne(e,t){var n={};return t=bne(t),yne(e,function(r,a,s){vne(n,a,t(r,a,s))}),n}var wne=xne;const kne=Xe(wne);function Sne(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(!t(e[n],n,e))return!1;return!0}var jne=Sne,Nne=Nw;function Ene(e,t){var n=!0;return Nne(e,function(r,a,s){return n=!!t(r,a,s),n}),n}var _ne=Ene,Cne=jne,Ane=_ne,Tne=Di,One=qn,Pne=im;function Rne(e,t,n){var r=One(e)?Cne:Ane;return n&&Pne(e,t,n)&&(t=void 0),r(e,Tne(t))}var Mne=Rne;const SR=Xe(Mne);var Ine=["x","y"];function Fu(e){"@babel/helpers - typeof";return Fu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Fu(e)}function Sb(){return Sb=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Sb.apply(this,arguments)}function wN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function mc(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?wN(Object(n),!0).forEach(function(r){$ne(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):wN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function $ne(e,t,n){return t=Lne(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Lne(e){var t=Dne(e,"string");return Fu(t)=="symbol"?t:t+""}function Dne(e,t){if(Fu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Fu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Bne(e,t){if(e==null)return{};var n=zne(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function zne(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Fne(e,t){var n=e.x,r=e.y,a=Bne(e,Ine),s="".concat(n),o=parseInt(s,10),l="".concat(r),c=parseInt(l,10),u="".concat(t.height||a.height),d=parseInt(u,10),f="".concat(t.width||a.width),h=parseInt(f,10);return mc(mc(mc(mc(mc({},t),a),o?{x:o}:{}),c?{y:c}:{}),{},{height:d,width:h,name:t.name,radius:t.radius})}function kN(e){return V.createElement(jte,Sb({shapeType:"rectangle",propTransformer:Fne,activeClassName:"recharts-active-bar"},e))}var Une=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return function(r,a){if(typeof t=="number")return t;var s=ce(r)||n3(r);return s?t(r,a):(s||Ms(),n)}},Wne=["value","background"],jR;function cl(e){"@babel/helpers - typeof";return cl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},cl(e)}function Hne(e,t){if(e==null)return{};var n=Gne(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Gne(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Xh(){return Xh=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Xh.apply(this,arguments)}function SN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Lt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?SN(Object(n),!0).forEach(function(r){mi(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):SN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function qne(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function jN(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ER(r.key),r)}}function Kne(e,t,n){return t&&jN(e.prototype,t),n&&jN(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function Vne(e,t,n){return t=Qh(t),Yne(e,NR()?Reflect.construct(t,n||[],Qh(e).constructor):t.apply(e,n))}function Yne(e,t){if(t&&(cl(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Xne(e)}function Xne(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function NR(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(NR=function(){return!!e})()}function Qh(e){return Qh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Qh(e)}function Qne(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&jb(e,t)}function jb(e,t){return jb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},jb(e,t)}function mi(e,t,n){return t=ER(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ER(e){var t=Zne(e,"string");return cl(t)=="symbol"?t:t+""}function Zne(e,t){if(cl(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(cl(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var bn=function(e){function t(){var n;qne(this,t);for(var r=arguments.length,a=new Array(r),s=0;s<r;s++)a[s]=arguments[s];return n=Vne(this,t,[].concat(a)),mi(n,"state",{isAnimationFinished:!1}),mi(n,"id",Zp("recharts-bar-")),mi(n,"handleAnimationEnd",function(){var o=n.props.onAnimationEnd;n.setState({isAnimationFinished:!0}),o&&o()}),mi(n,"handleAnimationStart",function(){var o=n.props.onAnimationStart;n.setState({isAnimationFinished:!1}),o&&o()}),n}return Qne(t,e),Kne(t,[{key:"renderRectanglesStatically",value:function(r){var a=this,s=this.props,o=s.shape,l=s.dataKey,c=s.activeIndex,u=s.activeBar,d=Ge(this.props,!1);return r&&r.map(function(f,h){var p=h===c,m=p?u:o,g=Lt(Lt(Lt({},d),f),{},{isActive:p,option:m,index:h,dataKey:l,onAnimationStart:a.handleAnimationStart,onAnimationEnd:a.handleAnimationEnd});return V.createElement(tn,Xh({className:"recharts-bar-rectangle"},lh(a.props,f,h),{key:"rectangle-".concat(f==null?void 0:f.x,"-").concat(f==null?void 0:f.y,"-").concat(f==null?void 0:f.value,"-").concat(h)}),V.createElement(kN,g))})}},{key:"renderRectanglesWithAnimation",value:function(){var r=this,a=this.props,s=a.data,o=a.layout,l=a.isAnimationActive,c=a.animationBegin,u=a.animationDuration,d=a.animationEasing,f=a.animationId,h=this.state.prevData;return V.createElement(Oi,{begin:c,duration:u,isActive:l,easing:d,from:{t:0},to:{t:1},key:"bar-".concat(f),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(p){var m=p.t,g=s.map(function(y,v){var k=h&&h[v];if(k){var w=ao(k.x,y.x),N=ao(k.y,y.y),S=ao(k.width,y.width),x=ao(k.height,y.height);return Lt(Lt({},y),{},{x:w(m),y:N(m),width:S(m),height:x(m)})}if(o==="horizontal"){var E=ao(0,y.height),_=E(m);return Lt(Lt({},y),{},{y:y.y+y.height-_,height:_})}var O=ao(0,y.width),C=O(m);return Lt(Lt({},y),{},{width:C})});return V.createElement(tn,null,r.renderRectanglesStatically(g))})}},{key:"renderRectangles",value:function(){var r=this.props,a=r.data,s=r.isAnimationActive,o=this.state.prevData;return s&&a&&a.length&&(!o||!Xw(o,a))?this.renderRectanglesWithAnimation():this.renderRectanglesStatically(a)}},{key:"renderBackground",value:function(){var r=this,a=this.props,s=a.data,o=a.dataKey,l=a.activeIndex,c=Ge(this.props.background,!1);return s.map(function(u,d){u.value;var f=u.background,h=Hne(u,Wne);if(!f)return null;var p=Lt(Lt(Lt(Lt(Lt({},h),{},{fill:"#eee"},f),c),lh(r.props,u,d)),{},{onAnimationStart:r.handleAnimationStart,onAnimationEnd:r.handleAnimationEnd,dataKey:o,index:d,className:"recharts-bar-background-rectangle"});return V.createElement(kN,Xh({key:"background-bar-".concat(d),option:r.props.background,isActive:d===l},p))})}},{key:"renderErrorBar",value:function(r,a){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var s=this.props,o=s.data,l=s.xAxis,c=s.yAxis,u=s.layout,d=s.children,f=zr(d,gm);if(!f)return null;var h=u==="vertical"?o[0].height/2:o[0].width/2,p=function(y,v){var k=Array.isArray(y.value)?y.value[1]:y.value;return{x:y.x,y:y.y,value:k,errorVal:pa(y,v)}},m={clipPath:r?"url(#clipPath-".concat(a,")"):null};return V.createElement(tn,m,f.map(function(g){return V.cloneElement(g,{key:"error-bar-".concat(a,"-").concat(g.props.dataKey),data:o,xAxis:l,yAxis:c,layout:u,offset:h,dataPointFormatter:p})}))}},{key:"render",value:function(){var r=this.props,a=r.hide,s=r.data,o=r.className,l=r.xAxis,c=r.yAxis,u=r.left,d=r.top,f=r.width,h=r.height,p=r.isAnimationActive,m=r.background,g=r.id;if(a||!s||!s.length)return null;var y=this.state.isAnimationFinished,v=qe("recharts-bar",o),k=l&&l.allowDataOverflow,w=c&&c.allowDataOverflow,N=k||w,S=Ke(g)?this.id:g;return V.createElement(tn,{className:v},k||w?V.createElement("defs",null,V.createElement("clipPath",{id:"clipPath-".concat(S)},V.createElement("rect",{x:k?u:u-f/2,y:w?d:d-h/2,width:k?f:f*2,height:w?h:h*2}))):null,V.createElement(tn,{className:"recharts-bar-rectangles",clipPath:N?"url(#clipPath-".concat(S,")"):null},m?this.renderBackground():null,this.renderRectangles()),this.renderErrorBar(N,S),(!p||y)&&Ss.renderCallByParent(this.props,s))}}],[{key:"getDerivedStateFromProps",value:function(r,a){return r.animationId!==a.prevAnimationId?{prevAnimationId:r.animationId,curData:r.data,prevData:a.curData}:r.data!==a.curData?{curData:r.data}:null}}])}(b.PureComponent);jR=bn;mi(bn,"displayName","Bar");mi(bn,"defaultProps",{xAxisId:0,yAxisId:0,legendType:"rect",minPointSize:0,hide:!1,data:[],layout:"vertical",activeBar:!1,isAnimationActive:!ad.isSsr,animationBegin:0,animationDuration:400,animationEasing:"ease"});mi(bn,"getComposedData",function(e){var t=e.props,n=e.item,r=e.barPosition,a=e.bandSize,s=e.xAxis,o=e.yAxis,l=e.xAxisTicks,c=e.yAxisTicks,u=e.stackedData,d=e.dataStartIndex,f=e.displayedData,h=e.offset,p=jQ(r,n);if(!p)return null;var m=t.layout,g=n.type.defaultProps,y=g!==void 0?Lt(Lt({},g),n.props):n.props,v=y.dataKey,k=y.children,w=y.minPointSize,N=m==="horizontal"?o:s,S=u?N.scale.domain():null,x=PQ({numericAxis:N}),E=zr(k,mu),_=f.map(function(O,C){var P,A,D,I,M,L;u?P=NQ(u[d+C],S):(P=pa(O,v),Array.isArray(P)||(P=[x,P]));var U=Une(w,jR.defaultProps.minPointSize)(P[1],C);if(m==="horizontal"){var R,B=[o.scale(P[0]),o.scale(P[1])],T=B[0],Z=B[1];A=N1({axis:s,ticks:l,bandSize:a,offset:p.offset,entry:O,index:C}),D=(R=Z??T)!==null&&R!==void 0?R:void 0,I=p.size;var F=T-Z;if(M=Number.isNaN(F)?0:F,L={x:A,y:o.y,width:I,height:o.height},Math.abs(U)>0&&Math.abs(M)<Math.abs(U)){var $=Lr(M||U)*(Math.abs(U)-Math.abs(M));D-=$,M+=$}}else{var ae=[s.scale(P[0]),s.scale(P[1])],ue=ae[0],me=ae[1];if(A=ue,D=N1({axis:o,ticks:c,bandSize:a,offset:p.offset,entry:O,index:C}),I=me-ue,M=p.size,L={x:s.x,y:D,width:s.width,height:M},Math.abs(U)>0&&Math.abs(I)<Math.abs(U)){var Ee=Lr(I||U)*(Math.abs(U)-Math.abs(I));I+=Ee}}return Lt(Lt(Lt({},O),{},{x:A,y:D,width:I,height:M,value:u?P:P[1],payload:O,background:L},E&&E[C]&&E[C].props),{},{tooltipPayload:[rR(n,O)],tooltipPosition:{x:A+I/2,y:D+M/2}})});return Lt({data:_,layout:m},h)});function Uu(e){"@babel/helpers - typeof";return Uu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Uu(e)}function Jne(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function NN(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,_R(r.key),r)}}function ere(e,t,n){return t&&NN(e.prototype,t),n&&NN(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function EN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Mr(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?EN(Object(n),!0).forEach(function(r){bm(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):EN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function bm(e,t,n){return t=_R(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _R(e){var t=tre(e,"string");return Uu(t)=="symbol"?t:t+""}function tre(e,t){if(Uu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Uu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var nre=function(t,n,r,a,s){var o=t.width,l=t.height,c=t.layout,u=t.children,d=Object.keys(n),f={left:r.left,leftMirror:r.left,right:o-r.right,rightMirror:o-r.right,top:r.top,topMirror:r.top,bottom:l-r.bottom,bottomMirror:l-r.bottom},h=!!tr(u,bn);return d.reduce(function(p,m){var g=n[m],y=g.orientation,v=g.domain,k=g.padding,w=k===void 0?{}:k,N=g.mirror,S=g.reversed,x="".concat(y).concat(N?"Mirror":""),E,_,O,C,P;if(g.type==="number"&&(g.padding==="gap"||g.padding==="no-gap")){var A=v[1]-v[0],D=1/0,I=g.categoricalDomain.sort(i3);if(I.forEach(function(ae,ue){ue>0&&(D=Math.min((ae||0)-(I[ue-1]||0),D))}),Number.isFinite(D)){var M=D/A,L=g.layout==="vertical"?r.height:r.width;if(g.padding==="gap"&&(E=M*L/2),g.padding==="no-gap"){var U=Ps(t.barCategoryGap,M*L),R=M*L/2;E=R-U-(R-U)/L*U}}}a==="xAxis"?_=[r.left+(w.left||0)+(E||0),r.left+r.width-(w.right||0)-(E||0)]:a==="yAxis"?_=c==="horizontal"?[r.top+r.height-(w.bottom||0),r.top+(w.top||0)]:[r.top+(w.top||0)+(E||0),r.top+r.height-(w.bottom||0)-(E||0)]:_=g.range,S&&(_=[_[1],_[0]]);var B=kQ(g,s,h),T=B.scale,Z=B.realScaleType;T.domain(v).range(_),SQ(T);var F=OQ(T,Mr(Mr({},g),{},{realScaleType:Z}));a==="xAxis"?(P=y==="top"&&!N||y==="bottom"&&N,O=r.left,C=f[x]-P*g.height):a==="yAxis"&&(P=y==="left"&&!N||y==="right"&&N,O=f[x]-P*g.width,C=r.top);var $=Mr(Mr(Mr({},g),F),{},{realScaleType:Z,x:O,y:C,scale:T,width:a==="xAxis"?r.width:g.width,height:a==="yAxis"?r.height:g.height});return $.bandSize=Lh($,F),!g.hide&&a==="xAxis"?f[x]+=(P?-1:1)*$.height:g.hide||(f[x]+=(P?-1:1)*$.width),Mr(Mr({},p),{},bm({},m,$))},{})},CR=function(t,n){var r=t.x,a=t.y,s=n.x,o=n.y;return{x:Math.min(r,s),y:Math.min(a,o),width:Math.abs(s-r),height:Math.abs(o-a)}},rre=function(t){var n=t.x1,r=t.y1,a=t.x2,s=t.y2;return CR({x:n,y:r},{x:a,y:s})},AR=function(){function e(t){Jne(this,e),this.scale=t}return ere(e,[{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}},{key:"apply",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=r.bandAware,s=r.position;if(n!==void 0){if(s)switch(s){case"start":return this.scale(n);case"middle":{var o=this.bandwidth?this.bandwidth()/2:0;return this.scale(n)+o}case"end":{var l=this.bandwidth?this.bandwidth():0;return this.scale(n)+l}default:return this.scale(n)}if(a){var c=this.bandwidth?this.bandwidth()/2:0;return this.scale(n)+c}return this.scale(n)}}},{key:"isInRange",value:function(n){var r=this.range(),a=r[0],s=r[r.length-1];return a<=s?n>=a&&n<=s:n>=s&&n<=a}}],[{key:"create",value:function(n){return new e(n)}}])}();bm(AR,"EPS",1e-4);var t0=function(t){var n=Object.keys(t).reduce(function(r,a){return Mr(Mr({},r),{},bm({},a,AR.create(t[a])))},{});return Mr(Mr({},n),{},{apply:function(a){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=s.bandAware,l=s.position;return kne(a,function(c,u){return n[u].apply(c,{bandAware:o,position:l})})},isInRange:function(a){return SR(a,function(s,o){return n[o].isInRange(s)})}})};function are(e){return(e%180+180)%180}var ire=function(t){var n=t.width,r=t.height,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,s=are(a),o=s*Math.PI/180,l=Math.atan(r/n),c=o>l&&o<Math.PI-l?r/Math.sin(o):n/Math.cos(o);return Math.abs(c)},sre=Di,ore=rd,lre=rm;function cre(e){return function(t,n,r){var a=Object(t);if(!ore(t)){var s=sre(n);t=lre(t),n=function(l){return s(a[l],l,a)}}var o=e(t,n,r);return o>-1?a[s?t[o]:o]:void 0}}var ure=cre,dre=bR;function fre(e){var t=dre(e),n=t%1;return t===t?n?t-n:t:0}var hre=fre,pre=DO,mre=Di,gre=hre,vre=Math.max;function yre(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var a=n==null?0:gre(n);return a<0&&(a=vre(r+a,0)),pre(e,mre(t),a)}var bre=yre,xre=ure,wre=bre,kre=xre(wre),Sre=kre;const jre=Xe(Sre);var Nre=lU(function(e){return{x:e.left,y:e.top,width:e.width,height:e.height}},function(e){return["l",e.left,"t",e.top,"w",e.width,"h",e.height].join("")}),n0=b.createContext(void 0),r0=b.createContext(void 0),TR=b.createContext(void 0),OR=b.createContext({}),PR=b.createContext(void 0),RR=b.createContext(0),MR=b.createContext(0),_N=function(t){var n=t.state,r=n.xAxisMap,a=n.yAxisMap,s=n.offset,o=t.clipPathId,l=t.children,c=t.width,u=t.height,d=Nre(s);return V.createElement(n0.Provider,{value:r},V.createElement(r0.Provider,{value:a},V.createElement(OR.Provider,{value:s},V.createElement(TR.Provider,{value:d},V.createElement(PR.Provider,{value:o},V.createElement(RR.Provider,{value:u},V.createElement(MR.Provider,{value:c},l)))))))},Ere=function(){return b.useContext(PR)},IR=function(t){var n=b.useContext(n0);n==null&&Ms();var r=n[t];return r==null&&Ms(),r},_re=function(){var t=b.useContext(n0);return ci(t)},Cre=function(){var t=b.useContext(r0),n=jre(t,function(r){return SR(r.domain,Number.isFinite)});return n||ci(t)},$R=function(t){var n=b.useContext(r0);n==null&&Ms();var r=n[t];return r==null&&Ms(),r},Are=function(){var t=b.useContext(TR);return t},Tre=function(){return b.useContext(OR)},a0=function(){return b.useContext(MR)},i0=function(){return b.useContext(RR)};function ul(e){"@babel/helpers - typeof";return ul=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ul(e)}function Ore(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Pre(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,DR(r.key),r)}}function Rre(e,t,n){return t&&Pre(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Mre(e,t,n){return t=Zh(t),Ire(e,LR()?Reflect.construct(t,n||[],Zh(e).constructor):t.apply(e,n))}function Ire(e,t){if(t&&(ul(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return $re(e)}function $re(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function LR(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(LR=function(){return!!e})()}function Zh(e){return Zh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Zh(e)}function Lre(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Nb(e,t)}function Nb(e,t){return Nb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},Nb(e,t)}function CN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function AN(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?CN(Object(n),!0).forEach(function(r){s0(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):CN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function s0(e,t,n){return t=DR(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function DR(e){var t=Dre(e,"string");return ul(t)=="symbol"?t:t+""}function Dre(e,t){if(ul(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(ul(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function Bre(e,t){return Wre(e)||Ure(e,t)||Fre(e,t)||zre()}function zre(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
131
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Fre(e,t){if(e){if(typeof e=="string")return TN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return TN(e,t)}}function TN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ure(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,a,s,o,l=[],c=!0,u=!1;try{if(s=(n=n.call(e)).next,t!==0)for(;!(c=(r=s.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(d){u=!0,a=d}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return l}}function Wre(e){if(Array.isArray(e))return e}function Eb(){return Eb=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Eb.apply(this,arguments)}var Hre=function(t,n){var r;return V.isValidElement(t)?r=V.cloneElement(t,n):Le(t)?r=t(n):r=V.createElement("line",Eb({},n,{className:"recharts-reference-line-line"})),r},Gre=function(t,n,r,a,s,o,l,c,u){var d=s.x,f=s.y,h=s.width,p=s.height;if(r){var m=u.y,g=t.y.apply(m,{position:o});if(fa(u,"discard")&&!t.y.isInRange(g))return null;var y=[{x:d+h,y:g},{x:d,y:g}];return c==="left"?y.reverse():y}if(n){var v=u.x,k=t.x.apply(v,{position:o});if(fa(u,"discard")&&!t.x.isInRange(k))return null;var w=[{x:k,y:f+p},{x:k,y:f}];return l==="top"?w.reverse():w}if(a){var N=u.segment,S=N.map(function(x){return t.apply(x,{position:o})});return fa(u,"discard")&&pne(S,function(x){return!t.isInRange(x)})?null:S}return null};function qre(e){var t=e.x,n=e.y,r=e.segment,a=e.xAxisId,s=e.yAxisId,o=e.shape,l=e.className,c=e.alwaysShow,u=Ere(),d=IR(a),f=$R(s),h=Are();if(!u||!h)return null;Pa(c===void 0,'The alwaysShow prop is deprecated. Please use ifOverflow="extendDomain" instead.');var p=t0({x:d.scale,y:f.scale}),m=Vt(t),g=Vt(n),y=r&&r.length===2,v=Gre(p,m,g,y,h,e.position,d.orientation,f.orientation,e);if(!v)return null;var k=Bre(v,2),w=k[0],N=w.x,S=w.y,x=k[1],E=x.x,_=x.y,O=fa(e,"hidden")?"url(#".concat(u,")"):void 0,C=AN(AN({clipPath:O},Ge(e,!0)),{},{x1:N,y1:S,x2:E,y2:_});return V.createElement(tn,{className:qe("recharts-reference-line",l)},Hre(o,C),kn.renderCallByParent(e,rre({x1:N,y1:S,x2:E,y2:_})))}var o0=function(e){function t(){return Ore(this,t),Mre(this,t,arguments)}return Lre(t,e),Rre(t,[{key:"render",value:function(){return V.createElement(qre,this.props)}}])}(V.Component);s0(o0,"displayName","ReferenceLine");s0(o0,"defaultProps",{isFront:!1,ifOverflow:"discard",xAxisId:0,yAxisId:0,fill:"none",stroke:"#ccc",fillOpacity:1,strokeWidth:1,position:"middle"});function _b(){return _b=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_b.apply(this,arguments)}function dl(e){"@babel/helpers - typeof";return dl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},dl(e)}function ON(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function PN(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ON(Object(n),!0).forEach(function(r){xm(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ON(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Kre(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Vre(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,zR(r.key),r)}}function Yre(e,t,n){return t&&Vre(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Xre(e,t,n){return t=Jh(t),Qre(e,BR()?Reflect.construct(t,n||[],Jh(e).constructor):t.apply(e,n))}function Qre(e,t){if(t&&(dl(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Zre(e)}function Zre(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function BR(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(BR=function(){return!!e})()}function Jh(e){return Jh=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Jh(e)}function Jre(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Cb(e,t)}function Cb(e,t){return Cb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},Cb(e,t)}function xm(e,t,n){return t=zR(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function zR(e){var t=eae(e,"string");return dl(t)=="symbol"?t:t+""}function eae(e,t){if(dl(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(dl(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var tae=function(t){var n=t.x,r=t.y,a=t.xAxis,s=t.yAxis,o=t0({x:a.scale,y:s.scale}),l=o.apply({x:n,y:r},{bandAware:!0});return fa(t,"discard")&&!o.isInRange(l)?null:l},wm=function(e){function t(){return Kre(this,t),Xre(this,t,arguments)}return Jre(t,e),Yre(t,[{key:"render",value:function(){var r=this.props,a=r.x,s=r.y,o=r.r,l=r.alwaysShow,c=r.clipPathId,u=Vt(a),d=Vt(s);if(Pa(l===void 0,'The alwaysShow prop is deprecated. Please use ifOverflow="extendDomain" instead.'),!u||!d)return null;var f=tae(this.props);if(!f)return null;var h=f.x,p=f.y,m=this.props,g=m.shape,y=m.className,v=fa(this.props,"hidden")?"url(#".concat(c,")"):void 0,k=PN(PN({clipPath:v},Ge(this.props,!0)),{},{cx:h,cy:p});return V.createElement(tn,{className:qe("recharts-reference-dot",y)},t.renderDot(g,k),kn.renderCallByParent(this.props,{x:h-o,y:p-o,width:2*o,height:2*o}))}}])}(V.Component);xm(wm,"displayName","ReferenceDot");xm(wm,"defaultProps",{isFront:!1,ifOverflow:"discard",xAxisId:0,yAxisId:0,r:10,fill:"#fff",stroke:"#ccc",fillOpacity:1,strokeWidth:1});xm(wm,"renderDot",function(e,t){var n;return V.isValidElement(e)?n=V.cloneElement(e,t):Le(e)?n=e(t):n=V.createElement(vR,_b({},t,{cx:t.cx,cy:t.cy,className:"recharts-reference-dot-dot"})),n});function Ab(){return Ab=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ab.apply(this,arguments)}function fl(e){"@babel/helpers - typeof";return fl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fl(e)}function RN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).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?RN(Object(n),!0).forEach(function(r){km(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):RN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function nae(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function rae(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,UR(r.key),r)}}function aae(e,t,n){return t&&rae(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function iae(e,t,n){return t=ep(t),sae(e,FR()?Reflect.construct(t,n||[],ep(e).constructor):t.apply(e,n))}function sae(e,t){if(t&&(fl(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return oae(e)}function oae(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function FR(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(FR=function(){return!!e})()}function ep(e){return ep=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},ep(e)}function lae(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Tb(e,t)}function Tb(e,t){return Tb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},Tb(e,t)}function km(e,t,n){return t=UR(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function UR(e){var t=cae(e,"string");return fl(t)=="symbol"?t:t+""}function cae(e,t){if(fl(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(fl(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var uae=function(t,n,r,a,s){var o=s.x1,l=s.x2,c=s.y1,u=s.y2,d=s.xAxis,f=s.yAxis;if(!d||!f)return null;var h=t0({x:d.scale,y:f.scale}),p={x:t?h.x.apply(o,{position:"start"}):h.x.rangeMin,y:r?h.y.apply(c,{position:"start"}):h.y.rangeMin},m={x:n?h.x.apply(l,{position:"end"}):h.x.rangeMax,y:a?h.y.apply(u,{position:"end"}):h.y.rangeMax};return fa(s,"discard")&&(!h.isInRange(p)||!h.isInRange(m))?null:CR(p,m)},Sm=function(e){function t(){return nae(this,t),iae(this,t,arguments)}return lae(t,e),aae(t,[{key:"render",value:function(){var r=this.props,a=r.x1,s=r.x2,o=r.y1,l=r.y2,c=r.className,u=r.alwaysShow,d=r.clipPathId;Pa(u===void 0,'The alwaysShow prop is deprecated. Please use ifOverflow="extendDomain" instead.');var f=Vt(a),h=Vt(s),p=Vt(o),m=Vt(l),g=this.props.shape;if(!f&&!h&&!p&&!m&&!g)return null;var y=uae(f,h,p,m,this.props);if(!y&&!g)return null;var v=fa(this.props,"hidden")?"url(#".concat(d,")"):void 0;return V.createElement(tn,{className:qe("recharts-reference-area",c)},t.renderRect(g,MN(MN({clipPath:v},Ge(this.props,!0)),y)),kn.renderCallByParent(this.props,y))}}])}(V.Component);km(Sm,"displayName","ReferenceArea");km(Sm,"defaultProps",{isFront:!1,ifOverflow:"discard",xAxisId:0,yAxisId:0,r:10,fill:"#ccc",fillOpacity:.5,stroke:"none",strokeWidth:1});km(Sm,"renderRect",function(e,t){var n;return V.isValidElement(e)?n=V.cloneElement(e,t):Le(e)?n=e(t):n=V.createElement(e0,Ab({},t,{className:"recharts-reference-area-rect"})),n});function WR(e,t,n){if(t<1)return[];if(t===1&&n===void 0)return e;for(var r=[],a=0;a<e.length;a+=t)r.push(e[a]);return r}function dae(e,t,n){var r={width:e.width+t.width,height:e.height+t.height};return ire(r,n)}function fae(e,t,n){var r=n==="width",a=e.x,s=e.y,o=e.width,l=e.height;return t===1?{start:r?a:s,end:r?a+o:s+l}:{start:r?a+o:s+l,end:r?a:s}}function tp(e,t,n,r,a){if(e*t<e*r||e*t>e*a)return!1;var s=n();return e*(t-e*s/2-r)>=0&&e*(t+e*s/2-a)<=0}function hae(e,t){return WR(e,t+1)}function pae(e,t,n,r,a){for(var s=(r||[]).slice(),o=t.start,l=t.end,c=0,u=1,d=o,f=function(){var m=r==null?void 0:r[c];if(m===void 0)return{v:WR(r,u)};var g=c,y,v=function(){return y===void 0&&(y=n(m,g)),y},k=m.coordinate,w=c===0||tp(e,k,v,d,l);w||(c=0,d=o,u+=1),w&&(d=k+e*(v()/2+a),c+=u)},h;u<=s.length;)if(h=f(),h)return h.v;return[]}function Wu(e){"@babel/helpers - typeof";return Wu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Wu(e)}function IN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function yn(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?IN(Object(n),!0).forEach(function(r){mae(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):IN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function mae(e,t,n){return t=gae(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function gae(e){var t=vae(e,"string");return Wu(t)=="symbol"?t:t+""}function vae(e,t){if(Wu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Wu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function yae(e,t,n,r,a){for(var s=(r||[]).slice(),o=s.length,l=t.start,c=t.end,u=function(h){var p=s[h],m,g=function(){return m===void 0&&(m=n(p,h)),m};if(h===o-1){var y=e*(p.coordinate+e*g()/2-c);s[h]=p=yn(yn({},p),{},{tickCoord:y>0?p.coordinate-y*e:p.coordinate})}else s[h]=p=yn(yn({},p),{},{tickCoord:p.coordinate});var v=tp(e,p.tickCoord,g,l,c);v&&(c=p.tickCoord-e*(g()/2+a),s[h]=yn(yn({},p),{},{isShow:!0}))},d=o-1;d>=0;d--)u(d);return s}function bae(e,t,n,r,a,s){var o=(r||[]).slice(),l=o.length,c=t.start,u=t.end;if(s){var d=r[l-1],f=n(d,l-1),h=e*(d.coordinate+e*f/2-u);o[l-1]=d=yn(yn({},d),{},{tickCoord:h>0?d.coordinate-h*e:d.coordinate});var p=tp(e,d.tickCoord,function(){return f},c,u);p&&(u=d.tickCoord-e*(f/2+a),o[l-1]=yn(yn({},d),{},{isShow:!0}))}for(var m=s?l-1:l,g=function(k){var w=o[k],N,S=function(){return N===void 0&&(N=n(w,k)),N};if(k===0){var x=e*(w.coordinate-e*S()/2-c);o[k]=w=yn(yn({},w),{},{tickCoord:x<0?w.coordinate-x*e:w.coordinate})}else o[k]=w=yn(yn({},w),{},{tickCoord:w.coordinate});var E=tp(e,w.tickCoord,S,c,u);E&&(c=w.tickCoord+e*(S()/2+a),o[k]=yn(yn({},w),{},{isShow:!0}))},y=0;y<m;y++)g(y);return o}function l0(e,t,n){var r=e.tick,a=e.ticks,s=e.viewBox,o=e.minTickGap,l=e.orientation,c=e.interval,u=e.tickFormatter,d=e.unit,f=e.angle;if(!a||!a.length||!r)return[];if(ce(c)||ad.isSsr)return hae(a,typeof c=="number"&&ce(c)?c:0);var h=[],p=l==="top"||l==="bottom"?"width":"height",m=d&&p==="width"?$c(d,{fontSize:t,letterSpacing:n}):{width:0,height:0},g=function(w,N){var S=Le(u)?u(w.value,N):w.value;return p==="width"?dae($c(S,{fontSize:t,letterSpacing:n}),m,f):$c(S,{fontSize:t,letterSpacing:n})[p]},y=a.length>=2?Lr(a[1].coordinate-a[0].coordinate):1,v=fae(s,y,p);return c==="equidistantPreserveStart"?pae(y,v,g,a,o):(c==="preserveStart"||c==="preserveStartEnd"?h=bae(y,v,g,a,o,c==="preserveStartEnd"):h=yae(y,v,g,a,o),h.filter(function(k){return k.isShow}))}var xae=["viewBox"],wae=["viewBox"],kae=["ticks"];function hl(e){"@babel/helpers - typeof";return hl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},hl(e)}function To(){return To=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},To.apply(this,arguments)}function $N(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Wt(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?$N(Object(n),!0).forEach(function(r){c0(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$N(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Mg(e,t){if(e==null)return{};var n=Sae(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Sae(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function jae(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function LN(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,GR(r.key),r)}}function Nae(e,t,n){return t&&LN(e.prototype,t),n&&LN(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function Eae(e,t,n){return t=np(t),_ae(e,HR()?Reflect.construct(t,n||[],np(e).constructor):t.apply(e,n))}function _ae(e,t){if(t&&(hl(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Cae(e)}function Cae(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function HR(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(HR=function(){return!!e})()}function np(e){return np=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},np(e)}function Aae(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ob(e,t)}function Ob(e,t){return Ob=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},Ob(e,t)}function c0(e,t,n){return t=GR(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function GR(e){var t=Tae(e,"string");return hl(t)=="symbol"?t:t+""}function Tae(e,t){if(hl(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(hl(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var $l=function(e){function t(n){var r;return jae(this,t),r=Eae(this,t,[n]),r.state={fontSize:"",letterSpacing:""},r}return Aae(t,e),Nae(t,[{key:"shouldComponentUpdate",value:function(r,a){var s=r.viewBox,o=Mg(r,xae),l=this.props,c=l.viewBox,u=Mg(l,wae);return!Bo(s,c)||!Bo(o,u)||!Bo(a,this.state)}},{key:"componentDidMount",value:function(){var r=this.layerReference;if(r){var a=r.getElementsByClassName("recharts-cartesian-axis-tick-value")[0];a&&this.setState({fontSize:window.getComputedStyle(a).fontSize,letterSpacing:window.getComputedStyle(a).letterSpacing})}}},{key:"getTickLineCoord",value:function(r){var a=this.props,s=a.x,o=a.y,l=a.width,c=a.height,u=a.orientation,d=a.tickSize,f=a.mirror,h=a.tickMargin,p,m,g,y,v,k,w=f?-1:1,N=r.tickSize||d,S=ce(r.tickCoord)?r.tickCoord:r.coordinate;switch(u){case"top":p=m=r.coordinate,y=o+ +!f*c,g=y-w*N,k=g-w*h,v=S;break;case"left":g=y=r.coordinate,m=s+ +!f*l,p=m-w*N,v=p-w*h,k=S;break;case"right":g=y=r.coordinate,m=s+ +f*l,p=m+w*N,v=p+w*h,k=S;break;default:p=m=r.coordinate,y=o+ +f*c,g=y+w*N,k=g+w*h,v=S;break}return{line:{x1:p,y1:g,x2:m,y2:y},tick:{x:v,y:k}}}},{key:"getTickTextAnchor",value:function(){var r=this.props,a=r.orientation,s=r.mirror,o;switch(a){case"left":o=s?"start":"end";break;case"right":o=s?"end":"start";break;default:o="middle";break}return o}},{key:"getTickVerticalAnchor",value:function(){var r=this.props,a=r.orientation,s=r.mirror,o="end";switch(a){case"left":case"right":o="middle";break;case"top":o=s?"start":"end";break;default:o=s?"end":"start";break}return o}},{key:"renderAxisLine",value:function(){var r=this.props,a=r.x,s=r.y,o=r.width,l=r.height,c=r.orientation,u=r.mirror,d=r.axisLine,f=Wt(Wt(Wt({},Ge(this.props,!1)),Ge(d,!1)),{},{fill:"none"});if(c==="top"||c==="bottom"){var h=+(c==="top"&&!u||c==="bottom"&&u);f=Wt(Wt({},f),{},{x1:a,y1:s+h*l,x2:a+o,y2:s+h*l})}else{var p=+(c==="left"&&!u||c==="right"&&u);f=Wt(Wt({},f),{},{x1:a+p*o,y1:s,x2:a+p*o,y2:s+l})}return V.createElement("line",To({},f,{className:qe("recharts-cartesian-axis-line",wr(d,"className"))}))}},{key:"renderTicks",value:function(r,a,s){var o=this,l=this.props,c=l.tickLine,u=l.stroke,d=l.tick,f=l.tickFormatter,h=l.unit,p=l0(Wt(Wt({},this.props),{},{ticks:r}),a,s),m=this.getTickTextAnchor(),g=this.getTickVerticalAnchor(),y=Ge(this.props,!1),v=Ge(d,!1),k=Wt(Wt({},y),{},{fill:"none"},Ge(c,!1)),w=p.map(function(N,S){var x=o.getTickLineCoord(N),E=x.line,_=x.tick,O=Wt(Wt(Wt(Wt({textAnchor:m,verticalAnchor:g},y),{},{stroke:"none",fill:u},v),_),{},{index:S,payload:N,visibleTicksCount:p.length,tickFormatter:f});return V.createElement(tn,To({className:"recharts-cartesian-axis-tick",key:"tick-".concat(N.value,"-").concat(N.coordinate,"-").concat(N.tickCoord)},lh(o.props,N,S)),c&&V.createElement("line",To({},k,E,{className:qe("recharts-cartesian-axis-tick-line",wr(c,"className"))})),d&&t.renderTickItem(d,O,"".concat(Le(f)?f(N.value,S):N.value).concat(h||"")))});return V.createElement("g",{className:"recharts-cartesian-axis-ticks"},w)}},{key:"render",value:function(){var r=this,a=this.props,s=a.axisLine,o=a.width,l=a.height,c=a.ticksGenerator,u=a.className,d=a.hide;if(d)return null;var f=this.props,h=f.ticks,p=Mg(f,kae),m=h;return Le(c)&&(m=h&&h.length>0?c(this.props):c(p)),o<=0||l<=0||!m||!m.length?null:V.createElement(tn,{className:qe("recharts-cartesian-axis",u),ref:function(y){r.layerReference=y}},s&&this.renderAxisLine(),this.renderTicks(m,this.state.fontSize,this.state.letterSpacing),kn.renderCallByParent(this.props))}}],[{key:"renderTickItem",value:function(r,a,s){var o,l=qe(a.className,"recharts-cartesian-axis-tick-value");return V.isValidElement(r)?o=V.cloneElement(r,Wt(Wt({},a),{},{className:l})):Le(r)?o=r(Wt(Wt({},a),{},{className:l})):o=V.createElement(kh,To({},a,{className:"recharts-cartesian-axis-tick-value"}),s),o}}])}(b.Component);c0($l,"displayName","CartesianAxis");c0($l,"defaultProps",{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"});var Oae=["x1","y1","x2","y2","key"],Pae=["offset"];function Is(e){"@babel/helpers - typeof";return Is=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Is(e)}function DN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function Sn(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?DN(Object(n),!0).forEach(function(r){Rae(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):DN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Rae(e,t,n){return t=Mae(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Mae(e){var t=Iae(e,"string");return Is(t)=="symbol"?t:t+""}function Iae(e,t){if(Is(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Is(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function gs(){return gs=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},gs.apply(this,arguments)}function BN(e,t){if(e==null)return{};var n=$ae(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function $ae(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var Lae=function(t){var n=t.fill;if(!n||n==="none")return null;var r=t.fillOpacity,a=t.x,s=t.y,o=t.width,l=t.height,c=t.ry;return V.createElement("rect",{x:a,y:s,ry:c,width:o,height:l,stroke:"none",fill:n,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function qR(e,t){var n;if(V.isValidElement(e))n=V.cloneElement(e,t);else if(Le(e))n=e(t);else{var r=t.x1,a=t.y1,s=t.x2,o=t.y2,l=t.key,c=BN(t,Oae),u=Ge(c,!1);u.offset;var d=BN(u,Pae);n=V.createElement("line",gs({},d,{x1:r,y1:a,x2:s,y2:o,fill:"none",key:l}))}return n}function Dae(e){var t=e.x,n=e.width,r=e.horizontal,a=r===void 0?!0:r,s=e.horizontalPoints;if(!a||!s||!s.length)return null;var o=s.map(function(l,c){var u=Sn(Sn({},e),{},{x1:t,y1:l,x2:t+n,y2:l,key:"line-".concat(c),index:c});return qR(a,u)});return V.createElement("g",{className:"recharts-cartesian-grid-horizontal"},o)}function Bae(e){var t=e.y,n=e.height,r=e.vertical,a=r===void 0?!0:r,s=e.verticalPoints;if(!a||!s||!s.length)return null;var o=s.map(function(l,c){var u=Sn(Sn({},e),{},{x1:l,y1:t,x2:l,y2:t+n,key:"line-".concat(c),index:c});return qR(a,u)});return V.createElement("g",{className:"recharts-cartesian-grid-vertical"},o)}function zae(e){var t=e.horizontalFill,n=e.fillOpacity,r=e.x,a=e.y,s=e.width,o=e.height,l=e.horizontalPoints,c=e.horizontal,u=c===void 0?!0:c;if(!u||!t||!t.length)return null;var d=l.map(function(h){return Math.round(h+a-a)}).sort(function(h,p){return h-p});a!==d[0]&&d.unshift(0);var f=d.map(function(h,p){var m=!d[p+1],g=m?a+o-h:d[p+1]-h;if(g<=0)return null;var y=p%t.length;return V.createElement("rect",{key:"react-".concat(p),y:h,x:r,height:g,width:s,stroke:"none",fill:t[y],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return V.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},f)}function Fae(e){var t=e.vertical,n=t===void 0?!0:t,r=e.verticalFill,a=e.fillOpacity,s=e.x,o=e.y,l=e.width,c=e.height,u=e.verticalPoints;if(!n||!r||!r.length)return null;var d=u.map(function(h){return Math.round(h+s-s)}).sort(function(h,p){return h-p});s!==d[0]&&d.unshift(0);var f=d.map(function(h,p){var m=!d[p+1],g=m?s+l-h:d[p+1]-h;if(g<=0)return null;var y=p%r.length;return V.createElement("rect",{key:"react-".concat(p),x:h,y:o,width:g,height:c,stroke:"none",fill:r[y],fillOpacity:a,className:"recharts-cartesian-grid-bg"})});return V.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},f)}var Uae=function(t,n){var r=t.xAxis,a=t.width,s=t.height,o=t.offset;return tR(l0(Sn(Sn(Sn({},$l.defaultProps),r),{},{ticks:Aa(r,!0),viewBox:{x:0,y:0,width:a,height:s}})),o.left,o.left+o.width,n)},Wae=function(t,n){var r=t.yAxis,a=t.width,s=t.height,o=t.offset;return tR(l0(Sn(Sn(Sn({},$l.defaultProps),r),{},{ticks:Aa(r,!0),viewBox:{x:0,y:0,width:a,height:s}})),o.top,o.top+o.height,n)},oo={horizontal:!0,vertical:!0,stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[]};function ui(e){var t,n,r,a,s,o,l=a0(),c=i0(),u=Tre(),d=Sn(Sn({},e),{},{stroke:(t=e.stroke)!==null&&t!==void 0?t:oo.stroke,fill:(n=e.fill)!==null&&n!==void 0?n:oo.fill,horizontal:(r=e.horizontal)!==null&&r!==void 0?r:oo.horizontal,horizontalFill:(a=e.horizontalFill)!==null&&a!==void 0?a:oo.horizontalFill,vertical:(s=e.vertical)!==null&&s!==void 0?s:oo.vertical,verticalFill:(o=e.verticalFill)!==null&&o!==void 0?o:oo.verticalFill,x:ce(e.x)?e.x:u.left,y:ce(e.y)?e.y:u.top,width:ce(e.width)?e.width:u.width,height:ce(e.height)?e.height:u.height}),f=d.x,h=d.y,p=d.width,m=d.height,g=d.syncWithTicks,y=d.horizontalValues,v=d.verticalValues,k=_re(),w=Cre();if(!ce(p)||p<=0||!ce(m)||m<=0||!ce(f)||f!==+f||!ce(h)||h!==+h)return null;var N=d.verticalCoordinatesGenerator||Uae,S=d.horizontalCoordinatesGenerator||Wae,x=d.horizontalPoints,E=d.verticalPoints;if((!x||!x.length)&&Le(S)){var _=y&&y.length,O=S({yAxis:w?Sn(Sn({},w),{},{ticks:_?y:w.ticks}):void 0,width:l,height:c,offset:u},_?!0:g);Pa(Array.isArray(O),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(Is(O),"]")),Array.isArray(O)&&(x=O)}if((!E||!E.length)&&Le(N)){var C=v&&v.length,P=N({xAxis:k?Sn(Sn({},k),{},{ticks:C?v:k.ticks}):void 0,width:l,height:c,offset:u},C?!0:g);Pa(Array.isArray(P),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(Is(P),"]")),Array.isArray(P)&&(E=P)}return V.createElement("g",{className:"recharts-cartesian-grid"},V.createElement(Lae,{fill:d.fill,fillOpacity:d.fillOpacity,x:d.x,y:d.y,width:d.width,height:d.height,ry:d.ry}),V.createElement(Dae,gs({},d,{offset:u,horizontalPoints:x,xAxis:k,yAxis:w})),V.createElement(Bae,gs({},d,{offset:u,verticalPoints:E,xAxis:k,yAxis:w})),V.createElement(zae,gs({},d,{horizontalPoints:x})),V.createElement(Fae,gs({},d,{verticalPoints:E})))}ui.displayName="CartesianGrid";function pl(e){"@babel/helpers - typeof";return pl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pl(e)}function Hae(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Gae(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,YR(r.key),r)}}function qae(e,t,n){return t&&Gae(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Kae(e,t,n){return t=rp(t),Vae(e,KR()?Reflect.construct(t,n||[],rp(e).constructor):t.apply(e,n))}function Vae(e,t){if(t&&(pl(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Yae(e)}function Yae(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function KR(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(KR=function(){return!!e})()}function rp(e){return rp=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},rp(e)}function Xae(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Pb(e,t)}function Pb(e,t){return Pb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},Pb(e,t)}function VR(e,t,n){return t=YR(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function YR(e){var t=Qae(e,"string");return pl(t)=="symbol"?t:t+""}function Qae(e,t){if(pl(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(pl(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function Rb(){return Rb=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Rb.apply(this,arguments)}function Zae(e){var t=e.xAxisId,n=a0(),r=i0(),a=IR(t);return a==null?null:b.createElement($l,Rb({},a,{className:qe("recharts-".concat(a.axisType," ").concat(a.axisType),a.className),viewBox:{x:0,y:0,width:n,height:r},ticksGenerator:function(o){return Aa(o,!0)}}))}var sa=function(e){function t(){return Hae(this,t),Kae(this,t,arguments)}return Xae(t,e),qae(t,[{key:"render",value:function(){return b.createElement(Zae,this.props)}}])}(b.Component);VR(sa,"displayName","XAxis");VR(sa,"defaultProps",{allowDecimals:!0,hide:!1,orientation:"bottom",width:0,height:30,mirror:!1,xAxisId:0,tickCount:5,type:"category",padding:{left:0,right:0},allowDataOverflow:!1,scale:"auto",reversed:!1,allowDuplicatedCategory:!0});function ml(e){"@babel/helpers - typeof";return ml=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ml(e)}function Jae(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function eie(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ZR(r.key),r)}}function tie(e,t,n){return t&&eie(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function nie(e,t,n){return t=ap(t),rie(e,XR()?Reflect.construct(t,n||[],ap(e).constructor):t.apply(e,n))}function rie(e,t){if(t&&(ml(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return aie(e)}function aie(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function XR(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(XR=function(){return!!e})()}function ap(e){return ap=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},ap(e)}function iie(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Mb(e,t)}function Mb(e,t){return Mb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},Mb(e,t)}function QR(e,t,n){return t=ZR(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ZR(e){var t=sie(e,"string");return ml(t)=="symbol"?t:t+""}function sie(e,t){if(ml(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(ml(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function Ib(){return Ib=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ib.apply(this,arguments)}var oie=function(t){var n=t.yAxisId,r=a0(),a=i0(),s=$R(n);return s==null?null:b.createElement($l,Ib({},s,{className:qe("recharts-".concat(s.axisType," ").concat(s.axisType),s.className),viewBox:{x:0,y:0,width:r,height:a},ticksGenerator:function(l){return Aa(l,!0)}}))},oa=function(e){function t(){return Jae(this,t),nie(this,t,arguments)}return iie(t,e),tie(t,[{key:"render",value:function(){return b.createElement(oie,this.props)}}])}(b.Component);QR(oa,"displayName","YAxis");QR(oa,"defaultProps",{allowDuplicatedCategory:!0,allowDecimals:!0,hide:!1,orientation:"left",width:60,height:0,mirror:!1,yAxisId:0,tickCount:5,type:"number",padding:{top:0,bottom:0},allowDataOverflow:!1,scale:"auto",reversed:!1});function zN(e){return die(e)||uie(e)||cie(e)||lie()}function lie(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
132
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function cie(e,t){if(e){if(typeof e=="string")return $b(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return $b(e,t)}}function uie(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function die(e){if(Array.isArray(e))return $b(e)}function $b(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Lb=function(t,n,r,a,s){var o=zr(t,o0),l=zr(t,wm),c=[].concat(zN(o),zN(l)),u=zr(t,Sm),d="".concat(a,"Id"),f=a[0],h=n;if(c.length&&(h=c.reduce(function(g,y){if(y.props[d]===r&&fa(y.props,"extendDomain")&&ce(y.props[f])){var v=y.props[f];return[Math.min(g[0],v),Math.max(g[1],v)]}return g},h)),u.length){var p="".concat(f,"1"),m="".concat(f,"2");h=u.reduce(function(g,y){if(y.props[d]===r&&fa(y.props,"extendDomain")&&ce(y.props[p])&&ce(y.props[m])){var v=y.props[p],k=y.props[m];return[Math.min(g[0],v,k),Math.max(g[1],v,k)]}return g},h)}return s&&s.length&&(h=s.reduce(function(g,y){return ce(y)?[Math.min(g[0],y),Math.max(g[1],y)]:g},h)),h},JR={exports:{}};(function(e){var t=Object.prototype.hasOwnProperty,n="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(n=!1));function a(c,u,d){this.fn=c,this.context=u,this.once=d||!1}function s(c,u,d,f,h){if(typeof d!="function")throw new TypeError("The listener must be a function");var p=new a(d,f||c,h),m=n?n+u:u;return c._events[m]?c._events[m].fn?c._events[m]=[c._events[m],p]:c._events[m].push(p):(c._events[m]=p,c._eventsCount++),c}function o(c,u){--c._eventsCount===0?c._events=new r:delete c._events[u]}function l(){this._events=new r,this._eventsCount=0}l.prototype.eventNames=function(){var u=[],d,f;if(this._eventsCount===0)return u;for(f in d=this._events)t.call(d,f)&&u.push(n?f.slice(1):f);return Object.getOwnPropertySymbols?u.concat(Object.getOwnPropertySymbols(d)):u},l.prototype.listeners=function(u){var d=n?n+u:u,f=this._events[d];if(!f)return[];if(f.fn)return[f.fn];for(var h=0,p=f.length,m=new Array(p);h<p;h++)m[h]=f[h].fn;return m},l.prototype.listenerCount=function(u){var d=n?n+u:u,f=this._events[d];return f?f.fn?1:f.length:0},l.prototype.emit=function(u,d,f,h,p,m){var g=n?n+u:u;if(!this._events[g])return!1;var y=this._events[g],v=arguments.length,k,w;if(y.fn){switch(y.once&&this.removeListener(u,y.fn,void 0,!0),v){case 1:return y.fn.call(y.context),!0;case 2:return y.fn.call(y.context,d),!0;case 3:return y.fn.call(y.context,d,f),!0;case 4:return y.fn.call(y.context,d,f,h),!0;case 5:return y.fn.call(y.context,d,f,h,p),!0;case 6:return y.fn.call(y.context,d,f,h,p,m),!0}for(w=1,k=new Array(v-1);w<v;w++)k[w-1]=arguments[w];y.fn.apply(y.context,k)}else{var N=y.length,S;for(w=0;w<N;w++)switch(y[w].once&&this.removeListener(u,y[w].fn,void 0,!0),v){case 1:y[w].fn.call(y[w].context);break;case 2:y[w].fn.call(y[w].context,d);break;case 3:y[w].fn.call(y[w].context,d,f);break;case 4:y[w].fn.call(y[w].context,d,f,h);break;default:if(!k)for(S=1,k=new Array(v-1);S<v;S++)k[S-1]=arguments[S];y[w].fn.apply(y[w].context,k)}}return!0},l.prototype.on=function(u,d,f){return s(this,u,d,f,!1)},l.prototype.once=function(u,d,f){return s(this,u,d,f,!0)},l.prototype.removeListener=function(u,d,f,h){var p=n?n+u:u;if(!this._events[p])return this;if(!d)return o(this,p),this;var m=this._events[p];if(m.fn)m.fn===d&&(!h||m.once)&&(!f||m.context===f)&&o(this,p);else{for(var g=0,y=[],v=m.length;g<v;g++)(m[g].fn!==d||h&&!m[g].once||f&&m[g].context!==f)&&y.push(m[g]);y.length?this._events[p]=y.length===1?y[0]:y:o(this,p)}return this},l.prototype.removeAllListeners=function(u){var d;return u?(d=n?n+u:u,this._events[d]&&o(this,d)):(this._events=new r,this._eventsCount=0),this},l.prototype.off=l.prototype.removeListener,l.prototype.addListener=l.prototype.on,l.prefixed=n,l.EventEmitter=l,e.exports=l})(JR);var fie=JR.exports;const hie=Xe(fie);var Ig=new hie,$g="recharts.syncMouseEvents";function Hu(e){"@babel/helpers - typeof";return Hu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Hu(e)}function pie(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function mie(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,eM(r.key),r)}}function gie(e,t,n){return t&&mie(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Lg(e,t,n){return t=eM(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function eM(e){var t=vie(e,"string");return Hu(t)=="symbol"?t:t+""}function vie(e,t){if(Hu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Hu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var yie=function(){function e(){pie(this,e),Lg(this,"activeIndex",0),Lg(this,"coordinateList",[]),Lg(this,"layout","horizontal")}return gie(e,[{key:"setDetails",value:function(n){var r,a=n.coordinateList,s=a===void 0?null:a,o=n.container,l=o===void 0?null:o,c=n.layout,u=c===void 0?null:c,d=n.offset,f=d===void 0?null:d,h=n.mouseHandlerCallback,p=h===void 0?null:h;this.coordinateList=(r=s??this.coordinateList)!==null&&r!==void 0?r:[],this.container=l??this.container,this.layout=u??this.layout,this.offset=f??this.offset,this.mouseHandlerCallback=p??this.mouseHandlerCallback,this.activeIndex=Math.min(Math.max(this.activeIndex,0),this.coordinateList.length-1)}},{key:"focus",value:function(){this.spoofMouse()}},{key:"keyboardEvent",value:function(n){if(this.coordinateList.length!==0)switch(n.key){case"ArrowRight":{if(this.layout!=="horizontal")return;this.activeIndex=Math.min(this.activeIndex+1,this.coordinateList.length-1),this.spoofMouse();break}case"ArrowLeft":{if(this.layout!=="horizontal")return;this.activeIndex=Math.max(this.activeIndex-1,0),this.spoofMouse();break}}}},{key:"setIndex",value:function(n){this.activeIndex=n}},{key:"spoofMouse",value:function(){var n,r;if(this.layout==="horizontal"&&this.coordinateList.length!==0){var a=this.container.getBoundingClientRect(),s=a.x,o=a.y,l=a.height,c=this.coordinateList[this.activeIndex].coordinate,u=((n=window)===null||n===void 0?void 0:n.scrollX)||0,d=((r=window)===null||r===void 0?void 0:r.scrollY)||0,f=s+c+u,h=o+this.offset.top+l/2+d;this.mouseHandlerCallback({pageX:f,pageY:h})}}}])}();function bie(e,t,n){if(n==="number"&&t===!0&&Array.isArray(e)){var r=e==null?void 0:e[0],a=e==null?void 0:e[1];if(r&&a&&ce(r)&&ce(a))return!0}return!1}function xie(e,t,n,r){var a=r/2;return{stroke:"none",fill:"#ccc",x:e==="horizontal"?t.x-a:n.left+.5,y:e==="horizontal"?n.top+.5:t.y-a,width:e==="horizontal"?r:n.width-1,height:e==="horizontal"?n.height-1:r}}function tM(e){var t=e.cx,n=e.cy,r=e.radius,a=e.startAngle,s=e.endAngle,o=fn(t,n,r,a),l=fn(t,n,r,s);return{points:[o,l],cx:t,cy:n,radius:r,startAngle:a,endAngle:s}}function wie(e,t,n){var r,a,s,o;if(e==="horizontal")r=t.x,s=r,a=n.top,o=n.top+n.height;else if(e==="vertical")a=t.y,o=a,r=n.left,s=n.left+n.width;else if(t.cx!=null&&t.cy!=null)if(e==="centric"){var l=t.cx,c=t.cy,u=t.innerRadius,d=t.outerRadius,f=t.angle,h=fn(l,c,u,f),p=fn(l,c,d,f);r=h.x,a=h.y,s=p.x,o=p.y}else return tM(t);return[{x:r,y:a},{x:s,y:o}]}function Gu(e){"@babel/helpers - typeof";return Gu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Gu(e)}function FN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function tf(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?FN(Object(n),!0).forEach(function(r){kie(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):FN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function kie(e,t,n){return t=Sie(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Sie(e){var t=jie(e,"string");return Gu(t)=="symbol"?t:t+""}function jie(e,t){if(Gu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Gu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Nie(e){var t,n,r=e.element,a=e.tooltipEventType,s=e.isActive,o=e.activeCoordinate,l=e.activePayload,c=e.offset,u=e.activeTooltipIndex,d=e.tooltipAxisBandSize,f=e.layout,h=e.chartName,p=(t=r.props.cursor)!==null&&t!==void 0?t:(n=r.type.defaultProps)===null||n===void 0?void 0:n.cursor;if(!r||!p||!s||!o||h!=="ScatterChart"&&a!=="axis")return null;var m,g=F1;if(h==="ScatterChart")m=o,g=Dee;else if(h==="BarChart")m=xie(f,o,c,d),g=e0;else if(f==="radial"){var y=tM(o),v=y.cx,k=y.cy,w=y.radius,N=y.startAngle,S=y.endAngle;m={cx:v,cy:k,startAngle:N,endAngle:S,innerRadius:w,outerRadius:w},g=sR}else m={points:wie(f,o,c)},g=F1;var x=tf(tf(tf(tf({stroke:"#ccc",pointerEvents:"none"},c),m),Ge(p,!1)),{},{payload:l,payloadIndex:u,className:qe("recharts-tooltip-cursor",p.className)});return b.isValidElement(p)?b.cloneElement(p,x):b.createElement(g,x)}var Eie=["item"],_ie=["children","className","width","height","style","compact","title","desc"];function gl(e){"@babel/helpers - typeof";return gl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gl(e)}function Oo(){return Oo=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Oo.apply(this,arguments)}function UN(e,t){return Tie(e)||Aie(e,t)||rM(e,t)||Cie()}function Cie(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
133
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Aie(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,a,s,o,l=[],c=!0,u=!1;try{if(s=(n=n.call(e)).next,t!==0)for(;!(c=(r=s.call(n)).done)&&(l.push(r.value),l.length!==t);c=!0);}catch(d){u=!0,a=d}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return l}}function Tie(e){if(Array.isArray(e))return e}function WN(e,t){if(e==null)return{};var n=Oie(e,t),r,a;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(a=0;a<s.length;a++)r=s[a],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Oie(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Pie(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Rie(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,aM(r.key),r)}}function Mie(e,t,n){return t&&Rie(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Iie(e,t,n){return t=ip(t),$ie(e,nM()?Reflect.construct(t,n||[],ip(e).constructor):t.apply(e,n))}function $ie(e,t){if(t&&(gl(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Lie(e)}function Lie(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function nM(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(nM=function(){return!!e})()}function ip(e){return ip=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},ip(e)}function Die(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Db(e,t)}function Db(e,t){return Db=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,a){return r.__proto__=a,r},Db(e,t)}function vl(e){return Fie(e)||zie(e)||rM(e)||Bie()}function Bie(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
134
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function rM(e,t){if(e){if(typeof e=="string")return Bb(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Bb(e,t)}}function zie(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Fie(e){if(Array.isArray(e))return Bb(e)}function Bb(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function HN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),n.push.apply(n,r)}return n}function ee(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?HN(Object(n),!0).forEach(function(r){Ae(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):HN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Ae(e,t,n){return t=aM(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function aM(e){var t=Uie(e,"string");return gl(t)=="symbol"?t:t+""}function Uie(e,t){if(gl(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(gl(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Wie={xAxis:["bottom","top"],yAxis:["left","right"]},Hie={width:"100%",height:"100%"},iM={x:0,y:0};function nf(e){return e}var Gie=function(t,n){return n==="horizontal"?t.x:n==="vertical"?t.y:n==="centric"?t.angle:t.radius},qie=function(t,n,r,a){var s=n.find(function(d){return d&&d.index===r});if(s){if(t==="horizontal")return{x:s.coordinate,y:a.y};if(t==="vertical")return{x:a.x,y:s.coordinate};if(t==="centric"){var o=s.coordinate,l=a.radius;return ee(ee(ee({},a),fn(a.cx,a.cy,l,o)),{},{angle:o,radius:l})}var c=s.coordinate,u=a.angle;return ee(ee(ee({},a),fn(a.cx,a.cy,c,u)),{},{angle:u,radius:c})}return iM},jm=function(t,n){var r=n.graphicalItems,a=n.dataStartIndex,s=n.dataEndIndex,o=(r??[]).reduce(function(l,c){var u=c.props.data;return u&&u.length?[].concat(vl(l),vl(u)):l},[]);return o.length>0?o:t&&t.length&&ce(a)&&ce(s)?t.slice(a,s+1):[]};function sM(e){return e==="number"?[0,"auto"]:void 0}var zb=function(t,n,r,a){var s=t.graphicalItems,o=t.tooltipAxis,l=jm(n,t);return r<0||!s||!s.length||r>=l.length?null:s.reduce(function(c,u){var d,f=(d=u.props.data)!==null&&d!==void 0?d:n;f&&t.dataStartIndex+t.dataEndIndex!==0&&t.dataEndIndex-t.dataStartIndex>=r&&(f=f.slice(t.dataStartIndex,t.dataEndIndex+1));var h;if(o.dataKey&&!o.allowDuplicatedCategory){var p=f===void 0?l:f;h=by(p,o.dataKey,a)}else h=f&&f[r]||l[r];return h?[].concat(vl(c),[rR(u,h)]):c},[])},GN=function(t,n,r,a){var s=a||{x:t.chartX,y:t.chartY},o=Gie(s,r),l=t.orderedTooltipTicks,c=t.tooltipAxis,u=t.tooltipTicks,d=gQ(o,l,u,c);if(d>=0&&u){var f=u[d]&&u[d].value,h=zb(t,n,d,f),p=qie(r,l,d,s);return{activeTooltipIndex:d,activeLabel:f,activePayload:h,activeCoordinate:p}}return null},Kie=function(t,n){var r=n.axes,a=n.graphicalItems,s=n.axisType,o=n.axisIdKey,l=n.stackGroups,c=n.dataStartIndex,u=n.dataEndIndex,d=t.layout,f=t.children,h=t.stackOffset,p=eR(d,s);return r.reduce(function(m,g){var y,v=g.type.defaultProps!==void 0?ee(ee({},g.type.defaultProps),g.props):g.props,k=v.type,w=v.dataKey,N=v.allowDataOverflow,S=v.allowDuplicatedCategory,x=v.scale,E=v.ticks,_=v.includeHidden,O=v[o];if(m[O])return m;var C=jm(t.data,{graphicalItems:a.filter(function(F){var $,ae=o in F.props?F.props[o]:($=F.type.defaultProps)===null||$===void 0?void 0:$[o];return ae===O}),dataStartIndex:c,dataEndIndex:u}),P=C.length,A,D,I;bie(v.domain,N,k)&&(A=sb(v.domain,null,N),p&&(k==="number"||x!=="auto")&&(I=Dc(C,w,"category")));var M=sM(k);if(!A||A.length===0){var L,U=(L=v.domain)!==null&&L!==void 0?L:M;if(w){if(A=Dc(C,w,k),k==="category"&&p){var R=a3(A);S&&R?(D=A,A=Kh(0,P)):S||(A=C1(U,A,g).reduce(function(F,$){return F.indexOf($)>=0?F:[].concat(vl(F),[$])},[]))}else if(k==="category")S?A=A.filter(function(F){return F!==""&&!Ke(F)}):A=C1(U,A,g).reduce(function(F,$){return F.indexOf($)>=0||$===""||Ke($)?F:[].concat(vl(F),[$])},[]);else if(k==="number"){var B=wQ(C,a.filter(function(F){var $,ae,ue=o in F.props?F.props[o]:($=F.type.defaultProps)===null||$===void 0?void 0:$[o],me="hide"in F.props?F.props.hide:(ae=F.type.defaultProps)===null||ae===void 0?void 0:ae.hide;return ue===O&&(_||!me)}),w,s,d);B&&(A=B)}p&&(k==="number"||x!=="auto")&&(I=Dc(C,w,"category"))}else p?A=Kh(0,P):l&&l[O]&&l[O].hasStack&&k==="number"?A=h==="expand"?[0,1]:nR(l[O].stackGroups,c,u):A=JP(C,a.filter(function(F){var $=o in F.props?F.props[o]:F.type.defaultProps[o],ae="hide"in F.props?F.props.hide:F.type.defaultProps.hide;return $===O&&(_||!ae)}),k,d,!0);if(k==="number")A=Lb(f,A,O,s,E),U&&(A=sb(U,A,N));else if(k==="category"&&U){var T=U,Z=A.every(function(F){return T.indexOf(F)>=0});Z&&(A=T)}}return ee(ee({},m),{},Ae({},O,ee(ee({},v),{},{axisType:s,domain:A,categoricalDomain:I,duplicateDomain:D,originalDomain:(y=v.domain)!==null&&y!==void 0?y:M,isCategorical:p,layout:d})))},{})},Vie=function(t,n){var r=n.graphicalItems,a=n.Axis,s=n.axisType,o=n.axisIdKey,l=n.stackGroups,c=n.dataStartIndex,u=n.dataEndIndex,d=t.layout,f=t.children,h=jm(t.data,{graphicalItems:r,dataStartIndex:c,dataEndIndex:u}),p=h.length,m=eR(d,s),g=-1;return r.reduce(function(y,v){var k=v.type.defaultProps!==void 0?ee(ee({},v.type.defaultProps),v.props):v.props,w=k[o],N=sM("number");if(!y[w]){g++;var S;return m?S=Kh(0,p):l&&l[w]&&l[w].hasStack?(S=nR(l[w].stackGroups,c,u),S=Lb(f,S,w,s)):(S=sb(N,JP(h,r.filter(function(x){var E,_,O=o in x.props?x.props[o]:(E=x.type.defaultProps)===null||E===void 0?void 0:E[o],C="hide"in x.props?x.props.hide:(_=x.type.defaultProps)===null||_===void 0?void 0:_.hide;return O===w&&!C}),"number",d),a.defaultProps.allowDataOverflow),S=Lb(f,S,w,s)),ee(ee({},y),{},Ae({},w,ee(ee({axisType:s},a.defaultProps),{},{hide:!0,orientation:wr(Wie,"".concat(s,".").concat(g%2),null),domain:S,originalDomain:N,isCategorical:m,layout:d})))}return y},{})},Yie=function(t,n){var r=n.axisType,a=r===void 0?"xAxis":r,s=n.AxisComp,o=n.graphicalItems,l=n.stackGroups,c=n.dataStartIndex,u=n.dataEndIndex,d=t.children,f="".concat(a,"Id"),h=zr(d,s),p={};return h&&h.length?p=Kie(t,{axes:h,graphicalItems:o,axisType:a,axisIdKey:f,stackGroups:l,dataStartIndex:c,dataEndIndex:u}):o&&o.length&&(p=Vie(t,{Axis:s,graphicalItems:o,axisType:a,axisIdKey:f,stackGroups:l,dataStartIndex:c,dataEndIndex:u})),p},Xie=function(t){var n=ci(t),r=Aa(n,!1,!0);return{tooltipTicks:r,orderedTooltipTicks:Ew(r,function(a){return a.coordinate}),tooltipAxis:n,tooltipAxisBandSize:Lh(n,r)}},qN=function(t){var n=t.children,r=t.defaultShowTooltip,a=tr(n,ll),s=0,o=0;return t.data&&t.data.length!==0&&(o=t.data.length-1),a&&a.props&&(a.props.startIndex>=0&&(s=a.props.startIndex),a.props.endIndex>=0&&(o=a.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:s,dataEndIndex:o,activeTooltipIndex:-1,isTooltipActive:!!r}},Qie=function(t){return!t||!t.length?!1:t.some(function(n){var r=Oa(n&&n.type);return r&&r.indexOf("Bar")>=0})},KN=function(t){return t==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:t==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:t==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},Zie=function(t,n){var r=t.props,a=t.graphicalItems,s=t.xAxisMap,o=s===void 0?{}:s,l=t.yAxisMap,c=l===void 0?{}:l,u=r.width,d=r.height,f=r.children,h=r.margin||{},p=tr(f,ll),m=tr(f,xs),g=Object.keys(c).reduce(function(S,x){var E=c[x],_=E.orientation;return!E.mirror&&!E.hide?ee(ee({},S),{},Ae({},_,S[_]+E.width)):S},{left:h.left||0,right:h.right||0}),y=Object.keys(o).reduce(function(S,x){var E=o[x],_=E.orientation;return!E.mirror&&!E.hide?ee(ee({},S),{},Ae({},_,wr(S,"".concat(_))+E.height)):S},{top:h.top||0,bottom:h.bottom||0}),v=ee(ee({},y),g),k=v.bottom;p&&(v.bottom+=p.props.height||ll.defaultProps.height),m&&n&&(v=bQ(v,a,r,n));var w=u-v.left-v.right,N=d-v.top-v.bottom;return ee(ee({brushBottom:k},v),{},{width:Math.max(w,0),height:Math.max(N,0)})},Jie=function(t,n){if(n==="xAxis")return t[n].width;if(n==="yAxis")return t[n].height},ese=function(t){var n=t.chartName,r=t.GraphicalChild,a=t.defaultTooltipEventType,s=a===void 0?"axis":a,o=t.validateTooltipEventTypes,l=o===void 0?["axis"]:o,c=t.axisComponents,u=t.legendContent,d=t.formatAxisMap,f=t.defaultProps,h=function(v,k){var w=k.graphicalItems,N=k.stackGroups,S=k.offset,x=k.updateId,E=k.dataStartIndex,_=k.dataEndIndex,O=v.barSize,C=v.layout,P=v.barGap,A=v.barCategoryGap,D=v.maxBarSize,I=KN(C),M=I.numericAxisName,L=I.cateAxisName,U=Qie(w),R=[];return w.forEach(function(B,T){var Z=jm(v.data,{graphicalItems:[B],dataStartIndex:E,dataEndIndex:_}),F=B.type.defaultProps!==void 0?ee(ee({},B.type.defaultProps),B.props):B.props,$=F.dataKey,ae=F.maxBarSize,ue=F["".concat(M,"Id")],me=F["".concat(L,"Id")],Ee={},J=c.reduce(function(_e,pt){var Fe=k["".concat(pt.axisType,"Map")],it=F["".concat(pt.axisType,"Id")];Fe&&Fe[it]||pt.axisType==="zAxis"||Ms();var Xt=Fe[it];return ee(ee({},_e),{},Ae(Ae({},pt.axisType,Xt),"".concat(pt.axisType,"Ticks"),Aa(Xt)))},Ee),Y=J[L],re=J["".concat(L,"Ticks")],le=N&&N[ue]&&N[ue].hasStack&&RQ(B,N[ue].stackGroups),H=Oa(B.type).indexOf("Bar")>=0,ye=Lh(Y,re),xe=[],Oe=U&&vQ({barSize:O,stackGroups:N,totalSize:Jie(J,L)});if(H){var pe,Re,fe=Ke(ae)?D:ae,Ve=(pe=(Re=Lh(Y,re,!0))!==null&&Re!==void 0?Re:fe)!==null&&pe!==void 0?pe:0;xe=yQ({barGap:P,barCategoryGap:A,bandSize:Ve!==ye?Ve:ye,sizeList:Oe[me],maxBarSize:fe}),Ve!==ye&&(xe=xe.map(function(_e){return ee(ee({},_e),{},{position:ee(ee({},_e.position),{},{offset:_e.position.offset-Ve/2})})}))}var $e=B&&B.type&&B.type.getComposedData;$e&&R.push({props:ee(ee({},$e(ee(ee({},J),{},{displayedData:Z,props:v,dataKey:$,item:B,bandSize:ye,barPosition:xe,offset:S,stackedData:le,layout:C,dataStartIndex:E,dataEndIndex:_}))),{},Ae(Ae(Ae({key:B.key||"item-".concat(T)},M,J[M]),L,J[L]),"animationId",x)),childIndex:g3(B,v.children),item:B})}),R},p=function(v,k){var w=v.props,N=v.dataStartIndex,S=v.dataEndIndex,x=v.updateId;if(!kS({props:w}))return null;var E=w.children,_=w.layout,O=w.stackOffset,C=w.data,P=w.reverseStackOrder,A=KN(_),D=A.numericAxisName,I=A.cateAxisName,M=zr(E,r),L=TQ(C,M,"".concat(D,"Id"),"".concat(I,"Id"),O,P),U=c.reduce(function(F,$){var ae="".concat($.axisType,"Map");return ee(ee({},F),{},Ae({},ae,Yie(w,ee(ee({},$),{},{graphicalItems:M,stackGroups:$.axisType===D&&L,dataStartIndex:N,dataEndIndex:S}))))},{}),R=Zie(ee(ee({},U),{},{props:w,graphicalItems:M}),k==null?void 0:k.legendBBox);Object.keys(U).forEach(function(F){U[F]=d(w,U[F],R,F.replace("Map",""),n)});var B=U["".concat(I,"Map")],T=Xie(B),Z=h(w,ee(ee({},U),{},{dataStartIndex:N,dataEndIndex:S,updateId:x,graphicalItems:M,stackGroups:L,offset:R}));return ee(ee({formattedGraphicalItems:Z,graphicalItems:M,offset:R,stackGroups:L},T),U)},m=function(y){function v(k){var w,N,S;return Pie(this,v),S=Iie(this,v,[k]),Ae(S,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),Ae(S,"accessibilityManager",new yie),Ae(S,"handleLegendBBoxUpdate",function(x){if(x){var E=S.state,_=E.dataStartIndex,O=E.dataEndIndex,C=E.updateId;S.setState(ee({legendBBox:x},p({props:S.props,dataStartIndex:_,dataEndIndex:O,updateId:C},ee(ee({},S.state),{},{legendBBox:x}))))}}),Ae(S,"handleReceiveSyncEvent",function(x,E,_){if(S.props.syncId===x){if(_===S.eventEmitterSymbol&&typeof S.props.syncMethod!="function")return;S.applySyncEvent(E)}}),Ae(S,"handleBrushChange",function(x){var E=x.startIndex,_=x.endIndex;if(E!==S.state.dataStartIndex||_!==S.state.dataEndIndex){var O=S.state.updateId;S.setState(function(){return ee({dataStartIndex:E,dataEndIndex:_},p({props:S.props,dataStartIndex:E,dataEndIndex:_,updateId:O},S.state))}),S.triggerSyncEvent({dataStartIndex:E,dataEndIndex:_})}}),Ae(S,"handleMouseEnter",function(x){var E=S.getMouseInfo(x);if(E){var _=ee(ee({},E),{},{isTooltipActive:!0});S.setState(_),S.triggerSyncEvent(_);var O=S.props.onMouseEnter;Le(O)&&O(_,x)}}),Ae(S,"triggeredAfterMouseMove",function(x){var E=S.getMouseInfo(x),_=E?ee(ee({},E),{},{isTooltipActive:!0}):{isTooltipActive:!1};S.setState(_),S.triggerSyncEvent(_);var O=S.props.onMouseMove;Le(O)&&O(_,x)}),Ae(S,"handleItemMouseEnter",function(x){S.setState(function(){return{isTooltipActive:!0,activeItem:x,activePayload:x.tooltipPayload,activeCoordinate:x.tooltipPosition||{x:x.cx,y:x.cy}}})}),Ae(S,"handleItemMouseLeave",function(){S.setState(function(){return{isTooltipActive:!1}})}),Ae(S,"handleMouseMove",function(x){x.persist(),S.throttleTriggeredAfterMouseMove(x)}),Ae(S,"handleMouseLeave",function(x){S.throttleTriggeredAfterMouseMove.cancel();var E={isTooltipActive:!1};S.setState(E),S.triggerSyncEvent(E);var _=S.props.onMouseLeave;Le(_)&&_(E,x)}),Ae(S,"handleOuterEvent",function(x){var E=m3(x),_=wr(S.props,"".concat(E));if(E&&Le(_)){var O,C;/.*touch.*/i.test(E)?C=S.getMouseInfo(x.changedTouches[0]):C=S.getMouseInfo(x),_((O=C)!==null&&O!==void 0?O:{},x)}}),Ae(S,"handleClick",function(x){var E=S.getMouseInfo(x);if(E){var _=ee(ee({},E),{},{isTooltipActive:!0});S.setState(_),S.triggerSyncEvent(_);var O=S.props.onClick;Le(O)&&O(_,x)}}),Ae(S,"handleMouseDown",function(x){var E=S.props.onMouseDown;if(Le(E)){var _=S.getMouseInfo(x);E(_,x)}}),Ae(S,"handleMouseUp",function(x){var E=S.props.onMouseUp;if(Le(E)){var _=S.getMouseInfo(x);E(_,x)}}),Ae(S,"handleTouchMove",function(x){x.changedTouches!=null&&x.changedTouches.length>0&&S.throttleTriggeredAfterMouseMove(x.changedTouches[0])}),Ae(S,"handleTouchStart",function(x){x.changedTouches!=null&&x.changedTouches.length>0&&S.handleMouseDown(x.changedTouches[0])}),Ae(S,"handleTouchEnd",function(x){x.changedTouches!=null&&x.changedTouches.length>0&&S.handleMouseUp(x.changedTouches[0])}),Ae(S,"handleDoubleClick",function(x){var E=S.props.onDoubleClick;if(Le(E)){var _=S.getMouseInfo(x);E(_,x)}}),Ae(S,"handleContextMenu",function(x){var E=S.props.onContextMenu;if(Le(E)){var _=S.getMouseInfo(x);E(_,x)}}),Ae(S,"triggerSyncEvent",function(x){S.props.syncId!==void 0&&Ig.emit($g,S.props.syncId,x,S.eventEmitterSymbol)}),Ae(S,"applySyncEvent",function(x){var E=S.props,_=E.layout,O=E.syncMethod,C=S.state.updateId,P=x.dataStartIndex,A=x.dataEndIndex;if(x.dataStartIndex!==void 0||x.dataEndIndex!==void 0)S.setState(ee({dataStartIndex:P,dataEndIndex:A},p({props:S.props,dataStartIndex:P,dataEndIndex:A,updateId:C},S.state)));else if(x.activeTooltipIndex!==void 0){var D=x.chartX,I=x.chartY,M=x.activeTooltipIndex,L=S.state,U=L.offset,R=L.tooltipTicks;if(!U)return;if(typeof O=="function")M=O(R,x);else if(O==="value"){M=-1;for(var B=0;B<R.length;B++)if(R[B].value===x.activeLabel){M=B;break}}var T=ee(ee({},U),{},{x:U.left,y:U.top}),Z=Math.min(D,T.x+T.width),F=Math.min(I,T.y+T.height),$=R[M]&&R[M].value,ae=zb(S.state,S.props.data,M),ue=R[M]?{x:_==="horizontal"?R[M].coordinate:Z,y:_==="horizontal"?F:R[M].coordinate}:iM;S.setState(ee(ee({},x),{},{activeLabel:$,activeCoordinate:ue,activePayload:ae,activeTooltipIndex:M}))}else S.setState(x)}),Ae(S,"renderCursor",function(x){var E,_=S.state,O=_.isTooltipActive,C=_.activeCoordinate,P=_.activePayload,A=_.offset,D=_.activeTooltipIndex,I=_.tooltipAxisBandSize,M=S.getTooltipEventType(),L=(E=x.props.active)!==null&&E!==void 0?E:O,U=S.props.layout,R=x.key||"_recharts-cursor";return V.createElement(Nie,{key:R,activeCoordinate:C,activePayload:P,activeTooltipIndex:D,chartName:n,element:x,isActive:L,layout:U,offset:A,tooltipAxisBandSize:I,tooltipEventType:M})}),Ae(S,"renderPolarAxis",function(x,E,_){var O=wr(x,"type.axisType"),C=wr(S.state,"".concat(O,"Map")),P=x.type.defaultProps,A=P!==void 0?ee(ee({},P),x.props):x.props,D=C&&C[A["".concat(O,"Id")]];return b.cloneElement(x,ee(ee({},D),{},{className:qe(O,D.className),key:x.key||"".concat(E,"-").concat(_),ticks:Aa(D,!0)}))}),Ae(S,"renderPolarGrid",function(x){var E=x.props,_=E.radialLines,O=E.polarAngles,C=E.polarRadius,P=S.state,A=P.radiusAxisMap,D=P.angleAxisMap,I=ci(A),M=ci(D),L=M.cx,U=M.cy,R=M.innerRadius,B=M.outerRadius;return b.cloneElement(x,{polarAngles:Array.isArray(O)?O:Aa(M,!0).map(function(T){return T.coordinate}),polarRadius:Array.isArray(C)?C:Aa(I,!0).map(function(T){return T.coordinate}),cx:L,cy:U,innerRadius:R,outerRadius:B,key:x.key||"polar-grid",radialLines:_})}),Ae(S,"renderLegend",function(){var x=S.state.formattedGraphicalItems,E=S.props,_=E.children,O=E.width,C=E.height,P=S.props.margin||{},A=O-(P.left||0)-(P.right||0),D=QP({children:_,formattedGraphicalItems:x,legendWidth:A,legendContent:u});if(!D)return null;var I=D.item,M=WN(D,Eie);return b.cloneElement(I,ee(ee({},M),{},{chartWidth:O,chartHeight:C,margin:P,onBBoxUpdate:S.handleLegendBBoxUpdate}))}),Ae(S,"renderTooltip",function(){var x,E=S.props,_=E.children,O=E.accessibilityLayer,C=tr(_,xn);if(!C)return null;var P=S.state,A=P.isTooltipActive,D=P.activeCoordinate,I=P.activePayload,M=P.activeLabel,L=P.offset,U=(x=C.props.active)!==null&&x!==void 0?x:A;return b.cloneElement(C,{viewBox:ee(ee({},L),{},{x:L.left,y:L.top}),active:U,label:M,payload:U?I:[],coordinate:D,accessibilityLayer:O})}),Ae(S,"renderBrush",function(x){var E=S.props,_=E.margin,O=E.data,C=S.state,P=C.offset,A=C.dataStartIndex,D=C.dataEndIndex,I=C.updateId;return b.cloneElement(x,{key:x.key||"_recharts-brush",onChange:Qd(S.handleBrushChange,x.props.onChange),data:O,x:ce(x.props.x)?x.props.x:P.left,y:ce(x.props.y)?x.props.y:P.top+P.height+P.brushBottom-(_.bottom||0),width:ce(x.props.width)?x.props.width:P.width,startIndex:A,endIndex:D,updateId:"brush-".concat(I)})}),Ae(S,"renderReferenceElement",function(x,E,_){if(!x)return null;var O=S,C=O.clipPathId,P=S.state,A=P.xAxisMap,D=P.yAxisMap,I=P.offset,M=x.type.defaultProps||{},L=x.props,U=L.xAxisId,R=U===void 0?M.xAxisId:U,B=L.yAxisId,T=B===void 0?M.yAxisId:B;return b.cloneElement(x,{key:x.key||"".concat(E,"-").concat(_),xAxis:A[R],yAxis:D[T],viewBox:{x:I.left,y:I.top,width:I.width,height:I.height},clipPathId:C})}),Ae(S,"renderActivePoints",function(x){var E=x.item,_=x.activePoint,O=x.basePoint,C=x.childIndex,P=x.isRange,A=[],D=E.props.key,I=E.item.type.defaultProps!==void 0?ee(ee({},E.item.type.defaultProps),E.item.props):E.item.props,M=I.activeDot,L=I.dataKey,U=ee(ee({index:C,dataKey:L,cx:_.x,cy:_.y,r:4,fill:Jw(E.item),strokeWidth:2,stroke:"#fff",payload:_.payload,value:_.value},Ge(M,!1)),oh(M));return A.push(v.renderActiveDot(M,U,"".concat(D,"-activePoint-").concat(C))),O?A.push(v.renderActiveDot(M,ee(ee({},U),{},{cx:O.x,cy:O.y}),"".concat(D,"-basePoint-").concat(C))):P&&A.push(null),A}),Ae(S,"renderGraphicChild",function(x,E,_){var O=S.filterFormatItem(x,E,_);if(!O)return null;var C=S.getTooltipEventType(),P=S.state,A=P.isTooltipActive,D=P.tooltipAxis,I=P.activeTooltipIndex,M=P.activeLabel,L=S.props.children,U=tr(L,xn),R=O.props,B=R.points,T=R.isRange,Z=R.baseLine,F=O.item.type.defaultProps!==void 0?ee(ee({},O.item.type.defaultProps),O.item.props):O.item.props,$=F.activeDot,ae=F.hide,ue=F.activeBar,me=F.activeShape,Ee=!!(!ae&&A&&U&&($||ue||me)),J={};C!=="axis"&&U&&U.props.trigger==="click"?J={onClick:Qd(S.handleItemMouseEnter,x.props.onClick)}:C!=="axis"&&(J={onMouseLeave:Qd(S.handleItemMouseLeave,x.props.onMouseLeave),onMouseEnter:Qd(S.handleItemMouseEnter,x.props.onMouseEnter)});var Y=b.cloneElement(x,ee(ee({},O.props),J));function re(pt){return typeof D.dataKey=="function"?D.dataKey(pt.payload):null}if(Ee)if(I>=0){var le,H;if(D.dataKey&&!D.allowDuplicatedCategory){var ye=typeof D.dataKey=="function"?re:"payload.".concat(D.dataKey.toString());le=by(B,ye,M),H=T&&Z&&by(Z,ye,M)}else le=B==null?void 0:B[I],H=T&&Z&&Z[I];if(me||ue){var xe=x.props.activeIndex!==void 0?x.props.activeIndex:I;return[b.cloneElement(x,ee(ee(ee({},O.props),J),{},{activeIndex:xe})),null,null]}if(!Ke(le))return[Y].concat(vl(S.renderActivePoints({item:O,activePoint:le,basePoint:H,childIndex:I,isRange:T})))}else{var Oe,pe=(Oe=S.getItemByXY(S.state.activeCoordinate))!==null&&Oe!==void 0?Oe:{graphicalItem:Y},Re=pe.graphicalItem,fe=Re.item,Ve=fe===void 0?x:fe,$e=Re.childIndex,_e=ee(ee(ee({},O.props),J),{},{activeIndex:$e});return[b.cloneElement(Ve,_e),null,null]}return T?[Y,null,null]:[Y,null]}),Ae(S,"renderCustomized",function(x,E,_){return b.cloneElement(x,ee(ee({key:"recharts-customized-".concat(_)},S.props),S.state))}),Ae(S,"renderMap",{CartesianGrid:{handler:nf,once:!0},ReferenceArea:{handler:S.renderReferenceElement},ReferenceLine:{handler:nf},ReferenceDot:{handler:S.renderReferenceElement},XAxis:{handler:nf},YAxis:{handler:nf},Brush:{handler:S.renderBrush,once:!0},Bar:{handler:S.renderGraphicChild},Line:{handler:S.renderGraphicChild},Area:{handler:S.renderGraphicChild},Radar:{handler:S.renderGraphicChild},RadialBar:{handler:S.renderGraphicChild},Scatter:{handler:S.renderGraphicChild},Pie:{handler:S.renderGraphicChild},Funnel:{handler:S.renderGraphicChild},Tooltip:{handler:S.renderCursor,once:!0},PolarGrid:{handler:S.renderPolarGrid,once:!0},PolarAngleAxis:{handler:S.renderPolarAxis},PolarRadiusAxis:{handler:S.renderPolarAxis},Customized:{handler:S.renderCustomized}}),S.clipPathId="".concat((w=k.id)!==null&&w!==void 0?w:Zp("recharts"),"-clip"),S.throttleTriggeredAfterMouseMove=ZO(S.triggeredAfterMouseMove,(N=k.throttleDelay)!==null&&N!==void 0?N:1e3/60),S.state={},S}return Die(v,y),Mie(v,[{key:"componentDidMount",value:function(){var w,N;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(w=this.props.margin.left)!==null&&w!==void 0?w:0,top:(N=this.props.margin.top)!==null&&N!==void 0?N:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var w=this.props,N=w.children,S=w.data,x=w.height,E=w.layout,_=tr(N,xn);if(_){var O=_.props.defaultIndex;if(!(typeof O!="number"||O<0||O>this.state.tooltipTicks.length-1)){var C=this.state.tooltipTicks[O]&&this.state.tooltipTicks[O].value,P=zb(this.state,S,O,C),A=this.state.tooltipTicks[O].coordinate,D=(this.state.offset.top+x)/2,I=E==="horizontal",M=I?{x:A,y:D}:{y:A,x:D},L=this.state.formattedGraphicalItems.find(function(R){var B=R.item;return B.type.name==="Scatter"});L&&(M=ee(ee({},M),L.props.points[O].tooltipPosition),P=L.props.points[O].tooltipPayload);var U={activeTooltipIndex:O,isTooltipActive:!0,activeLabel:C,activePayload:P,activeCoordinate:M};this.setState(U),this.renderCursor(_),this.accessibilityManager.setIndex(O)}}}},{key:"getSnapshotBeforeUpdate",value:function(w,N){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==N.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==w.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==w.margin){var S,x;this.accessibilityManager.setDetails({offset:{left:(S=this.props.margin.left)!==null&&S!==void 0?S:0,top:(x=this.props.margin.top)!==null&&x!==void 0?x:0}})}return null}},{key:"componentDidUpdate",value:function(w){wy([tr(w.children,xn)],[tr(this.props.children,xn)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var w=tr(this.props.children,xn);if(w&&typeof w.props.shared=="boolean"){var N=w.props.shared?"axis":"item";return l.indexOf(N)>=0?N:s}return s}},{key:"getMouseInfo",value:function(w){if(!this.container)return null;var N=this.container,S=N.getBoundingClientRect(),x=UK(S),E={chartX:Math.round(w.pageX-x.left),chartY:Math.round(w.pageY-x.top)},_=S.width/N.offsetWidth||1,O=this.inRange(E.chartX,E.chartY,_);if(!O)return null;var C=this.state,P=C.xAxisMap,A=C.yAxisMap,D=this.getTooltipEventType(),I=GN(this.state,this.props.data,this.props.layout,O);if(D!=="axis"&&P&&A){var M=ci(P).scale,L=ci(A).scale,U=M&&M.invert?M.invert(E.chartX):null,R=L&&L.invert?L.invert(E.chartY):null;return ee(ee({},E),{},{xValue:U,yValue:R},I)}return I?ee(ee({},E),I):null}},{key:"inRange",value:function(w,N){var S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,x=this.props.layout,E=w/S,_=N/S;if(x==="horizontal"||x==="vertical"){var O=this.state.offset,C=E>=O.left&&E<=O.left+O.width&&_>=O.top&&_<=O.top+O.height;return C?{x:E,y:_}:null}var P=this.state,A=P.angleAxisMap,D=P.radiusAxisMap;if(A&&D){var I=ci(A);return O1({x:E,y:_},I)}return null}},{key:"parseEventsOfWrapper",value:function(){var w=this.props.children,N=this.getTooltipEventType(),S=tr(w,xn),x={};S&&N==="axis"&&(S.props.trigger==="click"?x={onClick:this.handleClick}:x={onMouseEnter:this.handleMouseEnter,onDoubleClick:this.handleDoubleClick,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd,onContextMenu:this.handleContextMenu});var E=oh(this.props,this.handleOuterEvent);return ee(ee({},E),x)}},{key:"addListener",value:function(){Ig.on($g,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){Ig.removeListener($g,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(w,N,S){for(var x=this.state.formattedGraphicalItems,E=0,_=x.length;E<_;E++){var O=x[E];if(O.item===w||O.props.key===w.key||N===Oa(O.item.type)&&S===O.childIndex)return O}return null}},{key:"renderClipPath",value:function(){var w=this.clipPathId,N=this.state.offset,S=N.left,x=N.top,E=N.height,_=N.width;return V.createElement("defs",null,V.createElement("clipPath",{id:w},V.createElement("rect",{x:S,y:x,height:E,width:_})))}},{key:"getXScales",value:function(){var w=this.state.xAxisMap;return w?Object.entries(w).reduce(function(N,S){var x=UN(S,2),E=x[0],_=x[1];return ee(ee({},N),{},Ae({},E,_.scale))},{}):null}},{key:"getYScales",value:function(){var w=this.state.yAxisMap;return w?Object.entries(w).reduce(function(N,S){var x=UN(S,2),E=x[0],_=x[1];return ee(ee({},N),{},Ae({},E,_.scale))},{}):null}},{key:"getXScaleByAxisId",value:function(w){var N;return(N=this.state.xAxisMap)===null||N===void 0||(N=N[w])===null||N===void 0?void 0:N.scale}},{key:"getYScaleByAxisId",value:function(w){var N;return(N=this.state.yAxisMap)===null||N===void 0||(N=N[w])===null||N===void 0?void 0:N.scale}},{key:"getItemByXY",value:function(w){var N=this.state,S=N.formattedGraphicalItems,x=N.activeItem;if(S&&S.length)for(var E=0,_=S.length;E<_;E++){var O=S[E],C=O.props,P=O.item,A=P.type.defaultProps!==void 0?ee(ee({},P.type.defaultProps),P.props):P.props,D=Oa(P.type);if(D==="Bar"){var I=(C.data||[]).find(function(R){return Cee(w,R)});if(I)return{graphicalItem:O,payload:I}}else if(D==="RadialBar"){var M=(C.data||[]).find(function(R){return O1(w,R)});if(M)return{graphicalItem:O,payload:M}}else if(vm(O,x)||ym(O,x)||Bu(O,x)){var L=Ote({graphicalItem:O,activeTooltipItem:x,itemData:A.data}),U=A.activeIndex===void 0?L:A.activeIndex;return{graphicalItem:ee(ee({},O),{},{childIndex:U}),payload:Bu(O,x)?A.data[L]:O.props.data[L]}}}return null}},{key:"render",value:function(){var w=this;if(!kS(this))return null;var N=this.props,S=N.children,x=N.className,E=N.width,_=N.height,O=N.style,C=N.compact,P=N.title,A=N.desc,D=WN(N,_ie),I=Ge(D,!1);if(C)return V.createElement(_N,{state:this.state,width:this.props.width,height:this.props.height,clipPathId:this.clipPathId},V.createElement(Sy,Oo({},I,{width:E,height:_,title:P,desc:A}),this.renderClipPath(),jS(S,this.renderMap)));if(this.props.accessibilityLayer){var M,L;I.tabIndex=(M=this.props.tabIndex)!==null&&M!==void 0?M:0,I.role=(L=this.props.role)!==null&&L!==void 0?L:"application",I.onKeyDown=function(R){w.accessibilityManager.keyboardEvent(R)},I.onFocus=function(){w.accessibilityManager.focus()}}var U=this.parseEventsOfWrapper();return V.createElement(_N,{state:this.state,width:this.props.width,height:this.props.height,clipPathId:this.clipPathId},V.createElement("div",Oo({className:qe("recharts-wrapper",x),style:ee({position:"relative",cursor:"default",width:E,height:_},O)},U,{ref:function(B){w.container=B}}),V.createElement(Sy,Oo({},I,{width:E,height:_,title:P,desc:A,style:Hie}),this.renderClipPath(),jS(S,this.renderMap)),this.renderLegend(),this.renderTooltip()))}}])}(b.Component);Ae(m,"displayName",n),Ae(m,"defaultProps",ee({layout:"horizontal",stackOffset:"none",barCategoryGap:"10%",barGap:4,margin:{top:5,right:5,bottom:5,left:5},reverseStackOrder:!1,syncMethod:"index"},f)),Ae(m,"getDerivedStateFromProps",function(y,v){var k=y.dataKey,w=y.data,N=y.children,S=y.width,x=y.height,E=y.layout,_=y.stackOffset,O=y.margin,C=v.dataStartIndex,P=v.dataEndIndex;if(v.updateId===void 0){var A=qN(y);return ee(ee(ee({},A),{},{updateId:0},p(ee(ee({props:y},A),{},{updateId:0}),v)),{},{prevDataKey:k,prevData:w,prevWidth:S,prevHeight:x,prevLayout:E,prevStackOffset:_,prevMargin:O,prevChildren:N})}if(k!==v.prevDataKey||w!==v.prevData||S!==v.prevWidth||x!==v.prevHeight||E!==v.prevLayout||_!==v.prevStackOffset||!Bo(O,v.prevMargin)){var D=qN(y),I={chartX:v.chartX,chartY:v.chartY,isTooltipActive:v.isTooltipActive},M=ee(ee({},GN(v,w,E)),{},{updateId:v.updateId+1}),L=ee(ee(ee({},D),I),M);return ee(ee(ee({},L),p(ee({props:y},L),v)),{},{prevDataKey:k,prevData:w,prevWidth:S,prevHeight:x,prevLayout:E,prevStackOffset:_,prevMargin:O,prevChildren:N})}if(!wy(N,v.prevChildren)){var U,R,B,T,Z=tr(N,ll),F=Z&&(U=(R=Z.props)===null||R===void 0?void 0:R.startIndex)!==null&&U!==void 0?U:C,$=Z&&(B=(T=Z.props)===null||T===void 0?void 0:T.endIndex)!==null&&B!==void 0?B:P,ae=F!==C||$!==P,ue=!Ke(w),me=ue&&!ae?v.updateId:v.updateId+1;return ee(ee({updateId:me},p(ee(ee({props:y},v),{},{updateId:me,dataStartIndex:F,dataEndIndex:$}),v)),{},{prevChildren:N,dataStartIndex:F,dataEndIndex:$})}return null}),Ae(m,"renderActiveDot",function(y,v,k){var w;return b.isValidElement(y)?w=b.cloneElement(y,v):Le(y)?w=y(v):w=V.createElement(vR,v),V.createElement(tn,{className:"recharts-active-dot",key:k},w)});var g=b.forwardRef(function(v,k){return V.createElement(m,Oo({},v,{ref:k}))});return g.displayName=m.displayName,g},ls=ese({chartName:"BarChart",GraphicalChild:bn,defaultTooltipEventType:"axis",validateTooltipEventTypes:["axis","item"],axisComponents:[{axisType:"xAxis",AxisComp:sa},{axisType:"yAxis",AxisComp:oa}],formatAxisMap:nre});const tse=new Intl.NumberFormat("en-US");function xt(e){return tse.format(e)}function Fb(e){return e==null||e<1e-5?"$0.00":e<.01?"$"+e.toFixed(6):"$"+e.toFixed(4)}function Ub(e){if(!Number.isFinite(e)||e<0)return"0s";const t=Math.floor(e/1e3);if(t<60)return`${t}s`;const n=Math.floor(t/60);return n<60?`${n}m ${String(t%60).padStart(2,"0")}s`:`${Math.floor(n/60)}h ${String(n%60).padStart(2,"0")}m`}function Je(e){return e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":xt(e)}function nse(e,t){var a,s;const n=[];if(t){const o=t.toolsets.toolsets.filter(l=>l.enabled).reduce((l,c)=>l+c.toolCount,0);n.push({key:"tools",icon:"🔧",value:Je(o),label:"Active Tools",tone:"accent"})}const r=((a=t==null?void 0:t.conversations)==null?void 0:a.total)??((s=e==null?void 0:e.conversations)==null?void 0:s.total);if(r!==void 0&&n.push({key:"conversations",icon:"💬",value:Je(r),label:"Active Conversations",tone:"ok"}),t&&n.push({key:"skills",icon:"🧩",value:Je(t.skills.total),label:"Skills Loaded",tone:"warn"}),e){const o=e.cost,l=o.billedUsd!==void 0;n.push({key:"cost",icon:"💰",value:Fb(l?o.billedUsd:o.totalCost),label:l?"Billed":"Total Cost",tone:"danger"})}return n}function Ui({tiles:e}){return e.length===0?null:i.jsx("ul",{className:"metric-tiles",children:e.map(t=>i.jsxs("li",{className:`metric-tile metric-tile--${t.tone}`,children:[i.jsx("span",{className:"metric-tile-icon","aria-hidden":"true",children:t.icon}),i.jsxs("span",{children:[i.jsx("span",{className:"metric-tile-value",children:t.value}),i.jsx("span",{className:"metric-tile-label",children:t.label})]})]},t.key))})}function Te({icon:e,title:t,description:n,actions:r}){return i.jsxs("header",{className:"page-header",children:[i.jsxs("div",{className:"page-header-text",children:[i.jsxs("h1",{className:"page-header-title",children:[i.jsx("span",{"aria-hidden":"true",children:e})," ",t]}),n?i.jsx("p",{className:"page-header-description",children:n}):null]}),r?i.jsx("div",{className:"page-header-actions",children:r}):null]})}const rse=6e4;function u0(e=rse){const[t,n]=b.useState(null);return b.useEffect(()=>{let r=!1;const a=()=>{fetch("/api/model-counts").then(o=>o.ok?o.json():null).then(o=>{!r&&o&&typeof o.trackedModels=="number"&&n(o)}).catch(()=>{})};a();const s=setInterval(a,e);return()=>{r=!0,clearInterval(s)}},[e]),t}function Gr(){const[e,t]=b.useState(iB);return b.useEffect(()=>sB(t),[]),e}const ase={local:"var(--accent-green)",groq:"var(--accent-blue)",gemini:"var(--accent-purple)",nim:"var(--accent-cyan)",openrouter:"var(--accent-yellow)"};function VN(e){if(!e)return!1;const t=new Date;return t.setHours(0,0,0,0),e>=t.getTime()}function Dg({title:e,children:t,action:n}){return i.jsxs("section",{className:"summary-card",children:[i.jsx("h2",{className:"summary-card-title",children:e}),i.jsx("div",{className:"summary-rows",children:t}),n?i.jsx("div",{className:"summary-card-action",children:n}):null]})}function Qn({value:e,label:t}){return i.jsxs("p",{className:"summary-row",children:[i.jsx("span",{className:"summary-row-value",children:e}),i.jsx("span",{className:"summary-row-label",children:t})]})}function ise({data:e,onRefresh:t,refreshing:n=!1}){var C,P,A,D,I;const[r,a]=b.useState(null),[s,o]=b.useState(null),l=u0(),c=Gr();if(b.useEffect(()=>{let M=!1;return K.fetchHub().then(L=>{!M&&L&&a(L)}),K.listTasks().then(L=>{!M&&L&&o(L)}),()=>{M=!0}},[c]),!e)return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"📊",title:"System Overview",description:"Cost, memory, benchmarks and routing — read live from the dashboard server."}),i.jsxs("div",{className:"loading-state",children:[i.jsx("div",{className:"loading-spinner"}),i.jsx("p",{children:"Connecting to dashboard..."})]})]});const{cost:u,history:d,benchmarks:f,memory:h,health:p}=e,m=[{icon:"💰",value:Fb(u.billedUsd??u.totalCost),label:u.billedUsd!==void 0?"Billed":"Total Cost"},{icon:"📞",value:Je(u.totalRequests),label:"API Requests"},{icon:"🧠",value:Je(h.total),label:"Trajectories"},{icon:"📝",value:Je(d.total),label:"Chat Sessions"},{icon:"🏆",value:Je(f.totalRuns),label:"Benchmark Runs"},{icon:"📦",value:Je(p.vectors),label:"Vector Entries"}],g=Object.entries(u.byProvider||{}).map(([M,L])=>({name:M,value:L})).sort((M,L)=>L.value-M.value),y=Object.entries(h.byFingerprint||{}).map(([M,L])=>({name:M.length>15?M.slice(0,13)+"..":M,value:L})).sort((M,L)=>L.value-M.value).slice(0,8),v=nse(e,r),k=(s==null?void 0:s.tasks)??[],w=s!==null&&s.status===401,N=k.filter(M=>M.status==="running").length,S=k.filter(M=>VN(M.finishedAt)&&(M.status==="failed"||M.status==="error")).length,x=k.filter(M=>VN(M.finishedAt)&&M.status==="done").length,E=e.modelRegistry,_=((C=r==null?void 0:r.channels)==null?void 0:C.platforms)??[],O=_.filter(M=>M.configured).length;return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"📊",title:"System Overview",description:"Cost, memory, benchmarks and routing — read live from the dashboard server.",actions:t?i.jsx("button",{type:"button",className:"btn-secondary",onClick:t,disabled:n,"aria-busy":n,children:n?"Refreshing…":"⟳ Refresh data"}):null}),i.jsx(Ui,{tiles:v}),i.jsxs("div",{className:"overview-summary",children:[i.jsxs("div",{className:"summary-cards",children:[i.jsx(Dg,{title:"Task Summary",action:i.jsx(en,{className:"summary-card-link",to:"/tasks",children:"Open console →"}),children:w?i.jsx("p",{className:"summary-note",children:"Sign in to Admin to see task history."}):s===null?i.jsx("p",{className:"summary-note",children:"Loading task history…"}):i.jsxs(i.Fragment,{children:[i.jsx(Qn,{value:Je(N),label:"Running now"}),i.jsx(Qn,{value:Je(x),label:"Completed today"}),S>0&&i.jsx(Qn,{value:Je(S),label:"Failed today"})]})}),E&&i.jsxs(Dg,{title:"Models",action:i.jsx(en,{className:"summary-card-link",to:"/models",children:"Manage →"}),children:[i.jsx(Qn,{value:Je(E.routableNow??E.verified),label:"Routable now"}),i.jsx(Qn,{value:Je(E.verified),label:"Verified (proven)"}),i.jsx(Qn,{value:Je((l==null?void 0:l.trackedModels)??E.total),label:"Tracked models (registry)"}),i.jsx(Qn,{value:Je((l==null?void 0:l.trackedProviders)??((P=E.providers)==null?void 0:P.length)??0),label:"Tracked providers (registry)"}),l&&i.jsxs(i.Fragment,{children:[i.jsx(Qn,{value:Je(l.listedModels),label:"Listed models (live probe)"}),i.jsx(Qn,{value:Je(l.listedProviders),label:"Listed providers (live probe)"})]}),E.parked>0&&i.jsx(Qn,{value:Je(E.parked),label:"Quota-parked"})]}),r&&i.jsxs(Dg,{title:"Gateway Status",action:i.jsx(en,{className:"summary-card-link",to:"/gateway",children:"Gateway ops →"}),children:[i.jsx(Qn,{value:`${O}/${_.length}`,label:"Platforms configured"}),i.jsx(Qn,{value:Je(r.skills.total),label:"Skills loaded"}),i.jsx(Qn,{value:Je(r.toolsets.enabled),label:"Toolsets enabled"})]})]}),i.jsxs("aside",{className:"quick-actions","aria-labelledby":"quick-actions-title",children:[i.jsx("h2",{className:"summary-card-title",id:"quick-actions-title",children:"Quick Actions"}),i.jsxs(en,{className:"quick-action",to:"/tasks",children:[i.jsx("span",{"aria-hidden":"true",children:"🚀"})," Run a CLI command"]}),i.jsxs(en,{className:"quick-action",to:"/hub",children:[i.jsx("span",{"aria-hidden":"true",children:"🧰"})," Skills & channels"]}),i.jsxs(en,{className:"quick-action",to:"/models",children:[i.jsx("span",{"aria-hidden":"true",children:"🧠"})," Model registry"]}),i.jsxs(en,{className:"quick-action",to:"/traces",children:[i.jsx("span",{"aria-hidden":"true",children:"🔍"})," Reasoning traces"]}),i.jsxs(en,{className:"quick-action",to:"/system",children:[i.jsx("span",{"aria-hidden":"true",children:"⚙️"})," Doctor checks"]})]})]}),i.jsx("h2",{className:"section-subtitle",children:"Key metrics"}),i.jsx("div",{className:"stats-grid",children:m.map(M=>i.jsxs("div",{className:"stat-card",children:[i.jsx("div",{className:"stat-icon",children:M.icon}),i.jsxs("div",{className:"stat-body",children:[i.jsx("div",{className:"stat-value",children:M.value}),i.jsx("div",{className:"stat-label",children:M.label})]})]},M.label))}),i.jsxs("div",{className:"memory-health-card",children:[i.jsx("h2",{className:"section-subtitle",children:"🧠 Memory Health"}),i.jsxs("div",{className:"memory-health-stats",children:[i.jsxs("div",{className:"memory-health-stat",children:[i.jsx("span",{className:"memory-health-value",children:Je(h.total)}),i.jsx("span",{className:"memory-health-label",children:"Trajectories"})]}),i.jsxs("div",{className:"memory-health-stat",children:[i.jsx("span",{className:"memory-health-value",children:Je(((A=h.facts)==null?void 0:A.total)||0)}),i.jsx("span",{className:"memory-health-label",children:"Facts Learned"})]}),i.jsxs("div",{className:"memory-health-stat",children:[i.jsx("span",{className:"memory-health-value",children:Je(((D=h.recall)==null?void 0:D.last7d)||0)}),i.jsx("span",{className:"memory-health-label",children:"Recalls This Week"})]}),i.jsxs("div",{className:"memory-health-stat",children:[i.jsx("span",{className:"memory-health-value",children:p.patterns||0}),i.jsx("span",{className:"memory-health-label",children:"Coding Patterns"})]})]}),i.jsxs("p",{className:"memory-health-status",children:["Memory tier: ",i.jsx("code",{children:h.backend||"local"})," · ","Vector index: ",i.jsx("code",{children:h.vectorBackend||"unknown"}),(I=h.recall)!=null&&I.last7d?` · ${h.recall.last7d} recall(s) this week`:" · no recalls yet"]})]}),i.jsx("h2",{className:"section-subtitle",children:"💰 Cost by Provider"}),i.jsx("div",{className:"chart-container",children:g.length>0?i.jsx(os,{width:"100%",height:260,children:i.jsxs(ls,{data:g,margin:{top:20,right:20,left:10,bottom:40},children:[i.jsx(ui,{strokeDasharray:"3 3"}),i.jsx(sa,{dataKey:"name",tick:{fontSize:11}}),i.jsx(oa,{tick:{fontSize:11},tickFormatter:M=>"$"+M.toFixed(4)}),i.jsx(xn,{contentStyle:{background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:8},labelStyle:{color:"var(--text-primary)"},formatter:M=>[Fb(M),"Cost"]}),i.jsx(bn,{dataKey:"value",radius:[4,4,0,0],children:g.map(M=>i.jsx(mu,{fillOpacity:.8,style:{fill:ase[M.name]||"var(--accent-blue)"}},M.name))})]})}):i.jsx("div",{className:"empty-state",children:"No cost data yet."})}),i.jsx("h2",{className:"section-subtitle",children:"📊 Trajectories by Project Type"}),i.jsx("div",{className:"chart-container",children:y.length>0?i.jsx(os,{width:"100%",height:260,children:i.jsxs(ls,{data:y,margin:{top:20,right:20,left:10,bottom:40},children:[i.jsx(ui,{strokeDasharray:"3 3"}),i.jsx(sa,{dataKey:"name",tick:{fontSize:11}}),i.jsx(oa,{tick:{fontSize:11}}),i.jsx(xn,{contentStyle:{background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:8},labelStyle:{color:"var(--text-primary)"}}),i.jsx(bn,{dataKey:"value",radius:[4,4,0,0],fillOpacity:.8,fill:"var(--accent-purple)",style:{fill:"var(--accent-purple)"}})]})}):i.jsx("div",{className:"empty-state",children:"No trajectory data yet."})})]})}function sse(){return i.jsxs("div",{className:"panel",children:[i.jsx(Te,{icon:"❓",title:"Help",description:"What this dashboard is, how to get work done in it, and every keyboard shortcut."}),i.jsxs("section",{className:"help-section",children:[i.jsx("h2",{className:"section-title",children:"Start here"}),i.jsxs("ol",{className:"help-steps",children:[i.jsxs("li",{children:[i.jsx("strong",{children:"Talk to the agent in Chat."})," It is the front door — the other pages are views of what has already happened. ",i.jsx(en,{to:"/chat",children:"Open Chat"}),"."]}),i.jsxs("li",{children:[i.jsx("strong",{children:"Run a command from Tasks."})," The Command Console executes the same CLI you would type in a terminal, and it can group-browse every command for you."," ",i.jsx(en,{to:"/tasks",children:"Open Command Console"}),"."]}),i.jsxs("li",{children:[i.jsx("strong",{children:"Sign in for anything that changes something."})," Running a task, editing environment secrets and the Agent Hub toggles all need an admin session. Controls that need one are disabled and say so."," ",i.jsx(en,{to:"/admin",children:"Go to Admin"}),"."]})]})]}),i.jsxs("section",{className:"help-section",children:[i.jsx("h2",{className:"section-title",children:"How the dashboard is laid out"}),i.jsxs("dl",{className:"help-anatomy",children:[i.jsx("dt",{children:"Top bar"}),i.jsxs("dd",{children:["The cross-cutting views on the left; on the right, ",i.jsx("strong",{children:"Refresh"})," (re-fetches everything the page shows), ",i.jsx("strong",{children:"Shortcuts"})," (the cheatsheet), and ",i.jsx("strong",{children:"Appearance"})," (theme and accessibility)."]}),i.jsx("dt",{children:"Navigation rail"}),i.jsx("dd",{children:"Every remaining destination, grouped by what it is for. The filter box narrows it as you type. Below the width where it becomes a drawer, it opens from the ☰ button."}),i.jsx("dt",{children:"Page body"}),i.jsx("dd",{children:"One page per destination. Each starts with its own title and, where it has one, a short description of what you are looking at."}),i.jsx("dt",{children:"Status footer"}),i.jsx("dd",{children:"Whether the dashboard is connected to the local server, and when it last received data. “Reconnecting” means the live stream dropped and is being retried — the pages keep the last data they had."})]})]}),i.jsxs("section",{className:"help-section",children:[i.jsx("h2",{className:"section-title",children:"Keyboard shortcuts"}),i.jsx("div",{className:"help-shortcuts",children:IT.map(e=>i.jsxs("div",{className:"shortcuts-group",children:[i.jsx("h3",{className:"shortcuts-group-title",children:e.group}),i.jsx("dl",{className:"shortcuts-list",children:e.items.map(t=>i.jsxs("div",{className:"shortcuts-row",children:[i.jsx("dt",{className:"shortcuts-keys",children:t.keys.map(n=>i.jsx("kbd",{className:"shortcuts-key",children:n},n))}),i.jsx("dd",{className:"shortcuts-description",children:t.description})]},t.description))})]},e.group))}),i.jsxs("p",{className:"help-note",children:["Shortcuts are ignored while you are typing, so ",i.jsx("kbd",{className:"shortcuts-key",children:"?"})," in a question stays a question mark. The ",i.jsx("kbd",{className:"shortcuts-key",children:"g"})," chords expire about a second and a half after the prefix, so a stray ",i.jsx("kbd",{className:"shortcuts-key",children:"g"})," cannot navigate somewhere later."]})]}),i.jsxs("section",{className:"help-section",children:[i.jsx("h2",{className:"section-title",children:"Appearance & accessibility"}),i.jsxs("p",{className:"help-body",children:[i.jsx("strong",{children:"Appearance"})," in the top bar offers ",cu.length," palettes in light and dark, plus a text size and an accessibility mode. Your choice is remembered in this browser only — nothing is sent anywhere."]}),i.jsxs("dl",{className:"help-anatomy",children:[i.jsx("dt",{children:"Palette"}),i.jsxs("dd",{children:[cu.map(e=>sh[e]).join(" · "),". The"," ",sh.contrast," palette is the one to pick when you need maximum legibility."]}),i.jsx("dt",{children:"Mode"}),i.jsxs("dd",{children:[$p.map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" or "),". “Reset to system default” goes back to what your operating system asks for."]}),i.jsx("dt",{children:"Text size"}),i.jsx("dd",{children:"Scales the whole interface, not just the body text. Choosing a larger size turns accessibility mode on, because that is what defines it."}),i.jsx("dt",{children:"Accessibility mode"}),i.jsx("dd",{children:"Larger click targets, a thicker focus ring and no motion. Off by default so it never changes the look for anyone who does not need it."})]}),i.jsx("p",{className:"help-note",children:"Focus is always visible: every control draws a ring when reached by keyboard. Opportunistic hover-only effects are never the only cue for a state, and a selected state is carried by a filled shape plus weight rather than a faint tint."})]}),i.jsxs("section",{className:"help-section",children:[i.jsx("h2",{className:"section-title",children:"Where everything lives"}),i.jsxs("dl",{className:"help-anatomy",children:[i.jsx("dt",{children:"Top bar"}),i.jsx("dd",{className:"help-links",children:$T.map(e=>i.jsxs(en,{to:e.path,children:[i.jsx("span",{"aria-hidden":"true",children:e.icon})," ",e.label]},e.path))})]}),yy.map(e=>i.jsxs("dl",{className:"help-anatomy help-group",children:[i.jsx("dt",{children:e.label}),i.jsx("dd",{className:"help-links",children:e.items.map(t=>i.jsxs(en,{to:t.path,children:[i.jsx("span",{"aria-hidden":"true",children:t.icon})," ",t.label]},t.path))})]},e.label))]}),i.jsxs("section",{className:"help-section",children:[i.jsx("h2",{className:"section-title",children:"If something looks wrong"}),i.jsxs("dl",{className:"help-anatomy",children:[i.jsx("dt",{children:"A control is disabled"}),i.jsxs("dd",{children:["It needs an admin session. Sign in from ",i.jsx(en,{to:"/admin",children:"Admin"}),"; the page will say which session it wants."]}),i.jsx("dt",{children:"A task failed"}),i.jsx("dd",{children:"Open it from the Command Console's History — the full output and the exit code are kept per run."}),i.jsx("dt",{children:"The footer says “Reconnecting”"}),i.jsx("dd",{children:"The live stream dropped. The dashboard retries on its own and keeps showing the last data it received; Refresh forces a fresh fetch."}),i.jsx("dt",{children:"A page is empty"}),i.jsxs("dd",{children:["Most pages report “no data yet” rather than a zero, because a zero and an absent source look identical. Check ",i.jsx(en,{to:"/system",children:"System"})," for the health checks behind it."]})]})]})]})}const YN={planner:"📋","context-gatherer":"📂",writer:"✏️",reviewer:"👁️",tester:"🧪",debugger:"🐛",runner:"▶️",git:"🔀",package:"📦","github-release":"🏷️",security:"🔒",orchestrator:"🎯"},XN={planner:"var(--accent-blue)","context-gatherer":"var(--accent-cyan)",writer:"var(--accent-yellow)",reviewer:"var(--accent-purple)",tester:"var(--accent-green)",debugger:"var(--accent-red)",runner:"var(--accent-blue)",git:"var(--accent-yellow)",package:"var(--accent-yellow)","github-release":"var(--accent-green)",security:"var(--accent-red)",orchestrator:"var(--accent-yellow)"},Bg={planner:"Planner","context-gatherer":"Context",writer:"Writer",reviewer:"Reviewer",tester:"Tester",debugger:"Debugger",runner:"Runner",git:"Git",package:"Package","github-release":"Release",security:"Security",orchestrator:"Orchestrator"},QN={pending:{icon:"⏳",label:"Pending"},running:{icon:"▶️",label:"Running"},completed:{icon:"✅",label:"Done"},failed:{icon:"❌",label:"Failed"}},ose={pending:"var(--text-muted)",running:"var(--accent-blue)",completed:"var(--accent-green)",failed:"var(--accent-red)"};function lse(e){if(!e||e.nodes.length===0)return null;const t=e.nodes.map(s=>s.startedAt||0).filter(Boolean),n=e.nodes.map(s=>s.completedAt||0).filter(Boolean),r=t.length>0?Math.min(...t):Date.now(),a=n.length>0?Math.max(...n):Date.now();return{id:`live-${r}`,goal:e.pipeline||"Active execution",startedAt:r,endedAt:n.length>0?a:void 0,success:e.nodes.length>0&&e.nodes.every(s=>s.status==="completed"),totalDurationMs:Math.max(0,a-r),phases:e.nodes.map(s=>({id:s.id,agentType:s.agentType,status:s.status,description:s.description,complexity:s.complexity,summary:s.summary,startedAt:s.startedAt,completedAt:s.completedAt,durationMs:s.startedAt&&s.completedAt?s.completedAt-s.startedAt:void 0}))}}function cse(e,t){const n=[],r=new Set,a=lse(e);a&&(n.push(a),r.add(a.id));for(const s of(t==null?void 0:t.runs)||[])r.has(s.id)||(n.push(s),r.add(s.id));return n}function ni(e){return e<1e3?`${Math.round(e)}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.floor(e/6e4)}m ${Math.floor(e%6e4/1e3)}s`}function ZN(e){return e?new Date(e).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",second:"2-digit"}):""}function use(e,t){if(e.length===0)return{laid:[],total:0};const n=e.length,r=e.map(d=>d.durationMs&&d.durationMs>0?d.durationMs:0),a=r.reduce((d,f)=>d+f,0),s=a>0?e.map((d,f)=>r[f]>0?r[f]:a/n):e.map(()=>1),o=s.reduce((d,f)=>d+f,0)||1;let l=0;const c=e.map((d,f)=>{const h=s[f]/o,p=l;return l+=h,{...d,start:p,width:h,dur:s[f]}}),u=t>0?t:o;return{laid:c,total:u}}function dse({runs:e,selectedRunId:t,onSelectRun:n,onScrub:r}){const[a,s]=b.useState(null),o=e.find(E=>E.id===(t??a))??e[0]??null,[l,c]=b.useState(0),[u,d]=b.useState(!1),f=b.useRef(null),h=b.useRef(!1),p=b.useRef(r);b.useEffect(()=>{p.current=r},[r]),b.useEffect(()=>{var E;!o&&e.length>0?s(e[0].id):o&&!e.some(_=>_.id===o.id)&&s(((E=e[0])==null?void 0:E.id)??null)},[e,o]);const{laid:m,total:g}=b.useMemo(()=>use((o==null?void 0:o.phases)||[],(o==null?void 0:o.totalDurationMs)||0),[o]),y=g>0?Math.min(1,Math.max(0,l/g)):0,v=b.useMemo(()=>{if(g<=0)return null;const E=y*g;return m.find(_=>E>=_.start*g&&E<(_.start+_.width)*g)||null},[m,y,g]);b.useEffect(()=>{var E;(E=p.current)==null||E.call(p,(v==null?void 0:v.id)??null)},[v==null?void 0:v.id]),b.useEffect(()=>{if(!u)return;const E=setInterval(()=>{c(_=>_+g/2e3*50)},50);return()=>clearInterval(E)},[u,g]),b.useEffect(()=>{u&&g>0&&l>=g&&(d(!1),c(0))},[u,g,l]);const k=b.useCallback(E=>{const _=f.current;if(!_||g<=0)return;const O=_.getBoundingClientRect(),C=O.width||1,P=Math.min(1,Math.max(0,(E-O.left)/C));c(P*g)},[g]),w=E=>{h.current=!0,d(!1),k(E.clientX)};if(b.useEffect(()=>{const E=O=>{h.current&&k(O.clientX)},_=()=>{h.current=!1};return window.addEventListener("pointermove",E),window.addEventListener("pointerup",_),()=>{window.removeEventListener("pointermove",E),window.removeEventListener("pointerup",_)}},[k]),!o)return i.jsx("div",{className:"phase-timeline phase-timeline-empty",children:i.jsx("p",{children:"No pipeline runs yet. Run an agent task to see its phase timeline here."})});const N=o.id.startsWith("live-"),S=o.phases.filter(E=>E.status==="completed").length,x=o.phases.filter(E=>E.status==="failed").length;return i.jsxs("div",{className:"phase-timeline",children:[i.jsxs("div",{className:"phase-timeline-header",children:[i.jsx("div",{className:"phase-timeline-runs",children:e.map(E=>i.jsxs("button",{className:`phase-run-chip ${E.id===o.id?"active":""} ${E.id.startsWith("live-")?"live":""}`,onClick:()=>{s(E.id),c(0),d(!1),n==null||n(E.id)},title:E.goal,children:[E.id.startsWith("live-")&&i.jsx("span",{className:"dag-live-dot"}),E.engine&&i.jsx("span",{className:`phase-run-chip-engine phase-run-chip-engine-${E.engine}`,children:E.engine==="loop"?"🔁":"⬡"}),E.goal.length>32?E.goal.slice(0,30)+"…":E.goal,i.jsx("span",{className:"phase-run-chip-time",children:ZN(E.startedAt)})]},E.id))}),i.jsxs("div",{className:"phase-timeline-meta",children:[N&&i.jsx("span",{className:"dag-live-badge",children:"LIVE"}),o.engine&&i.jsx("span",{className:`dag-engine-badge dag-engine-${o.engine}`,title:o.engine==="loop"?"Loop turn (per-tool telemetry below)":"Orchestrator pipeline",children:o.engine==="loop"?"🔁 loop":"⬡ pipeline"}),i.jsxs("span",{className:"phase-meta-item",children:[o.phases.length," steps"]}),i.jsxs("span",{className:"phase-meta-item phase-meta-ok",children:["✅ ",S]}),x>0&&i.jsxs("span",{className:"phase-meta-item phase-meta-bad",children:["❌ ",x]}),o.turnTelemetry&&i.jsxs("span",{className:"phase-meta-item",title:`tool calls: ${o.turnTelemetry.toolCallCount}, errored: ${o.turnTelemetry.erroredToolCount}${o.turnTelemetry.bounded?", bounded":""}${o.turnTelemetry.provider?`, ${o.turnTelemetry.provider}${o.turnTelemetry.model?`/${o.turnTelemetry.model}`:""}`:""}`,children:["🔧 ",o.turnTelemetry.toolCallCount,o.turnTelemetry.erroredToolCount>0&&i.jsxs("span",{className:"phase-meta-bad",children:[" (",o.turnTelemetry.erroredToolCount," err)"]})]}),i.jsxs("span",{className:"phase-meta-item",children:["⏱ ",ni(g)]})]})]}),i.jsxs("div",{className:"phase-timeline-controls",children:[i.jsx("button",{className:`phase-play-btn ${u?"paused":""}`,onClick:()=>{u?d(!1):(l>=g&&c(0),d(!0))},"aria-label":u?"Pause scrub":"Play scrub",children:u?"⏸ Pause":"▶ Play"}),i.jsxs("span",{className:"phase-time-label",children:[ni(l)," / ",ni(g)]}),i.jsx("input",{className:"phase-range",type:"range",min:0,max:g||1,step:1,value:Math.min(l,g||1),onChange:E=>{d(!1),c(Number(E.target.value))},"aria-label":"Scrub pipeline timeline"})]}),i.jsxs("div",{className:"phase-track-wrap",children:[i.jsxs("div",{ref:f,className:"phase-track",onPointerDown:w,style:{cursor:"grab"},children:[m.map(E=>{const _=XN[E.agentType]||"var(--accent-blue)",O=ose[E.status],C=(v==null?void 0:v.id)===E.id;return i.jsxs("button",{className:`phase-block phase-block-${E.status} ${C?"active":""}`,style:{left:`${E.start*100}%`,width:`${Math.max(E.width*100,2)}%`,background:`linear-gradient(180deg, ${_}cc, ${_}66)`,boxShadow:C?`0 0 0 2px ${O}`:void 0},onClick:P=>{P.stopPropagation(),d(!1),c((E.start+E.width/2)*g)},title:`${Bg[E.agentType]||E.agentType}: ${E.description}`,children:[i.jsx("span",{className:"phase-block-icon",children:YN[E.agentType]||"⚙️"}),i.jsx("span",{className:"phase-block-label",children:Bg[E.agentType]||E.agentType})]},E.id)}),i.jsx("div",{className:"phase-caret",style:{left:`${y*100}%`},onPointerDown:E=>{E.stopPropagation(),w(E)},title:`${ni(l)} elapsed`})]}),i.jsxs("div",{className:"phase-ticks",children:[i.jsx("span",{children:"0"}),i.jsx("span",{children:ni(Math.round(g/2))}),i.jsx("span",{children:ni(g)})]})]}),i.jsx("div",{className:"phase-detail",children:v?i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"phase-detail-title",children:[i.jsx("span",{className:"phase-detail-icon",children:YN[v.agentType]||"⚙️"}),i.jsx("span",{className:"phase-detail-agent",style:{color:XN[v.agentType]||"var(--accent-blue)"},children:Bg[v.agentType]||v.agentType}),i.jsxs("span",{className:`phase-status-badge phase-status-${v.status}`,children:[QN[v.status].icon," ",QN[v.status].label]})]}),i.jsx("p",{className:"phase-detail-desc",children:v.description}),i.jsxs("div",{className:"phase-detail-meta",children:[i.jsxs("span",{children:["⏱ ",v.durationMs?ni(v.dur):`~${ni(v.dur)}`]}),v.startedAt?i.jsxs("span",{children:["🕐 ",ZN(v.startedAt)]}):null,v.complexity?i.jsxs("span",{children:["🎯 ",v.complexity]}):null]}),v.summary&&i.jsx("p",{className:"phase-detail-summary",children:v.summary})]}):i.jsxs("div",{className:"phase-detail-gap",children:[i.jsx("span",{className:"phase-detail-icon",children:"⏳"}),i.jsx("span",{children:"Between steps — waiting for the next agent."})]})})]})}function zg(e){return e===void 0?"—":`$${e.toFixed(5)}`}function JN(e){if(e===void 0||!Number.isFinite(e)||e<0)return"—";if(e<1e3)return`${Math.round(e)}ms`;const t=e/1e3;if(t<60)return`${t.toFixed(1)}s`;const n=Math.floor(t/60);return n<60?`${n}m ${String(Math.round(t%60)).padStart(2,"0")}s`:`${Math.floor(n/60)}h ${String(n%60).padStart(2,"0")}m`}function Fg(e){return e===void 0?"—":e.toLocaleString("en-US")}function fse({jobs:e}){const t=b.useMemo(()=>e.filter(u=>u.batchStats.length>0),[e]),[n,r]=b.useState(null);if(t.length===0)return null;const a=t.find(u=>u.id===n)??t[0],s=a.batchStats,o=s.filter(u=>u.durationMs!==void 0),l=o.reduce((u,d)=>u+(d.durationMs??0),0),c=o.length>0?l/o.length:void 0;return i.jsxs("div",{className:"dag-timeline-section","data-testid":"batch-economy",children:[i.jsxs("h2",{className:"section-subtitle",children:["📊 Per-batch cost & latency"," ",i.jsx("span",{className:"timeline-subtitle",children:"— measured, not estimated"})]}),t.length>1&&i.jsx("div",{className:"dag-loop-turn-meta",style:{marginBottom:8},children:t.slice(0,5).map(u=>i.jsx("button",{type:"button",className:"dag-loop-turn-chip",onClick:()=>r(u.id),style:{cursor:"pointer",opacity:u.id===a.id?1:.55,fontWeight:u.id===a.id?600:400},children:u.progressLine??u.goal.slice(0,40)},u.id))}),i.jsxs("div",{className:"dag-loop-turn-meta",style:{marginBottom:8},children:[i.jsxs("span",{className:"dag-loop-turn-chip",children:[a.kind==="long-form"?"📖":"🛠️"," ",a.status]}),i.jsxs("span",{className:"dag-loop-turn-chip",children:[a.progress,"% done"]}),i.jsxs("span",{className:"dag-loop-turn-chip",children:[a.batches," batch",a.batches===1?"":"es"]}),i.jsxs("span",{className:"dag-loop-turn-chip dag-loop-turn-chip-dim",children:[Fg(a.tokens)," tokens · ",zg(a.costUsd)]}),a.stopReason&&i.jsxs("span",{className:"dag-loop-turn-chip dag-loop-turn-chip-dim",children:["stopped: ",a.stopReason]})]}),i.jsx("div",{className:"dag-table-wrapper",children:i.jsxs("table",{className:"dag-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Batch"}),i.jsx("th",{children:"Done"}),i.jsx("th",{children:"Tokens"}),i.jsx("th",{children:"Cost"}),i.jsx("th",{children:"Time"})]})}),i.jsxs("tbody",{children:[s.map(u=>i.jsxs("tr",{children:[i.jsx("td",{children:u.index}),i.jsx("td",{children:`${Math.round(u.progress)}%`}),i.jsx("td",{children:Fg(u.tokens)}),i.jsx("td",{children:zg(u.costUsd)}),i.jsx("td",{children:JN(u.durationMs)})]},u.index)),s.some(u=>u.error)&&i.jsx("tr",{children:i.jsxs("td",{colSpan:5,style:{opacity:.75},children:["✗ failures:"," ",s.filter(u=>u.error).map(u=>`#${u.index} ${u.error}`).join(" · ")]})}),i.jsxs("tr",{children:[i.jsx("td",{children:i.jsx("strong",{children:"total"})}),i.jsx("td",{children:i.jsx("strong",{children:`${a.progress}%`})}),i.jsx("td",{children:i.jsx("strong",{children:Fg(a.tokens)})}),i.jsx("td",{children:i.jsx("strong",{children:zg(a.costUsd)})}),i.jsx("td",{children:i.jsx("strong",{children:c===void 0?"—":`~${JN(c)} avg`})})]})]})]})})]})}const eE={planner:"📋","context-gatherer":"📂",writer:"✏️",reviewer:"👁️",tester:"🧪",debugger:"🐛",runner:"▶️",git:"🔀",package:"📦","github-release":"🏷️",security:"🔒",orchestrator:"🎯"},Ug={planner:"var(--accent-blue)","context-gatherer":"var(--accent-cyan)",writer:"var(--accent-yellow)",reviewer:"var(--accent-purple)",tester:"var(--accent-green)",debugger:"var(--accent-red)",runner:"var(--accent-blue)",git:"var(--accent-yellow)",package:"var(--accent-yellow)","github-release":"var(--accent-green)",security:"var(--accent-red)",orchestrator:"var(--accent-yellow)"},hse={pending:{bg:"var(--bg-card)",stroke:"var(--border)",text:"var(--text-muted)"},running:{bg:"color-mix(in srgb, var(--accent-blue) 12%, transparent)",stroke:"var(--accent-blue)",text:"var(--accent-blue)"},completed:{bg:"color-mix(in srgb, var(--accent-green) 12%, transparent)",stroke:"var(--accent-green)",text:"var(--accent-green)"},failed:{bg:"color-mix(in srgb, var(--accent-red) 12%, transparent)",stroke:"var(--accent-red)",text:"var(--accent-red)"}},tE={pending:"⏳ Pending",running:"▶️ Running",completed:"✅ Done",failed:"❌ Failed"},lo={trivial:{icon:"🟢",color:"var(--accent-green)"},simple:{icon:"🔵",color:"var(--accent-blue)"},moderate:{icon:"🟡",color:"var(--accent-yellow)"},complex:{icon:"🟠",color:"var(--accent-yellow)"},critical:{icon:"🔴",color:"var(--accent-red)"}},Wg={planner:"Planner","context-gatherer":"Context",writer:"Writer",reviewer:"Reviewer",tester:"Tester",debugger:"Debugger",runner:"Runner",git:"Git",package:"Package","github-release":"Release",security:"Security",orchestrator:"Orchestrator"};function pse(e,t,n=160,r=68,a=40,s=24,o=40){if(e.length===0)return{layoutNodes:[],svgW:400,svgH:200};const l=new Map,c=new Set;function u(y){if(l.has(y))return l.get(y);if(c.has(y))return 0;c.add(y);const v=t.filter(N=>N.to===y);if(v.length===0)return l.set(y,0),0;const w=Math.max(...v.map(N=>u(N.from)))+1;return l.set(y,w),w}for(const y of e)u(y.id);const d=new Map;for(const y of e){const v=l.get(y.id)??0;d.has(v)||d.set(v,[]),d.get(v).push(y)}const f=Math.max(...d.keys()),h=Math.max(...Array.from(d.values()).map(y=>y.length)),p=(f+1)*(n+a)+o*2-a,m=Math.max(h,1)*(r+s)+o*2-s,g=[];for(const y of e){const v=l.get(y.id)??0,k=d.get(v),w=k.indexOf(y),N=k.length,S=N*(r+s)-s,x=m/2-S/2;g.push({...y,x:o+v*(n+a),y:x+w*(r+s),w:n,h:r,step:v,totalInStep:N,indexInStep:w})}return{layoutNodes:g,svgW:p,svgH:m}}function Hg(e,t){if(!e)return"--";const n=(t||Date.now())-e;return n<1e3?`${n}ms`:n<6e4?`${(n/1e3).toFixed(1)}s`:`${Math.floor(n/6e4)}m ${Math.floor(n%6e4/1e3)}s`}function nE(e){return e?new Date(e).toLocaleTimeString("en-US",{minute:"2-digit",second:"2-digit"}):""}function mse({memoryTotal:e}){return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"🔀",title:"Agent Execution DAG"}),i.jsx("p",{className:"section-description",children:"Live visualization of the agent execution pipeline. When an agent task runs, you'll see each step appear here in real time as it moves through planning → context gathering → writing → review → testing."}),i.jsxs("div",{className:"dag-empty",children:[i.jsx("div",{className:"dag-empty-icon",children:"🔀"}),i.jsx("h2",{children:"No Active Pipeline"}),i.jsx("p",{children:"Run an agent task to see the execution pipeline appear here in real time."}),e!==void 0&&e>0&&i.jsxs("p",{className:"dag-empty-hint",children:[i.jsx("code",{children:e})," past executions are stored in memory."]})]})]})}function gse({data:e}){var T,Z;const t=e==null?void 0:e.dag,n=(T=e==null?void 0:e.memory)==null?void 0:T.total,[r,a]=b.useState(null),[s,o]=b.useState(null),[l,c]=b.useState(void 0),[u,d]=b.useState(void 0),[f,h]=b.useState(void 0);b.useEffect(()=>K.onDAGEvent($=>{a($),c($.engine),d($.engineExplanation),h($.loopTurn)}),[]);const p=t||r,m=r?l:(t==null?void 0:t.engine)??l,g=r?u:(t==null?void 0:t.engineExplanation)??u,y=r?f:(t==null?void 0:t.loopTurn)??f,v=b.useMemo(()=>cse(p,e==null?void 0:e.pipelineRuns),[p,e==null?void 0:e.pipelineRuns]),k=F=>{o(F)},w=!!(p&&(p.nodes.length>0||p.active)),N=v.length>0,S=!!y,x=((Z=e==null?void 0:e.unattendedJobs)==null?void 0:Z.jobs)??[],E=x.some(F=>F.batchStats.length>0);if(!w&&!N&&!S&&!E)return i.jsx(mse,{memoryTotal:n});const{nodes:_,edges:O,pipeline:C,active:P}=p??{nodes:[],edges:[],pipeline:null,active:!1},{layoutNodes:A,svgW:D,svgH:I}=pse(_,O),M=_.filter(F=>F.status==="running").length,L=_.filter(F=>F.status==="completed").length,U=_.filter(F=>F.status==="failed").length,R=_.filter(F=>F.status==="pending").length,B=_.length;return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"🔀",title:"Agent Execution DAG"}),N&&i.jsxs("div",{className:"dag-timeline-section",children:[i.jsxs("h2",{className:"section-subtitle",children:["⏱ Run Timeline ",i.jsx("span",{className:"timeline-subtitle",children:"— scrub to replay · click a run to switch"})]}),i.jsx(dse,{runs:v,onScrub:k})]}),i.jsx(fse,{jobs:x}),y&&i.jsxs("div",{className:"dag-loop-turn-card","data-testid":"dag-loop-turn-card",children:[i.jsxs("div",{className:"dag-loop-turn-header",children:[i.jsx("span",{className:"dag-loop-turn-icon",children:"🔁"}),i.jsxs("span",{className:"dag-loop-turn-title",children:["Loop turn — ",y.title||"chat turn"]}),y.active&&i.jsx("span",{className:"dag-loop-turn-live",children:"● recording"})]}),i.jsxs("div",{className:"dag-loop-turn-meta",children:[i.jsxs("span",{className:"dag-loop-turn-chip",children:["🔧 ",y.toolCallCount," tool call",y.toolCallCount===1?"":"s"]}),y.erroredToolCount>0&&i.jsxs("span",{className:"dag-loop-turn-chip dag-loop-turn-chip-error",children:["❌ ",y.erroredToolCount," errored"]}),y.provider&&i.jsxs("span",{className:"dag-loop-turn-chip dag-loop-turn-chip-dim",children:[y.provider,y.model?` · ${y.model}`:""]}),typeof y.startedAt=="number"&&i.jsxs("span",{className:"dag-loop-turn-chip dag-loop-turn-chip-dim",children:["⏱ ",Hg(y.startedAt,y.endedAt)]}),y.bounded&&i.jsx("span",{className:"dag-loop-turn-chip dag-loop-turn-chip-error",children:"⛔ bounded"}),y.generationFailed&&i.jsx("span",{className:"dag-loop-turn-chip dag-loop-turn-chip-error",children:"💀 generation failed"}),y.cancelled&&i.jsx("span",{className:"dag-loop-turn-chip dag-loop-turn-chip-dim",children:"✖ cancelled"})]}),y.toolCalls.length>0&&i.jsx("div",{className:"dag-loop-turn-tools",children:y.toolCalls.slice(-12).map((F,$)=>i.jsxs("span",{className:`dag-loop-tool ${F.ok===!1?"dag-loop-tool-error":""}`,title:F.error||`${F.tool}${F.durationMs!==void 0?` · ${F.durationMs}ms`:""}`,children:[F.ok===!1?"❌":"✓"," ",F.tool]},`${F.tool}-${$}`))})]}),w&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:`dag-status-bar ${P?"active":""}`,children:[i.jsxs("div",{className:"dag-pipeline-name",children:[P&&i.jsx("span",{className:"dag-live-dot"}),C||"Execution Pipeline"]}),i.jsxs("div",{className:"dag-pipeline-meta",children:[P&&i.jsx("span",{className:"dag-live-badge",children:"LIVE"}),m&&i.jsx("span",{className:`dag-engine-badge dag-engine-${m}`,title:g||(m==="loop"?"Single agentic loop":"Orchestrator pipeline"),"data-testid":"dag-engine-badge",children:m==="loop"?"🔁 loop engine":"⬡ pipeline engine"}),i.jsxs("span",{className:"dag-step-count",children:[B," steps"]}),M>0&&i.jsxs("span",{className:"dag-running-badge",children:["▶ ",M," running"]}),R>0&&i.jsxs("span",{className:"dag-pending-badge",children:["⏳ ",R," pending"]}),i.jsxs("span",{className:"dag-completed-badge",children:["✅ ",L," done"]}),U>0&&i.jsxs("span",{className:"dag-failed-badge",children:["❌ ",U," failed"]})]})]}),i.jsx("div",{className:"dag-container",children:i.jsxs("svg",{width:D,height:I,viewBox:`0 0 ${D} ${I}`,children:[i.jsxs("defs",{children:[O.map(F=>i.jsx("marker",{id:`arrow-${F.from}-${F.to}`,markerWidth:"8",markerHeight:"6",refX:"8",refY:"3",orient:"auto",children:i.jsx("polygon",{points:"0 0, 8 3, 0 6",style:{fill:"var(--accent-blue)"}})},`arrow-${F.from}-${F.to}`)),i.jsxs("filter",{id:"glow",children:[i.jsx("feGaussianBlur",{stdDeviation:"3",result:"coloredBlur"}),i.jsxs("feMerge",{children:[i.jsx("feMergeNode",{in:"coloredBlur"}),i.jsx("feMergeNode",{in:"SourceGraphic"})]})]})]}),O.map(F=>{const $=A.find(H=>H.id===F.from),ae=A.find(H=>H.id===F.to);if(!$||!ae)return null;const ue=$.x+$.w,me=$.y+$.h/2,Ee=ae.x,J=ae.y+ae.h/2,Y=(ue+Ee)/2,re=ae.status,le=re==="failed"?"var(--accent-red)":re==="running"?"var(--accent-blue)":re==="completed"?"var(--accent-green)":"var(--border)";return i.jsx("g",{children:i.jsx("path",{d:`M ${ue} ${me} C ${Y} ${me}, ${Y} ${J}, ${Ee} ${J}`,fill:"none",style:{stroke:le},strokeWidth:re==="pending"?1.5:2.5,strokeOpacity:re==="pending"?.3:.8,markerEnd:`url(#arrow-${F.from}-${F.to})`,className:"dag-edge"})},`edge-${F.from}-${F.to}`)}),A.map(F=>{const $=hse[F.status];Ug[F.agentType];const ae=eE[F.agentType]||"⚙️",ue=Wg[F.agentType]||F.agentType,me=s===F.id,Ee=F.status==="running";return i.jsxs("g",{onClick:()=>o(me?null:F.id),style:{cursor:"pointer"},className:"dag-node-group",children:[me&&i.jsx("rect",{x:F.x-4,y:F.y-4,width:F.w+8,height:F.h+8,rx:10,ry:10,fill:"none",style:{stroke:"var(--accent-blue)"},strokeWidth:2,strokeOpacity:.5}),i.jsx("rect",{x:F.x,y:F.y,width:F.w,height:F.h,rx:8,ry:8,style:{fill:$.bg,stroke:$.stroke},strokeWidth:Ee?2.5:1.5,strokeOpacity:.9,className:Ee?"dag-node-running":"",filter:Ee?"url(#glow)":void 0}),i.jsxs("text",{x:F.x+10,y:F.y+22,style:{fill:"var(--text-primary)"},fontSize:10,fontWeight:600,children:[ae," ",ue]}),i.jsx("text",{x:F.x+F.w-10,y:F.y+22,textAnchor:"end",style:{fill:$.text},fontSize:9,fontWeight:500,children:tE[F.status]}),i.jsx("text",{x:F.x+10,y:F.y+40,style:{fill:"var(--text-secondary)"},fontSize:9,children:F.description.length>28?F.description.slice(0,26)+"..":F.description}),F.complexity&&lo[F.complexity]&&i.jsxs("text",{x:F.x+10,y:F.y+54,style:{fill:lo[F.complexity].color},fontSize:8,fontWeight:600,children:[lo[F.complexity].icon," ",F.complexity]}),i.jsx("text",{x:F.x+10,y:F.y+56,style:{fill:"var(--text-muted)"},fontSize:8,children:Hg(F.startedAt,F.completedAt)}),i.jsx("text",{x:F.x+F.w-10,y:F.y+56,textAnchor:"end",style:{fill:"var(--text-muted)"},fontSize:8,children:nE(F.startedAt||F.completedAt)}),(F.status==="failed"||me)&&F.summary&&i.jsx("foreignObject",{x:Math.max(10,F.x-80),y:F.y+F.h+6,width:F.w+160,height:36,children:i.jsx("div",{className:"dag-node-summary",style:{color:F.status==="failed"?"var(--accent-red)":"var(--text-secondary)",fontSize:"10px",lineHeight:1.4,background:"var(--scrim)",padding:"4px 8px",borderRadius:"4px",border:`1px solid ${F.status==="failed"?"color-mix(in srgb, var(--accent-red) 30%, transparent)":"color-mix(in srgb, var(--border) 50%, transparent)"}`,maxHeight:"32px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:F.summary})})]},`node-${F.id}`)})]})}),i.jsx("h2",{className:"section-subtitle",children:"Step Details"}),i.jsx("div",{className:"dag-table-wrapper",children:i.jsxs("table",{className:"dag-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Step"}),i.jsx("th",{children:"Agent"}),i.jsx("th",{children:"Complexity"}),i.jsx("th",{children:"Status"}),i.jsx("th",{children:"Duration"}),i.jsx("th",{children:"Time"}),i.jsx("th",{children:"Summary"})]})}),i.jsx("tbody",{children:A.map(F=>i.jsxs("tr",{className:`dag-row dag-row-${F.status}`,children:[i.jsx("td",{className:"dag-cell-step",children:F.step}),i.jsxs("td",{className:"dag-cell-agent",children:[i.jsx("span",{className:"dag-agent-dot",style:{background:Ug[F.agentType]||"var(--accent-blue)"}}),Wg[F.agentType]||F.agentType]}),i.jsx("td",{className:"dag-cell-complexity",children:F.complexity&&lo[F.complexity]?i.jsxs("span",{style:{color:lo[F.complexity].color,fontSize:12},children:[lo[F.complexity].icon," ",F.complexity]}):i.jsx("span",{style:{color:"var(--text-muted)",fontSize:12},children:"—"})}),i.jsx("td",{className:`dag-cell-status dag-status-${F.status}`,children:tE[F.status]}),i.jsx("td",{className:"dag-cell-duration",children:Hg(F.startedAt,F.completedAt)}),i.jsx("td",{className:"dag-cell-time",children:nE(F.startedAt||F.completedAt)}),i.jsx("td",{className:"dag-cell-summary",children:F.summary||F.description||"--"})]},F.id))})]})}),i.jsx("h2",{className:"section-subtitle",children:"Agent Types"}),i.jsxs("div",{className:"dag-legend",children:[Object.entries(eE).map(([F,$])=>i.jsxs("div",{className:"legend-item",children:[i.jsx("span",{className:"legend-dot",style:{background:Ug[F]||"var(--accent-blue)"}}),i.jsx("span",{className:"legend-icon",children:$}),i.jsx("span",{className:"legend-label",children:Wg[F]||F})]},F)),i.jsxs("div",{className:"legend-item",children:[i.jsx("span",{className:"legend-dot",style:{background:"transparent",border:"2px dashed var(--accent-blue)"}}),i.jsx("span",{className:"legend-icon",children:"⚡"}),i.jsx("span",{className:"legend-label",children:"Live node"})]})]})]})]})}function Ht(e){return e==null||e<1e-5?"$0.00":e<.01?"$"+e.toFixed(6):"$"+e.toFixed(4)}function ta(e){return e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":xt(e)}function rE(e){return new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function vse({data:e}){if(!e)return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"💰",title:"Cost Tracking"}),i.jsx("div",{className:"loading-state",children:i.jsx("p",{children:"Loading cost data..."})})]});const{cost:t}=e,n=t.billedUsd!==void 0,r=t.billedUsd??t.totalCost,a=Object.entries(t.byProvider||{}).sort(([,c],[,u])=>u-c),s=Object.entries(t.byModel||{}).sort(([,c],[,u])=>u-c).slice(0,10),o=a.reduce((c,[,u])=>c+u,0),l=[];return t.recomputedCalls&&l.push(`${t.recomputedCalls} row(s) predate cost classification and were re-derived here (the ledger file was not rewritten).`),t.testOriginCalls&&l.push(`${t.testOriginCalls} test-origin row(s) excluded — a test run is not your usage.`),i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"💰",title:"Cost Tracking"}),i.jsxs("div",{className:"cost-summary",children:[i.jsxs("div",{className:"cost-total",children:[i.jsx("span",{className:"cost-label",children:n?"🧾 Billed (evidence)":"Ledger total (as recorded)"}),i.jsx("span",{className:"cost-amount",children:Ht(r)}),n?i.jsxs("span",{className:"cost-label",children:["🧾 exact ",Ht(t.billedReportedUsd)," · 📋 list-estimated ",Ht(t.billedListedUsd)]}):i.jsx("span",{className:"cost-label",children:"this server predates the billed/value split"})]}),i.jsxs("div",{className:"cost-total",children:[i.jsx("span",{className:"cost-label",children:"Total Tokens"}),i.jsx("span",{className:"cost-amount",children:ta(t.totalTokens)})]}),i.jsxs("div",{className:"cost-total",children:[i.jsx("span",{className:"cost-label",children:"Total Requests"}),i.jsx("span",{className:"cost-amount",children:ta(t.totalRequests)})]})]}),n&&i.jsxs("div",{className:"cost-summary cost-summary-sub",children:[i.jsxs("div",{className:"cost-total",children:[i.jsx("span",{className:"cost-label",children:"🎁 Value absorbed by free/subscription"}),i.jsx("span",{className:"cost-amount",children:Ht(t.notBilledValueUsd)}),i.jsxs("span",{className:"cost-label",children:[ta(t.notBilledValueCalls)," calls — at list price, NOT billed"]})]}),i.jsxs("div",{className:"cost-total",children:[i.jsx("span",{className:"cost-label",children:"❓ List-priced, billing tier undeclared"}),i.jsx("span",{className:"cost-amount",children:Ht(t.unverifiedListedUsd)}),i.jsxs("span",{className:"cost-label",children:[ta(t.unverifiedListedCalls)," calls — not counted as spend"]})]}),i.jsxs("div",{className:"cost-total",children:[i.jsx("span",{className:"cost-label",children:"⚪ Unpriced (no price evidence / gateway)"}),i.jsx("span",{className:"cost-amount",children:ta(t.unpricedCalls)}),i.jsxs("span",{className:"cost-label",children:[ta(t.unpricedTokens)," tokens, no dollars"]})]})]}),i.jsxs("div",{className:"cost-summary cost-summary-sub",children:[i.jsxs("div",{className:"cost-total",children:[i.jsx("span",{className:"cost-label",children:"📏 Measured (exact wire tokens)"}),i.jsx("span",{className:"cost-amount",children:Ht(t.measuredCost)}),i.jsxs("span",{className:"cost-label",children:[ta(t.measuredCalls)," calls"]})]}),i.jsxs("div",{className:"cost-total",children:[i.jsx("span",{className:"cost-label",children:"📐 Estimated (length-based)"}),i.jsx("span",{className:"cost-amount",children:Ht(t.estimatedCost)}),i.jsxs("span",{className:"cost-label",children:[ta(t.estimatedCalls)," calls"]})]}),i.jsxs("div",{className:"cost-total",children:[i.jsx("span",{className:"cost-label",children:"🧾 of which provider-reported (exact billed)"}),i.jsx("span",{className:"cost-amount",children:Ht(t.reportedCost)}),i.jsxs("span",{className:"cost-label",children:[ta(t.reportedCalls)," calls"]})]})]}),n&&i.jsxs("p",{className:"cost-note",children:["Billed = calls with evidence (the provider's own figure, or a list price on an account you declared",i.jsx("code",{children:" providers.<id>.billingTier paid"}),"). Value is what a free tier saved; unverified rows are priced but unclaimed. Reconcile against a provider invoice with",i.jsx("code",{children:" nuvira stats cost reconcile --provider <id> --amount <usd>"}),".",l.length>0&&i.jsxs(i.Fragment,{children:[" ",l.join(" ")]})]}),i.jsx("h2",{className:"section-subtitle",children:"Checked against a provider invoice"}),i.jsx("div",{className:"cost-list",children:!t.reconciliations||t.reconciliations.length===0?i.jsxs("div",{className:"empty-state",children:[`Nothing checked yet. Everything above is an ESTIMATE of money owed — the only "actual" figure is the provider's own, and this ledger cannot see it. Enter one with `,i.jsx("code",{children:" nuvira stats cost reconcile --provider <id> --amount <usd>"}),"."]}):t.reconciliations.map(c=>i.jsxs("div",{className:"cost-row",children:[i.jsx("span",{className:"cost-row-name",children:c.provider}),i.jsx("div",{className:"cost-row-bar",children:i.jsx("div",{className:"cost-row-fill",style:{width:`${c.invoiceUsd>0?Math.min(100,c.billedUsd/c.invoiceUsd*100):0}%`}})}),i.jsxs("span",{className:"cost-row-value",children:["invoice ",Ht(c.invoiceUsd)]}),i.jsxs("span",{className:"cost-row-reported",title:"What this ledger could evidence for the same window",children:["ledger ",Ht(c.billedUsd)]}),i.jsxs("span",{className:"cost-row-reported",title:c.verdict==="match"?"The invoice and this ledger agree":c.verdict==="under-evidenced"?"The provider charged more than this ledger can prove":"This ledger claims more than the provider charged",children:[c.verdict==="match"?"✅ match":c.verdict==="under-evidenced"?"⚠️ under-evidenced":"⚠️ over-recorded",c.verdict!=="match"?` by ${Ht(Math.abs(c.deltaUsd))}`:""]}),c.tier&&i.jsxs("span",{className:"cost-row-reported",title:"Billing tier the invoice PROVED — not assumed",children:["🔑 key is ",c.tier]}),i.jsxs("span",{className:"request-time",children:["checked ",rE(c.recordedAt)]})]},`${c.provider}-${c.recordedAt}`))}),i.jsx("h2",{className:"section-subtitle",children:"By Provider"}),i.jsx("div",{className:"cost-list",children:a.length===0?i.jsx("div",{className:"empty-state",children:"No costs recorded yet."}):a.map(([c,u])=>{var y,v,k,w,N;const d=o>0?(u/o*100).toFixed(1):"0",f=(y=t.byProviderReported)==null?void 0:y[c],h=(v=t.byProviderBilled)==null?void 0:v[c],p=(k=t.byProviderUnverified)==null?void 0:k[c],m=(w=t.byProviderValue)==null?void 0:w[c],g=(N=t.byProviderUnpricedCalls)==null?void 0:N[c];return i.jsxs("div",{className:"cost-row",children:[i.jsx("span",{className:"cost-row-name",children:c}),i.jsx("div",{className:"cost-row-bar",children:i.jsx("div",{className:"cost-row-fill",style:{width:`${d}%`}})}),i.jsx("span",{className:"cost-row-value",children:Ht(u)}),typeof f=="number"&&i.jsxs("span",{className:"cost-row-reported",title:"Provider-reported (exact billed) cost",children:["🧾 ",Ht(f)]}),typeof h=="number"&&h>0&&i.jsxs("span",{className:"cost-row-reported",title:"Billed (evidence) for this provider",children:["billed ",Ht(h)]}),typeof m=="number"&&m>0&&i.jsxs("span",{className:"cost-row-reported",title:"List-price value absorbed by a free/subscription tier — not spend",children:["value ",Ht(m)]}),typeof p=="number"&&p>0&&i.jsxs("span",{className:"cost-row-reported",title:"List-priced with the billing tier undeclared — not counted as spend",children:["unverified ",Ht(p)]}),typeof g=="number"&&g>0&&i.jsxs("span",{className:"cost-row-reported",title:"Calls with no price evidence (unknown provider, or a pass-through gateway)",children:[g," uncosted"]})]},c)})}),i.jsx("h2",{className:"section-subtitle",children:"By Model"}),i.jsx("div",{className:"cost-list",children:s.length===0?i.jsx("div",{className:"empty-state",children:"No model costs recorded yet."}):s.map(([c,u])=>{var p;const d=o>0?(u/o*100).toFixed(1):"0",f=c.length>30?c.slice(0,28)+"..":c,h=(p=t.byModelValue)==null?void 0:p[c];return i.jsxs("div",{className:"cost-row",children:[i.jsx("span",{className:"cost-row-name",children:f}),i.jsx("div",{className:"cost-row-bar",children:i.jsx("div",{className:"cost-row-fill",style:{width:`${d}%`}})}),i.jsx("span",{className:"cost-row-value",children:Ht(u)}),typeof h=="number"&&h>0&&i.jsxs("span",{className:"cost-row-reported",title:"List-price value absorbed by a free/subscription tier — not spend",children:["value ",Ht(h)]})]},c)})}),i.jsx("h2",{className:"section-subtitle",children:"Recent Requests"}),i.jsx("div",{className:"request-list",children:!t.recent||t.recent.length===0?i.jsx("div",{className:"empty-state",children:"No requests recorded yet."}):t.recent.slice(0,30).map((c,u)=>i.jsxs("div",{className:"request-row",children:[i.jsx("span",{className:"request-time",children:rE(c.timestamp)}),i.jsx("span",{className:"request-provider",children:c.provider||"--"}),i.jsx("span",{className:"request-model",children:c.model||"--"}),i.jsxs("span",{className:"request-cost",children:[c.reported?"🧾 ":"",Ht(c.costUsd)]}),i.jsxs("span",{className:"request-tokens",children:[ta(c.totalTokens)," tok"]})]},u))})]})}function yse(e){return e==null?"$0.00":"$"+e.toFixed(6)}function rf(e){return e==null?"0%":(e*100).toFixed(1)+"%"}function bse({data:e}){if(!e)return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"📈",title:"Benchmark Results"}),i.jsx("div",{className:"loading-state",children:i.jsx("p",{children:"Loading benchmark data..."})})]});const{benchmarks:t,evals:n}=e,r=t.latest,a=t.runs||[],s=(n==null?void 0:n.runs)||[],o=(n==null?void 0:n.latest)||null,l=s.map(u=>({name:u.model.length>12?u.model.slice(0,10)+"..":u.model,score:Math.round(u.summary.avgCompositeScore*100),completion:Math.round(u.summary.completionRate*100),tests:Math.round(u.summary.testPassRate*100),recovery:Math.round(u.summary.recoveryRate*100),efficiency:Math.round(u.summary.avgTokenEfficiency*100),fullModel:u.model,provider:u.provider})).reverse(),c=a.map(u=>({name:u.model.length>12?u.model.slice(0,10)+"..":u.model,passRate:u.summary.totalTasks>0?Math.round(u.summary.tasksPassed/u.summary.totalTasks*100):0,quality:Math.round(u.summary.avgQualityScore*100),latency:u.summary.medianLatencyMs,cost:u.summary.totalCostUsd,fullModel:u.model,provider:u.provider})).reverse();return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"📈",title:"Benchmark Results"}),i.jsx("div",{className:"benchmark-latest",children:r?i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"benchmark-header",children:[i.jsx("strong",{children:"Latest Run:"})," ",r.provider,"/",r.model]}),i.jsxs("div",{className:"benchmark-stats",children:[i.jsxs("div",{className:"benchmark-stat pass",children:[i.jsxs("div",{className:"benchmark-stat-value",children:[r.summary.tasksPassed,"/",r.summary.totalTasks]}),i.jsx("div",{className:"benchmark-stat-label",children:"Passed"})]}),i.jsxs("div",{className:"benchmark-stat quality",children:[i.jsx("div",{className:"benchmark-stat-value",children:rf(r.summary.avgQualityScore)}),i.jsx("div",{className:"benchmark-stat-label",children:"Quality"})]}),i.jsxs("div",{className:"benchmark-stat latency",children:[i.jsxs("div",{className:"benchmark-stat-value",children:[r.summary.medianLatencyMs,"ms"]}),i.jsx("div",{className:"benchmark-stat-label",children:"Latency"})]}),i.jsxs("div",{className:"benchmark-stat fail",children:[i.jsx("div",{className:"benchmark-stat-value",children:yse(r.summary.totalCostUsd)}),i.jsx("div",{className:"benchmark-stat-label",children:"Cost"})]})]})]}):i.jsxs("div",{className:"empty-state",children:["No benchmark runs yet. Run ",i.jsx("code",{children:"nuvira benchmark"})," to start."]})}),c.length>1&&i.jsxs(i.Fragment,{children:[i.jsx("h2",{className:"section-subtitle",children:"Pass Rate by Model"}),i.jsx("div",{className:"chart-container",children:i.jsx(os,{width:"100%",height:260,children:i.jsxs(ls,{data:c,margin:{top:20,right:20,left:10,bottom:40},children:[i.jsx(ui,{strokeDasharray:"3 3"}),i.jsx(sa,{dataKey:"name",tick:{fontSize:11}}),i.jsx(oa,{domain:[0,100],tick:{fontSize:11},tickFormatter:u=>u+"%"}),i.jsx(xn,{contentStyle:{background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:8},labelStyle:{color:"var(--text-primary)"},formatter:u=>[u+"%","Pass Rate"]}),i.jsx(bn,{dataKey:"passRate",radius:[4,4,0,0],children:c.map((u,d)=>i.jsx(mu,{fillOpacity:.8,style:{fill:u.passRate>=80?"var(--accent-green)":u.passRate>=50?"var(--accent-yellow)":"var(--accent-red)"}},d))})]})})}),i.jsx("h2",{className:"section-subtitle",children:"Latency by Model"}),i.jsx("div",{className:"chart-container",children:i.jsx(os,{width:"100%",height:260,children:i.jsxs(ls,{data:c,margin:{top:20,right:20,left:10,bottom:40},children:[i.jsx(ui,{strokeDasharray:"3 3"}),i.jsx(sa,{dataKey:"name",tick:{fontSize:11}}),i.jsx(oa,{tick:{fontSize:11},tickFormatter:u=>u+"ms"}),i.jsx(xn,{contentStyle:{background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:8},labelStyle:{color:"var(--text-primary)"},formatter:u=>[u+"ms","Latency"]}),i.jsx(bn,{dataKey:"latency",radius:[4,4,0,0],fillOpacity:.8,fill:"var(--accent-yellow)",style:{fill:"var(--accent-yellow)"}})]})})}),i.jsx("h2",{className:"section-subtitle",children:"Cost by Model"}),i.jsx("div",{className:"chart-container",children:i.jsx(os,{width:"100%",height:260,children:i.jsxs(ls,{data:c,margin:{top:20,right:20,left:10,bottom:40},children:[i.jsx(ui,{strokeDasharray:"3 3"}),i.jsx(sa,{dataKey:"name",tick:{fontSize:11}}),i.jsx(oa,{tick:{fontSize:11},tickFormatter:u=>"$"+u.toFixed(6)}),i.jsx(xn,{contentStyle:{background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:8},labelStyle:{color:"var(--text-primary)"},formatter:u=>["$"+u.toFixed(6),"Cost"]}),i.jsx(bn,{dataKey:"cost",radius:[4,4,0,0],fillOpacity:.8,fill:"var(--accent-purple)",style:{fill:"var(--accent-purple)"}})]})})})]}),i.jsx("h2",{className:"section-subtitle",children:"🎯 Agent Evaluation"}),i.jsx("p",{className:"section-hint",style:{color:"var(--text-secondary)",fontSize:12,marginBottom:16},children:"End-to-end coding tasks run through the full agent pipeline — measures if the agent is actually improving."}),i.jsx("div",{className:"benchmark-latest",children:o?i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"benchmark-header",children:[i.jsx("strong",{children:"Latest Eval Run:"})," ",o.provider,"/",o.model]}),i.jsxs("div",{className:"benchmark-stats",children:[i.jsxs("div",{className:"benchmark-stat pass",children:[i.jsxs("div",{className:"benchmark-stat-value",children:[o.summary.tasksPassed,"/",o.summary.totalTasks]}),i.jsx("div",{className:"benchmark-stat-label",children:"Tests Passed"})]}),i.jsxs("div",{className:"benchmark-stat quality",children:[i.jsx("div",{className:"benchmark-stat-value",children:rf(o.summary.avgCompositeScore)}),i.jsx("div",{className:"benchmark-stat-label",children:"Composite Score"})]}),i.jsxs("div",{className:"benchmark-stat latency",children:[i.jsx("div",{className:"benchmark-stat-value",children:rf(o.summary.recoveryRate)}),i.jsx("div",{className:"benchmark-stat-label",children:"Recovery Rate"})]}),i.jsxs("div",{className:"benchmark-stat fail",children:[i.jsx("div",{className:"benchmark-stat-value",children:o.summary.totalRollbacks}),i.jsx("div",{className:"benchmark-stat-label",children:"Rollbacks"})]}),i.jsxs("div",{className:"benchmark-stat deps",children:[i.jsx("div",{className:"benchmark-stat-value",children:rf(o.summary.dependencyInstallRate)}),i.jsx("div",{className:"benchmark-stat-label",children:"Deps Installed"})]})]})]}):i.jsxs("div",{className:"empty-state",children:["No eval runs yet. Run ",i.jsx("code",{children:"nuvira eval run"})," to measure the agent end-to-end."]})}),l.length>1&&i.jsxs(i.Fragment,{children:[i.jsx("h2",{className:"section-subtitle",children:"Composite Score by Model"}),i.jsx("div",{className:"chart-container",children:i.jsx(os,{width:"100%",height:260,children:i.jsxs(ls,{data:l,margin:{top:20,right:20,left:10,bottom:40},children:[i.jsx(ui,{strokeDasharray:"3 3"}),i.jsx(sa,{dataKey:"name",tick:{fontSize:11}}),i.jsx(oa,{domain:[0,100],tick:{fontSize:11},tickFormatter:u=>u+"%"}),i.jsx(xn,{contentStyle:{background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:8},labelStyle:{color:"var(--text-primary)"},formatter:u=>[u+"%","Composite Score"]}),i.jsx(bn,{dataKey:"score",radius:[4,4,0,0],children:l.map((u,d)=>i.jsx(mu,{fillOpacity:.8,style:{fill:u.score>=80?"var(--accent-green)":u.score>=50?"var(--accent-yellow)":"var(--accent-red)"}},d))})]})})}),i.jsx("h2",{className:"section-subtitle",children:"Metric Breakdown (completion / tests / recovery / token efficiency)"}),i.jsx("div",{className:"chart-container",children:i.jsx(os,{width:"100%",height:260,children:i.jsxs(ls,{data:l,margin:{top:20,right:20,left:10,bottom:40},children:[i.jsx(ui,{strokeDasharray:"3 3"}),i.jsx(sa,{dataKey:"name",tick:{fontSize:11}}),i.jsx(oa,{domain:[0,100],tick:{fontSize:11},tickFormatter:u=>u+"%"}),i.jsx(xn,{contentStyle:{background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:8},labelStyle:{color:"var(--text-primary)"}}),i.jsx(xs,{}),i.jsx(bn,{dataKey:"completion",name:"Completion",radius:[4,4,0,0],fillOpacity:.8,fill:"var(--accent-green)",style:{fill:"var(--accent-green)"}}),i.jsx(bn,{dataKey:"tests",name:"Tests",radius:[4,4,0,0],fillOpacity:.8,fill:"var(--accent-blue)",style:{fill:"var(--accent-blue)"}}),i.jsx(bn,{dataKey:"recovery",name:"Recovery",radius:[4,4,0,0],fillOpacity:.8,fill:"var(--accent-yellow)",style:{fill:"var(--accent-yellow)"}}),i.jsx(bn,{dataKey:"efficiency",name:"Token Eff.",radius:[4,4,0,0],fillOpacity:.8,fill:"var(--accent-purple)",style:{fill:"var(--accent-purple)"}})]})})})]}),i.jsx("h2",{className:"section-subtitle",children:"Eval Run History"}),i.jsx("div",{className:"benchmark-list",children:s.length===0?i.jsxs("div",{className:"empty-state",children:["No eval runs yet. Run ",i.jsx("code",{children:"nuvira eval run"})," to start."]}):s.map(u=>{const d=Math.round(u.summary.avgCompositeScore*100),f=d>=80?"high":d>=50?"medium":"low";return i.jsxs("div",{className:"benchmark-item",children:[i.jsx("span",{className:"benchmark-date",children:new Date(u.startedAt).toLocaleDateString("en-US",{month:"short",day:"numeric"})}),i.jsxs("span",{className:"benchmark-model",children:[u.provider,"/",u.model]}),i.jsxs("span",{className:`benchmark-score ${f}`,children:[d,"%"]})]},u.id)})}),i.jsx("h2",{className:"section-subtitle",children:"Run History"}),i.jsx("div",{className:"benchmark-list",children:a.length===0?i.jsxs("div",{className:"empty-state",children:["No benchmark runs yet. Run ",i.jsx("code",{children:"nuvira benchmark"})," to start."]}):a.map(u=>{const d=u.summary.totalTasks>0?Math.round(u.summary.tasksPassed/u.summary.totalTasks*100):0,f=d>=80?"high":d>=50?"medium":"low";return i.jsxs("div",{className:"benchmark-item",children:[i.jsx("span",{className:"benchmark-date",children:new Date(u.startedAt).toLocaleDateString("en-US",{month:"short",day:"numeric"})}),i.jsxs("span",{className:"benchmark-model",children:[u.provider,"/",u.model]}),i.jsxs("span",{className:`benchmark-score ${f}`,children:[d,"%"]})]},u.id)})})]})}const xse={pass:"✅",warn:"⚠️",fail:"❌"},wse={pass:"PASS",warn:"WARN",fail:"FAIL"};function oM(e){const t={pass:0,warn:0,fail:0};for(const n of e)t[n.status]!==void 0&&(t[n.status]+=1);return t}function lM(e){const t=[];return e.fail>0&&t.push(`${e.fail} failing`),e.warn>0&&t.push(`${e.warn} warning${e.warn===1?"":"s"}`),e.pass>0&&t.push(`${e.pass} passing`),t.length>0?t.join(" · "):"no checks"}function Wb({check:e}){return i.jsxs("div",{className:"admin-check-row","data-status":e.status,"data-testid":`check-${e.name}`,children:[i.jsxs("span",{className:`admin-check-badge admin-check-${e.status}`,children:[xse[e.status]," ",wse[e.status]]}),i.jsxs("div",{className:"admin-check-body",children:[i.jsx("div",{className:"admin-check-name",children:e.name}),i.jsx("div",{className:"admin-check-message",children:e.message}),e.detail?i.jsx("div",{className:"admin-check-detail",children:e.detail}):null,e.fix?i.jsxs("div",{className:"admin-check-fix",children:["💡 ",e.fix]}):null]})]})}function aE(e){return`${(e*100).toFixed(1)}%`}function kse(e){return e>=.9?"ok":e>=.7?"warn":"danger"}function gc(e){return e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":xt(e)}function Sse(e){if(!e)return"never";const t=Math.floor((Date.now()-e)/1e3);if(t<60)return`${t}s ago`;const n=Math.floor(t/60);if(n<60)return`${n}m ago`;const r=Math.floor(n/60);return r<24?`${r}h ${n%60}m ago`:`${Math.floor(r/24)}d ago`}function iE({title:e,blurb:t,checks:n,testId:r}){const a=oM(n);return i.jsxs("section",{style:{marginBottom:18},"data-testid":r,children:[i.jsxs("div",{style:{display:"flex",alignItems:"baseline",gap:10,flexWrap:"wrap"},children:[i.jsx("h2",{className:"section-subtitle",style:{margin:0},children:e}),i.jsx("span",{style:{fontSize:12,color:a.fail>0?"var(--accent-red)":a.warn>0?"var(--accent-yellow)":"var(--accent-green)"},"data-testid":`${r}-summary`,children:lM(a)})]}),i.jsx("p",{style:{fontSize:11,color:"var(--text-secondary)",margin:"4px 0 10px"},children:t}),i.jsx("div",{className:"admin-check-list",children:n.length>0?n.map(s=>i.jsx(Wb,{check:s},s.name)):i.jsxs("div",{className:"empty-state",children:["No ",e.toLowerCase()," checks returned."]})})]})}function jse({data:e,connected:t,lastUpdated:n}){const[r,a]=b.useState(null),[s,o]=b.useState(null),[l,c]=b.useState(!1),u=b.useCallback(async()=>{c(!0),o(null);const v=await K.fetchAdminChecks();v?a(v):o("Could not reach the dashboard server, or it is older than this page. Run `nuvira dashboard` to start it."),c(!1)},[]);b.useEffect(()=>{u()},[u]);const d=e==null?void 0:e.health,f=(d==null?void 0:d.agentStats)??null,h=[...(r==null?void 0:r.system)??[],...(r==null?void 0:r.enterprise)??[]],p=oM(h),m=((r==null?void 0:r.providers)??[]).filter(v=>v.configured).length,g=((r==null?void 0:r.providers)??[]).length,y=f?Object.entries(f.agents).map(([v,k])=>({agent:v,...k})).sort((v,k)=>k.totalRuns-v.totalRuns||v.agent.localeCompare(k.agent)):[];return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"⚙️",title:"System Health"}),i.jsxs("p",{className:"section-description",style:{fontSize:12,color:"var(--text-secondary)",marginBottom:14},children:["The same checks ",i.jsx("code",{children:"nuvira doctor"})," runs, executed on demand — pass / warn / fail, with the fix for anything that is not passing. The store counters at the bottom are how big the agent's memory files are; they are not a health verdict."]}),i.jsxs("div",{className:"health-grid",style:{marginBottom:18},children:[i.jsxs("div",{className:"health-card",children:[i.jsx("span",{className:"health-icon",children:t?"🟢":"🟠"}),i.jsxs("div",{className:"health-body",children:[i.jsx("div",{className:"health-title",children:"Live Stream"}),i.jsx("div",{className:"health-value","data-testid":"connection-state",children:t?"● Connected":"● Reconnecting…"})]})]}),i.jsxs("div",{className:"health-card",children:[i.jsx("span",{className:"health-icon",children:"⏱️"}),i.jsxs("div",{className:"health-body",children:[i.jsx("div",{className:"health-title",children:"Last Update"}),i.jsx("div",{className:"health-value",children:n})]})]}),i.jsxs("div",{className:"health-card",children:[i.jsx("span",{className:"health-icon",children:"🩺"}),i.jsxs("div",{className:"health-body",children:[i.jsx("div",{className:"health-title",children:"Doctor"}),i.jsx("div",{className:"health-value","data-testid":"doctor-verdict",style:{color:p.fail>0?"var(--accent-red)":p.warn>0?"var(--accent-yellow)":"var(--accent-green)"},children:r?lM(p):l?"running…":"--"})]})]})]}),i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:6},children:[i.jsx("h2",{className:"section-subtitle",style:{margin:0},children:"Doctor Checks"}),i.jsx("button",{className:"admin-refresh-btn",type:"button",disabled:l,onClick:()=>void u(),"data-testid":"run-checks",children:l?"⏳ Running…":"↻ Run checks again"}),g>0?i.jsxs("span",{style:{fontSize:11,color:"var(--text-secondary)"},children:[m," of ",g," providers configured — per-provider detail is on the Admin tab"]}):null]}),s?i.jsx("div",{className:"admin-row-msg admin-row-msg-err",style:{marginBottom:12},children:s}):null,!r&&!s?i.jsx("div",{className:"loading-state",children:"Running checks…"}):null,r?i.jsxs(i.Fragment,{children:[i.jsx(iE,{title:"System",blurb:"Runtime, filesystem, configuration and the local model surface.",checks:r.system,testId:"checks-system"}),i.jsx(iE,{title:"Enterprise",blurb:"Governance, audit, RBAC and the controls an operator is accountable for.",checks:r.enterprise,testId:"checks-enterprise"})]}):null,i.jsx("h2",{className:"section-subtitle",children:"Agent Performance"}),f?i.jsxs(i.Fragment,{children:[i.jsx(Ui,{tiles:[{key:"runs",icon:"🩺",value:gc(f.totalRuns),label:"Recorded runs",tone:"accent"},{key:"success-rate",icon:"✅",value:aE(f.overallSuccessRate),label:"Overall success rate",tone:kse(f.overallSuccessRate)}]}),y.length>0?i.jsx("div",{style:{display:"flex",flexDirection:"column",gap:4,marginBottom:18},children:y.map(v=>i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12,fontSize:12,padding:"4px 0",borderBottom:"1px solid var(--border-light)"},"data-testid":`agent-stats-${v.agent}`,children:[i.jsx("span",{style:{flex:1,color:"var(--text-primary)"},children:v.agent}),i.jsxs("span",{style:{color:"var(--text-secondary)"},children:[gc(v.totalRuns)," runs"]}),i.jsx("span",{style:{color:v.successRate>=.9?"var(--accent-green)":v.successRate>=.7?"var(--accent-yellow)":"var(--accent-red)"},children:aE(v.successRate)}),i.jsx("span",{style:{color:"var(--text-secondary)",minWidth:78,textAlign:"right"},children:Sse(v.lastRun)})]},v.agent))}):i.jsx("p",{style:{fontSize:11,color:"var(--text-secondary)",marginBottom:18},children:"No agent runs recorded yet — this fills in as agents execute."})]}):i.jsx("p",{style:{fontSize:11,color:"var(--text-secondary)",marginBottom:18},children:"No agent-stats file yet. Run a task and the per-agent success rates appear here."}),i.jsx("h2",{className:"section-subtitle",children:"Learning Stores"}),i.jsx("p",{style:{fontSize:11,color:"var(--text-secondary)",margin:"4px 0 10px"},children:"What the agent has learned into disk. Sizes, not verdicts."}),i.jsxs("div",{className:"health-grid",children:[i.jsxs("div",{className:"health-card",children:[i.jsx("span",{className:"health-icon",children:"💾"}),i.jsxs("div",{className:"health-body",children:[i.jsx("div",{className:"health-title",children:"Memory Directory"}),i.jsx("div",{className:"health-path",children:(d==null?void 0:d.memoryDir)||"~/.nuvira/memory/"})]})]}),i.jsxs("div",{className:"health-card",children:[i.jsx("span",{className:"health-icon",children:"📝"}),i.jsxs("div",{className:"health-body",children:[i.jsx("div",{className:"health-title",children:"Coding Patterns"}),i.jsx("div",{className:"health-value",children:gc(d==null?void 0:d.patterns)})]})]}),i.jsxs("div",{className:"health-card",children:[i.jsx("span",{className:"health-icon",children:"👍"}),i.jsxs("div",{className:"health-body",children:[i.jsx("div",{className:"health-title",children:"User Feedback"}),i.jsxs("div",{className:"health-value",children:[gc(d==null?void 0:d.feedback)," ratings"]})]})]}),i.jsxs("div",{className:"health-card",children:[i.jsx("span",{className:"health-icon",children:"🧠"}),i.jsxs("div",{className:"health-body",children:[i.jsx("div",{className:"health-title",children:"Vector Index"}),i.jsxs("div",{className:"health-value",children:[gc(d==null?void 0:d.vectors)," entries"]})]})]})]}),e?null:i.jsx("p",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:10},children:"Waiting for the first data frame from the dashboard server — the checks above do not depend on it."}),i.jsx("h2",{className:"section-subtitle",children:"Server Info"}),i.jsxs("div",{className:"server-info",children:[i.jsxs("div",{className:"info-row",children:[i.jsx("span",{className:"info-label",children:"Stream"}),i.jsx("span",{className:"info-value",children:t?"● Connected":"● Reconnecting…"})]}),i.jsxs("div",{className:"info-row",children:[i.jsx("span",{className:"info-label",children:"Last Updated"}),i.jsx("span",{className:"info-value",children:n})]}),i.jsxs("div",{className:"info-row",children:[i.jsx("span",{className:"info-label",children:"Checks run at"}),i.jsx("span",{className:"info-value",children:r!=null&&r.serverTime?new Date(r.serverTime).toLocaleString():"--"})]}),i.jsxs("div",{className:"info-row",children:[i.jsx("span",{className:"info-label",children:"Data Directory"}),i.jsx("span",{className:"info-value",children:(d==null?void 0:d.memoryDir)||"~/.nuvira/memory/"})]})]})]})}const Nse=new Set(["local","lmstudio","vllm"]),Ese=new Set([]),sp={available:{bg:"var(--ok-soft)",text:"var(--accent-green)",dot:"var(--accent-green)",cardBorder:"var(--accent-green)",cardBg:"var(--ok-soft)"},limited:{bg:"var(--warn-soft)",text:"var(--accent-yellow)",dot:"var(--accent-yellow)",cardBorder:"var(--accent-yellow)",cardBg:"var(--warn-soft)"},unavailable:{bg:"var(--danger-soft)",text:"var(--accent-red)",dot:"var(--accent-red)",cardBorder:"var(--accent-red)",cardBg:"var(--danger-soft)"}},_se=[3,4,5],cM=12e3,sE=[300,700],Cse=6e4,Ase=5e3;function Tse(e){return new Promise(t=>setTimeout(t,e))}async function uM(e,t){const n=new AbortController,r=setTimeout(()=>n.abort(),t);try{return await fetch(e,{signal:n.signal})}finally{clearTimeout(r)}}function dM(e){return e instanceof TypeError||e instanceof Error&&e.name==="AbortError"}async function Ose(e){let t=null,n=!1;for(let r=0;;r++){try{const a=await uM("/api/models",cM);if(!a.ok)t=a.status;else{const s=await nt(a);if(s&&Array.isArray(s.providers))return s;throw new Error("Model health endpoint returned an unexpected response — is the dashboard server up to date?")}}catch(a){if(!dM(a))throw a;n=!0,e==null||e()}if(r>=sE.length)throw new Error(n?"Dashboard server unreachable — is it still running? Retrying automatically…":`Model health endpoint failed (HTTP ${t})`);await Tse(sE[r])}}async function Pse(e){for(let t=0;;t++)try{const n=await uM("/api/model-registry",cM);return n.ok?await nt(n):null}catch(n){if(!dM(n)||t>=1)return null;e==null||e()}}function Rse(e){return e==="available"?"Available":e==="limited"?"Limited":"Unavailable"}function Mse(e){return e==="available"?"Ready":e==="limited"?"Limited":"Down"}function fM(e){return{local:"💻",groq:"🟢",nim:"🔶",gemini:"🔷",openrouter:"🟣",openai:"🤖",anthropic:"🔮",mistral:"🌀",cohere:"🧠",together:"🟢",deepinfra:"🌐",fireworks:"🎆",perplexity:"❓",azure:"🔵",anyscale:"🔷",lmstudio:"🎨",vllm:"⚡"}[e]||"🔌"}function d0(e){return{local:"Ollama",groq:"Groq",nim:"NVIDIA NIM",gemini:"Gemini",openrouter:"OpenRouter",openai:"OpenAI",anthropic:"Anthropic",mistral:"Mistral",cohere:"Cohere",together:"Together AI",deepinfra:"DeepInfra",fireworks:"Fireworks AI",perplexity:"Perplexity",azure:"Azure OpenAI",anyscale:"Anyscale",lmstudio:"LM Studio",vllm:"vLLM / TGI"}[e]||e}function oE({status:e,label:t}){const n=sp[e];return i.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:6,background:n.bg,color:n.text,padding:"3px 10px",borderRadius:12,fontSize:12,fontWeight:500,border:`1px solid ${n.text}22`},children:[i.jsx("span",{style:{width:8,height:8,borderRadius:"50%",background:n.dot}}),t]})}function Ise({onRefresh:e,loading:t}){return i.jsxs("div",{className:"stats-grid mini",style:{marginBottom:16},children:[i.jsx("button",{onClick:e,disabled:t,className:"stat-card",style:{cursor:t?"not-allowed":"pointer",opacity:t?.6:1,border:"1px solid var(--border)",justifyContent:"center",fontSize:13},children:t?"⏳ Testing...":"🔄 Refresh Status"}),i.jsx("div",{className:"stat-card",style:{border:"1px solid var(--border)"},children:i.jsx("div",{style:{fontSize:13,color:"var(--text-secondary)",textAlign:"center",width:"100%"},children:"Tests all configured providers and their API keys in real time"})})]})}function $se({data:e}){const t=e.totalModels;if(t===0)return null;const n=e.available||0,r=e.limited||0,a=e.unavailable||0;return i.jsxs("div",{style:{marginBottom:16},children:[i.jsxs("div",{style:{background:"var(--bg-primary)",borderRadius:8,overflow:"hidden",height:10,display:"flex",border:"1px solid var(--border-light)"},children:[n>0&&i.jsx("div",{style:{width:`${n/t*100}%`,background:"var(--accent-green)",transition:"width 0.5s"},title:`${n} available`}),r>0&&i.jsx("div",{style:{width:`${r/t*100}%`,background:"var(--accent-yellow)",transition:"width 0.5s"},title:`${r} limited`}),a>0&&i.jsx("div",{style:{width:`${a/t*100}%`,background:"var(--accent-red)",transition:"width 0.5s"},title:`${a} unavailable`})]}),i.jsxs("div",{style:{display:"flex",gap:16,marginTop:6,fontSize:12,color:"var(--text-secondary)"},children:[i.jsxs("span",{children:[i.jsx("span",{style:{color:"var(--accent-green)"},children:"●"})," Ready"]}),i.jsxs("span",{children:[i.jsx("span",{style:{color:"var(--accent-yellow)"},children:"●"})," Limited"]}),i.jsxs("span",{children:[i.jsx("span",{style:{color:"var(--accent-red)"},children:"●"})," Unavailable"]})]}),typeof e.routable=="number"&&i.jsxs("div",{style:{marginTop:6,fontSize:12,color:"var(--text-secondary)",lineHeight:1.5},children:[i.jsx("strong",{style:{color:"var(--text-primary)"},children:t})," listed by providers ·"," ",i.jsx("strong",{style:{color:e.routable>0?"var(--accent-green)":"var(--accent-yellow)"},children:e.routable})," ","routable right now (verified, un-parked, not stale)",typeof e.registryTotal=="number"&&e.registryTotal>0&&i.jsxs(i.Fragment,{children:[" ","· registry tracks"," ",i.jsx("strong",{style:{color:"var(--text-primary)"},children:e.registryVerified??0})," of"," ",i.jsx("strong",{style:{color:"var(--text-primary)"},children:e.registryTotal})," verified"]})]})]})}function af({provider:e}){const[t,n]=b.useState(!1),r=sp[e.overallStatus].text,a={available:e.models.filter(s=>s.status==="available").length,limited:e.models.filter(s=>s.status==="limited").length,unavailable:e.models.filter(s=>s.status==="unavailable").length};return i.jsxs("div",{style:{background:"var(--bg-card)",borderRadius:12,border:`1px solid ${r}44`,borderLeft:`4px solid ${r}`,marginBottom:12,overflow:"hidden"},children:[i.jsxs("div",{onClick:()=>n(!t),style:{padding:"14px 18px",cursor:"pointer",display:"flex",alignItems:"center",gap:14,userSelect:"none"},children:[i.jsx("span",{style:{fontSize:24},children:e.icon}),i.jsxs("div",{style:{flex:1},children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:2},children:[i.jsx("span",{style:{fontSize:16,fontWeight:600,color:"var(--text-primary)"},children:e.providerLabel}),i.jsx(oE,{status:e.overallStatus,label:Rse(e.overallStatus)})]}),i.jsxs("div",{style:{fontSize:13,color:"var(--text-secondary)"},children:[e.models.length," model",e.models.length!==1?"s":"",a.available>0&&i.jsxs("span",{style:{color:"var(--accent-green)"},children:[" · ",a.available," ready"]}),a.limited>0&&i.jsxs("span",{style:{color:"var(--accent-yellow)"},children:[" · ",a.limited," limited"]}),a.unavailable>0&&i.jsxs("span",{style:{color:"var(--accent-red)"},children:[" · ",a.unavailable," unavailable"]})]})]}),i.jsxs("div",{style:{fontSize:12,color:"var(--text-secondary)",textAlign:"right"},children:[i.jsx("div",{style:{marginBottom:2,color:e.apiConfigured?"var(--accent-green)":"var(--accent-red)"},children:e.apiConfigured?"✅ Key set":"❌ No key"}),i.jsx("div",{style:{color:e.apiAccessible?"var(--accent-green)":"var(--accent-red)"},children:e.apiAccessible?"✅ Connected":"❌ Offline"})]}),i.jsx("span",{style:{color:"var(--text-secondary)",fontSize:18,transition:"transform 0.2s",transform:t?"rotate(90deg)":"rotate(0deg)"},children:"▶"})]}),t&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{style:{padding:"10px 18px",background:"var(--bg-primary)",fontSize:13,color:"var(--text-secondary)",display:"flex",justifyContent:"space-between",flexWrap:"wrap",gap:8,borderTop:"1px solid var(--border-light)"},children:[i.jsx("span",{children:e.notes}),e.freeTierInfo&&i.jsxs("span",{style:{color:"var(--accent-yellow)"},children:["🎁 ",e.freeTierInfo]})]}),i.jsx("div",{style:{overflowX:"auto",borderTop:"1px solid var(--border-light)"},children:i.jsxs("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:13},children:[i.jsx("thead",{children:i.jsxs("tr",{style:{borderBottom:"1px solid var(--border-light)",color:"var(--text-secondary)"},children:[i.jsx("th",{style:{padding:"8px 18px",textAlign:"left",fontWeight:500},children:"Model"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"Status"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"Quota"}),i.jsx("th",{style:{padding:"8px 18px",textAlign:"left",fontWeight:500},children:"Details"})]})}),i.jsx("tbody",{children:e.models.map((s,o)=>i.jsxs("tr",{style:{borderBottom:o<e.models.length-1?"1px solid var(--border-light)":"none",background:s.status==="unavailable"?"var(--bg-primary)":"transparent"},children:[i.jsxs("td",{style:{padding:"8px 18px",color:"var(--text-primary)",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:12},children:[i.jsx("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",background:sp[s.status].dot,marginRight:8}}),s.name]}),i.jsx("td",{style:{padding:"8px 12px"},children:i.jsx(oE,{status:s.status,label:Mse(s.status)})}),i.jsx("td",{style:{padding:"8px 12px",color:"var(--text-secondary)",fontSize:12,fontFamily:"'SFMono-Regular', Consolas, monospace"},children:s.rateLimitRemaining!==void 0?s.rateLimitTotal?`${s.rateLimitRemaining}/${s.rateLimitTotal}`:`${s.rateLimitRemaining} left`:"—"}),i.jsx("td",{style:{padding:"8px 18px",color:"var(--text-secondary)",fontSize:12},children:s.statusReason})]},s.id))})]})})]})]})}function hM(e){if(e<=0)return"now";const t=Math.floor(e/36e5),n=Math.floor(e%36e5/6e4);return t>0?`${t}h ${n}m`:n>0?`${n}m`:`${Math.ceil(e/1e3)}s`}function Lse(e){return e==="verified"?{text:"var(--accent-green)",bg:"var(--ok-soft)",dot:"var(--accent-green)"}:e==="unavailable"?{text:"var(--accent-red)",bg:"var(--danger-soft)",dot:"var(--accent-red)"}:{text:"var(--text-secondary)",bg:"var(--bg-hover)",dot:"var(--bg-hover)"}}function Dse({rate:e}){const t=Math.round(e*100);return i.jsxs("span",{title:`⏸ flaky mid-stream ${t}% — started streaming, died before finish; the router deprioritizes flaky models (P4 M4.4)`,style:{marginLeft:8,fontSize:10,padding:"1px 6px",borderRadius:8,whiteSpace:"nowrap",background:"var(--purple-soft)",border:"1px solid var(--accent-purple)",color:"var(--accent-purple)"},children:["⏸ flaky ",t,"%"]})}function Bse({tokens:e}){const t=e>=1048576?`${(e/1048576).toFixed(1).replace(/\.0$/,"")}M`:e>=1024?`${(e/1024).toFixed(0)}K`:`${e}`;return i.jsxs("span",{title:`⏳ context window ${xt(e)} tokens — live from the provider's model list (v1.60.x); feeds the router's context preflight`,style:{marginLeft:8,fontSize:10,padding:"1px 6px",borderRadius:8,whiteSpace:"nowrap",background:"var(--info-soft)",border:"1px solid var(--accent-blue)",color:"var(--accent-blue)"},children:["⏳ ",t]})}function zse({history:e}){if(!e||e.length<2)return null;const t=46,n=14,r=1.5,a=Math.max(.01,...e.map(d=>d.rate)),s=e.map((d,f)=>{const h=r+f/(e.length-1)*(t-r*2),p=n-r-d.rate/a*(n-r*2);return`${h.toFixed(1)},${p.toFixed(1)}`}).join(" "),o=e[0].rate,l=e[e.length-1].rate,c=l<o,u=Math.round(l*100);return i.jsxs("svg",{width:t,height:n,viewBox:`0 0 ${t} ${n}`,style:{marginLeft:8,verticalAlign:"middle",cursor:"default"},"aria-label":"Flakiness trend",children:[i.jsx("title",{children:c?`Flakiness healing — ${u}% now, trending down (clean successes decay the signal)`:`Flakiness climbing — ${u}% now (recent mid-stream interruptions)`}),i.jsx("polyline",{points:s,fill:"none",style:{stroke:"var(--accent-purple)"},strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",opacity:.9}),i.jsx("circle",{cx:t-r,cy:n-r-l/a*(n-r*2),r:2,style:{fill:c?"var(--accent-green)":"var(--accent-purple)"}})]})}function Fse({entry:e}){const t=Lse(e.status),n=e.remainingTokens>=0?`${xt(e.remainingTokens)} left`:"unlimited";return i.jsxs("tr",{style:{borderBottom:"1px solid var(--border-light)"},children:[i.jsxs("td",{style:{padding:"8px 12px",color:"var(--text-primary)",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:12},children:[i.jsx("span",{style:{display:"inline-block",width:8,height:8,borderRadius:"50%",background:t.dot,marginRight:8}}),e.model.length>32?e.model.slice(0,29)+"…":e.model,(e.partialRate??0)>0&&i.jsx(Dse,{rate:e.partialRate??0}),e.partialHistory&&e.partialHistory.length>=2&&i.jsx(zse,{history:e.partialHistory}),e.parked&&i.jsx("span",{style:{marginLeft:8,fontSize:10,padding:"1px 6px",borderRadius:8,background:"var(--danger-soft)",border:"1px solid var(--accent-red)",color:"var(--accent-red)"},children:"⏸ parked"}),e.measuredSamples?i.jsxs("span",{style:{marginLeft:8,fontSize:10,padding:"1px 6px",borderRadius:8,whiteSpace:"nowrap",background:"var(--ok-soft)",border:"1px solid var(--accent-green)",color:"var(--accent-green)"},children:["📏 ",e.measuredInputTokens,"→",e.measuredOutputTokens," tok"]}):i.jsx("span",{style:{marginLeft:8,fontSize:10,padding:"1px 6px",borderRadius:8,whiteSpace:"nowrap",background:"var(--bg-hover)",border:"1px solid var(--border-hover)",color:"var(--text-secondary)"},children:"📐 est"}),e.contextWindowTokens&&i.jsx(Bse,{tokens:e.contextWindowTokens})]}),i.jsx("td",{style:{padding:"8px 12px"},children:i.jsx("span",{style:{display:"inline-flex",alignItems:"center",gap:5,fontSize:11,fontWeight:600,background:t.bg,color:t.text,padding:"2px 8px",borderRadius:6},children:e.status==="verified"?"✓ Verified":e.status==="unavailable"?"✗ Unavailable":"◌ Unverified"})}),i.jsx("td",{style:{padding:"8px 12px",textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:12,color:e.remainingTokens>=0&&e.remainingTokens<=100?"var(--accent-yellow)":"var(--text-secondary)"},children:n}),i.jsx("td",{style:{padding:"8px 12px",textAlign:"right",color:"var(--text-secondary)",fontSize:12,whiteSpace:"nowrap"},children:e.resetsInMs>0?hM(e.resetsInMs):"—"}),i.jsx("td",{style:{padding:"8px 12px",textAlign:"right",color:"var(--text-secondary)",fontSize:12,fontFamily:"'SFMono-Regular', Consolas, monospace"},children:e.latencyMs!==void 0?`${e.latencyMs}ms`:"—"}),i.jsx("td",{style:{padding:"8px 12px",color:"var(--text-muted)",fontSize:11,maxWidth:180,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.lastError||(e.source?`learned via ${e.source}`:"")})]})}function Use({provider:e}){const[t,n]=b.useState(!1),r=e.verified>0?"var(--accent-green)":e.unavailable>0?"var(--accent-red)":"var(--border-hover)";return i.jsxs("div",{style:{background:"var(--bg-card)",borderRadius:12,border:`1px solid ${r}44`,borderLeft:`4px solid ${r}`,marginBottom:12,overflow:"hidden"},children:[i.jsxs("div",{onClick:()=>n(!t),style:{padding:"14px 18px",cursor:"pointer",display:"flex",alignItems:"center",gap:14,userSelect:"none"},children:[i.jsx("span",{style:{fontSize:24},children:fM(e.provider)}),i.jsxs("div",{style:{flex:1},children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:2},children:[i.jsx("span",{style:{fontSize:16,fontWeight:600,color:"var(--text-primary)"},children:d0(e.provider)}),i.jsx("span",{style:{fontSize:11,padding:"2px 8px",borderRadius:10,background:e.parked>0?"var(--danger-soft)":"var(--ok-soft)",border:`1px solid ${e.parked>0?"var(--accent-red)":"var(--accent-green)"}`,color:e.parked>0?"var(--accent-red)":"var(--accent-green)"},children:e.parked>0?`${e.parked} parked`:"routable"}),(e.flaky??0)>0&&i.jsxs("span",{style:{fontSize:11,padding:"2px 8px",borderRadius:10,background:"var(--purple-soft)",border:"1px solid var(--accent-purple)",color:"var(--accent-purple)"},children:["⏸ ",e.flaky," flaky"]})]}),i.jsxs("div",{style:{fontSize:13,color:"var(--text-secondary)"},children:[e.verified," verified · ",e.unverified," unverified · ",e.unavailable," unavailable"]})]}),i.jsx("span",{style:{color:"var(--text-secondary)",fontSize:18,transition:"transform 0.2s",transform:t?"rotate(90deg)":"rotate(0deg)"},children:"▶"})]}),t&&i.jsx("div",{style:{overflowX:"auto",borderTop:"1px solid var(--border-light)"},children:i.jsxs("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:13},children:[i.jsx("thead",{children:i.jsxs("tr",{style:{borderBottom:"1px solid var(--border-light)",color:"var(--text-secondary)"},children:[i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"Model"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"Availability"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"right",fontWeight:500},children:"Tokens left"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"right",fontWeight:500},children:"Resets in"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"right",fontWeight:500},children:"Latency"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"Reason / Source"})]})}),i.jsx("tbody",{children:e.models.map(a=>i.jsx(Fse,{entry:a},a.model))})]})})]})}function Wse(e){if(!e)return null;const t=Object.entries(e.consecutive).filter(([,n])=>n>0);return t.length===0?null:i.jsxs("div",{style:{background:"color-mix(in srgb, var(--accent-yellow) 8%, transparent)",border:"1px solid var(--accent-yellow)",borderRadius:10,padding:"10px 14px",marginBottom:14,fontSize:12,color:"var(--accent-yellow)",display:"flex",gap:10,alignItems:"flex-start"},children:[i.jsx("span",{style:{fontSize:15,lineHeight:"18px"},children:"🧹"}),i.jsxs("div",{children:[i.jsx("div",{style:{fontWeight:600,color:"var(--accent-yellow)",marginBottom:2},children:"Key hygiene in progress"}),i.jsx("div",{children:t.map(([n,r])=>i.jsxs("span",{style:{display:"inline-block",marginRight:12},children:[i.jsx("code",{style:{color:"var(--text-primary)"},children:n})," ",r,"/",e.threshold," consecutive auth failures",r>=e.threshold?" — key auto-cleared 🚫":" — key will be auto-cleared at the threshold"]},n))}),i.jsxs("div",{style:{marginTop:4,color:"var(--accent-yellow)"},children:["After ",e.threshold," consecutive 401/403s the invalid key is removed from config; run"," ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"nuvira config set providers.<provider>.apiKey <real-key>"})," to re-enable."]})]})]})}function Hse({data:e}){return e.enabled?i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"📦",title:"Model Availability Registry"}),i.jsxs("p",{className:"section-description",children:["The unified sub-ms FAISS/JSON snapshot the Auto router consults on every pick: verified vs unavailable models plus quota telemetry (tokens remaining, reset windows) mirrored from the ledger. Each row's ",i.jsx("strong",{children:"⏳ chip"})," is the LIVE provider-advertised context window (v1.60.x) — the real spec the router's context preflight uses, recorded by the probe from each provider's model list (Ollama /api/tags + /api/show, OpenRouter, Gemini, NIM). State changes during a session are reported to the watch daemon and recorded here immediately."]}),i.jsx(Ui,{tiles:[{key:"tracked-models",icon:"📦",value:String(e.total),label:"Tracked models (registry)",tone:"accent"},{key:"verified",icon:"✅",value:String(e.verified),label:"Verified",tone:"ok"},{key:"unverified",icon:"◌",value:String(e.unverified),label:"Unverified",tone:"accent"},{key:"unavailable",icon:"⛔",value:String(e.unavailable),label:"Unavailable",tone:"danger"},{key:"parked",icon:"⏸",value:String(e.parked),label:"Quota-parked",tone:"warn"},{key:"flaky",icon:"⏸",value:String(e.flaky??0),label:"Flaky mid-stream",tone:"warn"},{key:"deleted-local",icon:"🗑️",value:String(e.deletedLocal??0),label:"Deleted locally",tone:"accent"}]}),Wse(e.keyHygiene),e.providers.map(t=>i.jsx(Use,{provider:t},t.provider)),i.jsx("div",{style:{textAlign:"center",fontSize:12,color:"var(--text-muted)",marginTop:12},children:"Backend snapshot · auto-refreshes every 60s"})]}):i.jsxs("div",{style:{background:"var(--bg-card)",borderRadius:12,border:"1px dashed var(--border)",padding:"20px 24px",marginTop:24,textAlign:"center"},children:[i.jsx("div",{style:{fontSize:24,marginBottom:8},children:"📦"}),i.jsx("div",{style:{fontSize:14,fontWeight:600,color:"var(--text-primary)",marginBottom:4},children:"Model Availability Registry"}),i.jsxs("div",{style:{fontSize:12,color:"var(--text-muted)"},children:["No registry data yet — run ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"nuvira models refresh"})," or use Auto routing; the registry learns from real usage and probes."]})]})}const Gse={chat:"💬",execute:"⚙️",plan:"🗺️",edit:"✏️",skill:"🧩",learn:"📚",ci:"🔁",doctor:"🩺",probe:"🔭","spot-check":"🧪",telemetry:"📡",usage:"🧮"};function qse(e){return{chat:"Chat",execute:"Execute",plan:"Plan",edit:"Edit",skill:"Skill",learn:"Learn",ci:"CI Review",doctor:"Doctor Probe",probe:"Probe","spot-check":"Spot-check",telemetry:"Usage mirror"}[e]||e.charAt(0).toUpperCase()+e.slice(1)}function Kse(e){return Gse[e]||"🎯"}function Vse(e){return e?new Date(e).toLocaleDateString()+" "+new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}):"—"}function vs({provider:e,model:t,reason:n,killed:r,transient:a,partial:s,streamedChunks:o}){const l=r===!0,c=a===!0,u=s===!0,d=u?"var(--accent-purple)":c?"var(--accent-yellow)":l?"var(--accent-red)":"var(--accent-green)",f=u?"var(--purple-soft)":c?"var(--warn-soft)":l?"var(--danger-soft)":"var(--ok-soft)";return i.jsxs("span",{title:u?`Mid-stream interruption — started streaming${typeof o=="number"?` ~${o} chunks in`:""}, died before finish (P4 M4.4); router deprioritizes flaky mid-stream providers${n?` · ${n}`:""}`:c?`Transient failure — health decayed, no flip${n?` · ${n}`:""}`:l?`Killed by this action — predictively skipped by routing${n?` · ${n}`:""}`:"Verified by this action — trusted by routing",style:{display:"inline-flex",alignItems:"center",gap:6,background:f,border:`1px solid ${d}`,color:d,padding:"3px 9px",borderRadius:8,fontSize:11,fontFamily:"'SFMono-Regular', Consolas, monospace",whiteSpace:"nowrap",transition:"transform 0.15s",cursor:"default"},onMouseEnter:h=>{h.currentTarget.style.transform="scale(1.05)"},onMouseLeave:h=>{h.currentTarget.style.transform="scale(1)"},children:[i.jsx("span",{style:{opacity:.85},children:u?"⏸":c?"~":l?"✗":"✓"}),e,"/",t.length>30?t.slice(0,27)+"…":t,(l||u)&&n&&i.jsxs("span",{style:{color:`${d}99`,fontSize:10,fontWeight:400},children:["· ",n]})]})}function Yse(e){const t=new Map;for(const r of e)t.set(`${r.provider}|${r.model}|${r.outcome}`,r);const n={unavailable:0,partial:1,verified:2,error:3};return[...t.values()].sort((r,a)=>n[r.outcome]-n[a.outcome]||a.at-r.at)}function Xse(e){for(let t=e.length-1;t>=0;t--){const n=e[t];if(n.verified+n.killed+n.transient+(n.partial||0)>0)return t}return Math.max(0,e.length-1)}function Qse({timeline:e}){const[t,n]=b.useState(()=>Xse(e||[])),[r,a]=b.useState(!1),s=b.useRef(null),o=b.useRef(!1),l=(e==null?void 0:e.length)??0,c=Math.max(0,Math.min(t,l-1));b.useEffect(()=>{n(g=>Math.min(g,Math.max(0,l-1)))},[l]);const u=b.useCallback(g=>{const y=s.current;if(!y||l<=0)return;const v=y.getBoundingClientRect(),k=v.width||1,w=Math.min(1,Math.max(0,(g-v.left)/k));n(Math.min(l-1,Math.floor(w*l)))},[l]),d=g=>{o.current=!0,a(!1),u(g.clientX)};if(b.useEffect(()=>{const g=v=>{o.current&&u(v.clientX)},y=()=>{o.current=!1};return window.addEventListener("pointermove",g),window.addEventListener("pointerup",y),()=>{window.removeEventListener("pointermove",g),window.removeEventListener("pointerup",y)}},[u]),b.useEffect(()=>{if(!r||l<=1)return;const g=setInterval(()=>{n(y=>Math.min(l-1,y+1))},300);return()=>clearInterval(g)},[r,l]),b.useEffect(()=>{r&&l>1&&t>=l-1&&(a(!1),n(0))},[r,l,t]),!e||l===0)return null;const f=Math.max(1,...e.map(g=>g.verified+g.killed+g.transient+(g.partial||0))),h=g=>new Date(g).toLocaleDateString([],{month:"short",day:"numeric"}),p=e[c],m=p?Yse(p.events||[]):[];return i.jsxs("div",{style:{marginTop:12,paddingTop:10,borderTop:"1px solid var(--border-light)"},children:[i.jsxs("div",{style:{fontSize:11,fontWeight:600,color:"var(--text-secondary)",marginBottom:8,textTransform:"uppercase",letterSpacing:.4,display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"},children:[i.jsxs("span",{children:["📈 Learned from real usage — last ",l," days"]}),i.jsx("span",{style:{fontWeight:400,color:"var(--text-muted)",letterSpacing:0},children:"— drag across days · click a day · play to sweep"})]}),i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:8},children:[i.jsx("button",{onClick:()=>{r?a(!1):(t>=l-1&&n(0),a(!0))},disabled:l<=1,"aria-label":r?"Pause scrub":"Play scrub",style:{background:"var(--bg-hover)",border:`1px solid ${r?"var(--accent-red)":"var(--border)"}`,color:"var(--text-primary)",padding:"3px 10px",borderRadius:6,cursor:l<=1?"not-allowed":"pointer",fontSize:11,fontWeight:600,transition:"all 0.15s",whiteSpace:"nowrap",opacity:l<=1?.5:1},children:r?"⏸ Pause":"▶ Play"}),i.jsxs("span",{style:{fontSize:11,color:"var(--text-secondary)",whiteSpace:"nowrap"},children:[h(p.day)," · ✓ ",p.verified," · ✗ ",p.killed,p.transient>0?` · ~ ${p.transient}`:"",p.partial>0?` · ⏸ ${p.partial}`:""]}),i.jsx("input",{type:"range",min:0,max:Math.max(0,l-1),step:1,value:c,onChange:g=>{a(!1),n(Number(g.target.value))},"aria-label":"Scrub action timeline",style:{flex:1,accentColor:"var(--accent-blue)",cursor:"pointer",minWidth:80}})]}),i.jsx("div",{ref:s,onPointerDown:d,style:{position:"relative",display:"flex",alignItems:"flex-end",gap:3,height:64,padding:"0 2px",cursor:"grab",userSelect:"none",touchAction:"none"},children:e.map((g,y)=>{const v=g.verified+g.killed+g.transient+(g.partial||0),k=g.verified/f*56,w=g.killed/f*56,N=g.transient/f*56,S=(g.partial||0)/f*56,x=y===c;return i.jsxs("div",{onClick:()=>{a(!1),n(y)},title:`${h(g.day)} — ✓ ${g.verified} verified · ✗ ${g.killed} killed · ~ ${g.transient} transient${(g.partial||0)>0?` · ⏸ ${g.partial} partial`:""}`,style:{flex:1,display:"flex",flexDirection:"column-reverse",alignItems:"center",gap:0,cursor:"pointer"},children:[i.jsxs("div",{style:{position:"relative",width:"100%",borderRadius:3,overflow:x?"visible":"hidden",background:v===0?"var(--bg-hover)":"transparent",height:v===0?4:56,display:"flex",flexDirection:"column-reverse",boxShadow:x?"0 0 0 1.5px var(--accent-blue)":void 0,opacity:v===0?.5:1,transition:"box-shadow 0.15s"},children:[x&&i.jsx("div",{style:{position:"absolute",top:-3,bottom:-3,width:2,left:"50%",transform:"translateX(-50%)",background:"var(--accent-blue)",borderRadius:2,pointerEvents:"none",boxShadow:"0 0 8px color-mix(in srgb, var(--accent-blue) 53%, transparent)",zIndex:1}}),g.verified>0&&i.jsx("div",{style:{height:k,background:"var(--accent-green)",minHeight:3}}),g.killed>0&&i.jsx("div",{style:{height:w,background:"var(--accent-red)",minHeight:3}}),g.transient>0&&i.jsx("div",{style:{height:N,background:"var(--accent-yellow)",minHeight:3}}),g.partial>0&&i.jsx("div",{style:{height:S,background:"var(--accent-purple)",minHeight:3}})]}),i.jsx("div",{style:{fontSize:9,color:x?"var(--accent-blue)":"var(--text-muted)",marginTop:4,whiteSpace:"nowrap",fontWeight:x?700:400},children:h(g.day)})]},g.day)})}),i.jsxs("div",{style:{display:"flex",gap:14,marginTop:6,fontSize:11,color:"var(--text-secondary)"},children:[i.jsxs("span",{children:[i.jsx("span",{style:{color:"var(--accent-green)"},children:"■"})," verified"]}),i.jsxs("span",{children:[i.jsx("span",{style:{color:"var(--accent-red)"},children:"■"})," killed"]}),i.jsxs("span",{children:[i.jsx("span",{style:{color:"var(--accent-yellow)"},children:"■"})," transient"]}),i.jsxs("span",{children:[i.jsx("span",{style:{color:"var(--accent-purple)"},children:"■"})," partial"]})]}),i.jsxs("div",{style:{marginTop:10,background:"var(--bg-card)",border:"1px solid var(--border-light)",borderRadius:8,padding:"10px 12px"},children:[i.jsxs("div",{style:{fontSize:12,fontWeight:600,color:"var(--text-primary)",marginBottom:6},children:[h(p.day)," ",i.jsx("span",{style:{color:"var(--text-secondary)",fontWeight:400},children:"— what this action learned that day"})]}),m.length===0?i.jsx("div",{style:{fontSize:12,color:"var(--text-muted)"},children:"No learning recorded that day — nothing verified, killed, or partial."}):i.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:6},children:m.map(g=>g.outcome==="unavailable"?i.jsx(vs,{provider:g.provider,model:g.model,reason:g.errorType,killed:!0},`${g.provider}|${g.model}|${g.outcome}`):g.outcome==="verified"?i.jsx(vs,{provider:g.provider,model:g.model},`${g.provider}|${g.model}|${g.outcome}`):g.outcome==="partial"?i.jsx(vs,{provider:g.provider,model:g.model,reason:g.errorType,partial:!0,streamedChunks:g.streamedChunks},`${g.provider}|${g.model}|${g.outcome}`):i.jsx(vs,{provider:g.provider,model:g.model,reason:g.errorType,transient:!0},`${g.provider}|${g.model}|${g.outcome}`))})]})]})}function Zse({entry:e}){var a,s;const[t,n]=b.useState(!0),r=(e.partial||0)>0?"var(--accent-purple)":e.killed>0?"var(--accent-red)":e.verified>0?"var(--accent-green)":"var(--accent-yellow)";return i.jsxs("div",{style:{background:"var(--bg-card)",borderRadius:12,border:`1px solid ${r}33`,borderLeft:`4px solid ${r}`,marginBottom:12,overflow:"hidden"},children:[i.jsxs("div",{onClick:()=>n(!t),style:{padding:"12px 16px",cursor:"pointer",display:"flex",alignItems:"center",gap:12,userSelect:"none"},children:[i.jsx("span",{style:{fontSize:20},children:Kse(e.action)}),i.jsxs("div",{style:{flex:1},children:[i.jsx("div",{style:{fontSize:14,fontWeight:600,color:"var(--text-primary)",marginBottom:2},children:qse(e.action)}),i.jsxs("div",{style:{fontSize:12,color:"var(--text-secondary)",display:"flex",gap:14,flexWrap:"wrap"},children:[i.jsxs("span",{children:[i.jsxs("span",{style:{color:"var(--accent-green)"},children:["✓ ",e.verified]})," verified"]}),i.jsxs("span",{children:[i.jsxs("span",{style:{color:"var(--accent-red)"},children:["✗ ",e.killed]})," killed"]}),e.transient>0&&i.jsxs("span",{children:[i.jsxs("span",{style:{color:"var(--accent-yellow)"},children:["~ ",e.transient]})," transient"]}),(e.partial||0)>0&&i.jsxs("span",{children:[i.jsxs("span",{style:{color:"var(--accent-purple)"},children:["⏸ ",e.partial]})," partial"]})]})]}),i.jsx("span",{style:{color:"var(--text-secondary)",fontSize:16,transition:"transform 0.2s",transform:t?"rotate(90deg)":"rotate(0deg)"},children:"▶"})]}),t&&i.jsxs("div",{style:{padding:"12px 16px",borderTop:"1px solid var(--border-light)",background:"var(--bg-primary)"},children:[e.killedModels.length>0&&i.jsxs(i.Fragment,{children:[i.jsx("div",{style:{fontSize:11,fontWeight:600,color:"var(--accent-red)",marginBottom:6,textTransform:"uppercase",letterSpacing:.4},children:"⛔ Killed — skipped predictively by routing"}),i.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:6,marginBottom:14},children:e.killedModels.map(o=>i.jsx(vs,{provider:o.provider,model:o.model,reason:o.reason,killed:!0},`${o.provider}|${o.model}`))})]}),e.verifiedModels.length>0&&i.jsxs(i.Fragment,{children:[i.jsx("div",{style:{fontSize:11,fontWeight:600,color:"var(--accent-green)",marginBottom:6,textTransform:"uppercase",letterSpacing:.4},children:"✅ Verified — trusted by routing"}),i.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:6},children:e.verifiedModels.map(o=>i.jsx(vs,{provider:o.provider,model:o.model},`${o.provider}|${o.model}`))})]}),(((a=e.partialModels)==null?void 0:a.length)||0)>0&&i.jsxs(i.Fragment,{children:[i.jsx("div",{style:{fontSize:11,fontWeight:600,color:"var(--accent-purple)",marginBottom:6,textTransform:"uppercase",letterSpacing:.4},children:"⏸ Partial — mid-stream interruption (flaky provider, deprioritized)"}),i.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:6,marginBottom:14},children:e.partialModels.map(o=>i.jsx(vs,{provider:o.provider,model:o.model,reason:o.reason,partial:!0,streamedChunks:o.streamedChunks},`${o.provider}|${o.model}`))})]}),e.killedModels.length===0&&e.verifiedModels.length===0&&(((s=e.partialModels)==null?void 0:s.length)||0)===0&&i.jsx("div",{style:{fontSize:12,color:"var(--text-muted)"},children:"Only transient failures — health decayed, no model flipped."}),i.jsx(Qse,{timeline:e.timeline})]})]})}function Jse({registry:e}){const t=e.actionTelemetry;if(!t)return null;if(!t.enabled)return i.jsxs("div",{style:{background:"var(--bg-card)",borderRadius:12,border:"1px dashed var(--border)",padding:"18px 24px",marginTop:24,textAlign:"center"},children:[i.jsx("div",{style:{fontSize:22,marginBottom:6},children:"🎓"}),i.jsx("div",{style:{fontSize:13,fontWeight:600,color:"var(--text-primary)",marginBottom:4},children:"Learned from real usage — per action"}),i.jsxs("div",{style:{fontSize:12,color:"var(--text-muted)",lineHeight:1.5},children:["No per-action telemetry yet. As you use ",i.jsx("strong",{style:{color:"var(--text-secondary)"},children:"chat"}),","," ",i.jsx("strong",{style:{color:"var(--text-secondary)"},children:"execute"}),", ",i.jsx("strong",{style:{color:"var(--text-secondary)"},children:"plan"}),", and ",i.jsx("strong",{style:{color:"var(--text-secondary)"},children:"edit"}),", each action's verified / killed provider × model combos appear here — showing exactly what routing learned from real usage."]})]});const n=[{key:"telemetry-events",icon:"📊",value:String(t.total),label:"Telemetry events",tone:"accent"},{key:"actions-learning",icon:"🎯",value:String(t.actions.length),label:"Actions learning",tone:"accent"},{key:"last-update",icon:"⏱️",value:Vse(t.updatedAt),label:"Last update",tone:"accent"}];return t.synthetic>0&&n.push({key:"synthetic",icon:"🧪",value:String(t.synthetic),label:"Test-origin, excluded",tone:"warn"}),i.jsxs(i.Fragment,{children:[i.jsx("h2",{className:"section-subtitle",children:"🎓 Learned from real usage — per action"}),i.jsxs("p",{className:"section-description",children:["Every LLM call writes through to the health store with its action tag. This panel shows which provider × model each action ",i.jsx("span",{style:{color:"var(--accent-green)"},children:"verified"})," (routable) or"," ",i.jsx("span",{style:{color:"var(--accent-red)"},children:"killed"})," (predictively skipped) — the exact feed that turns “fail gemini → fail nim → local” into “straight to local”."]}),i.jsx(Ui,{tiles:n}),t.actions.map(r=>i.jsx(Zse,{entry:r},r.action)),i.jsx("div",{style:{textAlign:"center",fontSize:12,color:"var(--text-muted)",marginTop:12},children:"All actions share one health store — a provider killed by any action is skipped by all others"})]})}function sf({icon:e,title:t,count:n}){return n===0?null:i.jsxs("h3",{style:{fontSize:15,fontWeight:600,color:"var(--text-primary)",margin:"24px 0 12px 0",display:"flex",alignItems:"center",gap:8},children:[i.jsx("span",{children:e})," ",t,i.jsx("span",{style:{fontSize:12,color:"var(--text-secondary)",fontWeight:400,background:"var(--bg-card)",padding:"1px 8px",borderRadius:8},children:n})]})}function eoe({value:e,onChange:t,totalCount:n}){return i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12,marginBottom:14},children:[i.jsxs("div",{style:{flex:1,position:"relative",display:"flex",alignItems:"center",background:"var(--bg-card)",borderRadius:8,border:"1px solid var(--border)",transition:"border-color 0.2s"},children:[i.jsx("span",{style:{position:"absolute",left:12,fontSize:14,color:"var(--text-muted)",pointerEvents:"none"},children:"🔍"}),i.jsx("input",{type:"text",value:e,onChange:r=>t(r.target.value),placeholder:"Search models by name or provider...",style:{width:"100%",padding:"10px 12px 10px 36px",background:"transparent",border:"none",color:"var(--text-primary)",fontSize:13,outline:"none",fontFamily:"inherit"},onFocus:r=>{r.currentTarget.parentElement.style.borderColor="var(--accent-blue)"},onBlur:r=>{r.currentTarget.parentElement.style.borderColor="var(--border)"}}),e&&i.jsx("button",{onClick:()=>t(""),style:{background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",padding:"8px 12px",fontSize:14,lineHeight:1},children:"✕"})]}),i.jsxs("div",{style:{fontSize:12,color:"var(--text-secondary)",whiteSpace:"nowrap"},children:[n," model",n!==1?"s":""]})]})}function toe({value:e,onChange:t}){return i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,fontSize:12,color:"var(--text-secondary)",marginBottom:14},children:[i.jsx("span",{children:"Columns:"}),_se.map(n=>i.jsx("button",{onClick:()=>t(n),style:{padding:"4px 12px",borderRadius:6,background:e===n?"var(--accent-blue)":"var(--bg-hover)",color:e===n?"var(--text-on-accent)":"var(--text-secondary)",border:`1px solid ${e===n?"var(--accent-blue)":"var(--border)"}`,cursor:"pointer",fontSize:12,fontWeight:e===n?600:400,transition:"all 0.15s"},children:n},n))]})}function noe({model:e,provider:t}){const n=sp[e.status];return i.jsx("td",{style:{padding:10,verticalAlign:"top"},children:i.jsxs("div",{style:{background:n.cardBg,border:`1px solid ${n.cardBorder}44`,borderRadius:10,padding:14,display:"flex",flexDirection:"column",gap:8,height:"100%",transition:"all 0.2s ease",position:"relative",overflow:"hidden",cursor:"default"},onMouseEnter:r=>{r.currentTarget.style.borderColor=n.cardBorder,r.currentTarget.style.boxShadow=`0 2px 10px ${n.cardBorder}22`},onMouseLeave:r=>{r.currentTarget.style.borderColor=`${n.cardBorder}44`,r.currentTarget.style.boxShadow="none"},children:[i.jsx("div",{style:{position:"absolute",top:0,left:0,right:0,height:3,background:n.cardBorder,opacity:.6}}),i.jsx("div",{style:{fontSize:13,fontWeight:600,color:"var(--text-primary)",fontFamily:"'SFMono-Regular', Consolas, monospace",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",paddingTop:2},children:e.name.length>28?e.name.slice(0,25)+"…":e.name}),i.jsxs("div",{style:{fontSize:12,color:"var(--text-secondary)"},children:[fM(t)," ",d0(t)]}),i.jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:5,background:n.bg,color:n.text,padding:"3px 8px",borderRadius:6,fontSize:11,fontWeight:600,alignSelf:"flex-start"},children:[i.jsx("span",{style:{width:7,height:7,borderRadius:"50%",background:n.dot}}),e.status==="available"?"Available":e.status==="limited"?"Limited":"Unavailable"]}),e.routable===!1&&i.jsx("div",{style:{fontSize:10,color:"var(--accent-yellow)",lineHeight:1.3,marginTop:2},children:e.registryStatus==="unavailable"?e.registryDead?"✗ Not served here — this id does not exist on the endpoint":"✗ Your key cannot use this model (auth / entitlement / access)":e.registryStatus==="verified"?"◌ Parked or gone stale — not routable now":e.registryStatus==="unverified"?"◌ Listed but never verified — the router cannot pick it":"◌ Not in the registry — never probed"}),e.routable===!1&&e.registryError&&i.jsx("div",{style:{fontSize:10,color:"var(--text-muted)",lineHeight:1.3,marginTop:1},children:e.registryError.length>60?e.registryError.slice(0,57)+"…":e.registryError}),e.entitlement&&e.entitlement.tier!=="unknown"&&i.jsx("div",{title:e.entitlement.basis,style:{fontSize:10,lineHeight:1.3,marginTop:2,color:e.entitlement.tier==="free"?"var(--accent-green)":"var(--text-secondary)"},children:e.entitlement.tier==="free"?"🎁 free":"💸 metered"}),e.status!=="available"&&e.statusReason&&i.jsx("div",{style:{fontSize:10,color:"var(--text-muted)",lineHeight:1.3,marginTop:2},children:e.statusReason.length>45?e.statusReason.slice(0,42)+"…":e.statusReason}),e.parked&&e.resetsInMs!==void 0&&e.resetsInMs>0&&i.jsxs("div",{style:{fontSize:10,color:"var(--accent-yellow)",lineHeight:1.3,marginTop:4,padding:"3px 6px",borderRadius:4,background:"var(--warn-soft)",border:"1px solid color-mix(in srgb, var(--accent-yellow) 27%, transparent)"},children:["⏳ Resets in ",hM(e.resetsInMs)]})]})})}function roe({providers:e,colsPerRow:t,searchQuery:n}){const r=[];for(const l of e)for(const c of l.models)r.push({model:c,provider:l.provider});if(r.length===0)return null;let a=r;if(n.trim()){const l=n.toLowerCase().trim();a=r.filter(({model:c,provider:u})=>c.name.toLowerCase().includes(l)||d0(u).toLowerCase().includes(l)||u.toLowerCase().includes(l))}const s={available:0,limited:1,unavailable:2};a.sort((l,c)=>s[l.model.status]-s[c.model.status]);const o=[];for(let l=0;l<a.length;l+=t)o.push(a.slice(l,l+t));return i.jsxs(i.Fragment,{children:[i.jsx("h2",{className:"section-subtitle",children:"📋 Model Health Overview"}),i.jsx("p",{className:"section-description",children:"All models across all providers, color-coded by health status. Each cell shows: Model · Provider · Health."}),i.jsx("div",{style:{overflowX:"auto"},children:i.jsx("table",{style:{width:"100%",borderCollapse:"separate",borderSpacing:10,tableLayout:"fixed"},children:i.jsx("tbody",{children:o.length>0?o.map((l,c)=>i.jsxs("tr",{children:[l.map(({model:u,provider:d})=>i.jsx(noe,{model:u,provider:d},`${d}-${u.id}`)),l.length<t&&Array.from({length:t-l.length}).map((u,d)=>i.jsx("td",{style:{padding:10}},`empty-${d}`))]},c)):i.jsx("tr",{children:i.jsxs("td",{colSpan:t,style:{textAlign:"center",padding:40,color:"var(--text-muted)",fontSize:13},children:['No models match your search "',n,'"']})})})})}),n.trim()&&a.length>0&&i.jsxs("div",{style:{textAlign:"right",fontSize:11,color:"var(--text-muted)",marginTop:4},children:["Showing ",a.length," of ",r.length," models"]})]})}function aoe(){return i.jsxs("div",{style:{background:"var(--bg-card)",borderRadius:12,border:"1px dashed var(--border)",padding:"20px 24px",marginTop:24,textAlign:"center"},children:[i.jsx("div",{style:{fontSize:24,marginBottom:8},children:"🎙️"}),i.jsx("div",{style:{fontSize:14,fontWeight:600,color:"var(--text-primary)",marginBottom:4},children:"Speech / TTS Provider"}),i.jsxs("div",{style:{fontSize:12,color:"var(--text-muted)"},children:["Speech/TTS provider support coming soon."," ",i.jsx("a",{href:"https://github.com/imdheerajKube/agent-nuvira-documentation/issues/new",target:"_blank",rel:"noopener noreferrer",style:{color:"var(--accent-blue)",textDecoration:"none",cursor:"pointer"},onMouseEnter:e=>{e.currentTarget.style.textDecoration="underline"},onMouseLeave:e=>{e.currentTarget.style.textDecoration="none"},children:"Request a provider"})]})]})}function ioe(){return i.jsxs("div",{style:{background:"var(--bg-primary)",borderRadius:10,padding:14,marginBottom:20,border:"1px solid var(--border-light)",fontSize:13,color:"var(--text-secondary)",display:"flex",flexWrap:"wrap",gap:20},children:[i.jsxs("div",{children:[i.jsx("div",{style:{fontWeight:600,color:"var(--text-primary)",marginBottom:6},children:"Color Coding"}),i.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:4},children:[i.jsxs("span",{children:[i.jsx("span",{style:{color:"var(--accent-green)"},children:"●"})," ",i.jsx("strong",{style:{color:"var(--text-primary)"},children:"Green"})," — Working with rate limit available"]}),i.jsxs("span",{children:[i.jsx("span",{style:{color:"var(--accent-yellow)"},children:"●"})," ",i.jsx("strong",{style:{color:"var(--text-primary)"},children:"Amber"})," — Slow / low rate limit / needs action"]}),i.jsxs("span",{children:[i.jsx("span",{style:{color:"var(--accent-red)"},children:"●"})," ",i.jsx("strong",{style:{color:"var(--text-primary)"},children:"Red"})," — API key missing / payment needed / unreachable"]})]})]}),i.jsxs("div",{children:[i.jsx("div",{style:{fontWeight:600,color:"var(--text-primary)",marginBottom:6},children:"Provider Sections"}),i.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:3,fontSize:12},children:[i.jsxs("span",{children:["✅ ",i.jsx("strong",{children:"Cloud"})," — Online providers with active API keys"]}),i.jsxs("span",{children:["🏠 ",i.jsx("strong",{children:"Local"})," — Locally running inference servers"]}),i.jsxs("span",{children:["⛔ ",i.jsx("strong",{children:"Unavailable"})," — Missing keys or unreachable endpoints"]}),i.jsxs("span",{children:["🎙️ ",i.jsx("strong",{children:"Speech"})," — Text-to-speech / speech-to-text providers (coming)"]})]})]})]})}function soe(){const[e,t]=b.useState(null);if(b.useEffect(()=>{let r=!0;return K.fetchAcceptance().then(a=>{r&&t(a)}),()=>{r=!1}},[]),!e)return null;const n=Object.entries(e.byPair);return i.jsxs("div",{style:{background:"var(--bg-card)",border:"1px solid var(--border-light)",borderRadius:12,padding:"14px 18px",marginBottom:16},children:[i.jsx("h2",{style:{fontSize:15,fontWeight:600,color:"var(--text-primary)",margin:"0 0 6px 0"},children:"⭐ Acceptance (read-only)"}),i.jsxs("div",{style:{fontSize:12,color:"var(--text-secondary)",marginBottom:6},children:[e.labelled," labelled turn",e.labelled===1?"":"s"," — 👍 ",e.accepted," / 👎 ",e.rejected,Object.keys(e.bySource).length>0?` · by source: ${Object.entries(e.bySource).map(([r,a])=>`${r} ${a}`).join(", ")}`:""]}),n.length>0&&i.jsx("div",{style:{fontSize:12,color:"var(--text-secondary)",marginBottom:6},children:n.map(([r,a])=>{const s=a.accepted+a.rejected;return i.jsxs("div",{children:[r,": 👍 ",a.accepted," / 👎 ",a.rejected," (",Math.round(100*a.accepted/s),"%, n=",s,")"]},r)})}),i.jsx("div",{style:{fontSize:12,color:e.fit.ok?"var(--accent-green)":"var(--text-secondary)"},children:e.fit.ok?`fit TRAINED — P(accepted | features) n=${e.fit.n} (${e.fit.positives}👍/${e.fit.negatives}👎)`:`fit NOT trained — ${e.fit.reason??"insufficient labels"} · rate a turn with \`nuvira rate good|bad\``})]})}function ooe(){const[e,t]=b.useState(null),[n,r]=b.useState(null),[a,s]=b.useState(null);b.useEffect(()=>{let u=!0;return Promise.all([K.fetchGates(),K.fetchConsent(),K.fetchSessionGrants()]).then(([d,f,h])=>{u&&(t(d),r(f),s(h))}),()=>{u=!1}},[]);async function o(u){await K.revokeSessionGrant(u)&&s(f=>(f??[]).filter(h=>h.sessionId!==u))}if(!e&&!n&&!a)return null;const l={fontSize:15,fontWeight:600,color:"var(--text-primary)",margin:"0 0 6px 0"},c={fontSize:12,color:"var(--text-secondary)"};return i.jsxs("div",{style:{background:"var(--bg-card)",border:"1px solid var(--border-light)",borderRadius:12,padding:"14px 18px",marginBottom:16},children:[i.jsx("h2",{style:l,children:"🛡️ Gates & Consent"}),e&&i.jsxs("div",{style:{...c,marginBottom:8},children:["harness friction — ",e.traces," trace",e.traces===1?"":"s"," · ",e.events," gate/refusal events · per turn mean ",e.perTurn.mean," (median ",e.perTurn.median,", p90 ",e.perTurn.p90,", max ",e.perTurn.max,") · narration ",e.narration.turns,e.byGate.length>0?i.jsxs("div",{style:{marginTop:4},children:["top gates: ",e.byGate.slice(0,5).map(u=>`${u.key} ${u.count}`).join(" · ")]}):null]}),a&&i.jsx("div",{style:{...c,marginBottom:8},children:a.length===0?i.jsx("span",{children:"No session grants are live — every state change still asks."}):a.map(u=>i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:2},children:[i.jsxs("span",{children:[i.jsx("strong",{children:u.sessionId})," — allowed ",u.categories.join(", ")]}),i.jsx("button",{type:"button",onClick:()=>o(u.sessionId),style:{fontSize:11,padding:"1px 8px",borderRadius:6,border:"1px solid var(--border-light)",background:"transparent",color:"var(--text-secondary)",cursor:"pointer"},children:"End"})]},u.sessionId))}),n&&i.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(240px, 1fr))",gap:12},children:[n.denied,n.grantable,n.decided].map(u=>i.jsxs("div",{children:[i.jsx("div",{style:{fontSize:12,fontWeight:600,color:"var(--text-primary)"},children:u.title}),i.jsx("div",{style:{...c,marginBottom:4},children:u.note}),u.examples.map(d=>i.jsxs("div",{style:c,children:["• ",d.action," ",i.jsxs("span",{style:{opacity:.7},children:["(",d.evidence,")"]})]},d.action))]},u.title))})]})}function loe(){var w;const[e,t]=b.useState(null),[n,r]=b.useState(null),[a,s]=b.useState(!0),[o,l]=b.useState(null),[c,u]=b.useState(4),[d,f]=b.useState(""),h=u0(),p=b.useRef(!0),m=b.useRef(null),g=b.useRef(!1);function y(){m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{p.current&&v()},Ase)}async function v(){s(!0),l(null),g.current=!1;try{const[N,S]=await Promise.all([Ose(()=>{g.current=!0}),Pse(()=>{g.current=!0})]);if(!p.current)return;t(N),r(S),g.current&&y()}catch(N){if(!p.current)return;l(N instanceof Error&&N.message?N.message:"Failed to fetch model status"),g.current&&y()}finally{p.current&&s(!1)}}b.useEffect(()=>{p.current=!0,v();const N=setInterval(v,Cse);return()=>{p.current=!1,clearInterval(N),m.current&&clearTimeout(m.current)}},[]);function k(N){const S=[],x=[],E=[],_=[],O={available:0,limited:1,unavailable:2};for(const C of N.providers)Ese.has(C.provider)?E.push(C):Nse.has(C.provider)?x.push(C):C.overallStatus==="available"?S.push(C):_.push(C);return S.sort((C,P)=>O[C.overallStatus]-O[P.overallStatus]),x.sort((C,P)=>O[C.overallStatus]-O[P.overallStatus]),E.sort((C,P)=>O[C.overallStatus]-O[P.overallStatus]),_.sort((C,P)=>O[C.overallStatus]-O[P.overallStatus]),{available:S,local:x,speech:E,unavailable:_}}return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"🧠",title:"Model Provider Status",description:"Real-time health check of all AI providers and their available models. Providers are grouped into sections: Available cloud → Local → Unavailable."}),i.jsx(Ise,{onRefresh:v,loading:a}),i.jsx(ioe,{}),i.jsx(soe,{}),i.jsx(ooe,{}),a&&!e&&i.jsxs("div",{className:"loading-state",children:[i.jsx("div",{className:"loading-spinner"}),i.jsx("p",{children:"Testing provider connections…"})]}),o&&i.jsxs("div",{className:"empty-state",style:{color:"var(--accent-red)",border:"1px solid color-mix(in srgb, var(--accent-red) 27%, transparent)",borderRadius:10,padding:16,marginBottom:16},children:["⚠️ ",o]}),e&&i.jsxs(i.Fragment,{children:[i.jsx(Ui,{tiles:[{key:"listed-models",icon:"🧠",value:String(e.totalModels),label:"Listed models (live probe)",tone:"accent"},{key:"tracked-models",icon:"📦",value:String((h==null?void 0:h.trackedModels)??(n==null?void 0:n.total)??0),label:"Tracked models (registry)",tone:"accent"},{key:"available",icon:"✅",value:String(e.available),label:"Available",tone:"ok"},{key:"limited",icon:"🟡",value:String(e.limited),label:"Limited",tone:"warn"},{key:"unavailable",icon:"🔴",value:String(e.unavailable),label:"Unavailable",tone:"danger"},{key:"listed-providers",icon:"🔌",value:String(e.providers.length),label:"Listed providers (live probe)",tone:"accent"},{key:"tracked-providers",icon:"🗂️",value:String((h==null?void 0:h.trackedProviders)??((w=n==null?void 0:n.providers)==null?void 0:w.length)??0),label:"Tracked providers (registry)",tone:"accent"}]}),i.jsx($se,{data:e}),(()=>{const{available:N,local:S,speech:x,unavailable:E}=k(e);return i.jsxs(i.Fragment,{children:[i.jsx(sf,{icon:"✅",title:"Available Cloud Providers",count:N.length}),N.map(_=>i.jsx(af,{provider:_},_.provider)),i.jsx(sf,{icon:"🏠",title:"Local Providers",count:S.length}),S.map(_=>i.jsx(af,{provider:_},_.provider)),i.jsx(sf,{icon:"⛔",title:"Unavailable Providers",count:E.length}),E.map(_=>i.jsx(af,{provider:_},_.provider)),i.jsx(sf,{icon:"🎙️",title:"Speech / TTS Providers",count:x.length}),x.map(_=>i.jsx(af,{provider:_},_.provider))]})})(),i.jsx(eoe,{value:d,onChange:f,totalCount:e.providers.reduce((N,S)=>N+S.models.length,0)}),i.jsx(toe,{value:c,onChange:u}),i.jsx(roe,{providers:e.providers,colsPerRow:c,searchQuery:d}),n&&i.jsx(Hse,{data:n}),n&&i.jsx(Jse,{registry:n}),e&&!n&&i.jsxs("div",{style:{background:"var(--bg-card)",borderRadius:12,border:"1px dashed var(--border)",padding:"14px 20px",marginTop:24,fontSize:12,color:"var(--text-secondary)",lineHeight:1.6},children:["📦 Registry & telemetry sections are hidden — this dashboard server did not return model-registry data (it may be an"," ",i.jsx("strong",{style:{color:"var(--text-primary)"},children:"older version"}),"). Restart the dashboard from the latest install to see them."]}),i.jsx(aoe,{}),i.jsxs("div",{style:{textAlign:"center",fontSize:12,color:"var(--text-muted)",marginTop:16},children:["Last checked: ",new Date(e.lastChecked).toLocaleTimeString()," · ","Auto-refreshes every 60s"]})]})]})}const coe={local:"💻",groq:"🟢",nim:"🔶",gemini:"🔷",openrouter:"🟣"},uoe={local:"Ollama (Local)",groq:"Groq",nim:"NVIDIA NIM",gemini:"Gemini",openrouter:"OpenRouter"},doe={trivial:"🟢",simple:"🔵",moderate:"🟡",complex:"🟠",critical:"🔴"},pM={trivial:"🟢 trivial",simple:"🔵 simple",moderate:"🟡 moderate",complex:"🟠 complex",critical:"🔴 critical"},foe={chat:"💬 chat",orchestrator:"🔀 orchestrator",explain:"🔍 explain",benchmark:"📈 benchmark",eval:"🎯 eval"},Zi=[{key:"request",icon:"🎯",title:"Request"},{key:"candidates",icon:"⚖️",title:"Candidates"},{key:"exclusions",icon:"🚫",title:"Exclusions"},{key:"pick",icon:"✅",title:"Pick"}],hoe=2400;function Gg(e){return coe[e]||"🔌"}function lE(e){return uoe[e]||e}function f0(e){return e&&foe[e]||e||"unknown"}function poe(e){const t=Date.now()-e;return t<6e4?"just now":t<36e5?`${Math.floor(t/6e4)}m ago`:t<864e5?`${Math.floor(t/36e5)}h ago`:`${Math.floor(t/864e5)}d ago`}function cE(e){const t=Math.ceil(e/6e4);return t>=60?`${Math.floor(t/60)}h ${t%60}m`:`${t}m`}const moe=8;function uE(e,t){const n=t.quota,r=n==null?void 0:n.entries.find(s=>s.provider===e);return r!=null&&r.parked?r.resetsInMs>0?`quota exhausted — auto re-enables in ${cE(r.resetsInMs)}`:"quota exhausted — parked":r&&r.cooldownRemaining>0?`circuit-breaker cooldown — ${cE(r.cooldownRemaining)} remaining`:t.providers.some(s=>s.provider===e)?"ranked below the candidate cutoff for this complexity":"not scored for this complexity (no benchmark quality data)"}function goe(e){var s,o,l;const t=new Set;for(const c of e.providers)t.add(c.provider);if(e.usage)for(const c of Object.keys(e.usage.byProvider))t.add(c);if(e.bestModels)for(const c of e.bestModels)t.add(c.model.split("/")[0]);if(e.quota)for(const c of e.quota.entries)t.add(c.provider);const n=new Map(e.preference.map(c=>[c.complexity,c])),r=[],a=[...e.history??[]].sort((c,u)=>(u.timestamp??0)-(c.timestamp??0));for(const c of a.slice(0,moe)){const u=n.get(c.complexity),d=(s=u==null?void 0:u.providers)!=null&&s.length?u.providers.map(m=>({provider:m.provider,score:m.score,reason:m.reason})):[{provider:c.provider,score:c.score,reason:"actual pick recorded"}];d.some(m=>m.provider===c.provider)||d.push({provider:c.provider,score:c.score,reason:"actual pick recorded"});const f=new Set(d.map(m=>m.provider)),h=[...t].filter(m=>!f.has(m)).map(m=>({provider:m,reason:uE(m,e)})),p=(o=d.find(m=>m.provider===c.provider))==null?void 0:o.reason;r.push({id:c.id,label:`${f0(c.source)} · ${c.complexity} · ${(c.task||c.agentType).slice(0,26)}`,real:!0,complexity:c.complexity,task:c.task||c.agentType,agentType:c.agentType,source:c.source,timestamp:c.timestamp,winner:`${c.provider}/${c.model}`,winnerScore:c.score,winnerReason:p,candidates:d,exclusions:h})}if(r.length===0)for(const c of e.preference){const u=c.winner.split("/"),d=c.providers.map(m=>({provider:m.provider,score:m.score,reason:m.reason})),f=new Set(d.map(m=>m.provider)),h=[...t].filter(m=>!f.has(m)).map(m=>({provider:m,reason:uE(m,e)})),p=u[0];r.push({id:`profile-${c.complexity}`,label:`${pM[c.complexity]||c.complexity} — what the router would pick`,real:!1,complexity:c.complexity,task:p?`A ${c.complexity} task (auto-routed)`:`A ${c.complexity} task`,agentType:"chat",winner:c.winner,winnerScore:c.score,winnerReason:(l=d.find(m=>m.provider===p))==null?void 0:l.reason,candidates:d,exclusions:h})}return r}function voe(e,t){switch(e){case"request":return`A ${t.complexity} task arrives${t.source?` from ${f0(t.source)}`:""} and must be routed.`;case"candidates":return`${t.candidates.length} provider${t.candidates.length!==1?"s":""} are scored against the ${t.complexity} weight profile.`;case"exclusions":return t.exclusions.length>0?`${t.exclusions.length} provider${t.exclusions.length!==1?"s":""} known to the system are skipped before scoring.`:"Every known provider was scored — nothing was skipped.";case"pick":return t.winnerReason?`The top score wins: ${t.winner.split("/")[0]} ranked first — ${t.winnerReason}.`:`The top score wins: ${t.winner}.`}}function yoe({value:e,color:t}){const n=Math.min(100,Math.max(0,e*100));return i.jsx("div",{style:{flex:1,background:"var(--bg-primary)",borderRadius:4,height:6,overflow:"hidden",border:"1px solid var(--border-light)"},children:i.jsx("div",{style:{width:`${n}%`,background:t,height:"100%",transition:"width 0.4s ease"}})})}function boe({icon:e,title:t,narration:n}){return i.jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10,marginBottom:14},children:[i.jsx("span",{style:{fontSize:20,lineHeight:"24px"},children:e}),i.jsxs("div",{children:[i.jsx("div",{style:{fontSize:14,fontWeight:600,color:"var(--text-primary)"},children:t}),i.jsx("div",{style:{fontSize:12,color:"var(--text-secondary)",marginTop:2},children:n})]})]})}function xoe({routing:e}){const t=b.useMemo(()=>goe(e),[e]),[n,r]=b.useState(""),[a,s]=b.useState(0),[o,l]=b.useState(!1);if(b.useEffect(()=>{t.length!==0&&(t.some(p=>p.id===n)||(r(t[0].id),s(0)))},[t,n]),b.useEffect(()=>{if(!o||t.length===0)return;const p=setInterval(()=>{s(m=>(m+1)%Zi.length)},hoe);return()=>clearInterval(p)},[o,t.length]),t.length===0)return null;const c=t.find(p=>p.id===n)??t[0],u=Zi[a],d=()=>{s(p=>(p+Zi.length-1)%Zi.length),l(!1)},f=()=>{s(p=>(p+1)%Zi.length),l(!1)},h=()=>l(p=>!p);return i.jsxs("div",{style:{background:"var(--bg-card)",borderRadius:12,border:"1px solid var(--border-light)",padding:"18px 20px",marginBottom:16},children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:4},children:[i.jsx("span",{style:{fontSize:20},children:"🎬"}),i.jsx("h3",{style:{fontSize:15,fontWeight:600,color:"var(--text-primary)",margin:0},children:"Why did the router pick this?"}),c.real&&i.jsx("span",{style:{fontSize:11,padding:"1px 8px",borderRadius:10,background:"var(--ok-soft)",border:"1px solid var(--accent-green)",color:"var(--accent-green)"},children:"✓ real decision"})]}),i.jsx("p",{style:{fontSize:12,color:"var(--text-secondary)",margin:"2px 0 12px 0"},children:"Narrated step-by-step replay of a routing decision — request, candidates, exclusions, and the pick. Scrubbable, or hit play."}),i.jsx("select",{"aria-label":"Routing decision to replay",value:n,onChange:p=>{r(p.target.value),s(0),l(!1)},style:{width:"100%",marginBottom:16,padding:"8px 10px",background:"var(--bg-primary)",color:"var(--text-primary)",fontSize:12,border:"1px solid var(--border)",borderRadius:8,outline:"none"},children:t.map(p=>i.jsxs("option",{value:p.id,style:{background:"var(--bg-primary)",color:"var(--text-primary)"},children:[p.real?"● ":"○ ",p.label]},p.id))}),i.jsx(boe,{icon:u.icon,title:`${a+1}. ${u.title}${a>0?` — ${c.complexity}`:""}`,narration:voe(u.key,c)}),u.key==="request"&&i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"14px 16px"},children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap",marginBottom:8},children:[i.jsxs("span",{style:{fontSize:12,padding:"2px 10px",borderRadius:12,background:"var(--bg-card)",border:"1px solid var(--border)",color:"var(--text-primary)"},children:[doe[c.complexity]||"•"," ",pM[c.complexity]||c.complexity]}),i.jsxs("span",{style:{fontSize:12,padding:"2px 10px",borderRadius:12,background:"var(--bg-card)",border:"1px solid var(--border)",color:"var(--text-secondary)"},children:["🤖 ",c.agentType]}),c.source&&i.jsx("span",{style:{fontSize:12,padding:"2px 10px",borderRadius:12,background:"var(--bg-card)",border:"1px solid var(--border)",color:"var(--text-secondary)"},children:f0(c.source)}),c.timestamp&&i.jsx("span",{style:{fontSize:11,color:"var(--text-muted)",marginLeft:"auto"},children:poe(c.timestamp)})]}),i.jsx("div",{style:{fontSize:13,color:"var(--text-primary)"},children:c.task})]}),u.key==="candidates"&&i.jsxs("div",{children:[c.candidates.map((p,m)=>{const g=p.provider===c.winner.split("/")[0];return i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 12px",background:g?"var(--ok-soft)":"var(--bg-primary)",border:`1px solid ${g?"var(--accent-green)":"var(--border-light)"}`,borderRadius:8,marginBottom:6},children:[i.jsxs("span",{style:{width:18,fontSize:11,color:"var(--text-muted)",textAlign:"right"},children:[m+1,"."]}),i.jsxs("span",{style:{width:104,color:g?"var(--accent-green)":"var(--text-primary)",fontWeight:g?600:400,whiteSpace:"nowrap",fontSize:12},children:[Gg(p.provider)," ",lE(p.provider).split(" ")[0],g&&" 👑"]}),i.jsx(yoe,{value:p.score,color:g?"var(--accent-green)":"var(--accent-blue)"}),i.jsx("span",{style:{width:44,textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:11,color:"var(--text-secondary)"},children:p.score.toFixed(3)})]},p.provider)}),c.candidates.length>0&&i.jsxs("div",{style:{marginTop:10},children:[i.jsx("div",{style:{fontSize:11,color:"var(--text-muted)",marginBottom:4},children:"Why each ranked where it did"}),c.candidates.map(p=>i.jsxs("div",{style:{fontSize:12,color:"var(--text-secondary)",marginBottom:3},children:[i.jsx("span",{style:{color:"var(--text-primary)"},children:p.provider}),": ",p.reason||"scored"]},p.provider))]})]}),u.key==="exclusions"&&(c.exclusions.length>0?i.jsx("div",{children:c.exclusions.map(p=>i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 12px",background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:8,marginBottom:6},children:[i.jsx("span",{style:{fontSize:13},children:"🚫"}),i.jsxs("span",{style:{width:110,color:"var(--text-primary)",whiteSpace:"nowrap",fontSize:12},children:[Gg(p.provider)," ",lE(p.provider).split(" ")[0]]}),i.jsx("span",{style:{flex:1,fontSize:12,color:"var(--text-secondary)"},children:p.reason})]},p.provider))}):i.jsx("div",{style:{background:"var(--bg-primary)",border:"1px dashed var(--border)",borderRadius:10,padding:"14px 16px",color:"var(--text-secondary)",fontSize:13},children:"✅ No exclusions — every provider known to the system was scored for this decision."})),u.key==="pick"&&i.jsxs("div",{style:{background:"var(--ok-soft)",border:"1px solid var(--accent-green)",borderRadius:10,padding:"16px 18px"},children:[i.jsx("div",{style:{fontSize:12,color:"var(--accent-green)",fontWeight:600,marginBottom:6},children:"🏆 ROUTER PICK"}),i.jsxs("div",{style:{fontSize:16,fontWeight:700,color:"var(--text-primary)",fontFamily:"'SFMono-Regular', Consolas, monospace",marginBottom:4},children:[Gg(c.winner.split("/")[0])," ",c.winner]}),i.jsxs("div",{style:{fontSize:12,color:"var(--text-secondary)",marginBottom:10},children:["composite score ",i.jsx("span",{style:{fontFamily:"'SFMono-Regular', Consolas, monospace",color:"var(--accent-green)"},children:c.winnerScore.toFixed(3)}),!c.real&&" · profile preview"]}),c.winnerReason&&i.jsxs("div",{style:{fontSize:12,color:"var(--text-secondary)",borderTop:"1px solid color-mix(in srgb, var(--accent-green) 33%, transparent)",paddingTop:8},children:[i.jsx("span",{style:{color:"var(--text-primary)"},children:"Why:"})," ",c.winnerReason]})]}),i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12,marginTop:16},children:[i.jsx("button",{onClick:d,"aria-label":"Previous step",style:qg,children:"◀"}),i.jsx("button",{onClick:h,"aria-label":o?"Pause playback":"Play playback",style:{...qg,minWidth:84,color:o?"var(--accent-yellow)":"var(--accent-green)"},children:o?"⏸ Pause":"▶ Play"}),i.jsx("button",{onClick:f,"aria-label":"Next step",style:qg,children:"▶"}),i.jsx("div",{style:{display:"flex",gap:6,marginLeft:8},children:Zi.map((p,m)=>i.jsx("button",{"aria-label":`Go to step ${m+1}: ${p.title}`,onClick:()=>{s(m),l(!1)},style:{width:22,height:22,borderRadius:11,border:"none",cursor:"pointer",fontSize:10,lineHeight:"22px",padding:0,background:m===a?"var(--accent-blue)":"var(--bg-hover)",color:m===a?"var(--bg-primary)":"var(--text-secondary)"},title:p.title,children:p.icon},p.key))}),i.jsxs("span",{style:{marginLeft:"auto",fontSize:11,color:"var(--text-muted)"},children:["step ",a+1,"/",Zi.length]})]})]})}const qg={background:"var(--bg-hover)",color:"var(--text-primary)",border:"1px solid var(--border)",borderRadius:8,padding:"6px 12px",fontSize:13,cursor:"pointer",transition:"background 0.15s"},woe={local:"💻",groq:"🟢",nim:"🔶",gemini:"🔷",openrouter:"🟣"},koe={local:"Ollama (Local)",groq:"Groq",nim:"NVIDIA NIM",gemini:"Gemini",openrouter:"OpenRouter"},mM={trivial:"🟢",simple:"🔵",moderate:"🟡",complex:"🟠",critical:"🔴"};function Fr(e){return woe[e]||"🔌"}function Ci(e){return koe[e]||e}function op(e,t=1){return`${(e*100).toFixed(t)}%`}function Soe(e){return`$${e.toFixed(6)}`}function or({icon:e,title:t,subtitle:n,children:r}){return i.jsxs("div",{style:{background:"var(--bg-card)",borderRadius:12,border:"1px solid var(--border-light)",padding:"18px 20px",marginBottom:16},children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:4},children:[i.jsx("span",{style:{fontSize:20},children:e}),i.jsx("h3",{style:{fontSize:15,fontWeight:600,color:"var(--text-primary)",margin:0},children:t})]}),n&&i.jsx("p",{style:{fontSize:12,color:"var(--text-secondary)",margin:"2px 0 12px 0"},children:n}),!n&&i.jsx("div",{style:{height:6}}),r]})}function h0({value:e,color:t}){const n=Math.min(100,Math.max(0,e*100));return i.jsx("div",{style:{flex:1,background:"var(--bg-primary)",borderRadius:4,height:6,overflow:"hidden",border:"1px solid var(--border-light)"},children:i.jsx("div",{style:{width:`${n}%`,background:t,height:"100%",transition:"width 0.4s ease"}})})}function gi(e,t,n="var(--text-secondary)"){return{fontSize:10,padding:"1px 7px",borderRadius:9,background:e,border:`1px solid ${t}`,color:n,fontFamily:"'SFMono-Regular', Consolas, monospace",whiteSpace:"nowrap"}}function joe(){return i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px dashed var(--border)",borderRadius:10,padding:"18px 20px",color:"var(--text-secondary)",fontSize:13,textAlign:"center"},children:["📊 No routing data yet — run ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"nuvira benchmark"})," to populate provider quality scores, or use Auto routing (",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"nuvira model switch auto"}),") to build per-agent best-model stats over time."]})}const Noe={chat:"💬 chat",orchestrator:"🔀 orchestrator",explain:"🔍 explain",benchmark:"📈 benchmark",eval:"🎯 eval"},Eoe={trivial:"🟢 trivial",simple:"🔵 simple",moderate:"🟡 moderate",complex:"🟠 complex",critical:"🔴 critical"};function gM(e){return Noe[e]||e}function vM(e){const t=Date.now()-e;return t<6e4?"just now":t<36e5?`${Math.floor(t/6e4)}m ago`:t<864e5?`${Math.floor(t/36e5)}h ago`:`${Math.floor(t/864e5)}d ago`}function dE(e){if(e<=0)return"now";const t=Math.floor(e/36e5),n=Math.floor(e%36e5/6e4);return t>0?`${t}h ${n}m`:n>0?`${n}m`:`${Math.ceil(e/1e3)}s`}function _oe({label:e,value:t,total:n,color:r}){const a=n>0?t/n*100:0;return i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:5},children:[i.jsx("span",{style:{width:110,color:"var(--text-primary)",whiteSpace:"nowrap",fontSize:12},children:e}),i.jsx("div",{style:{flex:1,background:"var(--bg-primary)",borderRadius:4,height:6,overflow:"hidden",border:"1px solid var(--border-light)"},children:i.jsx("div",{style:{width:`${Math.min(100,a)}%`,background:r,height:"100%",transition:"width 0.4s ease"}})}),i.jsx("span",{style:{width:34,textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:11,color:"var(--text-secondary)"},children:t})]})}function Coe({usage:e}){if(!e.total)return null;const t=e.total,n=Object.entries(e.byProvider).sort((a,s)=>s[1]-a[1]).slice(0,6),r=Object.entries(e.byModel).sort((a,s)=>s[1]-a[1]).slice(0,5);return i.jsxs(or,{icon:"🧮",title:"Routing Usage — actual picks over time",subtitle:"Recorded from live chat, orchestrator runs, explain snapshots, benchmark --routing, and eval --routing",children:[i.jsxs("div",{style:{display:"flex",gap:20,flexWrap:"wrap",marginBottom:14},children:[i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"12px 18px",textAlign:"center"},children:[i.jsx("div",{style:{fontSize:22,fontWeight:700,color:"var(--text-primary)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:e.total}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:2},children:"total decisions"})]}),i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"12px 18px",textAlign:"center"},children:[i.jsx("div",{style:{fontSize:22,fontWeight:700,color:e.last24h>0?"var(--accent-green)":"var(--text-secondary)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:e.last24h}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:2},children:"last 24h"})]})]}),i.jsx("div",{style:{fontSize:12,color:"var(--text-secondary)",marginBottom:6},children:"By provider"}),n.map(([a,s])=>i.jsx(_oe,{label:`${Fr(a)} ${Ci(a).split(" ")[0]}`,value:s,total:t,color:"var(--accent-blue)"},a)),Object.keys(e.bySource).length>0&&i.jsx("div",{style:{marginTop:12,display:"flex",gap:6,flexWrap:"wrap"},children:Object.entries(e.bySource).sort((a,s)=>s[1]-a[1]).map(([a,s])=>i.jsxs("span",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:20,padding:"3px 10px",fontSize:11,color:"var(--text-primary)"},children:[gM(a)," · ",s]},a))}),r.length>0&&i.jsxs("div",{style:{marginTop:14},children:[i.jsx("div",{style:{fontSize:12,color:"var(--text-secondary)",marginBottom:6},children:"Most-picked models"}),r.map(([a,s])=>i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:5},children:[i.jsx("span",{style:{flex:1,color:"var(--text-primary)",fontSize:12,fontFamily:"'SFMono-Regular', Consolas, monospace",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:a,children:a.length>42?a.slice(0,39)+"…":a}),i.jsx("span",{style:{width:34,textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:11,color:"var(--text-secondary)"},children:s})]},a))]})]})}function Aoe({history:e}){return e.length?i.jsx(or,{icon:"🕓",title:"Audit Trail — routing decision timeline",subtitle:"Every explain snapshot (and routing-mode pick) persisted for transparency",children:i.jsx("div",{style:{maxHeight:320,overflowY:"auto",paddingRight:4},children:e.map(t=>i.jsxs("div",{style:{display:"flex",gap:10,padding:"8px 4px",borderBottom:"1px solid var(--border-light)"},children:[i.jsx("div",{style:{width:52,flexShrink:0,fontSize:11,color:"var(--text-muted)",paddingTop:2},children:vM(t.timestamp)}),i.jsxs("div",{style:{flex:1,minWidth:0},children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"},children:[i.jsx("span",{style:{fontSize:11,padding:"1px 8px",borderRadius:10,background:"var(--bg-primary)",border:"1px solid var(--border)",color:"var(--text-secondary)"},children:gM(t.source)}),i.jsxs("span",{style:{fontSize:12,fontWeight:600,color:"var(--accent-green)",fontFamily:"'SFMono-Regular', Consolas, monospace",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:`${t.provider}/${t.model}`,children:[Fr(t.provider)," ",t.provider,"/",t.model.length>26?t.model.slice(0,23)+"…":t.model]}),t.complexity&&i.jsx("span",{style:{fontSize:11,color:"var(--text-muted)"},children:Eoe[t.complexity]||t.complexity}),t.agenticCapable===!1&&i.jsx("span",{style:gi("var(--danger-soft)","var(--accent-red)"),title:t.overrideReason?`override: ${t.overrideReason}`:void 0,children:"⚠️ weak model"}),t.fallbackFrom&&i.jsxs("span",{style:gi("var(--bg-tertiary)","var(--border-hover)"),children:["↩ from ",t.fallbackFrom]})]}),i.jsx("div",{style:{fontSize:12,color:"var(--text-secondary)",marginTop:3,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:t.task,children:t.task||t.agentType})]})]},t.id))})}):null}function Toe({routing:e}){return e.preference.length?i.jsx(or,{icon:"🤖",title:"Auto Router — What the agent would pick",subtitle:"Complexity-weighted scoring across reasoning, speed, cost, privacy, and reliability (real provider pricing)",children:i.jsx("div",{style:{overflowX:"auto"},children:i.jsxs("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:13},children:[i.jsx("thead",{children:i.jsxs("tr",{style:{borderBottom:"1px solid var(--border-light)",color:"var(--text-secondary)"},children:[i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"Complexity"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"Winner"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"Score"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"All providers"})]})}),i.jsx("tbody",{children:e.preference.map(t=>i.jsxs("tr",{style:{borderBottom:"1px solid var(--border-light)"},children:[i.jsxs("td",{style:{padding:"10px 12px",color:"var(--text-primary)",whiteSpace:"nowrap"},children:[mM[t.complexity]||"•"," ",t.complexity]}),i.jsx("td",{style:{padding:"10px 12px",whiteSpace:"nowrap"},children:i.jsxs("span",{style:{color:"var(--accent-green)",fontWeight:600},children:[Fr(t.winner.split("/")[0])," ",t.winner]})}),i.jsx("td",{style:{padding:"10px 12px",fontFamily:"'SFMono-Regular', Consolas, monospace",color:"var(--text-secondary)"},children:t.score.toFixed(3)}),i.jsx("td",{style:{padding:"10px 12px",minWidth:300},children:t.providers.map((n,r)=>i.jsxs("div",{style:{marginBottom:5},children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[i.jsxs("span",{style:{width:16,fontSize:11,color:"var(--text-muted)",textAlign:"right"},children:[r+1,"."]}),i.jsxs("span",{style:{width:90,color:"var(--text-primary)",whiteSpace:"nowrap",fontSize:12},children:[Fr(n.provider)," ",Ci(n.provider).split(" ")[0]]}),i.jsx(h0,{value:n.score,color:r===0?"var(--accent-green)":"var(--accent-blue)"}),i.jsx("span",{style:{width:40,textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:11,color:"var(--text-secondary)"},children:n.score.toFixed(2)})]}),(n.capabilityFit!==void 0||n.costSource||n.contextUtilization!==void 0)&&i.jsxs("div",{style:{display:"flex",gap:6,flexWrap:"wrap",paddingLeft:16,marginTop:2},children:[n.capabilityFit!==void 0&&i.jsxs("span",{style:gi("var(--bg-tertiary)","var(--border-hover)"),children:["🎯 fit ",n.capabilityFit,"%"]}),n.costSource==="measured"&&n.costBasis?i.jsxs("span",{style:gi("var(--ok-soft)","var(--accent-green)","var(--accent-green)"),children:["📏 measured ",xt(n.costBasis.inputTokens),"→",xt(n.costBasis.outputTokens)," tok"]}):i.jsx("span",{style:gi("var(--bg-tertiary)","var(--border-hover)"),children:"📐 estimated"}),n.contextUtilization!==void 0&&n.contextWindowTokens!==void 0&&i.jsxs("span",{style:gi("var(--bg-tertiary)","var(--accent-blue)","var(--accent-blue)"),children:["⏳ ctx ",n.contextUtilization,"% (",xt(n.contextWindowTokens)," tok)"]})]})]},n.provider))})]},t.complexity))})]})})}):null}function Ooe({routing:e}){return e.providers.length?i.jsx(or,{icon:"📈",title:"Provider Benchmark Quality",subtitle:"Measured from your own `nuvira benchmark` runs — blended into Auto routing decisions",children:i.jsx("div",{style:{overflowX:"auto"},children:i.jsxs("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:13},children:[i.jsx("thead",{children:i.jsxs("tr",{style:{borderBottom:"1px solid var(--border-light)",color:"var(--text-secondary)"},children:[i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"Provider"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"Runs"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"Avg Quality"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"Pass Rate"}),i.jsx("th",{style:{padding:"8px 12px",textAlign:"left",fontWeight:500},children:"Total Cost"})]})}),i.jsx("tbody",{children:e.providers.map(t=>i.jsxs("tr",{style:{borderBottom:"1px solid var(--border-light)"},children:[i.jsxs("td",{style:{padding:"10px 12px",color:"var(--text-primary)",whiteSpace:"nowrap"},children:[Fr(t.provider)," ",Ci(t.provider)]}),i.jsx("td",{style:{padding:"10px 12px",color:"var(--text-secondary)"},children:t.runs}),i.jsx("td",{style:{padding:"10px 12px"},children:i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[i.jsx(h0,{value:t.avgQuality,color:"var(--accent-blue)"}),i.jsx("span",{style:{fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:12,color:"var(--text-secondary)",width:44,textAlign:"right"},children:op(t.avgQuality)})]})}),i.jsx("td",{style:{padding:"10px 12px",color:t.passRate>=.8?"var(--accent-green)":"var(--accent-yellow)"},children:op(t.passRate)}),i.jsx("td",{style:{padding:"10px 12px",fontFamily:"'SFMono-Regular', Consolas, monospace",color:"var(--text-secondary)"},children:Soe(t.totalCostUsd)})]},t.provider))})]})})}):null}const fE=["trivial","simple","moderate","complex","critical"];function Poe(e){return e>=.7?"var(--accent-green)":e>=.45?"var(--accent-yellow)":"var(--accent-red)"}function Roe({bandit:e}){const t=Object.keys(e.priors).sort();if(!e.enabled||t.length===0)return null;const n=e.learningHistory.slice(-15).reverse();return i.jsxs(or,{icon:"🎰",title:"Bandit Learning — Thompson-sampling priors",subtitle:"Beta(α, β) per provider × complexity bucket, learned from real task outcomes (routing.bandit = true). Higher expected win rate = more successful history.",children:[i.jsx("div",{style:{overflowX:"auto"},children:i.jsxs("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:12},children:[i.jsx("thead",{children:i.jsxs("tr",{style:{borderBottom:"1px solid var(--border-light)",color:"var(--text-secondary)"},children:[i.jsx("th",{style:{padding:"8px 10px",textAlign:"left",fontWeight:500},children:"Provider"}),fE.map(r=>i.jsxs("th",{style:{padding:"8px 10px",textAlign:"center",fontWeight:500},children:[mM[r]||"•"," ",r]},r))]})}),i.jsx("tbody",{children:t.map(r=>i.jsxs("tr",{style:{borderBottom:"1px solid var(--border-light)"},children:[i.jsxs("td",{style:{padding:"8px 10px",color:"var(--text-primary)",whiteSpace:"nowrap"},children:[Fr(r)," ",Ci(r).split(" ")[0]]}),fE.map(a=>{var o;const s=(o=e.priors[r])==null?void 0:o[a];return!s||s.alpha===0&&s.beta===0?i.jsx("td",{style:{padding:"8px 10px",textAlign:"center",color:"var(--text-muted)"},children:"·"},a):i.jsxs("td",{style:{padding:"8px 10px",textAlign:"center"},children:[i.jsxs("div",{style:{fontSize:13,fontWeight:600,color:Poe(s.expectedWinRate),fontFamily:"'SFMono-Regular', Consolas, monospace"},children:[(s.expectedWinRate*100).toFixed(0),"%"]}),i.jsxs("div",{style:{fontSize:10,color:"var(--text-secondary)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:["α",s.alpha," β",s.beta]})]},a)})]},r))})]})}),n.length>0&&i.jsxs("div",{style:{marginTop:16},children:[i.jsx("div",{style:{fontSize:12,color:"var(--text-secondary)",marginBottom:8},children:"Recent learning history"}),i.jsx("div",{style:{maxHeight:180,overflowY:"auto",paddingRight:4},children:n.map((r,a)=>{const s=r.outcome==="success"?"✅":r.outcome==="escalated"?"🔄":"❌",o=new Date(r.timestamp).toLocaleTimeString();return i.jsxs("div",{style:{display:"flex",gap:8,alignItems:"center",padding:"5px 4px",borderBottom:"1px solid var(--border-light)"},children:[i.jsx("span",{children:s}),i.jsx("span",{style:{color:"var(--text-primary)",fontSize:12,width:110,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:r.provider,children:r.provider}),i.jsx("span",{style:{fontSize:11,color:"var(--text-muted)",width:80},children:r.complexity}),i.jsxs("span",{style:{fontSize:11,color:"var(--text-secondary)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:["reward ",r.reward.toFixed(2)]}),i.jsx("span",{style:{fontSize:11,color:"var(--text-muted)",marginLeft:"auto"},children:o})]},a)})})]}),i.jsxs("div",{style:{fontSize:11,color:"var(--text-muted)",marginTop:12},children:["Cold-start Beta(1,1) behaves like the heuristic router until outcomes accumulate. Enable learning with ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"nuvira config set routing.bandit true"}),"."]})]})}function Moe(e,t=1){return`${e>0?"+":""}${(e*100).toFixed(t)}%`}function Ioe({state:e}){const t={pass:{bg:"var(--ok-soft)",border:"var(--accent-green)",color:"var(--accent-green)",label:"✓ pass"},fail:{bg:"var(--danger-soft)",border:"var(--accent-red)",color:"var(--accent-red)",label:"✗ fail"},neutral:{bg:"var(--bg-tertiary)",border:"var(--border-hover)",color:"var(--text-secondary)",label:"○ neutral"}}[e];return i.jsx("span",{style:{fontSize:11,padding:"1px 8px",borderRadius:10,background:t.bg,border:`1px solid ${t.border}`,color:t.color},children:t.label})}function $oe({promotion:e}){if(!e.decisionCount)return null;const t=e.promoted?{icon:"🎖️",label:"Promoted — the bandit beats the heuristic",color:"var(--accent-green)"}:e.sufficient?{icon:"⚠️",label:"Not promoted — the bandit is not (yet) better",color:"var(--accent-yellow)"}:{icon:"⏳",label:"Collecting data — need more diverged decisions",color:"var(--accent-blue)"},n=e.minDecisions>0?Math.min(100,Math.round(e.divergedCount/e.minDecisions*100)):0,r=[{key:"quality",label:"Quality ↑",delta:e.qualityDelta,state:e.criteria.quality?"pass":"fail",note:"needs > +2%"},{key:"cost",label:"Cost ↓",delta:e.costDelta,state:e.criteria.cost?"pass":"fail",note:"regression < +1%"},{key:"latency",label:"Latency ↓",delta:e.latencyDelta,state:e.latencyMeasured?e.criteria.latency?"pass":"fail":"neutral",note:e.latencyMeasured?"regression < +5%":"no latency measurements yet"}];return i.jsxs(or,{icon:"🎖️",title:"Promotion Gate — is the bandit better than the heuristic?",subtitle:"A/B verdict from real trajectories (router-promotion.jsonl): quality must improve >2% while cost and latency don't regress (ruflo ADR-150)",children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12,marginBottom:14},children:[i.jsx("span",{style:{fontSize:22},children:t.icon}),i.jsx("span",{style:{fontSize:14,fontWeight:600,color:t.color},children:t.label})]}),i.jsxs("div",{style:{marginBottom:14},children:[i.jsxs("div",{style:{display:"flex",justifyContent:"space-between",fontSize:11,color:"var(--text-secondary)",marginBottom:5},children:[i.jsxs("span",{children:[e.divergedCount," diverged decisions"]}),i.jsxs("span",{children:["need ",e.minDecisions," for a verdict"]})]}),i.jsx("div",{style:{background:"var(--bg-primary)",borderRadius:4,height:8,overflow:"hidden",border:"1px solid var(--border-light)"},children:i.jsx("div",{style:{width:`${n}%`,background:e.sufficient?"var(--accent-green)":"var(--accent-blue)",height:"100%",transition:"width 0.4s ease"}})}),i.jsxs("div",{style:{fontSize:11,color:"var(--text-muted)",marginTop:4},children:[e.decisionCount," total decisions logged"]})]}),r.map(a=>i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"7px 0",borderBottom:"1px solid var(--border-light)"},children:[i.jsx("span",{style:{width:70,fontSize:12,color:"var(--text-primary)"},children:a.label}),i.jsx("span",{style:{width:92,fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:12,color:"var(--text-secondary)"},children:Moe(a.delta)}),i.jsx("span",{style:{fontSize:11,color:"var(--text-muted)",flex:1},children:a.note}),i.jsx(Ioe,{state:a.state})]},a.key)),i.jsxs("div",{style:{fontSize:11,color:"var(--text-muted)",marginTop:12},children:["Run auto-routed tasks with ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"routing.bandit true"})," to accumulate A/B decisions. The gate does not disable the bandit — it tells you whether it's actually winning."]})]})}function Loe({ml:e}){if(!e.enabled||e.recordCount===0)return null;const t=e.providers.filter(r=>r.trusted),n=e.providers.filter(r=>!r.trusted);return i.jsxs(or,{icon:"🧠",title:"ML Router — learned from similar tasks",subtitle:"Task-feature kNN (ruflo neural-router analog): outcomes of the most similar PAST tasks nudge each provider's score. Win rate is similarity-weighted; factor = 1 + 0.5 × (winRate − 0.5), trusted only after 5 similar-task samples.",children:[i.jsxs("div",{style:{display:"flex",gap:20,flexWrap:"wrap",marginBottom:14},children:[i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"12px 18px",textAlign:"center"},children:[i.jsx("div",{style:{fontSize:22,fontWeight:700,color:"var(--text-primary)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:xt(e.recordCount)}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:2},children:"learned tasks"})]}),i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--accent-green)",borderRadius:10,padding:"12px 18px",textAlign:"center"},children:[i.jsx("div",{style:{fontSize:22,fontWeight:700,color:"var(--accent-green)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:t.length}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:2},children:"trusted providers"})]}),i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--accent-yellow)",borderRadius:10,padding:"12px 18px",textAlign:"center"},children:[i.jsx("div",{style:{fontSize:22,fontWeight:700,color:"var(--accent-yellow)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:n.length}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:2},children:"still learning"})]})]}),i.jsx("div",{style:{display:"flex",flexDirection:"column",gap:8},children:e.providers.map(r=>i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"10px 14px"},children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:6},children:[i.jsx("span",{children:Fr(r.provider)}),i.jsx("span",{style:{fontSize:13,fontWeight:600,color:"var(--text-primary)"},children:Ci(r.provider)}),r.trusted?i.jsxs("span",{style:gi("color-mix(in srgb, var(--accent-green) 15%, transparent)","var(--accent-green)","var(--accent-green)"),children:["trusted · ",r.samples," samples"]}):i.jsxs("span",{style:gi("color-mix(in srgb, var(--accent-yellow) 15%, transparent)","var(--accent-yellow)","var(--accent-yellow)"),children:[r.samples,"/5 samples"]}),r.model&&i.jsx("span",{style:{fontSize:11,color:"var(--text-muted)",fontFamily:"'SFMono-Regular', Consolas, monospace",marginLeft:"auto"},children:r.model.length>30?r.model.slice(0,27)+"…":r.model})]}),i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[i.jsxs("div",{style:{width:70,fontSize:11,color:"var(--text-secondary)"},children:["win ",op(r.winRate,0)]}),i.jsx(h0,{value:r.winRate,color:r.winRate>=.5?"var(--accent-green)":"var(--accent-red)"}),i.jsxs("div",{style:{width:74,fontSize:11,color:"var(--text-secondary)",textAlign:"right"},children:["factor ",i.jsxs("span",{style:{color:r.trusted&&r.factor!==1?"var(--accent-blue)":"var(--text-muted)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:[r.factor.toFixed(2),"×"]})]})]})]},r.provider))}),i.jsxs("div",{style:{fontSize:11,color:"var(--text-muted)",marginTop:12},children:["Enabled with ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"nuvira config set routing.mlRouter true"})," — the factor only adjusts scores when the provider has ≥ 5 similar-task wins (cold start is neutral)."]})]})}function Doe({routing:e}){return e.bestModels.length?i.jsx(or,{icon:"🏆",title:"Best Model per Agent (from your runs)",subtitle:"Success-rate-ranked models from agent-stats — the Auto router boosts the proven winner",children:i.jsx("div",{style:{display:"flex",flexWrap:"wrap",gap:10},children:e.bestModels.map(t=>i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"12px 14px",minWidth:200,flex:"1 1 200px",transition:"border-color 0.2s, box-shadow 0.2s"},onMouseEnter:n=>{n.currentTarget.style.borderColor="var(--accent-green)",n.currentTarget.style.boxShadow="0 2px 10px color-mix(in srgb, var(--accent-green) 13%, transparent)"},onMouseLeave:n=>{n.currentTarget.style.borderColor="var(--border-light)",n.currentTarget.style.boxShadow="none"},children:[i.jsxs("div",{style:{fontSize:12,color:"var(--text-secondary)",marginBottom:4},children:[Fr(t.model.split("/")[0])," ",t.agentType]}),i.jsx("div",{style:{fontSize:13,fontWeight:600,color:"var(--text-primary)",fontFamily:"'SFMono-Regular', Consolas, monospace",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:t.model,children:t.model.length>34?t.model.slice(0,31)+"…":t.model}),i.jsxs("div",{style:{fontSize:11,color:"var(--text-muted)",marginTop:6},children:[i.jsxs("span",{style:{color:t.successRate>=.8?"var(--accent-green)":"var(--accent-yellow)"},children:[op(t.successRate,0)," success"]})," · ",t.runs," run",t.runs!==1?"s":""]})]},`${t.agentType}-${t.model}`))})}):null}function Boe({retrieval:e}){var l,c;if(!e.enabled&&e.repoChunks===0)return null;const t=e.totalSavedTokens??0,n=e.avgPctReduced??0,r=e.lastCall,a=e.totalCalls??0,s=e.totalRetrievals??0,o=e.totalFailovers??0;return i.jsxs(or,{icon:"🧠",title:"Vector Retrieval — token savings",subtitle:"Large contexts are chunked, embedded locally (bge-small-en-v1.5), and reduced to the top-k relevant chunks before the LLM — saving tokens so free quotas stretch further. Complements the quota ledger: retrieval saves, the ledger manages.",children:[i.jsxs("div",{style:{display:"flex",gap:20,flexWrap:"wrap",marginBottom:14},children:[i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--accent-green)",borderRadius:10,padding:"12px 18px",textAlign:"center"},children:[i.jsx("div",{style:{fontSize:22,fontWeight:700,color:"var(--accent-green)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:xt(t)}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:2},children:"tokens saved"})]}),i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"12px 18px",textAlign:"center"},children:[i.jsxs("div",{style:{fontSize:22,fontWeight:700,color:"var(--text-primary)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:[n.toFixed(1),"%"]}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:2},children:"avg context reduction"})]}),i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--accent-yellow)",borderRadius:10,padding:"12px 18px",textAlign:"center"},children:[i.jsx("div",{style:{fontSize:22,fontWeight:700,color:"var(--accent-yellow)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:xt(e.repoChunks)}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:2},children:"repo chunks indexed"})]})]}),i.jsxs("div",{style:{display:"flex",gap:20,flexWrap:"wrap",fontSize:12,color:"var(--text-secondary)",marginBottom:14},children:[i.jsxs("span",{children:["📞 ",a," context calls · 🧠 ",s," retrievals used · ⚠️ ",o," failovers (full-context fallback)"]}),e.dimensions>0&&i.jsxs("span",{children:["· ",e.dimensions,"-dim embeddings"]})]}),r&&r.used!==!1&&((l=r.hits)==null?void 0:l.length)>0&&i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"12px 16px",marginBottom:12},children:[i.jsxs("div",{style:{fontSize:12,fontWeight:600,color:"var(--text-primary)",marginBottom:8},children:["Latest retrieval — ",xt(r.originalTokens)," → ",xt(r.reducedTokens)," tokens",i.jsxs("span",{style:{color:"var(--accent-green)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:[" (−",(c=r.pctReduced)==null?void 0:c.toFixed(0),"%)"]})]}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)"},children:r.hits.slice(0,5).map(u=>i.jsxs("div",{style:{marginTop:3},children:[i.jsx("span",{style:{color:"var(--accent-blue)"},children:"▸"})," ",u.filePath," ",i.jsxs("span",{style:{fontFamily:"'SFMono-Regular', Consolas, monospace"},children:["(sim ",u.similarity.toFixed(3),")"]})]},u.filePath))})]}),i.jsxs("div",{style:{fontSize:11,color:"var(--text-muted)"},children:["Pre-index your repo with ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"nuvira retrieval index <dir>"}),", query it with"," ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:'nuvira retrieval query "<question>"'}),", and see the same stats with"," ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"nuvira retrieval stats"}),"."]})]})}function zoe({quota:e}){var c;if((!e.enabled||e.entries.length===0)&&(((c=e.events)==null?void 0:c.length)??0)===0)return null;const t=e.entries.reduce((u,d)=>u+d.tokensConsumed,0),n=e.entries.reduce((u,d)=>u+d.requests,0),r=e.entries.filter(u=>u.parked).length,a=e.freeTokens??t-(e.paidTokens??0),s=e.paidTokens??0,o=e.estimatedSavedUsd??0,l=t>0?a/t*100:0;return i.jsxs(or,{icon:"📒",title:"Quota Ledger — free-tier usage & auto re-enable",subtitle:"Tokens/requests per provider × model with reset windows. Exhausted providers are parked (excluded from Auto routing) and re-enable when the window rolls.",children:[i.jsxs("div",{style:{display:"flex",gap:20,flexWrap:"wrap",marginBottom:14},children:[i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"12px 18px",textAlign:"center"},children:[i.jsx("div",{style:{fontSize:22,fontWeight:700,color:"var(--text-primary)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:xt(t)}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:2},children:"tokens tracked"})]}),i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"12px 18px",textAlign:"center"},children:[i.jsx("div",{style:{fontSize:22,fontWeight:700,color:"var(--text-primary)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:n}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:2},children:"requests"})]}),i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"12px 18px",textAlign:"center"},children:[i.jsx("div",{style:{fontSize:22,fontWeight:700,color:r>0?"var(--accent-yellow)":"var(--accent-green)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:r}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:2},children:"parked"})]})]}),i.jsxs("div",{style:{display:"flex",gap:20,flexWrap:"wrap",marginBottom:16},children:[i.jsxs("div",{style:{flex:"1 1 200px",background:"var(--bg-primary)",borderRadius:10,padding:"12px 16px",border:"1px solid var(--accent-green)"},children:[i.jsx("div",{style:{fontSize:20,fontWeight:700,color:"var(--accent-green)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:xt(a)}),i.jsxs("div",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:2},children:["tokens on free/local · ",l.toFixed(0),"% of usage"]}),i.jsxs("div",{style:{fontSize:12,color:"var(--accent-green)",marginTop:4,fontFamily:"'SFMono-Regular', Consolas, monospace"},children:["💰 est. $",o.toFixed(4)," saved"]})]}),i.jsxs("div",{style:{flex:"1 1 200px",background:"var(--bg-primary)",borderRadius:10,padding:"12px 16px",border:"1px solid var(--accent-yellow)"},children:[i.jsx("div",{style:{fontSize:20,fontWeight:700,color:s>0?"var(--accent-yellow)":"var(--text-secondary)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:xt(s)}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)",marginTop:2},children:"tokens on paid providers (spend triggered)"}),i.jsxs("div",{style:{fontSize:12,color:s>0?"var(--accent-yellow)":"var(--text-secondary)",marginTop:4},children:[e.paidRequests??0," paid request",e.paidRequests===1?"":"s"]})]})]}),i.jsx("div",{style:{overflowX:"auto"},children:i.jsxs("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:12},children:[i.jsx("thead",{children:i.jsxs("tr",{style:{borderBottom:"1px solid var(--border-light)",color:"var(--text-secondary)"},children:[i.jsx("th",{style:{padding:"8px 10px",textAlign:"left",fontWeight:500},children:"Provider / Model"}),i.jsx("th",{style:{padding:"8px 10px",textAlign:"right",fontWeight:500},children:"Tokens"}),i.jsx("th",{style:{padding:"8px 10px",textAlign:"right",fontWeight:500},children:"Requests"}),i.jsx("th",{style:{padding:"8px 10px",textAlign:"right",fontWeight:500},children:"Resets in"}),i.jsx("th",{style:{padding:"8px 10px",textAlign:"center",fontWeight:500},children:"State"})]})}),i.jsx("tbody",{children:e.entries.map(u=>i.jsxs("tr",{style:{borderBottom:"1px solid var(--border-light)"},children:[i.jsxs("td",{style:{padding:"8px 10px",whiteSpace:"nowrap"},children:[i.jsxs("span",{style:{color:"var(--text-primary)"},children:[Fr(u.provider)," ",Ci(u.provider).split(" ")[0]]}),i.jsxs("span",{style:{color:"var(--text-secondary)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:[" / ",u.model.length>24?u.model.slice(0,21)+"…":u.model]})]}),i.jsx("td",{style:{padding:"8px 10px",textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",color:"var(--text-secondary)"},children:xt(u.tokensConsumed)}),i.jsx("td",{style:{padding:"8px 10px",textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",color:"var(--text-secondary)"},children:u.requests}),i.jsx("td",{style:{padding:"8px 10px",textAlign:"right",color:"var(--text-secondary)",whiteSpace:"nowrap"},children:dE(u.resetsInMs)}),i.jsx("td",{style:{padding:"8px 10px",textAlign:"center"},children:u.parked?i.jsx("span",{style:{fontSize:11,padding:"1px 8px",borderRadius:10,background:"var(--danger-soft)",border:"1px solid var(--accent-red)",color:"var(--accent-red)"},children:"⏸ parked"}):i.jsx("span",{style:{fontSize:11,padding:"1px 8px",borderRadius:10,background:"var(--ok-soft)",border:"1px solid var(--accent-green)",color:"var(--accent-green)"},children:"✓ available"})})]},`${u.provider}|${u.model}`))})]})}),i.jsxs("div",{style:{fontSize:11,color:"var(--text-muted)",marginTop:12},children:["Configure limits with ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"nuvira config set routing.quota.gemini.requestsPerWindow 1500"}),"; the ledger always tracks usage but only parks when limits are set."]}),e.parkedAccounts&&e.parkedAccounts.length>0&&i.jsxs("div",{style:{marginTop:18},children:[i.jsx("div",{style:{fontSize:13,fontWeight:600,color:"var(--text-primary)",marginBottom:10},children:"🔑 Parked Accounts — multi-account key rotation"}),i.jsx("div",{style:{fontSize:11,color:"var(--text-secondary)",marginBottom:8},children:"Accounts skipped predictively by the failover walk (rate-limit / auth). Fingerprints only — raw keys are never stored."}),i.jsx("div",{style:{maxHeight:180,overflowY:"auto",background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"8px 0"},children:e.parkedAccounts.map((u,d)=>{const f=u.reason==="auth"?"auth":u.reason==="rate-limit"?"rate-limit":u.reason||"cooldown",h=u.reason==="rate-limit"?"var(--accent-yellow)":"var(--accent-red)";return i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"6px 14px",borderBottom:d<e.parkedAccounts.length-1?"1px solid var(--bg-card)":"none"},children:[i.jsx("span",{style:{fontSize:13},children:"🔒"}),i.jsxs("span",{style:{width:90,flexShrink:0,fontSize:12,color:"var(--text-primary)"},children:[Fr(u.provider)," ",Ci(u.provider).split(" ")[0]]}),i.jsxs("span",{style:{fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:11,color:"var(--text-secondary)"},title:u.accountId,children:["#",u.accountId.slice(0,8)]}),i.jsx("span",{style:{fontSize:11,padding:"1px 8px",borderRadius:10,background:"var(--bg-card)",border:`1px solid ${h}`,color:h,textAlign:"center"},children:f}),i.jsx("span",{style:{flex:1}}),i.jsxs("span",{style:{fontSize:11,color:"var(--text-muted)",whiteSpace:"nowrap"},children:["re-admits in ",dE(u.remainingMs)]})]},`${u.provider}-${u.accountId}-${d}`)})})]}),e.events&&e.events.length>0&&i.jsxs("div",{style:{marginTop:18},children:[i.jsx("div",{style:{fontSize:13,fontWeight:600,color:"var(--text-primary)",marginBottom:10},children:"🛟 Failover Timeline — quota management & mid-session swaps"}),i.jsx("div",{style:{maxHeight:220,overflowY:"auto",background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"8px 0"},children:e.events.map((u,d)=>{const f=u.type==="parked"?"⏸":u.type==="re-enabled"?"🔁":u.type==="released"?"✅":"⚡",h=u.type==="parked"?"var(--accent-red)":u.type==="re-enabled"||u.type==="released"?"var(--accent-green)":"var(--accent-yellow)",p=u.type==="parked"?"parked":u.type==="re-enabled"?"re-enabled":u.type==="released"?"released":"failover";return i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"6px 14px",borderBottom:d<e.events.length-1?"1px solid var(--bg-card)":"none"},children:[i.jsx("span",{style:{fontSize:13},children:f}),i.jsx("span",{style:{width:80,flexShrink:0,fontSize:11,padding:"1px 8px",borderRadius:10,background:"var(--bg-card)",border:`1px solid ${h}`,color:h,textAlign:"center"},children:p}),i.jsxs("span",{style:{flex:1,fontSize:12,color:"var(--text-primary)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:[Fr(u.provider)," ",Ci(u.provider)]}),u.reason&&i.jsx("span",{style:{fontSize:11,color:"var(--text-secondary)"},children:u.reason}),i.jsx("span",{style:{fontSize:11,color:"var(--text-muted)",whiteSpace:"nowrap"},children:vM(u.timestamp)})]},`${u.timestamp}-${d}`)})})]})]})}function Of({ok:e,children:t}){return i.jsx("span",{style:{display:"inline-flex",alignItems:"center",gap:5,fontSize:11,padding:"3px 9px",borderRadius:8,background:e===!1?"var(--danger-soft)":"var(--ok-soft)",border:`1px solid ${e===!1?"var(--accent-red)":"var(--accent-green)"}`,color:e===!1?"var(--accent-red)":"var(--accent-green)",whiteSpace:"nowrap"},children:t})}function Foe({governance:e}){var r,a,s,o,l;if(!e.enabled)return i.jsx(or,{icon:"⚖️",title:"Admin Governance Policy",subtitle:"Hard-constraint rules the Auto router enforces on every pick",children:i.jsxs("div",{style:{fontSize:13,color:"var(--text-secondary)"},children:[i.jsx("span",{style:{color:"var(--accent-green)"},children:"Fully permissive"})," — no governance rules active; any provider × model is eligible.",i.jsxs("div",{style:{marginTop:6,fontSize:12,color:"var(--text-muted)"},children:["Add rules with ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"nuvira admin allow <provider>"})," ·"," ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"nuvira admin deny <provider>"})," ·"," ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"nuvira admin max-cost <usd>"})]})]})});const t=[];(r=e.allowProviders)!=null&&r.length&&t.push({label:"allow providers",items:e.allowProviders}),(a=e.denyProviders)!=null&&a.length&&t.push({label:"deny providers",items:e.denyProviders,deny:!0}),(s=e.allowModels)!=null&&s.length&&t.push({label:"allow models",items:e.allowModels}),(o=e.denyModels)!=null&&o.length&&t.push({label:"deny models",items:e.denyModels,deny:!0});const n=[];return e.maxCostUsd!==void 0&&n.push(`max cost $${e.maxCostUsd}`),e.minPrivacyForPii!==void 0&&e.minPrivacyForPii<1&&n.push(`PII min privacy ${e.minPrivacyForPii}`),(l=e.piiPatterns)!=null&&l.length&&n.push(`PII guard (${e.piiPatterns.length} patterns)`),e.allowUnblock===!1&&n.push("unblock admin-hard"),i.jsxs(or,{icon:"⚖️",title:"Admin Governance Policy",subtitle:"Hard-constraint rules — violating providers are eliminated, never just scored lower",children:[i.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:6,marginBottom:10},children:[t.map(c=>i.jsxs(Of,{ok:!c.deny,children:[c.deny?"⛔":"✅"," ",c.label,": ",c.items.join(", ")]},c.label)),n.map(c=>i.jsx(Of,{children:c},c)),t.length===0&&n.length===0&&i.jsx(Of,{ok:!1,children:"policy configured but no rules active"})]}),i.jsxs("div",{style:{fontSize:12,color:"var(--text-muted)"},children:["Managed via ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"nuvira admin"})," — the same policy the CLI’s"," ",i.jsx("code",{children:"model explain"})," surfaces as governance-blocked."]})]})}function Uoe({rbac:e}){const t=n=>n==="admin"?"var(--accent-yellow)":n==="operator"?"var(--accent-green)":"var(--text-secondary)";return i.jsxs(or,{icon:"🔐",title:"RBAC Identity",subtitle:"Who may write policy — role file ~/.nuvira/rbac.json",children:[i.jsxs("div",{style:{fontSize:13,marginBottom:10},children:[i.jsx("span",{style:{color:"var(--text-secondary)"},children:"You are "}),i.jsx("code",{style:{color:"var(--accent-blue)"},children:e.identity}),i.jsx("span",{style:{color:"var(--text-secondary)"},children:" as "}),e.role?i.jsx("span",{style:{color:t(e.role),fontWeight:600},children:e.role}):i.jsx("span",{style:{color:"var(--text-secondary)"},children:"unassigned"})]}),e.legacy?i.jsxs("div",{style:{fontSize:12,color:"var(--text-muted)"},children:[i.jsx("span",{style:{color:"var(--accent-green)"},children:"Legacy single-user mode"})," — no roles assigned; policy writes are open to every user. Assign roles with"," ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"nuvira admin role add <you> admin"}),"."]}):i.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:6},children:[e.users.map(n=>i.jsxs(Of,{ok:n.role!=="viewer",children:[n.user," · ",n.role,n.via==="oidc"?" (oidc)":""]},n.user)),i.jsxs("div",{style:{width:"100%",fontSize:12,color:"var(--text-muted)",marginTop:4},children:["Policy ",i.jsx("em",{children:"writes"})," require ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"admin"}),"; reads are open to every role."]})]})]})}function Woe({data:e}){var p,m,g,y,v,k,w,N,S,x;const t=e==null?void 0:e.routing,n=t&&(t.preference.length>0||t.providers.length>0||t.bestModels.length>0),r=!!((p=t==null?void 0:t.usage)!=null&&p.total),a=!!((m=t==null?void 0:t.history)!=null&&m.length),s=!!t&&(((g=t.history)==null?void 0:g.length)??0)>0||!!((y=t==null?void 0:t.preference)!=null&&y.length),o=!!((v=t==null?void 0:t.bandit)!=null&&v.enabled),l=!!((k=t==null?void 0:t.promotion)!=null&&k.decisionCount),c=!!((w=t==null?void 0:t.ml)!=null&&w.enabled)&&(t.ml.recordCount??0)>0,u=!!((N=t==null?void 0:t.quota)!=null&&N.enabled),d=!!((S=t==null?void 0:t.retrieval)!=null&&S.enabled)||!!((x=t==null?void 0:t.retrieval)!=null&&x.repoChunks),f=!!(t!=null&&t.governance),h=!!(t!=null&&t.rbac);return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"🤖",title:"Auto Routing Insights"}),i.jsxs("p",{className:"section-description",children:["Which providers and models the Auto router prefers — from real pricing, benchmark quality, per-agent success stats, and the Thompson-sampling bandit. Run"," ",i.jsx("code",{children:"nuvira benchmark"})," and use Auto routing to build this up over time."]}),!n&&!r&&!a&&!o&&!l&&!c&&!u&&!d&&!f&&!h?i.jsx(joe,{}):i.jsxs(i.Fragment,{children:[s&&t&&i.jsx(xoe,{routing:t}),f&&t.governance&&i.jsx(Foe,{governance:t.governance}),(t==null?void 0:t.rbac)&&i.jsx(Uoe,{rbac:t.rbac}),r&&i.jsx(Coe,{usage:t.usage}),a&&i.jsx(Aoe,{history:t.history}),o&&i.jsx(Roe,{bandit:t.bandit}),l&&i.jsx($oe,{promotion:t.promotion}),c&&t.ml&&i.jsx(Loe,{ml:t.ml}),u&&i.jsx(zoe,{quota:t.quota}),d&&i.jsx(Boe,{retrieval:t.retrieval}),i.jsx(Toe,{routing:t}),i.jsx(Ooe,{routing:t}),i.jsx(Doe,{routing:t})]}),t&&t.providers.length===0&&t.bestModels.length===0&&t.preference.length>0&&i.jsx("div",{style:{fontSize:12,color:"var(--text-muted)",marginTop:4},children:"Auto-router preference is always available (static profiles + real pricing); quality metrics appear once you run benchmarks and agent tasks."})]})}const hE={chat:"💬",execute:"⚙️",plan:"🗺️",edit:"✏️",skill:"🧩",learn:"📚",ci:"🔁",doctor:"🩺",probe:"🔭","spot-check":"🧪",telemetry:"📡",usage:"🧮","ide-chat":"💬","ide-inline":"✍️","ide-execute":"⚙️"};function Hoe(e){return new Date(e).toLocaleString([],{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function of(e){return e!==void 0?`${e}ms`:"—"}function Goe(e){return e===0?"var(--accent-green)":e<.2?"var(--accent-yellow)":"var(--accent-red)"}function qoe(e){return e===0?"ok":e<.2?"warn":"danger"}function Koe({pair:e}){const t=e.traces.length<=3?e.traces.join(", "):`${e.traces.slice(0,3).join(", ")} +${e.traces.length-3} more`;return i.jsx("span",{title:`⚠️ ${e.steps} step(s) across ${e.traces.length} trace(s) served by a pair that cannot hold an agentic task — this row's error rate is not a quality measurement (traces: ${t})`,style:{marginLeft:6,fontSize:10,padding:"1px 6px",borderRadius:8,whiteSpace:"nowrap",background:"var(--purple-soft)",border:"1px solid var(--accent-red)",color:"var(--accent-red)"},children:"⚠️ degraded"})}function Voe({data:e}){const t=e.rows,n=t.reduce((f,h)=>f+h.requests,0),r=t.reduce((f,h)=>f+Math.round(h.errorRate*h.requests),0),a=t.reduce((f,h)=>f+(h.costUsd??0),0),s=t.flatMap(f=>f.latency?[f.latency.avg]:[]),o=s.length>0?Math.round(s.reduce((f,h)=>f+h,0)/s.length):void 0,l=new Set(t.map(f=>f.action)).size,c=n>0?r/n:0,u=[{key:"requests",icon:"📨",value:xt(n),label:"Requests",tone:"accent"},{key:"groups",icon:"🎯",value:String(t.length),label:"provider × model × action groups",tone:"accent"},{key:"latency",icon:"⚡",value:o!==void 0?`${o}ms`:"—",label:`Avg latency${o!==void 0?` (${s.length} groups)`:" (no samples)"}`,tone:o!==void 0?"ok":"accent"},{key:"error-rate",icon:"📛",value:n>0?`${(c*100).toFixed(1)}%`:"—",label:`Overall error rate (${xt(r)} failures)`,tone:qoe(c)},{key:"cost",icon:"💰",value:a>0?`$${a.toFixed(4)}`:"—",label:`Measured cost${l>0?` · ${l} actions`:""}`,tone:"warn"}],d=e.degraded??[];return d.length>0&&u.push({key:"degraded",icon:"⚠️",value:String(d.length),label:"Degraded pair(s) — served steps without agentic capability (derived from traces)",tone:"danger"}),i.jsx(Ui,{tiles:u})}function Yoe({data:e}){const[t,n]=b.useState(""),[r,a]=b.useState("all"),s=e==null?void 0:e.requests,o=b.useMemo(()=>{if(!s)return[];const d=t.trim().toLowerCase();return s.rows.filter(f=>r!=="all"&&f.action!==r?!1:d?`${f.provider} ${f.model} ${f.action}`.toLowerCase().includes(d):!0)},[s,t,r]),l=i.jsx(Te,{icon:"📨",title:"Requests — per provider × model × action",description:"Aggregated from the same action-telemetry log as the Models panel — every Auto-routed call, grouped by action × provider × model. Latency percentiles appear once ≥3 samples exist; cost when the caller reported usage."});if(!e)return i.jsxs(i.Fragment,{children:[l,i.jsx("div",{className:"loading-state",children:i.jsx("p",{children:"Loading requests..."})})]});if(!s||!s.enabled||s.rows.length===0)return i.jsxs(i.Fragment,{children:[l,i.jsxs("div",{className:"empty-state",style:{padding:"40px 24px",textAlign:"center"},children:[i.jsx("div",{style:{fontSize:28,marginBottom:10},children:"📨"}),i.jsxs("p",{className:"section-description",style:{maxWidth:560,margin:"0 auto"},children:["No request telemetry yet. As you use ",i.jsx("strong",{children:"chat"}),", ",i.jsx("strong",{children:"execute"}),","," ",i.jsx("strong",{children:"plan"})," and ",i.jsx("strong",{children:"edit"})," under Auto routing, every call writes to the action-telemetry log and this panel aggregates it: request counts, p50/p95/p99 latency, error rate and measured cost — the same feed that drives the Models panel."]})]})]});const c=[...new Set(s.rows.map(d=>d.action))].sort(),u=new Map((s.degraded??[]).map(d=>[`${d.provider}|${d.model}`,d]));return i.jsxs(i.Fragment,{children:[l,i.jsx(Voe,{data:s}),u.size>0&&i.jsxs("div",{style:{margin:"0 0 14px",padding:"10px 14px",borderRadius:10,background:"var(--purple-soft)",border:"1px solid var(--accent-red)",color:"var(--text-secondary)",fontSize:12,lineHeight:1.5},children:[i.jsxs("strong",{style:{color:"var(--accent-red)"},children:["⚠️ ",u.size," pair(s) below cannot hold an agentic task."]})," ","Their error rates come from the action log, which records that a provider"," ",i.jsx("em",{children:"answered"})," — not that the answer was usable — and cannot be rewritten (it is hash-chained). The truth is derived read-only from the reasoning traces:"," ",[...u.values()].map(d=>`${d.provider}/${d.model} (${d.steps} step(s))`).join(", "),"."]}),i.jsxs("div",{style:{display:"flex",gap:12,marginBottom:14,flexWrap:"wrap",alignItems:"center"},children:[i.jsxs("select",{value:r,onChange:d=>a(d.target.value),"aria-label":"Filter by action",style:{background:"var(--bg-card)",color:"var(--text-primary)",border:"1px solid var(--border)",borderRadius:8,padding:"8px 10px",fontSize:13,cursor:"pointer"},children:[i.jsx("option",{value:"all",children:"All actions"}),c.map(d=>i.jsxs("option",{value:d,children:[hE[d]||"🎯"," ",d]},d))]}),i.jsxs("div",{style:{flex:1,minWidth:220,position:"relative"},children:[i.jsx("span",{style:{position:"absolute",left:10,top:8,color:"var(--text-muted)",fontSize:13},children:"🔍"}),i.jsx("input",{type:"text",value:t,onChange:d=>n(d.target.value),placeholder:"Search provider, model or action...",style:{width:"100%",padding:"8px 12px 8px 32px",background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:8,color:"var(--text-primary)",fontSize:13,outline:"none"}})]}),i.jsxs("span",{style:{fontSize:12,color:"var(--text-secondary)",whiteSpace:"nowrap"},children:[o.length," of ",s.rows.length," groups"]})]}),i.jsx("div",{style:{overflowX:"auto"},children:i.jsxs("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:13},children:[i.jsx("thead",{children:i.jsxs("tr",{style:{borderBottom:"1px solid var(--border-light)",color:"var(--text-secondary)",textAlign:"left"},children:[i.jsx("th",{style:{padding:"8px 12px",fontWeight:500},children:"Action"}),i.jsx("th",{style:{padding:"8px 12px",fontWeight:500},children:"Provider"}),i.jsx("th",{style:{padding:"8px 12px",fontWeight:500},children:"Model"}),i.jsx("th",{style:{padding:"8px 12px",fontWeight:500,textAlign:"right"},children:"Requests"}),i.jsx("th",{style:{padding:"8px 12px",fontWeight:500,textAlign:"right"},children:"Error rate"}),i.jsx("th",{style:{padding:"8px 12px",fontWeight:500,textAlign:"right"},children:"Latency avg"}),i.jsx("th",{style:{padding:"8px 12px",fontWeight:500,textAlign:"right"},children:"p50"}),i.jsx("th",{style:{padding:"8px 12px",fontWeight:500,textAlign:"right"},children:"p95"}),i.jsx("th",{style:{padding:"8px 12px",fontWeight:500,textAlign:"right"},children:"p99"}),i.jsx("th",{style:{padding:"8px 12px",fontWeight:500,textAlign:"right"},children:"Measured cost"}),i.jsx("th",{style:{padding:"8px 12px",fontWeight:500,textAlign:"right"},children:"Last seen"})]})}),i.jsx("tbody",{children:o.length===0?i.jsx("tr",{children:i.jsx("td",{colSpan:11,style:{padding:28,textAlign:"center",color:"var(--text-muted)"},children:"No request groups match your filter."})}):o.map(d=>{var f;return i.jsxs("tr",{style:{borderBottom:"1px solid var(--border-light)"},children:[i.jsx("td",{style:{padding:"8px 12px",whiteSpace:"nowrap"},children:i.jsxs("span",{style:{fontSize:11,padding:"2px 8px",borderRadius:8,background:"var(--bg-hover)",color:"var(--text-secondary)",border:"1px solid var(--border)"},children:[hE[d.action]||"🎯"," ",d.action]})}),i.jsx("td",{style:{padding:"8px 12px",color:"var(--text-primary)",whiteSpace:"nowrap"},children:d.provider}),i.jsxs("td",{style:{padding:"8px 12px",color:"var(--text-secondary)",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:12,maxWidth:260,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:d.callIds.length>0?`Correlation ids: ${d.callIds.join(", ")}`:void 0,children:[d.model.length>42?d.model.slice(0,39)+"…":d.model,d.callIds.length>0&&i.jsxs("span",{style:{color:"var(--text-muted)",marginLeft:6},title:d.callIds.join(", "),children:["🔗",d.callIds.length]}),u.has(`${d.provider}|${d.model}`)&&i.jsx(Koe,{pair:u.get(`${d.provider}|${d.model}`)})]}),i.jsx("td",{style:{padding:"8px 12px",textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:12},children:d.requests}),i.jsxs("td",{style:{padding:"8px 12px",textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:12,color:Goe(d.errorRate)},children:[(d.errorRate*100).toFixed(1),"%",(d.partials??0)>0&&i.jsxs("span",{title:`⏸ ${d.partials} mid-stream interruption(s) — started streaming, died before finish; the router deprioritizes flaky providers (P4 M4.4)`,style:{display:"inline-flex",alignItems:"center",gap:3,marginLeft:6,fontSize:10,padding:"1px 6px",borderRadius:8,whiteSpace:"nowrap",background:"var(--purple-soft)",border:"1px solid var(--accent-purple)",color:"var(--accent-purple)"},children:["⏸ ",d.partials]})]}),i.jsx("td",{style:{padding:"8px 12px",textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:12},children:of((f=d.latency)==null?void 0:f.avg)}),i.jsx("td",{style:{padding:"8px 12px",textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:12},children:d.latency&&d.latency.samples>=3?of(d.latency.p50):"—"}),i.jsx("td",{style:{padding:"8px 12px",textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:12},children:d.latency&&d.latency.samples>=3?of(d.latency.p95):"—"}),i.jsx("td",{style:{padding:"8px 12px",textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:12},children:d.latency&&d.latency.samples>=3?of(d.latency.p99):"—"}),i.jsx("td",{style:{padding:"8px 12px",textAlign:"right",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:12,color:d.costUsd?"var(--accent-yellow)":"var(--text-muted)"},children:d.costUsd!==void 0?`$${d.costUsd.toFixed(4)}`:"—"}),i.jsx("td",{style:{padding:"8px 12px",textAlign:"right",color:"var(--text-muted)",fontSize:11,whiteSpace:"nowrap"},children:Hoe(d.lastAt)})]},`${d.action}|${d.provider}|${d.model}`)})})]})}),i.jsx("div",{style:{textAlign:"center",fontSize:12,color:"var(--text-muted)",marginTop:12},children:"Auto-refreshes with the dashboard feed · percentile columns need ≥3 latency samples per group"})]})}const Xoe={local:"💻",groq:"🟢",nim:"🔶",gemini:"🔷",openrouter:"🟣"},Qoe={planner:"🗺️",writer:"✍️",reviewer:"🔎",tester:"🧪",debugger:"🐛",runner:"🏃","context-gatherer":"📂",memory:"🧠","self-improver":"📈"};function Zoe(e){return Xoe[e]||"🔌"}function Joe(e){return Qoe[e]||"🤖"}function yM(e){const t=Date.now()-e;return t<6e4?"just now":t<36e5?`${Math.floor(t/6e4)}m ago`:t<864e5?`${Math.floor(t/36e5)}h ago`:`${new Date(e).toLocaleDateString()}`}function p0(e){return e===void 0?"—":e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.floor(e/6e4)}m ${Math.floor(e%6e4/1e3)}s`}function zc(e){return e==null?"0":e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e)}function ele(e){var n,r;if(!e)return null;const t={bg:"var(--bg-primary)",border:"var(--border)"};return e.degradedBy&&e.degradedBy.length>0?{text:`⬇️ degraded — ${e.degradedBy.map(s=>`${s.provider}/${s.model}`).join(", ")} is not agentic-capable, so part of this answer is a weak model's`,color:"var(--accent-yellow)",bg:"var(--warn-soft)",border:"var(--accent-yellow)"}:e.undeliveredChange?{text:"⚠️ unchanged workspace — a change was requested and a plan delivered instead",color:"var(--accent-yellow)",bg:"var(--warn-soft)",border:"var(--accent-yellow)"}:e.unbackedHealthClaim?{text:"⚠️ unbacked verdict — vouched for the product with nothing exercising it",color:"var(--accent-yellow)",bg:"var(--warn-soft)",border:"var(--accent-yellow)"}:e.unverifiedClaim?{text:"⚠️ unverified claim — said it acted, but no tool ran",color:"var(--accent-yellow)",bg:"var(--warn-soft)",border:"var(--accent-yellow)"}:e.unfulfilledPromise?{text:"⚠️ unfulfilled promise — announced an action it never performed",color:"var(--accent-yellow)",bg:"var(--warn-soft)",border:"var(--accent-yellow)"}:e.unverifiedBuildClaim?{text:"⚠️ unverified build claim — a build failed but the reply reported success",color:"var(--accent-yellow)",bg:"var(--warn-soft)",border:"var(--accent-yellow)"}:e.unverifiedEditClaim?{text:"⚠️ unverified edit claim — asserted a fix, but nothing verified it",color:"var(--accent-yellow)",bg:"var(--warn-soft)",border:"var(--accent-yellow)"}:e.unverifiedEdit?{text:`⚠️ unverified edit — ${((n=e.tools)==null?void 0:n.length)??0} tool(s), no test/typecheck/browser run`,color:"var(--accent-yellow)",bg:"var(--warn-soft)",border:"var(--accent-yellow)"}:e.kind==="acted"?{text:e.delivered?"✅ action performed — message sent":`🔧 acted — ${((r=e.tools)==null?void 0:r.length)??0} tool(s)`,color:"var(--accent-green)",bg:"var(--ok-soft)",border:"var(--accent-green)"}:e.kind==="answered"?{text:"💬 answered — no action taken",color:"var(--text-secondary)",...t}:e.kind==="incomplete"?{text:"⏳ incomplete — ended with work still outstanding",color:"var(--accent-yellow)",bg:"var(--warn-soft)",border:"var(--accent-yellow)"}:e.kind==="cancelled"?{text:"⏹ cancelled",color:"var(--text-secondary)",...t}:{text:"❌ generation failed",color:"var(--accent-red)",bg:"var(--danger-soft)",border:"var(--accent-red)"}}function pE(e){const t=e.filter(n=>n.verdict==="CONFIRMED"&&m0(n).length>0).length;return`${e.length} finding${e.length===1?"":"s"}: ${t} confirmed, ${e.length-t} plausible`}function m0(e){return(e.evidence??[]).filter(t=>typeof(t==null?void 0:t.ref)=="string"&&t.ref.trim().length>0)}function tle({finding:e}){const t=m0(e),n=e.verdict==="CONFIRMED"&&t.length>0;return i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderLeft:`3px solid ${n?"var(--accent-green)":"var(--accent-yellow)"}`,borderRadius:8,padding:"8px 12px",marginBottom:8},children:[i.jsxs("div",{style:{display:"flex",alignItems:"baseline",gap:8},children:[i.jsx("span",{style:{fontSize:13},children:n?"✅":"🔎"}),i.jsx("span",{style:{flex:1,fontSize:12.5,fontWeight:600,color:"var(--text-primary)"},children:e.claim}),i.jsx("span",{style:{fontSize:9.5,fontWeight:700,letterSpacing:"0.04em",padding:"1px 7px",borderRadius:10,border:"1px solid",color:n?"var(--accent-green)":"var(--accent-yellow)",background:n?"var(--ok-soft)":"var(--warn-soft)",borderColor:n?"var(--accent-green)":"var(--accent-yellow)"},children:n?"CONFIRMED":"PLAUSIBLE"})]}),e.outcome?i.jsx("div",{style:{marginTop:3,fontSize:11.5,color:"var(--text-secondary)"},children:e.outcome}):null,t.length>0?i.jsx("ul",{style:{listStyle:"none",margin:"5px 0 0",padding:0},children:t.map((r,a)=>i.jsxs("li",{style:{fontSize:11,color:"var(--text-secondary)",marginBottom:3},children:[i.jsx("span",{style:{fontSize:9.5,textTransform:"uppercase",letterSpacing:"0.04em",color:"var(--accent-blue)",marginRight:5},children:r.kind}),i.jsx("span",{style:{color:"var(--text-secondary)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:r.ref}),r.detail?i.jsxs("span",{style:{marginLeft:5},children:["(",r.detail,")"]}):null]},a))}):i.jsx("div",{style:{marginTop:5,fontSize:11,color:"var(--accent-yellow)"},children:"no evidence — reported as PLAUSIBLE, not verified"}),e.source?i.jsxs("div",{style:{marginTop:4,fontSize:10,color:"var(--text-muted)"},children:["source: ",e.source]}):null]})}function lp({icon:e,title:t,subtitle:n,children:r}){return i.jsxs("div",{style:{background:"var(--bg-card)",borderRadius:12,border:"1px solid var(--border-light)",padding:"18px 20px",marginBottom:16},children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:4},children:[i.jsx("span",{style:{fontSize:20},children:e}),i.jsx("h2",{style:{fontSize:15,fontWeight:600,color:"var(--text-primary)",margin:0},children:t})]}),n&&i.jsx("p",{style:{fontSize:12,color:"var(--text-secondary)",margin:"2px 0 12px 0"},children:n}),!n&&i.jsx("div",{style:{height:6}}),r]})}function nle(){return i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px dashed var(--border)",borderRadius:10,padding:"18px 20px",color:"var(--text-secondary)",fontSize:13,textAlign:"center"},children:["🔍 No reasoning traces yet — every LLM call in a ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"nuvira execute"})," pipeline is recorded to ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"reasoning-traces.json"}),". Run a pipeline, then replay it here or with ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"nuvira trace replay <id>"}),"."]})}function rle(){const[e,t]=b.useState(null),[n,r]=b.useState(!1),[a,s]=b.useState(null),o=b.useCallback(()=>{K.fetchAcceptance().then(u=>{u?(t(u),r(!1)):r(!0)})},[]);b.useEffect(()=>{o()},[o]);const l=b.useCallback(async u=>{if(u){s("Importing…");try{const d=await u.text(),f=await K.importAcceptance(d);if(!f||!f.ok){s(f!=null&&f.error?`Import failed: ${f.error}`:"Import failed.");return}s(`Imported ${f.imported??0}: ${f.added??0} new, ${f.updated??0} present (store ${f.total??0}).`),o()}catch{s("Import failed.")}}},[o]);if(n&&!e)return null;const c=e?Object.entries(e.byPair):[];return i.jsx(lp,{icon:"⭐",title:"Acceptance (read-only)",subtitle:"The one label the harness cannot derive: whether YOU wanted the turn. Rate it with the 👍/👎 control on a trace below, run `nuvira rate good|bad`, or let the behavioural tier infer it. Nothing routes on this.",children:e===null?i.jsx("div",{style:{color:"var(--text-secondary)",fontSize:13},children:"Loading…"}):i.jsxs(i.Fragment,{children:[i.jsxs("div",{style:{fontSize:13,color:"var(--text-primary)",marginBottom:6},children:[e.labelled," labelled turn",e.labelled===1?"":"s"," — 👍 ",e.accepted," / 👎 ",e.rejected]}),Object.keys(e.bySource).length>0&&i.jsxs("div",{style:{fontSize:12,color:"var(--text-secondary)",marginBottom:6},children:["by source: ",Object.entries(e.bySource).map(([u,d])=>`${u} ${d}`).join(", ")]}),c.length>0&&i.jsx("div",{style:{fontSize:12,color:"var(--text-secondary)",marginBottom:6},children:c.map(([u,d])=>{const f=d.accepted+d.rejected;return i.jsxs("div",{children:[u,": 👍 ",d.accepted," / 👎 ",d.rejected," (",Math.round(100*d.accepted/f),"%, n=",f,")"]},u)})}),i.jsx("div",{style:{fontSize:12,color:e.fit.ok?"var(--accent-green)":"var(--text-secondary)"},children:e.fit.ok?`fit TRAINED — P(accepted | features) n=${e.fit.n} (${e.fit.positives}👍/${e.fit.negatives}👎)`:`fit NOT trained — ${e.fit.reason??"insufficient labels"}`}),i.jsxs("div",{style:{display:"flex",gap:12,alignItems:"center",flexWrap:"wrap",marginTop:10},children:[i.jsx("span",{style:{fontSize:12,color:"var(--text-secondary)"},children:"Ship / join:"}),i.jsx("a",{href:K.acceptanceExportUrl("json"),download:!0,style:{fontSize:12,color:"var(--accent-blue)"},children:"Export JSON"}),i.jsx("a",{href:K.acceptanceExportUrl("csv"),download:!0,style:{fontSize:12,color:"var(--accent-blue)"},children:"Export CSV"}),i.jsxs("label",{style:{fontSize:12,color:"var(--accent-blue)",cursor:"pointer"},children:["Import…",i.jsx("input",{type:"file",accept:".json,.csv,application/json,text/csv",style:{display:"none"},onChange:u=>{var d;l((d=u.target.files)==null?void 0:d[0]),u.currentTarget.value=""}})]}),a&&i.jsx("span",{style:{fontSize:12,color:"var(--text-secondary)"},children:a})]})]})})}function ale({step:e}){const[t,n]=b.useState(!1),r=e.success?"var(--accent-green)":"var(--accent-red)",a=e.success?"ok":"failed";return i.jsxs("div",{style:{background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:8,marginBottom:8,overflow:"hidden"},children:[i.jsxs("button",{onClick:()=>n(!t),style:{width:"100%",background:"none",border:"none",cursor:"pointer",padding:"10px 14px",textAlign:"left",display:"flex",alignItems:"center",gap:10,color:"inherit"},children:[i.jsx("span",{style:{width:26,fontSize:16},children:Joe(e.agentType)}),i.jsx("span",{style:{width:130,fontSize:12,fontWeight:600,color:"var(--text-primary)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:e.agentType,children:e.agentType}),i.jsxs("span",{style:{flex:1,fontSize:12,color:"var(--text-secondary)",fontFamily:"'SFMono-Regular', Consolas, monospace",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:`${e.provider}/${e.model}`,children:[Zoe(e.provider)," ",e.provider,"/",e.model]}),i.jsx("span",{style:{width:70,fontSize:11,color:"var(--text-muted)",textAlign:"right"},children:p0(e.latencyMs)}),i.jsxs("span",{style:{width:86,fontSize:11,color:"var(--text-muted)",fontFamily:"'SFMono-Regular', Consolas, monospace",textAlign:"right"},children:[zc(e.inputTokens),"→",zc(e.outputTokens)," tok"]}),i.jsx("span",{style:{width:46,fontSize:11,color:r,textAlign:"right"},children:a}),i.jsx("span",{style:{width:22,fontSize:11,textAlign:"right"},children:e.escalated?i.jsx("span",{title:"Repair escalated to a stronger routed model (v1.60.4)",children:"🚀"}):""}),i.jsx("span",{style:{fontSize:11,color:"var(--text-muted)"},children:t?"▾":"▸"})]}),t&&i.jsxs("div",{style:{padding:"0 14px 12px 50px",fontSize:12},children:[e.taskId&&i.jsxs("div",{style:{color:"var(--text-muted)",marginBottom:4},children:["Task: ",i.jsx("span",{style:{color:"var(--text-secondary)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:e.taskId})]}),e.description&&i.jsx("div",{style:{color:"var(--text-secondary)",marginBottom:6},children:e.description}),e.routing&&i.jsxs("div",{style:{marginBottom:6},children:[i.jsxs("span",{style:{fontSize:10,padding:"1px 8px",borderRadius:10,background:e.escalated?"var(--warn-soft)":"var(--bg-tertiary)",border:e.escalated?"1px solid var(--accent-yellow)":"1px solid var(--accent-blue)",color:e.escalated?"var(--accent-yellow)":"var(--accent-blue)"},children:[e.escalated?"🚀 escalated auto → ":"🤖 auto → ",e.routing.provider,"/",e.routing.model," · score ",e.routing.score.toFixed(3)," · ",e.routing.complexity]}),e.escalated&&i.jsx("div",{style:{color:"var(--accent-yellow)",marginTop:4,fontSize:11},children:"Repair escalated to a stronger routed model (next complexity level)."}),e.routing.explanation&&i.jsx("div",{style:{color:"var(--text-muted)",marginTop:4,fontSize:11},children:e.routing.explanation}),e.routing.agenticCapable===!1&&i.jsxs("div",{style:{color:"var(--accent-red)",marginTop:4,fontSize:11,fontWeight:600},children:["⚠️ not agentic-capable",e.routing.overrideReason?` (${e.routing.overrideReason})`:""," — a software ask on this model may fabricate results"]})]}),e.layers&&i.jsxs("div",{style:{marginBottom:6,fontSize:11,color:"var(--text-muted)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:[i.jsx("span",{style:{color:"var(--accent-blue)"},children:"sys"})," ",e.layers.systemChars,"c/#",e.layers.systemDigest," ·"," ",i.jsx("span",{style:{color:"var(--accent-green)"},children:"ctx"})," ",e.layers.contextChars,"c/#",e.layers.contextDigest," ·"," ",i.jsx("span",{style:{color:"var(--accent-yellow)"},children:"vol"})," ",e.layers.volatileChars,"c/#",e.layers.volatileDigest,i.jsxs("div",{style:{color:"var(--text-muted)",marginTop:2},children:["a constant ",i.jsx("span",{style:{color:"var(--accent-blue)"},children:"sys"})," digest across steps ⇒ the stable layer is prompt-cacheable"]})]}),e.error&&i.jsxs("div",{style:{color:"var(--accent-red)",marginBottom:6},children:["⚠️ ",e.error.slice(0,300)]}),i.jsxs("div",{style:{color:"var(--text-muted)",margin:"6px 0 3px 0"},children:["Prompt ",i.jsxs("span",{style:{fontFamily:"'SFMono-Regular', Consolas, monospace"},children:["#",e.promptDigest]})," · ",e.promptPreview.length,"+ chars:"]}),i.jsx("pre",{style:{background:"var(--bg-card)",border:"1px solid var(--border-light)",borderRadius:6,padding:8,margin:0,color:"var(--text-secondary)",whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:180,overflowY:"auto",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:11},children:e.promptPreview.slice(0,900)}),i.jsxs("div",{style:{color:"var(--text-muted)",margin:"8px 0 3px 0"},children:["Response (",zc(e.responseLength)," chars):"]}),i.jsx("pre",{style:{background:"var(--bg-card)",border:"1px solid var(--border-light)",borderRadius:6,padding:8,margin:0,color:"var(--text-secondary)",whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:240,overflowY:"auto",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:11},children:e.responsePreview.slice(0,1200)})]})]})}function ile({trace:e}){var h,p;const[t,n]=b.useState(e.steps??null),[r,a]=b.useState(!1),[s,o]=b.useState(((h=e.userVerdict)==null?void 0:h.verdict)??null),[l,c]=b.useState(!1),u=b.useCallback(async m=>{c(!0),await K.rateTrace(e.id,m)&&o(m),c(!1)},[e.id]);b.useEffect(()=>{if(e.steps){n(e.steps);return}let m=!1;return K.fetchTraceDetail(e.id).then(g=>{m||(g!=null&&g.steps?n(g.steps):a(!0))}),()=>{m=!0}},[e.id,e.steps]);const d=e.success===!0?"✅":e.success===!1?"❌":"⏳",f=e.success===!0?"success":e.success===!1?"failed":"in progress";return i.jsxs(lp,{icon:d,title:`${e.id} — ${f}`,subtitle:e.goal,children:[i.jsxs("div",{style:{display:"flex",gap:8,flexWrap:"wrap",marginBottom:12},children:[i.jsxs("span",{style:{fontSize:11,padding:"2px 10px",borderRadius:12,background:"var(--bg-primary)",border:"1px solid var(--border)",color:"var(--text-secondary)"},children:["🕓 ",yM(e.startedAt)]}),(()=>{const m=ele(e.outcome);return m?i.jsx("span",{style:{fontSize:11,padding:"2px 10px",borderRadius:12,background:m.bg,border:`1px solid ${m.border}`,color:m.color},children:m.text}):null})(),i.jsxs("span",{style:{fontSize:11,padding:"2px 10px",borderRadius:12,background:"var(--bg-primary)",border:"1px solid var(--border)",color:"var(--text-secondary)"},children:["⏱ ",p0(e.durationMs)]}),i.jsxs("span",{style:{fontSize:11,padding:"2px 10px",borderRadius:12,background:"var(--bg-primary)",border:"1px solid var(--border)",color:"var(--text-secondary)"},children:["🔢 ",(t==null?void 0:t.length)??"?"," call(s)"]}),i.jsxs("span",{style:{display:"inline-flex",gap:6,alignItems:"center",marginLeft:4},children:[i.jsx("span",{style:{fontSize:11,color:"var(--text-secondary)"},children:"Was this what you wanted?"}),["accepted","rejected"].map(m=>i.jsx("button",{type:"button",disabled:l,"aria-pressed":s===m,onClick:()=>void u(m),style:{fontSize:11,padding:"2px 10px",borderRadius:12,cursor:l?"default":"pointer",background:s===m?"var(--accent, var(--bg-hover))":"var(--bg-primary)",border:`1px solid ${s===m?"var(--accent, var(--border))":"var(--border)"}`,color:s===m?"var(--text-inverse, var(--text-primary))":"var(--text-secondary)",fontWeight:s===m?600:400},children:m==="accepted"?"👍 Yes":"👎 No"},m)),s?i.jsx("span",{style:{fontSize:11,color:"var(--text-secondary)"},children:"recorded"}):i.jsx("span",{style:{fontSize:11,color:"var(--text-secondary)"},children:"not rated"})]}),t&&t.some(m=>m.escalated)&&i.jsxs("span",{style:{fontSize:11,padding:"2px 10px",borderRadius:12,background:"var(--warn-soft)",border:"1px solid var(--accent-yellow)",color:"var(--accent-yellow)"},children:["🚀 ",t.filter(m=>m.escalated).length," escalated repair(s)"]}),e.totalTokens!==void 0&&i.jsxs("span",{style:{fontSize:11,padding:"2px 10px",borderRadius:12,background:"var(--bg-primary)",border:"1px solid var(--border)",color:"var(--text-secondary)"},children:["🧮 ",zc(e.totalTokens)," tok"]}),e.findings&&e.findings.length>0&&i.jsx("span",{style:{fontSize:11,padding:"2px 10px",borderRadius:12,background:"var(--bg-primary)",border:"1px solid var(--border)",color:"var(--text-secondary)"},children:`🔎 ${pE(e.findings)}`}),((p=e.outcome)==null?void 0:p.unverifiedPaths)&&e.outcome.unverifiedPaths.length>0&&i.jsx("span",{title:e.outcome.unverifiedPaths.join(", "),style:{fontSize:11,padding:"2px 10px",borderRadius:12,background:"var(--warn-soft)",border:"1px solid var(--accent-yellow)",color:"var(--accent-yellow)"},children:`⚠️ ${e.outcome.unverifiedPaths.length} path(s) unverified`})]}),e.findings&&e.findings.length>0?i.jsxs("div",{style:{marginBottom:12},children:[i.jsx("div",{style:{fontSize:12,color:"var(--text-secondary)",marginBottom:6},children:`🔎 Findings — ${pE(e.findings)}`}),e.findings.map((m,g)=>i.jsx(tle,{finding:m},`finding-${g}`))]}):null,e.turnReport?i.jsxs("div",{style:{marginBottom:12},children:[i.jsx("div",{style:{fontSize:12,color:"var(--text-secondary)",marginBottom:6},children:`📋 Turn report — ${e.turnReport.summary??e.turnReport.verification}`}),i.jsxs("div",{style:{fontSize:11,marginBottom:6},children:[i.jsx("span",{style:{textTransform:"uppercase",letterSpacing:"0.04em",fontSize:10,border:"1px solid currentColor",borderRadius:12,padding:"1px 8px",color:e.turnReport.verification==="verified"?"var(--accent-green)":e.turnReport.verification==="unverified"?"var(--accent-yellow)":e.turnReport.verification==="blocked"?"var(--accent-red)":"var(--text-secondary)"},children:e.turnReport.verification}),e.turnReport.changedPaths.length>0?i.jsx("span",{style:{marginLeft:8,color:"var(--text-secondary)"},children:`${e.turnReport.changedPaths.length} file(s) changed`}):null,e.turnReport.planCarried?i.jsx("span",{style:{marginLeft:8,color:"var(--text-secondary)"},children:"plan carried from an earlier turn — not advanced this turn"}):null]}),e.turnReport.unverifiedPaths&&e.turnReport.unverifiedPaths.length>0?i.jsxs("div",{style:{marginBottom:6,fontSize:11,color:"var(--accent-yellow)"},children:[`⚠️ ${e.turnReport.unverifiedPaths.length} changed path(s) no check exercised: `,i.jsxs("code",{children:[e.turnReport.unverifiedPaths.slice(0,6).join(", "),e.turnReport.unverifiedPaths.length>6?` +${e.turnReport.unverifiedPaths.length-6} more`:""]})]}):null,e.turnReport.steps.length>0?i.jsx("ul",{style:{margin:0,padding:0,listStyle:"none",display:"flex",flexDirection:"column",gap:3},children:e.turnReport.steps.map(m=>i.jsxs("li",{style:{fontSize:12},children:[i.jsx("span",{"aria-hidden":"true",children:m.status==="done"?"✅":m.status==="running"?"🔄":m.status==="blocked"?"⛔":"⬜"})," ",m.description,m.evidence?i.jsxs("span",{style:{color:"var(--accent-yellow)",fontSize:11},children:[" (",m.evidence,")"]}):null]},m.id))}):null]}):null,e.systemPrompt&&i.jsxs("details",{style:{marginBottom:12},children:[i.jsxs("summary",{style:{cursor:"pointer",fontSize:12,color:"var(--accent-blue)"},children:["🧬 System prompt — stable layer (",e.systemPromptChars??e.systemPrompt.length," chars)"]}),i.jsx("pre",{style:{background:"var(--bg-card)",border:"1px solid var(--border-light)",borderRadius:6,padding:10,margin:"8px 0 0 0",color:"var(--text-secondary)",whiteSpace:"pre-wrap",wordBreak:"break-word",maxHeight:320,overflowY:"auto",fontFamily:"'SFMono-Regular', Consolas, monospace",fontSize:11},children:e.systemPrompt})]}),r&&i.jsx("div",{style:{color:"var(--accent-red)",fontSize:12,marginBottom:10},children:"Could not load trace steps (trace may have been deleted)."}),t===null&&!r&&i.jsx("div",{style:{color:"var(--text-secondary)",fontSize:12},children:"Loading steps…"}),t&&t.length===0&&i.jsx("div",{style:{color:"var(--text-secondary)",fontSize:12},children:"No LLM calls recorded in this trace."}),t&&t.map(m=>i.jsx(ale,{step:m},m.seq))]})}function sle({traces:e}){const[t,n]=b.useState(null);return t?i.jsxs(i.Fragment,{children:[i.jsx("button",{onClick:()=>n(null),style:{background:"var(--bg-hover)",border:"1px solid var(--border)",color:"var(--text-primary)",borderRadius:8,padding:"6px 14px",fontSize:12,cursor:"pointer",marginBottom:12},children:"← Back to traces"}),i.jsx(ile,{trace:t})]}):i.jsx("div",{children:e.map(r=>{const a=r.success===!0?"✅":r.success===!1?"❌":"⏳",s=r.steps?[...new Set(r.steps.map(o=>o.agentType))].join(", "):"";return i.jsxs("button",{onClick:()=>n(r),style:{width:"100%",background:"var(--bg-primary)",border:"1px solid var(--border-light)",borderRadius:10,padding:"12px 16px",marginBottom:8,cursor:"pointer",textAlign:"left",color:"inherit",transition:"border-color 0.2s, box-shadow 0.2s"},onMouseEnter:o=>{o.currentTarget.style.borderColor="var(--accent-blue)",o.currentTarget.style.boxShadow="0 2px 10px color-mix(in srgb, var(--accent-blue) 13%, transparent)"},onMouseLeave:o=>{o.currentTarget.style.borderColor="var(--border-light)",o.currentTarget.style.boxShadow="none"},children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:4},children:[i.jsx("span",{children:a}),i.jsx("span",{style:{fontSize:11,color:"var(--accent-blue)",fontFamily:"'SFMono-Regular', Consolas, monospace"},children:r.id}),i.jsx("span",{style:{fontSize:11,color:"var(--text-muted)",marginLeft:"auto"},children:yM(r.startedAt)})]}),i.jsx("div",{style:{fontSize:13,color:"var(--text-primary)",marginBottom:6},children:r.goal}),i.jsxs("div",{style:{display:"flex",gap:10,flexWrap:"wrap",fontSize:11,color:"var(--text-secondary)"},children:[i.jsxs("span",{children:["🔢 ",r.stepCount??0," call(s)"]}),i.jsxs("span",{children:["⏱ ",p0(r.durationMs)]}),r.failedSteps?i.jsxs("span",{style:{color:"var(--accent-red)"},children:["❌ ",r.failedSteps," failed"]}):i.jsx("span",{style:{color:"var(--accent-green)"},children:"✓ all ok"}),r.totalTokens!==void 0&&i.jsxs("span",{children:["🧮 ",zc(r.totalTokens)," tok"]}),r.findings&&r.findings.length>0&&i.jsx("span",{style:{color:"var(--accent-yellow)"},children:`🔎 ${r.findings.filter(o=>o.verdict==="CONFIRMED"&&m0(o).length>0).length}/${r.findings.length} confirmed`}),s&&i.jsxs("span",{children:["🤖 ",s.slice(0,60)]})]})]},r.id)})})}function ole(){const[e,t]=b.useState(null),[n,r]=b.useState(!1),a=b.useCallback(()=>{K.fetchTraces().then(s=>{s?(t(s),r(!1)):r(!0)})},[]);return b.useEffect(()=>{a();const s=setInterval(a,15e3);return()=>clearInterval(s)},[a]),i.jsxs("div",{className:"panel",children:[i.jsx(Te,{icon:"🔍",title:"Reasoning Traces",description:"Every LLM call in each pipeline — agent × model × prompt digest × response × tokens × latency × routing snapshot (assessment P0)."}),i.jsx(rle,{}),e===null&&!n&&i.jsx(lp,{icon:"⏳",title:"Loading…",children:i.jsx("div",{style:{color:"var(--text-secondary)",fontSize:13},children:"Fetching reasoning traces…"})}),n&&e===null&&i.jsx(lp,{icon:"⚠️",title:"Could not reach the dashboard server",children:i.jsxs("div",{style:{color:"var(--text-secondary)",fontSize:13},children:["The traces endpoint is unavailable right now — retrying automatically. Run"," ",i.jsx("code",{style:{color:"var(--accent-blue)"},children:"nuvira trace list"})," in the terminal to inspect traces directly."]})}),e!==null&&e.length===0&&i.jsx(nle,{}),e!==null&&e.length>0&&i.jsx(sle,{traces:e})]})}function Kg(e){if(e.trim()==="")return null;const t=Number(e);return Number.isFinite(t)&&t>=0?t:null}function lle({authed:e,role:t}){const[n,r]=b.useState(null),[a,s]=b.useState({}),[o,l]=b.useState(""),[c,u]=b.useState(!1),[d,f]=b.useState(null),[h,p]=b.useState(null),m=e&&(t==="admin"||t==="operator"),g=e&&t==="admin",y=b.useCallback(async()=>{var E,_,O;const S=await K.fetchAdminQuota();if(!S){p("Could not load budget config.");return}p(null),r(S);const x={};for(const C of S.providers){const P=S.quota[C]||{};x[C]={provider:C,tokens:((E=P.tokensPerWindow)==null?void 0:E.toString())??"",requests:((_=P.requestsPerWindow)==null?void 0:_.toString())??"",windowMs:((O=P.windowMs)==null?void 0:O.toString())??""}}s(x),l(S.costUsd===null?"":String(S.costUsd))},[]);b.useEffect(()=>{y()},[y]);const v=(S,x,E)=>{s(_=>({..._,[S]:{..._[S]||{provider:S},[x]:E}}))},k=async()=>{u(!0),f(null);const S={};for(const _ of Object.values(a)){const O={},C=Kg(_.tokens),P=Kg(_.requests),A=Kg(_.windowMs);C!==null&&(O.tokensPerWindow=C),P!==null&&(O.requestsPerWindow=P),A!==null&&(O.windowMs=A),S[_.provider]=Object.keys(O).length>0?O:null}const x={quota:S};if(g)if(o.trim()!==""){const _=Number(o);if(!Number.isFinite(_)||_<0){f({ok:!1,text:"Cost cap must be a non-negative number."}),u(!1);return}x.costUsd=_}else x.costUsd=null;const E=await K.saveAdminQuota(x);u(!1),E.ok?(f({ok:!0,text:"Budget saved — the quota ledger + auto-router will enforce it."}),y()):f({ok:!1,text:E.error||"Save failed."})},w=S=>{const x=n==null?void 0:n.quota[S];return!!x&&(x.tokensPerWindow!==void 0||x.requestsPerWindow!==void 0||x.windowMs!==void 0)},N=S=>"admin-input";return i.jsxs("div",{className:"admin-quota-panel",children:[i.jsx("h2",{className:"section-subtitle",children:"💰 Daily Budget (routing.quota — your plan, your say)"}),i.jsxs("p",{className:"admin-quota-note",children:["Free-tier providers enforce tokens-per-day caps the API doesn't advertise — only you know your plan's allowance. Declare it here and the agent paces around it (parks the provider at the cap, auto-resumes at window rollover) instead of exhausting your budget mid-task. Unset = current behavior. Same config as ",i.jsx("code",{children:"nuvira model quota set"}),"."]}),h?i.jsx("div",{className:"admin-error",children:h}):null,n?i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"admin-quota-table",children:[i.jsxs("div",{className:"admin-quota-row admin-quota-head",children:[i.jsx("span",{children:"Provider"}),i.jsx("span",{children:"Tokens / window"}),i.jsx("span",{children:"Requests / window"}),i.jsx("span",{children:"Window (ms)"}),i.jsx("span",{children:"Status"})]}),n.providers.map(S=>{var x,E,_;return i.jsxs("div",{className:"admin-quota-row",children:[i.jsx("span",{className:"admin-provider-type",children:S}),i.jsx("input",{className:N(!m),type:"number",min:0,placeholder:"unset",disabled:!m,value:((x=a[S])==null?void 0:x.tokens)??"",onChange:O=>v(S,"tokens",O.target.value)}),i.jsx("input",{className:N(!m),type:"number",min:0,placeholder:"unset",disabled:!m,value:((E=a[S])==null?void 0:E.requests)??"",onChange:O=>v(S,"requests",O.target.value)}),i.jsx("input",{className:N(!m),type:"number",min:0,placeholder:"86400000 (24h)",disabled:!m,value:((_=a[S])==null?void 0:_.windowMs)??"",onChange:O=>v(S,"windowMs",O.target.value)}),i.jsx("span",{className:`admin-role-badge ${w(S)?"admin-role-admin":"admin-role-viewer"}`,children:w(S)?"declared":"unset"})]},S)})]}),i.jsxs("div",{className:"admin-quota-row admin-quota-cost",children:[i.jsx("span",{className:"admin-provider-type",children:"Max cost / call (USD, admin)"}),i.jsx("input",{className:N(!g),type:"number",min:0,step:.01,placeholder:"unset",disabled:!g,value:o,onChange:S=>l(S.target.value)}),i.jsx("span",{className:"admin-quota-cost-hint",children:"governance.maxCostUsd — hard admin cap"})]}),m||g?i.jsxs("div",{className:"admin-quota-actions",children:[i.jsx("button",{className:"admin-mini-btn",onClick:()=>void k(),disabled:c,children:c?"⏳ Saving…":"💾 Save budget"}),d?i.jsx("span",{className:d.ok?"admin-quota-ok":"admin-quota-err",children:d.text}):null]}):i.jsxs("div",{className:"admin-readonly-note",children:["🔒 Read-only for ",i.jsx("code",{children:t})," — budget limits need ",i.jsx("code",{children:"admin"})," or"," ",i.jsx("code",{children:"operator"}),"; the cost cap needs ",i.jsx("code",{children:"admin"}),"."]})]}):i.jsx("div",{className:"empty-state",children:"Loading budget…"})]})}const cle=["image","video","search","vision","speech"],ule={image:"🖼️ Image generation",video:"🎬 Video generation",search:"🔎 Web search & page reading",vision:"👁️ Vision / interpretation",speech:"🔊 Speech (TTS / STT)"};function dle({authed:e,role:t}){const[n,r]=b.useState([]),[a,s]=b.useState({}),[o,l]=b.useState(null),[c,u]=b.useState({}),[d,f]=b.useState(null),h=e&&t==="admin",p=b.useCallback(async()=>{const S=await K.fetchAdminServices();if(!S){f("Could not load service configuration — is the dashboard server up to date?");return}f(null),r(S.services)},[]);b.useEffect(()=>{p()},[p]);const m=(S,x)=>`${S}:${x}`,g=(S,x,E)=>{s(_=>({..._,[m(S,x)]:E}))},y=async S=>{const x={};for(const _ of S.envVars){const O=a[m(S.id,_.varName)];O!==void 0&&O.trim()!==""&&(x[_.varName]=O.trim())}if(Object.keys(x).length===0){u(_=>({..._,[S.id]:"ℹ️ Type a value to save."}));return}l(S.id),u(_=>({..._,[S.id]:""}));const E=await K.saveService(S.id,x);if(E.ok&&E.service){const _=E.service;r(O=>O.map(C=>C.id===S.id?_:C)),s(O=>{const C={...O};for(const P of S.envVars)delete C[m(S.id,P.varName)];return C}),u(O=>({...O,[S.id]:"✅ Saved — the agent will use it on the next call."}))}else u(_=>({..._,[S.id]:`❌ ${E.error||"Save failed."}`}));l(null)},v=async S=>{l(S.id),u(E=>({...E,[S.id]:"⏳ Testing…"}));const x=await K.testService(S.id);u(E=>({...E,[S.id]:x.ok?`✅ ${x.detail||"Reachable"}`:`❌ ${x.error||x.detail||"Unreachable"}`})),l(null)},k=async S=>{if(!window.confirm(`Remove ${S.label}'s stored key(s)? The agent will fall back to another configured backend.`))return;l(S.id);const x=await K.removeService(S.id);if(x.ok&&x.service){const E=x.service;r(_=>_.map(O=>O.id===S.id?E:O)),s(_=>{const O={..._};for(const C of S.envVars)delete O[m(S.id,C.varName)];return O}),u(_=>{var O;return{..._,[S.id]:`🗑️ Removed ${((O=x.removed)==null?void 0:O.join(", "))||"key(s)"}.`}})}else u(E=>({...E,[S.id]:`❌ ${x.error||"Remove failed."}`}));l(null)},w=cle.map(S=>({cap:S,services:n.filter(x=>x.capability===S)})).filter(S=>S.services.length>0),N=n.filter(S=>S.configured).length;return i.jsxs("div",{className:"service-providers-panel",children:[i.jsx("h2",{className:"section-subtitle",children:"🔌 Service Provider API Keys (image · video · search · vision · speech)"}),i.jsxs("p",{className:"admin-subtitle",children:["These are the third-party services the agent calls directly — separate from the LLM providers above. Each row maps to a real environment variable the tool path reads; keys are written to the credential env file and picked up by the agent on the next call.",n.length>0?` ${N} of ${n.length} services ready.`:""]}),h?null:i.jsxs("div",{className:"admin-readonly-note",children:["🔒 Read-only — configuring service keys requires the ",i.jsx("code",{children:"admin"})," role (credential.write). Secret values are shown redacted."]}),d?i.jsx("div",{className:"admin-error",children:d}):null,n.length===0&&!d?i.jsx("div",{className:"empty-state",children:"Loading service configuration…"}):null,w.map(S=>i.jsxs("section",{className:"service-providers-group",children:[i.jsx("h3",{className:"process-env-group-title",children:ule[S.cap]??S.cap}),i.jsx("div",{className:"admin-table-wrapper",children:i.jsxs("table",{className:"admin-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Service"}),i.jsx("th",{children:"Status"}),i.jsx("th",{children:"Configuration"}),i.jsx("th",{children:"Actions"})]})}),i.jsx("tbody",{children:S.services.map(x=>i.jsxs("tr",{children:[i.jsxs("td",{className:"admin-provider-type",children:[x.icon," ",x.label,i.jsx("div",{className:"admin-provider-sub",children:x.id}),i.jsx("div",{className:"admin-hint",children:x.description}),x.sharedNote?i.jsxs("div",{className:"admin-hint",children:["🔗 ",x.sharedNote]}):null,x.docsUrl?i.jsx("div",{className:"admin-hint",children:i.jsx("a",{href:x.docsUrl,target:"_blank",rel:"noreferrer",children:"Get a key ↗"})}):null]}),i.jsxs("td",{children:[i.jsx("span",{className:`admin-check-badge ${x.configured?"admin-check-pass":"admin-check-warn"}`,children:x.configured?"✅ Ready":"⚠️ Not set"}),x.keyless?i.jsx("div",{className:"admin-hint",children:"no key needed"}):null,x.free?i.jsx("div",{className:"admin-hint",children:"free"}):null]}),i.jsx("td",{children:x.envVars.length===0?i.jsx("div",{className:"admin-hint",children:"Nothing to configure — works out of the box."}):x.envVars.map(E=>{const _=m(x.id,E.varName),O=a[_]??"",C=!E.secret&&E.set?E.value:"";return i.jsxs("div",{className:"service-env-row",children:[i.jsxs("label",{className:"service-env-label",htmlFor:_,children:[i.jsx("code",{children:E.varName}),i.jsx("span",{className:"admin-hint",children:E.prompt})]}),h?i.jsx("input",{id:_,className:"admin-input",type:E.secret?"password":"text","aria-label":`${x.id} ${E.varName}`,placeholder:E.set?E.secret?"•••••• set — type to replace":C:"not set",value:O,onChange:P=>g(x.id,E.varName,P.target.value),autoComplete:"new-password"}):i.jsx("div",{className:"admin-hint",children:E.set?E.value:"—"})]},E.varName)})}),i.jsxs("td",{children:[x.envVars.length===0?i.jsx("div",{className:"admin-hint",children:"always available"}):h?i.jsxs("div",{className:"admin-row-actions",children:[i.jsx("button",{className:"admin-mini-btn",disabled:o===x.id,onClick:()=>void y(x),children:"💾 Save"}),i.jsx("button",{className:"admin-mini-btn",disabled:o===x.id,title:"Probes the SAVED configuration — save first to test a new key",onClick:()=>void v(x),children:"🔌 Test"}),i.jsx("button",{className:"admin-mini-btn admin-mini-danger",disabled:o===x.id,onClick:()=>void k(x),children:"🗑 Remove"})]}):i.jsx("div",{className:"admin-hint",children:"read-only"}),c[x.id]?i.jsx("div",{className:"admin-row-msg",children:c[x.id]}):null]})]},x.id))})]})})]},S.cap))]})}const fle={env:"Environment",config:"Config",vault:"Vault",local:"Local (no key)",none:"Not configured"};function hle(){const[e,t]=b.useState(null),[n,r]=b.useState(!0),[a,s]=b.useState(null),[o,l]=b.useState(null),[c,u]=b.useState(!1),[d,f]=b.useState(!1),[h,p]=b.useState(""),[m,g]=b.useState(""),[y,v]=b.useState(null),[k,w]=b.useState(null),[N,S]=b.useState(""),x=Gr(),[E,_]=b.useState(""),[O,C]=b.useState(""),[P,A]=b.useState(null),[D,I]=b.useState(!1),[M,L]=b.useState([]),[U,R]=b.useState(null),[B,T]=b.useState(""),[Z,F]=b.useState(""),[$,ae]=b.useState("viewer"),[ue,me]=b.useState(null),[Ee,J]=b.useState(""),[Y,re]=b.useState(null),[le,H]=b.useState(!1),[ye,xe]=b.useState(null),[Oe,pe]=b.useState(null),[Re,fe]=b.useState(null),[Ve,$e]=b.useState([]),[_e,pt]=b.useState({}),[Fe,it]=b.useState(null),[Xt,q]=b.useState({}),[X,ie]=b.useState(""),[de,we]=b.useState(null),[Me,Ft]=b.useState(null),[Ie,an]=b.useState(null),[$n,kt]=b.useState(null),[It,sn]=b.useState(!1),Tt=b.useCallback(async()=>{r(!0),s(null);const G=await K.fetchAdminChecks();t(G),G||s("Could not reach the dashboard server, or the server is older than this panel. Run `nuvira dashboard` to start it."),r(!1)},[]),Vn=b.useCallback(async()=>{const G=await K.fetchAdminCatalog();G&&G.length>0&&$e(G)},[]),Yn=b.useCallback(async()=>{const G=await K.fetchAdminUsers();G.ok&&G.users&&L(G.users)},[]),Ln=b.useCallback(async()=>{const G=await K.fetchAdminWorkspace();G&&(me(G),J(G.configured??""))},[]),on=b.useCallback(async()=>{const G=await K.fetchAdminCache();G&&xe(G)},[]),ln=b.useCallback(async()=>{an(await K.fetchOmniRouteStatus())},[]),va=async G=>{fe(G??"__none__"),pe(null);const te=await K.clearAdminCache(G);te.ok?(pe(`✅ Cleared ${te.removed??0} cached answer(s) for ${G??"the no-workspace bucket"}.`),on()):te.unauthorized?(Ut(),pe(`❌ ${te.error||"Session expired — log in again."}`)):pe(`❌ ${te.error||"Could not clear the cache."}`),fe(null)},Bl=async G=>{G.preventDefault(),H(!0),re(null);const te=await K.saveAdminWorkspace(Ee.trim());te.ok&&te.workspace?(me(te.workspace),J(te.workspace.configured??""),re(te.workspace.effective?`✅ Unattached chat turns now run in ${te.workspace.effective}`:"✅ Cleared — unattached project asks will ask you to attach a folder.")):te.unauthorized?(Ut(),re(`❌ ${te.error||"Session expired — log in again."}`)):re(`❌ ${te.error||"Could not save the workspace."}`),H(!1)};b.useEffect(()=>{let G=!0;return K.fetchAdminAuthStatus().then(te=>{if(G){if(!te){s("Could not reach the dashboard server, or the server is older than this panel. Run `nuvira dashboard` to start it."),r(!1);return}l({configured:te.configured,authenticated:te.authenticated}),u(te.authenticated),v(te.role??null),w(te.user??null),f(te.mustChangePassword===!0),te.authenticated?(Tt(),Vn(),Yn(),Ln(),on(),ln()):r(!1)}}),()=>{G=!1}},[Tt,Vn,Yn,Ln,on,ln,x]);const mn=y==="admin",qr=y==="admin"||y==="operator",Ut=()=>{u(!1),l(G=>G&&{...G,authenticated:!1}),A("Session expired — log in again.")},Ka=async G=>{G.preventDefault(),I(!0),A(null);const te=await K.adminLogin(N,E);te.ok?(u(!0),l({configured:!0,authenticated:!0}),v(te.role??"admin"),w(te.user??null),S(""),_(""),K.fetchAdminAuthStatus().then(je=>{je&&f(je.mustChangePassword===!0)}),Tt(),Vn(),Yn(),Ln(),on()):A(te.error||"Login failed."),I(!1)},$t=async G=>{if(G.preventDefault(),I(!0),A(null),E.length<8){A("Password must be at least 8 characters."),I(!1);return}if(E!==O){A("Passwords do not match."),I(!1);return}const te=await K.adminSetup(N,E);te.ok?(u(!0),l({configured:!0,authenticated:!0}),v(te.role??"admin"),w(te.user??null),S(""),_(""),C(""),Tt(),Vn(),Yn()):A(te.error||"Setup failed."),I(!1)},ya=async()=>{await K.adminLogout(),u(!1),l(G=>G&&{...G,authenticated:!1}),v(null),w(null),t(null),pt({}),q({}),L([])},_r=async()=>{if(!window.confirm("Stop the running gateway? Channels will stop responding until you restart it with `nuvira gateway start`."))return;Ft("gateway"),we(null);const G=await K.shutdown("gateway");Ft(null),G.ok?we(G.stopped?"✅ Gateway stopped.":`ℹ️ ${G.reason||"No running gateway found — nothing to stop."}`):(we(`❌ ${G.error||"Stop failed."}`),G.unauthorized&&Ut())},Kr=async G=>{if(G==="stop"&&!window.confirm("Stop the OmniRoute gateway? Anything routing through it will fail until it is started again."))return;sn(!0),kt(null);const te=await K.controlOmniRoute(G);te.status&&an(te.status),te.ok?kt(`✅ ${te.detail??(G==="stop"?"OmniRoute stopped.":"OmniRoute started.")}`):te.unauthorized?(Ut(),kt(`❌ ${te.error||"Session expired — log in again."}`)):kt(`❌ ${te.detail??te.reason??te.error??"OmniRoute control failed."}`),sn(!1)},qs=async()=>{window.confirm("Shut down the dashboard? This page will disconnect and the server will exit. Restart with `nuvira dashboard`.")&&(Ft("dashboard"),we("🛑 Shutting down the dashboard — this page will disconnect…"),await K.shutdown("dashboard"),Ft(null),we("ℹ️ The dashboard server did not stop (see the server terminal). You can also stop it with `nuvira dashboard stop`."))},Va=async G=>{if(G.preventDefault(),R(null),Z.length<8){R("Password must be at least 8 characters.");return}const te=await K.addAdminUser(B,Z,$);te.ok?(T(""),F(""),R("✅ User added"),Yn()):(R(`❌ ${te.error||"Failed to add user"}`),te.unauthorized&&Ut())},Vr=async G=>{if(!window.confirm(`Remove dashboard user '${G}'?`))return;R(null);const te=await K.removeAdminUser(G);te.ok?(R(`✅ Removed ${G}`),Yn()):(R(`❌ ${te.error||"Failed to remove user"}`),te.unauthorized&&Ut())},Yr=(G,te,je)=>{pt(Se=>({...Se,[G]:{...Se[G]||{},[te]:je}}))},Qe=async G=>{it(G),q({});const te=_e[G]||{},je=await K.saveProvider(G,te);je.ok?(t(Se=>{if(!Se)return Se;const Dn=Se.providers.some(Cn=>Cn.type===G)?Se.providers.map(Cn=>Cn.type===G&&je.provider?je.provider:Cn):je.provider?[...Se.providers,je.provider]:Se.providers;return{...Se,providers:Dn}}),pt(Se=>{const Rt={...Se};return delete Rt[G],Rt}),q(Se=>({...Se,[G]:"✅ Saved"}))):(q(Se=>({...Se,[G]:`❌ ${je.error||"Save failed"}`})),je.unauthorized&&Ut()),it(null)},Ks=async G=>{if(!window.confirm(`Remove ${G}'s API key and configuration? This cannot be undone.`))return;it(G),q({});const te=await K.deleteProvider(G);te.ok?te.envSourced?(t(je=>je&&{...je,providers:je.providers.map(Se=>Se.type===G&&te.provider||Se)}),q(je=>({...je,[G]:`⚠️ Key comes from ${te.envVar?`$${te.envVar}`:"an env var"} — unset it there to remove it (config can't override the env).`}))):(t(je=>je&&{...je,providers:je.providers.filter(Se=>Se.type!==G)}),pt(je=>{const Se={...je};return delete Se[G],Se})):(q(je=>({...je,[G]:`❌ ${te.error||"Remove failed"}`})),te.unauthorized&&Ut()),it(null)},ba=async(G,te)=>{it(G),q({});const je=await K.saveProvider(G,{enabled:te});je.ok?(t(Se=>{if(!Se)return Se;const Dn=Se.providers.some(Cn=>Cn.type===G)?Se.providers.map(Cn=>Cn.type===G&&je.provider?je.provider:Cn):je.provider?[...Se.providers,je.provider]:Se.providers;return{...Se,providers:Dn}}),q(Se=>({...Se,[G]:te?"✅ Routing ON":"⏸ Routing OFF (pin only)"}))):(q(Se=>({...Se,[G]:`❌ ${je.error||"Toggle failed"}`})),je.unauthorized&&Ut()),it(null)},Hi=async G=>{it(G);const te=await K.testProvider(G);q(je=>{var Se;return{...je,[G]:te.ok?`✅ Connected — ${((Se=te.models)==null?void 0:Se.length)??0} model(s) reachable`:`❌ ${te.error||"Connection failed"}`}}),it(null)},Ya=()=>{X&&(pt(G=>({...G,[X]:{}})),ie(""))};if(a&&!o)return i.jsxs("div",{className:"admin-header",children:[i.jsx(Te,{icon:"🛠️",title:"Admin"}),i.jsx("div",{className:"admin-error",children:a})]});if(!o||!c&&n)return i.jsxs("div",{className:"admin-header",children:[i.jsx(Te,{icon:"🛠️",title:"Admin"}),i.jsxs("div",{className:"loading-state",children:[i.jsx("div",{className:"loading-spinner"}),i.jsx("p",{children:"Loading…"})]})]});if(!c){const G=!o.configured;return i.jsxs("div",{className:"admin-header",children:[i.jsx(Te,{icon:"🛠️",title:`Admin — ${G?"Set up access":"Log in"}`}),i.jsx("p",{className:"admin-subtitle",children:G?"Create the admin user-id and password that gate the dashboard write surface (API-key/provider configuration). The CLI keeps working exactly as before — this only guards the GUI.":"The write surface (API-key/provider configuration) is gated by the admin credentials. Read-only checks stay open."}),i.jsxs("form",{className:"admin-gate-form",onSubmit:G?$t:Ka,children:[i.jsxs("label",{children:[i.jsx("span",{children:"Username"}),i.jsx("input",{type:"text",value:N,onChange:te=>S(te.target.value),autoComplete:"username",placeholder:"admin"})]}),i.jsxs("label",{children:[i.jsx("span",{children:"Password"}),i.jsx("input",{type:"password",value:E,onChange:te=>_(te.target.value),autoComplete:G?"new-password":"current-password",placeholder:"••••••••"})]}),G?i.jsxs("label",{children:[i.jsx("span",{children:"Confirm password"}),i.jsx("input",{type:"password",value:O,onChange:te=>C(te.target.value),autoComplete:"new-password",placeholder:"••••••••"})]}):null,P?i.jsx("div",{className:"admin-error",children:P}):null,i.jsx("button",{className:"admin-refresh-btn",type:"submit",disabled:D||!N||!E,children:D?"⏳ …":G?"🔐 Create admin":"🔐 Log in"}),G?i.jsxs("p",{className:"admin-hint",children:["Automation alternative: set ",i.jsx("code",{children:"NUVIRA_DASHBOARD_ADMIN_USER"})," and"," ",i.jsx("code",{children:"NUVIRA_DASHBOARD_ADMIN_PASSWORD"})," in the dashboard's environment."]}):null]})]})}if(d){const G=h.length>0&&h.length<8,te=m.length>0&&m!==h,je=async Se=>{if(Se.preventDefault(),G||te||!h)return;I(!0),A(null);const Rt=await K.changeAdminPassword(E,h);Rt.ok?(f(!1),_(""),p(""),g(""),Tt(),Vn(),Yn()):A(Rt.error||"Could not change the password."),I(!1)};return i.jsxs("div",{className:"admin-header",children:[i.jsx(Te,{icon:"🔐",title:"Set your own password"}),i.jsxs("p",{className:"admin-subtitle",children:["This dashboard is running on its ",i.jsx("strong",{children:"published default password"}),", so anyone who can reach this port can sign in. Until you replace it, the agent will refuse to save anything — API keys, provider settings, users."]}),i.jsxs("form",{className:"admin-gate-form",onSubmit:je,children:[i.jsxs("label",{children:[i.jsx("span",{children:"Current password"}),i.jsx("input",{type:"password",value:E,onChange:Se=>_(Se.target.value),autoComplete:"current-password",placeholder:"admin"})]}),i.jsxs("label",{children:[i.jsx("span",{children:"New password"}),i.jsx("input",{type:"password",value:h,onChange:Se=>p(Se.target.value),autoComplete:"new-password",placeholder:"at least 8 characters"})]}),G?i.jsx("div",{className:"admin-error",children:"Use at least 8 characters."}):null,i.jsxs("label",{children:[i.jsx("span",{children:"Confirm new password"}),i.jsx("input",{type:"password",value:m,onChange:Se=>g(Se.target.value),autoComplete:"new-password",placeholder:"repeat it"})]}),te?i.jsx("div",{className:"admin-error",children:"The two passwords do not match."}):null,P?i.jsx("div",{className:"admin-error",children:P}):null,i.jsx("button",{className:"admin-refresh-btn",type:"submit",disabled:D||!E||!h||G||te,children:D?"⏳ …":"🔐 Save new password"})]})]})}const Vs=(e==null?void 0:e.system.filter(G=>G.status==="pass").length)??0,Xr=(e==null?void 0:e.system.filter(G=>G.status==="warn").length)??0,Gi=(e==null?void 0:e.system.filter(G=>G.status==="fail").length)??0,qi=(e==null?void 0:e.enterprise.filter(G=>G.status==="pass").length)??0,Xa=(e==null?void 0:e.enterprise.filter(G=>G.status==="warn").length)??0,Ki=(e==null?void 0:e.enterprise.filter(G=>G.status==="fail").length)??0,Qa=(e==null?void 0:e.providers)??[],_n=Object.keys(_e).filter(G=>!Qa.some(te=>te.type===G)),Qr=[...Qa,..._n.map(G=>({type:G,configured:!1,keySource:"none",keyMasked:null}))],xa=G=>{const te=Ve.find(je=>je.id===G);return te||{label:G}};return i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"admin-header",children:[i.jsx(Te,{icon:"🛠️",title:i.jsxs(i.Fragment,{children:["Admin — Command Runner & Configuration",k?i.jsxs("span",{className:`admin-role-badge admin-role-${y||"viewer"}`,children:[" ",k," · ",y||"viewer"]}):null]})}),i.jsxs("div",{className:"admin-header-actions",children:[i.jsx("button",{className:"admin-refresh-btn",onClick:()=>void Tt(),disabled:n,children:n?"⏳ Running checks…":"🔄 Refresh (run all commands)"}),mn||y==="operator"?i.jsx("button",{className:"admin-logout-btn",onClick:()=>void _r(),disabled:Me!==null,title:"Stop the running gateway (nuvira gateway stop)",children:Me==="gateway"?"⏳ Stopping…":"⏻ Stop gateway"}):null,mn?i.jsx("button",{className:"admin-logout-btn",onClick:()=>void qs(),disabled:Me!==null,title:"Shut down this dashboard server (nuvira dashboard stop)",children:Me==="dashboard"?"⏳ Stopping…":"🛑 Stop dashboard"}):null,i.jsx("button",{className:"admin-logout-btn",onClick:()=>void ya(),children:"🚪 Log out"})]})]}),de?i.jsx("div",{className:"admin-error",children:de}):null,mn?null:i.jsxs("div",{className:"admin-readonly-note",children:["🔒 Your role (",i.jsx("code",{children:y||"viewer"}),") is read-only here — provider configuration and user management require the ",i.jsx("code",{children:"admin"})," role. The CLI enforces the same governance policy (rbac.json)."]}),i.jsx("p",{className:"admin-subtitle",children:"The dashboard executes the same state commands as the CLI — no command needed. Provider keys are masked here and every write goes through the same config the CLI uses."}),a?i.jsx("div",{className:"admin-error",children:a}):null,e?i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"admin-summary-grid",children:[i.jsxs("div",{className:"admin-summary-card admin-summary-pass",children:[i.jsx("div",{className:"admin-summary-value",children:Vs+qi}),i.jsx("div",{className:"admin-summary-label",children:"✅ Passing"})]}),i.jsxs("div",{className:"admin-summary-card admin-summary-warn",children:[i.jsx("div",{className:"admin-summary-value",children:Xr+Xa}),i.jsx("div",{className:"admin-summary-label",children:"⚠️ Warnings"})]}),i.jsxs("div",{className:"admin-summary-card admin-summary-fail",children:[i.jsx("div",{className:"admin-summary-value",children:Gi+Ki}),i.jsx("div",{className:"admin-summary-label",children:"❌ Failing"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:Qr.length}),i.jsx("div",{className:"admin-summary-label",children:"Providers"})]})]}),mn?i.jsxs(i.Fragment,{children:[i.jsx("h2",{className:"section-subtitle",children:"👥 Dashboard Users (role.manage)"}),i.jsxs("div",{className:"admin-users-list",children:[M.map(G=>i.jsxs("div",{className:"admin-user-row",children:[i.jsx("span",{className:"admin-user-name",children:G.user}),i.jsx("span",{className:`admin-role-badge admin-role-${G.role}`,children:G.role}),i.jsxs("span",{className:"admin-user-since",children:["since ",new Date(G.createdAt).toLocaleDateString()]}),G.user!==k?i.jsx("button",{className:"admin-mini-btn admin-mini-danger",onClick:()=>void Vr(G.user),children:"🗑 Remove user"}):i.jsx("span",{className:"admin-hint",children:"you"})]},G.user)),M.length===0?i.jsx("div",{className:"empty-state",children:"No dashboard users yet."}):null]}),i.jsxs("form",{className:"admin-gate-form admin-user-form",onSubmit:Va,children:[i.jsxs("label",{children:[i.jsx("span",{children:"Username"}),i.jsx("input",{type:"text",value:B,onChange:G=>T(G.target.value),autoComplete:"off"})]}),i.jsxs("label",{children:[i.jsx("span",{children:"Password (min 8 chars)"}),i.jsx("input",{type:"password",value:Z,onChange:G=>F(G.target.value),autoComplete:"new-password"})]}),i.jsxs("label",{children:[i.jsx("span",{children:"Role"}),i.jsxs("select",{value:$,onChange:G=>ae(G.target.value),children:[i.jsx("option",{value:"viewer",children:"viewer — read-only"}),i.jsx("option",{value:"operator",children:"operator — read-only in the dashboard today"}),i.jsx("option",{value:"admin",children:"admin — full control"})]})]}),U?i.jsx("div",{className:"admin-row-msg",children:U}):null,i.jsx("button",{className:"admin-refresh-btn",type:"submit",disabled:!B||!Z,children:"➕ Add user"})]})]}):null,mn||y==="operator"?i.jsxs("div",{className:"admin-omniroute",children:[i.jsxs("h2",{className:"section-subtitle",children:["🔀 External gateway: OmniRoute (port ",(Ie==null?void 0:Ie.port)??20128,")"]}),i.jsxs("p",{className:"admin-hint",children:["OmniRoute is a separate local process nuvira does not embed. The provider row below decides whether agent-nuvira ",i.jsx("em",{children:"routes"})," to it; this controls whether the gateway itself is up. A 401 from its API still counts as running."]}),i.jsxs("div",{className:"admin-omniroute-row",children:[i.jsx("span",{className:`admin-check-badge ${Ie!=null&&Ie.reachable?"admin-check-pass":"admin-check-warn"}`,children:Ie===null?"… checking":Ie.reachable?"✅ Reachable":Ie.running?"⚠️ Process up, not answering":"❌ Not running"}),i.jsxs("span",{className:"admin-hint",children:[(Ie==null?void 0:Ie.detail)??"Probing…"," · ",(Ie==null?void 0:Ie.baseUrl)??"http://127.0.0.1:20128/v1",(Ie==null?void 0:Ie.pid)!=null?` · PID ${Ie.pid}`:""]}),i.jsx("button",{className:"admin-mini-btn",disabled:It,onClick:()=>void Kr("start"),title:"Run `omniroute` in the background and wait until it answers",children:"▶ Start"}),i.jsx("button",{className:"admin-mini-btn admin-mini-danger",disabled:It||!(Ie!=null&&Ie.running),onClick:()=>void Kr("stop"),title:"SIGTERM the running OmniRoute gateway",children:"⏹ Stop"}),i.jsx("button",{className:"admin-mini-btn",disabled:It,onClick:()=>void ln(),children:"⟳ Recheck"})]}),$n?i.jsx("div",{className:"admin-row-msg",children:$n}):null]}):null,i.jsx("h2",{className:"section-subtitle",children:"🔑 Provider Configuration (keys masked)"}),i.jsx("div",{className:"admin-table-wrapper",children:i.jsxs("table",{className:"admin-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Provider"}),i.jsx("th",{children:"Status"}),i.jsx("th",{children:"Key"}),i.jsx("th",{children:"Base URL"}),i.jsx("th",{children:"Model"}),i.jsx("th",{children:"Actions"})]})}),i.jsxs("tbody",{children:[Qr.map(G=>{const te=xa(G.type),je=_e[G.type]||{},Se=G.type==="bedrock";return i.jsxs("tr",{children:[i.jsxs("td",{className:"admin-provider-type",children:[te.icon?`${te.icon} `:"",te.label,i.jsxs("div",{className:"admin-provider-sub",children:[G.type," · ",fle[G.keySource]||G.keySource]}),G.keySource==="env"?i.jsxs("div",{className:"admin-hint",children:["comes from ",te.envVar||"env var"," — change it there, config can't override it"]}):G.keySource==="vault"?i.jsx("div",{className:"admin-hint",children:"stored in the OS keyring (vault)"}):null,te.description?i.jsx("div",{className:"admin-provider-desc",children:te.description}):null,te.setup?i.jsxs("div",{className:"admin-provider-setup",children:[i.jsx("strong",{children:"Setup:"})," ",te.setup]}):null]}),i.jsxs("td",{children:[i.jsx("span",{className:`admin-check-badge ${G.configured?"admin-check-pass":"admin-check-warn"}`,children:G.configured?"✅ Configured":"⚠️ Not configured"}),G.enabled===!1?i.jsx("span",{className:"admin-check-badge admin-check-warn",title:"Kept out of automatic routing; an explicit --provider pin still reaches it",children:"⏸ Off (pin only)"}):null]}),i.jsx("td",{children:Se?i.jsxs("div",{className:"admin-hint",children:["Configured on the ",i.jsx("a",{href:"/bedrock",children:"AWS Bedrock page"})," — region, auth (bearer / IAM), and model-access approval live there, not here."]}):te.keyless?i.jsx("div",{className:"admin-hint",children:"No key needed (probed)"}):mn?i.jsx("input",{className:"admin-input admin-key-input",type:"password","aria-label":`${G.type} API key`,placeholder:G.keyMasked||"set a new key…",value:je.apiKey??"",onChange:Rt=>Yr(G.type,"apiKey",Rt.target.value),autoComplete:"new-password"}):i.jsx("div",{className:"admin-hint",children:G.keyMasked||"—"})}),i.jsx("td",{children:mn?i.jsx("input",{className:"admin-input",type:"text","aria-label":`${G.type} base URL`,placeholder:G.baseUrl||"default endpoint",value:je.baseUrl??"",onChange:Rt=>Yr(G.type,"baseUrl",Rt.target.value)}):i.jsx("div",{className:"admin-hint",children:G.baseUrl?G.baseUrl.replace(/^https?:\/\/(?:[^@/]*@)?/,""):"default endpoint"})}),i.jsx("td",{children:mn?i.jsx("input",{className:"admin-input",type:"text","aria-label":`${G.type} model`,placeholder:G.model||"default model",value:je.model??"",onChange:Rt=>Yr(G.type,"model",Rt.target.value)}):i.jsx("div",{className:"admin-hint",children:G.model||"default model"})}),i.jsx("td",{children:mn?i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"admin-row-actions",children:[i.jsx("button",{className:"admin-mini-btn",disabled:Fe===G.type,title:"Include this provider in automatic routing, or keep it off and pin it explicitly",onClick:()=>void ba(G.type,G.enabled===!1),children:G.enabled===!1?"▶ Turn on":"⏸ Turn off"}),i.jsx("button",{className:"admin-mini-btn",disabled:Fe===G.type,onClick:()=>void Qe(G.type),children:"💾 Save"}),i.jsx("button",{className:"admin-mini-btn",disabled:Fe===G.type,title:"Tests the SAVED configuration — save first to test a new key",onClick:()=>void Hi(G.type),children:"🔌 Test"}),i.jsx("button",{className:"admin-mini-btn admin-mini-danger",disabled:Fe===G.type,onClick:()=>void Ks(G.type),children:"🗑 Remove"})]}),Xt[G.type]?i.jsx("div",{className:"admin-row-msg",children:Xt[G.type]}):null]}):i.jsx("div",{className:"admin-hint",children:"read-only"})})]},G.type)}),Qr.length===0?i.jsx("tr",{children:i.jsx("td",{colSpan:6,className:"admin-empty-cell",children:"No providers configured yet."})}):null]})]})}),mn&&Ve.length>0?i.jsxs("div",{className:"admin-add-provider",children:[i.jsxs("select",{className:"admin-input",value:X,onChange:G=>ie(G.target.value),children:[i.jsx("option",{value:"",children:"Add a provider…"}),Ve.filter(G=>!Qr.some(te=>te.type===G.id)).map(G=>i.jsxs("option",{value:G.id,children:[G.icon?`${G.icon} `:"",G.label," (",G.id,")"]},G.id))]}),i.jsx("button",{className:"admin-mini-btn",disabled:!X,onClick:Ya,children:"➕ Add"})]}):null,i.jsx("h2",{className:"section-subtitle",children:"📁 Workspace (chat turns with no attached folder)"}),i.jsx("p",{className:"admin-hint",children:"A chat turn runs against a directory. An attached folder always wins; with none attached, this is where the turn lands. Leave it empty and an ask that needs a project — an assessment, a file, an image — asks you to attach a folder instead of scanning the server's own working directory."}),i.jsxs("form",{className:"admin-gate-form",onSubmit:Bl,children:[i.jsxs("label",{children:[i.jsx("span",{children:"Working directory"}),i.jsx("input",{type:"text",value:Ee,onChange:G=>J(G.target.value),placeholder:"/Users/you/Documents/my-project",disabled:le||!c||!qr})]}),ue?i.jsxs("p",{className:"admin-hint",children:[ue.effective?i.jsxs(i.Fragment,{children:["Effective: ",i.jsx("code",{children:ue.effective})]}):i.jsxs(i.Fragment,{children:["Not set — unattached project asks will ask for a folder (server cwd: ",i.jsx("code",{children:ue.processCwd}),")"]}),ue.configured&&!ue.configuredValid?" ⚠️ The saved path no longer exists and is being ignored.":""]}):null,Y?i.jsx("div",{className:"admin-row-msg",children:Y}):null,qr?i.jsx("button",{className:"admin-refresh-btn",type:"submit",disabled:le||!c,children:le?"⏳ Saving…":"💾 Save workspace"}):i.jsx("span",{className:"admin-hint",children:"🔒 Changing the workspace requires admin or operator."})]}),i.jsx("h2",{className:"section-subtitle",children:"🧠 Response Cache (answers by workspace)"}),i.jsx("p",{className:"admin-hint",children:"The cache is keyed by the folder an answer was produced in. If a project has changed and an ask replays an old answer, clear that project — every other project keeps its cached answers."}),Oe?i.jsx("div",{className:"admin-row-msg",children:Oe}):null,ye&&ye.workspaces.length>0?i.jsx("div",{className:"admin-table-wrapper",children:i.jsxs("table",{className:"admin-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Workspace"}),i.jsx("th",{children:"Answers"}),i.jsx("th",{children:"Newest"}),i.jsx("th",{children:"Models"}),i.jsx("th",{children:"Sample"}),i.jsx("th",{})]})}),i.jsx("tbody",{children:ye.workspaces.map(G=>{var te;return i.jsxs("tr",{children:[i.jsx("td",{className:"admin-provider-type",children:G.scope?i.jsx("code",{children:G.scope}):i.jsx("em",{children:"no workspace attached"})}),i.jsx("td",{children:G.count}),i.jsx("td",{className:"admin-hint",children:new Date(G.newestAt).toLocaleString()}),i.jsxs("td",{className:"admin-hint",children:[G.models.slice(0,2).join(", "),G.models.length>2?` +${G.models.length-2}`:""]}),i.jsx("td",{className:"admin-hint",children:((te=G.samples[0])==null?void 0:te.prompt)??""}),i.jsx("td",{children:i.jsx("button",{className:"admin-refresh-btn",type:"button",disabled:Re!==null||!qr,onClick:()=>void va(G.scope),children:Re===(G.scope??"__none__")?"⏳ …":"🗑 Clear"})})]},G.scope??"__none__")})})]})}):i.jsx("div",{className:"empty-state",children:"No cached answers — every turn reached a model."}),ye&&ye.total>0?i.jsxs("p",{className:"admin-hint",children:[ye.total," cached answer",ye.total===1?"":"s"," across"," ",ye.workspaces.length," workspace",ye.workspaces.length===1?"":"s","."]}):null,i.jsx(dle,{authed:c,role:y||"viewer"}),i.jsx(lle,{authed:c,role:y||"viewer"}),i.jsx("h2",{className:"section-subtitle",children:"⚙️ System Checks (nuvira doctor)"}),i.jsx("div",{className:"admin-check-list",children:e.system.map(G=>i.jsx(Wb,{check:G},G.name))}),i.jsx("h2",{className:"section-subtitle",children:"🏥 Enterprise Self-Check (doctor --enterprise)"}),i.jsx("div",{className:"admin-check-list",children:e.enterprise.length>0?e.enterprise.map(G=>i.jsx(Wb,{check:G},G.name)):i.jsx("div",{className:"empty-state",children:"No enterprise checks returned."})})]}):n?i.jsxs("div",{className:"loading-state",children:[i.jsx("div",{className:"loading-spinner"}),i.jsx("p",{children:"Running all state checks…"})]}):null]})}function bM(e){return String(e??"").replace(/\d{3,}/g,t=>t.slice(0,2)+"***")}const ple={idle:"Not paired",pairing:"⏳ Pairing…",paired:"✅ Paired",failed:"❌ Pairing failed",cancelled:"⏹ Cancelled",error:"💥 Pairing error"};function mle({authed:e,canWrite:t,sessionExpired:n,reveal:r=!1}){const[a,s]=b.useState(null),[o,l]=b.useState({}),[c,u]=b.useState(""),[d,f]=b.useState(!1),[h,p]=b.useState(null),m=b.useRef(null),g=b.useCallback(async()=>{const x=await K.getWhatsAppStatus();x&&(s(x.status),l(x.contacts??{}))},[]);b.useEffect(()=>{if(g(),!e||typeof EventSource>"u")return;const x=K.subscribeWhatsApp({onQr:E=>s(_=>_&&{..._,qr:E,state:"pairing"}),onCode:E=>s(_=>_&&{..._,pairingCode:E}),onStatus:E=>{s(E),(E.state==="paired"||E.state==="failed"||E.state==="error"||E.state==="cancelled")&&f(!1)}});return m.current=x,()=>{x(),m.current=null}},[e,g]);const y=async x=>{f(!0),p(null);const E=await x();if(!E.ok&&E.error&&/Not authenticated|Session expired/i.test(E.error)){n(),f(!1);return}E.ok?(p({kind:"ok",text:"Done."}),await g()):p({kind:"err",text:E.error||"Action failed."}),f(!1)},v=x=>{p(null),y(()=>K.startWhatsAppPair(x?c.trim():void 0)).then(()=>u(""))},k=()=>{p(null),y(()=>K.cancelWhatsAppPair())},w=()=>{window.confirm("Remove the paired WhatsApp session from this machine? You will need to scan a QR to pair again.")&&(p(null),y(()=>K.unpairWhatsApp()))},N=(a==null?void 0:a.state)??"idle",S=N==="pairing";return i.jsxs("div",{className:"wa-panel",children:[i.jsxs("div",{className:"wa-panel-head",children:[i.jsx("span",{className:"wa-panel-title",children:"🟢 WhatsApp bridge"}),a?i.jsx("span",{className:`wa-badge ${a.paired?"wa-badge-paired":S?"wa-badge-pairing":""}`,children:ple[N]}):i.jsx("span",{className:"admin-hint",children:"loading…"})]}),i.jsxs("p",{className:"admin-hint",children:["The personal Baileys bridge (no Meta Business account) — pair once, and the gateway can send & receive WhatsApp. Session: ",i.jsx("code",{children:(a==null?void 0:a.sessionDir)??"~/.nuvira/whatsapp/session"}),". Same engine as"," ",i.jsx("code",{children:"nuvira whatsapp pair"}),"."]}),S?i.jsxs("div",{className:"wa-pairing",children:[a!=null&&a.qr?i.jsxs("div",{className:"wa-qr-box",children:[i.jsx("img",{className:"wa-qr-img",src:a.qr,alt:"WhatsApp pairing QR code"}),i.jsxs("p",{className:"admin-hint",children:["Open WhatsApp on the phone → ",i.jsx("strong",{children:"Linked devices → Link a device → scan"}),". The QR refreshes automatically while this window is open."]})]}):a!=null&&a.phone?i.jsxs("div",{className:"wa-code-box",children:[i.jsxs("p",{className:"admin-hint",children:["On the phone with ",i.jsx("strong",{children:a.phone}),": WhatsApp → Linked devices → Link a device →"," ",i.jsx("strong",{children:"“Link with phone number instead”"})," → enter:"]}),i.jsx("div",{className:"wa-code",children:a.pairingCode??"… waiting for code"})]}):i.jsx("div",{className:"wa-code-box",children:i.jsx("p",{className:"admin-hint",children:"Waiting for WhatsApp to hand over a QR… (it usually appears within a few seconds)"})}),a!=null&&a.phone?null:i.jsxs("div",{className:"admin-hint",children:["Tip: on a phone, “Link with phone number instead” needs the number format"," ",i.jsx("code",{children:"918844433322"})," (country code included) — enter it below instead of scanning."]}),a!=null&&a.error?i.jsx("div",{className:"admin-row-msg admin-row-msg-err",children:a.error}):null,t&&e?i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:k,disabled:d,children:d?"⏳…":"⏹ Cancel pairing"}):null]}):i.jsxs("div",{className:"wa-actions",children:[t&&e?a!=null&&a.paired?i.jsxs("div",{className:"wa-action-row",children:[i.jsx("button",{className:"admin-refresh-btn wa-unpair-btn",type:"button",onClick:w,disabled:d,children:d?"⏳…":"🗑 Unpair (remove session)"}),i.jsx("span",{className:"admin-hint",children:"Removes creds.json — you will need to scan a QR again."})]}):i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"wa-action-row",children:[i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>v(!1),disabled:d,children:d?"⏳…":"🔳 Pair with a QR"}),i.jsx("span",{className:"admin-hint",children:"Scans from the phone you want to link."})]}),i.jsxs("div",{className:"wa-action-row wa-phone-row",children:[i.jsx("input",{type:"text",className:"wa-phone-input",value:c,onChange:x=>u(x.target.value),placeholder:"or pair with a number — e.g. 918844433322",disabled:d,maxLength:16}),i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>v(!0),disabled:d||!c.trim(),children:"Pair by number"})]})]}):null,N==="failed"||N==="error"||N==="cancelled"?i.jsx("div",{className:"admin-row-msg admin-row-msg-err",children:(a==null?void 0:a.error)||(N==="cancelled"?"Pairing cancelled.":"Pairing failed — try again.")}):null,e?t?null:i.jsx("div",{className:"admin-row-msg",children:"Your role can view pairing status but not change it (requires admin or operator)."}):i.jsx("div",{className:"admin-row-msg",children:"Log in (admin or operator) to pair, cancel, or unpair."}),h?i.jsx("div",{className:`admin-row-msg${h.kind==="ok"?"":" admin-row-msg-err"}`,children:h.text}):null]}),i.jsxs("div",{className:"wa-contacts",children:[i.jsxs("div",{className:"wa-contacts-head",children:[i.jsx("span",{className:"wa-panel-title",children:"📇 Send-by-name contacts"}),i.jsxs("span",{className:"admin-hint",children:[Object.keys(o).length," mapped"]})]}),i.jsxs("p",{className:"admin-hint",children:["These names are for ",i.jsx("strong",{children:"sending messages by name"})," (e.g."," ",i.jsx("code",{children:'nuvira gateway send whatsapp:Name "…"'}),") — they do"," ",i.jsx("strong",{children:"NOT"})," let these numbers trigger the agent."]}),i.jsx("div",{className:"hub-alias-list",children:Object.keys(o).length===0?i.jsxs("span",{className:"admin-hint",children:["(none — add one with ",i.jsx("code",{children:"nuvira whatsapp contact add <Name> <number>"}),")"]}):Object.entries(o).map(([x,E])=>i.jsxs("div",{className:"hub-alias-row",children:[i.jsx("span",{className:"hub-chip",children:x}),i.jsxs("span",{className:"admin-hint",children:["→ ",r?E:bM(E)]})]},x))}),i.jsxs("p",{className:"admin-hint",style:{marginTop:8},children:["To let a number ",i.jsx("strong",{children:"trigger the agent"})," (respond to its messages), add it to the"," ",i.jsx("strong",{children:"verified list"})," in the ",i.jsx("strong",{children:"Permissions tab above"}),", or run"," ",i.jsx("code",{children:"nuvira config gateway allow whatsapp user <number>"}),"."]})]})]})}function gle({canWrite:e,sessionExpired:t,mode:n="grid"}){const[r,a]=b.useState(null),[s,o]=b.useState(null),[l,c]=b.useState(null),[u,d]=b.useState(null),[f,h]=b.useState(null),[p,m]=b.useState(0),[g,y]=b.useState({}),[v,k]=b.useState(!1),[w,N]=b.useState(null),S=b.useRef(!0),x=b.useCallback(async()=>{const D=await K.getPlatformConfigs();S.current&&a(D)},[t]);b.useEffect(()=>(x(),()=>{S.current=!1}),[x]);const E=async(D,I)=>{c(D),d(null);const M=await K.setPlatformConfig(D,I);if(S.current){if(c(null),M.unauthorized||M.forbidden){t(M.error);return}d({kind:M.ok?"ok":"err",text:M.ok?"Saved — transport active.":M.error||"Save failed."}),M.ok&&(o(null),x())}},_=async D=>{if(!window.confirm(`Remove ${D} transport config? Tokens will be deleted from ~/.nuvira/.env.`))return;c(D),d(null);const I=await K.removePlatformConfig(D);if(S.current){if(c(null),I.unauthorized||I.forbidden){t(I.error);return}d({kind:I.ok?"ok":"err",text:I.ok?"Removed.":I.error||"Remove failed."}),I.ok&&x()}},O={telegram:{steps:["Open Telegram and search for @BotFather","Send /newbot to BotFather and follow the prompts",'Give your bot a name (e.g. "My Agent Bot")','Give your bot a username (must end with "bot", e.g. "my_agent_bot")',"BotFather will give you a token — paste it in the field below","Open your bot in Telegram and send it a message (e.g. /start)"],postSetup:["Start the gateway: nuvira gateway start (or from the Gateway tab)","Open your bot in Telegram and send a message — the agent replies!"]},discord:{steps:["Go to https://discord.com/developers/applications",'Click "New Application" → give it a name → Create','Go to "Bot" in the left sidebar → click "Add Bot"','Under "Token", click "Copy" to copy the bot token','Enable "Message Content Intent" under Privileged Gateway Intents',"Invite the bot to your server with the OAuth2 URL generator"],postSetup:["Start the gateway: nuvira gateway start","Mention the bot in a Discord channel or send it a DM","The agent will reply automatically!"]},slack:{steps:["Go to https://api.slack.com/apps",'Click "Create New App" → "From scratch"',"Add Bot Token Scopes: chat:write, im:read, im:write","Install the app to your workspace","Copy the Bot User OAuth Token (starts with xoxb-)"],postSetup:["Start the gateway: nuvira gateway start","DM the bot or mention it in a channel","The agent will reply automatically!"]},email:{steps:["You need an SMTP relay (Gmail, SendGrid, Mailgun, etc.)","For Gmail: use smtp.gmail.com:587 with an App Password","For SendGrid/Mailgun: get SMTP credentials from their dashboard"],postSetup:["Start the gateway: nuvira gateway start","Send an email to the configured address","The agent will reply via email!"]}},C=D=>{e&&(h(D),m(0),y(Object.fromEntries(D.envVars.map(I=>[I.varName,I.value]))),N(null))},P=async()=>{if(!f||!e)return;k(!0),N(null);const D=await K.setPlatformConfig(f.platform,g);if(k(!1),D.unauthorized||D.forbidden){t(D.error);return}D.ok?(N({kind:"ok",text:"✅ Token saved! The transport is now active."}),x()):N({kind:"err",text:D.error||"Save failed."})};if(r===null)return i.jsx("div",{className:"empty-state",children:"Loading platform transports…"});const A=f?O[f.platform]:null;return n==="table"?i.jsxs(i.Fragment,{children:[f&&A?i.jsx("div",{className:"wizard-overlay",onClick:()=>h(null),children:i.jsxs("div",{className:"wizard-modal",onClick:D=>D.stopPropagation(),children:[i.jsxs("div",{className:"wizard-header",children:[i.jsx("span",{className:"wizard-icon",children:"🚀"}),i.jsxs("span",{className:"wizard-title",children:["Getting Started: ",f.label]}),i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>h(null),children:"✕"})]}),i.jsx("div",{className:"wizard-body",children:p===0?i.jsxs(i.Fragment,{children:[i.jsx("p",{className:"wizard-section-title",children:"📋 Steps to create your bot:"}),i.jsx("ol",{className:"wizard-steps",children:A.steps.map((D,I)=>i.jsx("li",{children:D},I))}),i.jsxs("div",{className:"wizard-nav",children:[i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>m(1),children:"I have my token →"}),f.setupUrl?i.jsx("a",{href:f.setupUrl,target:"_blank",rel:"noopener noreferrer",className:"admin-mini-btn platform-docs-link",children:"📖 Docs"}):null]})]}):i.jsxs(i.Fragment,{children:[i.jsx("p",{className:"wizard-section-title",children:"🔑 Paste your token:"}),f.envVars.map(D=>i.jsxs("label",{className:"hub-send-target",children:[i.jsx("span",{className:"admin-hint",children:D.prompt}),i.jsx("input",{type:D.secret?"password":"text",value:g[D.varName]??"",onChange:I=>y(M=>({...M,[D.varName]:I.target.value})),placeholder:D.secret?"••••••••":"value",autoComplete:"off",spellCheck:!1,autoFocus:!0})]},D.varName)),w?i.jsx("div",{className:`admin-row-msg${w.kind==="ok"?"":" admin-row-msg-err"}`,children:w.text}):null,i.jsxs("div",{className:"wizard-nav",children:[i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>m(0),children:"← Back"}),i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>void P(),disabled:v||!e,children:v?"⏳ Saving…":"💾 Save token"})]}),(w==null?void 0:w.kind)==="ok"?i.jsxs(i.Fragment,{children:[i.jsx("p",{className:"wizard-section-title",children:"📋 Next steps:"}),i.jsx("ol",{className:"wizard-steps",children:A.postSetup.map((D,I)=>i.jsx("li",{children:D},I))})]}):null]})})]})}):null,u?i.jsx("div",{className:`admin-row-msg${u.kind==="ok"?"":" admin-row-msg-err"}`,children:u.text}):null,i.jsx("div",{className:"platform-config-table-wrapper",children:i.jsxs("table",{className:"platform-config-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Platform"}),i.jsx("th",{children:"Status"}),i.jsx("th",{children:"Configuration"}),i.jsx("th",{children:"CLI Command"})]})}),i.jsx("tbody",{children:r.map(D=>i.jsxs(V.Fragment,{children:[i.jsxs("tr",{className:`platform-config-row ${D.configured?"configured":""}`,children:[i.jsxs("td",{className:"platform-config-name",children:[i.jsx("span",{className:"hub-platform-label",children:D.label}),i.jsx("span",{className:"hub-card-id",children:D.platform})]}),i.jsxs("td",{children:[i.jsx("span",{className:`status-dot ${D.configured?"connected":"reconnecting"}`}),i.jsx("span",{className:"platform-config-status-text",children:D.configured?"Active":"Not configured"})]}),i.jsxs("td",{className:"platform-config-actions",children:[D.configured?null:i.jsx("button",{type:"button",className:"wizard-start-btn",onClick:()=>C(D),disabled:!e,children:"🚀 Getting Started"}),D.setupUrl?i.jsx("a",{href:D.setupUrl,target:"_blank",rel:"noopener noreferrer",className:"admin-mini-btn platform-docs-link",children:"📖 Docs"}):null,i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>o(s===D.platform?null:D.platform),disabled:!e,children:s===D.platform?"▴ Close":D.configured?"✎ Edit":"⚙ Configure"}),D.configured?i.jsx("button",{type:"button",className:"admin-mini-btn contact-delete-btn",onClick:()=>void _(D.platform),disabled:!e,children:"🗑️"}):null]}),i.jsx("td",{className:"platform-config-cli",children:i.jsxs("code",{children:["nuvira gateway setup ",D.platform]})})]}),s===D.platform?i.jsx("tr",{className:"platform-config-expanded",children:i.jsx("td",{colSpan:4,children:i.jsxs("div",{className:"platform-config-form",children:[D.envVars.map(I=>i.jsxs("label",{className:"hub-send-target",children:[i.jsx("span",{className:"admin-hint",children:I.prompt}),i.jsx("input",{type:I.secret?"password":"text",value:I.value,readOnly:!0,className:"platform-config-readonly",placeholder:I.secret?"••••••••":"value"})]},I.varName)),i.jsxs("p",{className:"admin-hint",children:["Tokens are in ",i.jsx("code",{children:"~/.nuvira/.env"})," — edit there or use the wizard above."]})]})})}):null]},D.platform))})]})})]}):i.jsxs(i.Fragment,{children:[f&&A?i.jsx("div",{className:"wizard-overlay",onClick:()=>h(null),children:i.jsxs("div",{className:"wizard-modal",onClick:D=>D.stopPropagation(),children:[i.jsxs("div",{className:"wizard-header",children:[i.jsx("span",{className:"wizard-icon",children:"🚀"}),i.jsxs("span",{className:"wizard-title",children:["Getting Started: ",f.label]}),i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>h(null),children:"✕"})]}),i.jsx("div",{className:"wizard-body",children:p===0?i.jsxs(i.Fragment,{children:[i.jsx("p",{className:"wizard-section-title",children:"📋 Steps to create your bot:"}),i.jsx("ol",{className:"wizard-steps",children:A.steps.map((D,I)=>i.jsx("li",{children:D},I))}),i.jsxs("div",{className:"wizard-nav",children:[i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>m(1),children:"I have my token →"}),f.setupUrl?i.jsx("a",{href:f.setupUrl,target:"_blank",rel:"noopener noreferrer",className:"admin-mini-btn platform-docs-link",children:"📖 Open docs in new tab"}):null]})]}):i.jsxs(i.Fragment,{children:[i.jsx("p",{className:"wizard-section-title",children:"🔑 Paste your token:"}),f.envVars.map(D=>i.jsxs("label",{className:"hub-send-target",children:[i.jsx("span",{className:"admin-hint",children:D.prompt}),i.jsx("input",{type:D.secret?"password":"text",value:g[D.varName]??"",onChange:I=>y(M=>({...M,[D.varName]:I.target.value})),placeholder:D.secret?"••••••••":"value",autoComplete:"off",spellCheck:!1,autoFocus:!0})]},D.varName)),w?i.jsx("div",{className:`admin-row-msg${w.kind==="ok"?"":" admin-row-msg-err"}`,children:w.text}):null,i.jsxs("div",{className:"wizard-nav",children:[i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>m(0),children:"← Back"}),i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>void P(),disabled:v||!e,children:v?"⏳ Saving…":"💾 Save token"})]}),(w==null?void 0:w.kind)==="ok"?i.jsxs(i.Fragment,{children:[i.jsx("p",{className:"wizard-section-title",children:"📋 Next steps:"}),i.jsx("ol",{className:"wizard-steps",children:A.postSetup.map((D,I)=>i.jsx("li",{children:D},I))})]}):null]})})]})}):null,i.jsxs("div",{className:"platform-config",children:[i.jsx("h2",{className:"section-subtitle",children:"⚙️ Platform transports (nuvira config gateway)"}),u?i.jsx("div",{className:`admin-row-msg${u.kind==="ok"?"":" admin-row-msg-err"}`,children:u.text}):null,i.jsx("div",{className:"hub-platform-grid",children:r.map(D=>i.jsx(vle,{entry:D,canWrite:e,busy:l===D.platform,expanded:s===D.platform,onToggle:()=>o(s===D.platform?null:D.platform),onSave:I=>void E(D.platform,I),onRemove:()=>void _(D.platform),onStartWizard:()=>C(D)},D.platform))}),i.jsxs("p",{className:"admin-hint",children:["Tokens are written to ",i.jsx("code",{children:"~/.nuvira/.env"})," (loaded by both the CLI and this dashboard at startup) — no env vars to hand-export. The WhatsApp personal bridge is configured separately above via QR/code pairing."]})]})]})}function vle(e){const{entry:t,canWrite:n,busy:r,expanded:a,onToggle:s,onSave:o,onRemove:l,onStartWizard:c}=e,[u,d]=b.useState(()=>Object.fromEntries(t.envVars.map(h=>[h.varName,h.value]))),f=(h,p)=>{d(m=>({...m,[h]:p}))};return i.jsxs("div",{className:`hub-platform${t.configured?" configured":""}`,children:[i.jsxs("div",{className:"hub-platform-head",children:[i.jsx("span",{className:`status-dot ${t.configured?"connected":"reconnecting"}`}),i.jsx("span",{className:"hub-platform-label",children:t.label}),i.jsx("span",{className:"hub-card-id",children:t.platform}),t.configured?null:i.jsx("button",{type:"button",className:"wizard-start-btn",onClick:c,disabled:!n,title:"Step-by-step setup wizard",children:"🚀 Getting Started"}),t.setupUrl?i.jsx("a",{href:t.setupUrl,target:"_blank",rel:"noopener noreferrer",className:"admin-mini-btn platform-docs-link",title:"Setup documentation",children:"📖 Docs"}):null,i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:s,disabled:!n,children:a?"▴ Collapse":t.configured?"✎ Edit":"⚙ Configure"})]}),!a&&t.setupHint&&!t.configured?i.jsx("div",{className:"platform-setup-hint",children:t.setupHint}):null,a?i.jsxs("div",{className:"platform-config-form",children:[t.setupHint?i.jsx("div",{className:"platform-setup-hint",children:t.setupHint}):null,t.envVars.map(h=>i.jsxs("label",{className:"hub-send-target",children:[i.jsx("span",{className:"admin-hint",children:h.prompt}),i.jsx("input",{type:h.secret?"password":"text",value:u[h.varName]??"",onChange:p=>f(h.varName,p.target.value),placeholder:h.secret?"••••••••":"value",autoComplete:"off",spellCheck:!1,maxLength:512})]},h.varName)),i.jsxs("div",{className:"platform-config-actions",children:[i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>o(u),disabled:r||!n,children:r?"⏳ Saving…":"💾 Save"}),t.configured?i.jsx("button",{type:"button",className:"hub-remove-btn",onClick:l,disabled:r||!n,children:"🗑 Remove"}):null]})]}):i.jsx("div",{className:"hub-platform-env",children:t.envVars.map(h=>i.jsxs("div",{children:[i.jsx("code",{children:h.varName})," ",h.set?"✓ set":"— unset"]},h.varName))})]})}const yle=[{id:"tools",label:"Tools",icon:"🧰"},{id:"channels",label:"Channels",icon:"📡"},{id:"conversations",label:"Conversations",icon:"💬"},{id:"artifacts",label:"Artifacts",icon:"📦"},{id:"skills",label:"Skills",icon:"🧠"},{id:"subagents",label:"Subagents",icon:"🤖"}],ble={pending:"⏳ pending",sent:"✅ sent",failed:"❌ failed"},xle=5e3,wle={spawning:"⏳ spawning",running:"▶ running",completed:"✅ completed",failed:"❌ failed",timeout:"⏰ timed out",killed:"⛔ killed"};function kle(e){const t=typeof document<"u"?document.documentElement:null,n=(r,a)=>!t||typeof getComputedStyle!="function"?a:getComputedStyle(t).getPropertyValue(r).trim()||a;return{canvas:n("--bg-primary","Canvas"),text:n("--text-primary","CanvasText"),muted:n("--text-muted","GrayText"),userBubble:n("--accent-blue","Highlight"),onUserBubble:n("--text-on-accent","HighlightText"),agentBubble:n("--bg-card","ButtonFace")}}function co(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Sle(e,t,n=new Date){const r=co(e.displayName),a=co(e.platform),s=e.messages.map(o=>{const l=o.role==="user",c=l?"user":"assistant",u=co(l?e.displayName:"Agent");return`<div class="msg msg-${c}">
|
|
135
|
+
<div class="bubble bubble-${c}">${co(o.content)}</div>
|
|
136
|
+
<div class="timestamp">${u} · ${co(new Date(o.ts).toLocaleString())}</div>
|
|
137
|
+
</div>`}).join(`
|
|
138
|
+
`);return`<!DOCTYPE html>
|
|
139
|
+
<html lang="en">
|
|
140
|
+
<head>
|
|
141
|
+
<meta charset="utf-8">
|
|
142
|
+
<title>Conversation with ${r}</title>
|
|
143
|
+
<style>
|
|
144
|
+
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; max-width: 700px; margin: 40px auto; padding: 0 20px; background: ${t.canvas}; color: ${t.text}; line-height: 1.6; }
|
|
145
|
+
h1 { font-size: 20px; margin-bottom: 4px; }
|
|
146
|
+
.meta { color: ${t.muted}; font-size: 13px; margin-bottom: 20px; }
|
|
147
|
+
.msg { margin-bottom: 16px; }
|
|
148
|
+
.msg-user { text-align: right; }
|
|
149
|
+
.msg-assistant { text-align: left; }
|
|
150
|
+
.bubble { display: inline-block; max-width: 80%; padding: 10px 14px; border-radius: 12px; font-size: 14px; white-space: pre-wrap; word-break: break-word; text-align: left; }
|
|
151
|
+
.bubble-user { background: ${t.userBubble}; color: ${t.onUserBubble}; border-bottom-right-radius: 4px; }
|
|
152
|
+
.bubble-assistant { background: ${t.agentBubble}; color: ${t.text}; border-bottom-left-radius: 4px; }
|
|
153
|
+
.timestamp { font-size: 11px; color: ${t.muted}; margin-top: 2px; }
|
|
154
|
+
@media print { body { margin: 0; } }
|
|
155
|
+
</style>
|
|
156
|
+
</head>
|
|
157
|
+
<body>
|
|
158
|
+
<h1>Conversation with ${r}</h1>
|
|
159
|
+
<div class="meta">Platform: ${a} · ${e.messageCount} messages · Exported: ${co(n.toLocaleString())}</div>
|
|
160
|
+
${s}
|
|
161
|
+
</body>
|
|
162
|
+
</html>`}function jle(){var yd,bd,xd,Hl,Gl,ql,wd,Kl,Zr,Vl,kd,Sd,jd,Yl,Xl;const[e,t]=b.useState("tools"),[n,r]=b.useState(null),[a,s]=b.useState(!0),[o,l]=b.useState(null),[c,u]=b.useState(!1),[d,f]=b.useState(null),[h,p]=b.useState(!1),[m,g]=b.useState(null),[y,v]=b.useState(null),[k,w]=b.useState(""),N=Gr(),[S,x]=b.useState(""),[E,_]=b.useState(null),[O,C]=b.useState(!1),[P,A]=b.useState(null),[D,I]=b.useState(null),[M,L]=b.useState({}),[U,R]=b.useState(""),[B,T]=b.useState(""),[Z,F]=b.useState(!1),[$,ae]=b.useState(null),[ue,me]=b.useState(!1),[Ee,J]=b.useState({}),[Y,re]=b.useState(!1),[le,H]=b.useState(null),[ye,xe]=b.useState({}),[Oe,pe]=b.useState({}),[Re,fe]=b.useState({}),[Ve,$e]=b.useState(!1),[_e,pt]=b.useState(null),[Fe,it]=b.useState(""),[Xt,q]=b.useState(null),[X,ie]=b.useState(!1),[de,we]=b.useState(new Map),[Me,Ft]=b.useState(new Set),[Ie,an]=b.useState(!1),[$n,kt]=b.useState([]),[It,sn]=b.useState(""),[Tt,Vn]=b.useState(null),[Yn,Ln]=b.useState(""),[on,ln]=b.useState([]),[va,Bl]=b.useState(0),[mn,qr]=b.useState(0),[Ut,Ka]=b.useState(!0),[$t,ya]=b.useState(!1),[_r,Kr]=b.useState(!1),qs=20,Va=b.useRef(null),Vr=b.useCallback(async(j=!1)=>{if($t)return;const z=j?0:mn;ya(!0);try{const W=await K.fetchGatewayConversations({offset:z,limit:qs,q:Fe||void 0});W.ok&&W.conversations&&(ln(Q=>j?W.conversations:[...Q,...W.conversations]),Bl(W.total??0),qr(z+W.conversations.length),Ka(W.hasMore??!1))}catch{}ya(!1)},[$t,mn,Fe]);b.useEffect(()=>{e==="conversations"&&!_r&&!$t&&(Kr(!0),Vr(!0))},[e,_r,$t,Vr]),b.useEffect(()=>{const j=Va.current;if(!j)return;const z=new IntersectionObserver(W=>{var Q;(Q=W[0])!=null&&Q.isIntersecting&&Ut&&!$t&&Vr(!1)},{threshold:.1});return z.observe(j),()=>z.disconnect()},[Ut,$t,Vr]),b.useEffect(()=>{const j=setTimeout(()=>{e==="conversations"&&_r&&(ln([]),qr(0),Ka(!0),Vr(!0))},300);return()=>clearTimeout(j)},[Fe]),b.useEffect(()=>K.onTypingEvent(z=>{we(W=>{const Q=new Map(W),ne=`${z.platform}:${z.channelId}`;return z.typing?Q.set(ne,{platform:z.platform,channelId:z.channelId,startedAt:Date.now()}):Q.delete(ne),Q})}),[]);const Yr=b.useCallback((j,z)=>{z.stopPropagation(),Ft(W=>{const Q=new Set(W);return Q.has(j)?Q.delete(j):Q.add(j),Q})},[]),Qe=b.useCallback(()=>{Ft(j=>j.size===on.length?new Set:new Set(on.map(z=>z.key)))},[on]),Ks=b.useCallback(async()=>{if(Me.size!==0){an(!0);try{await K.exportGatewayConversations([...Me])}catch{}an(!1)}},[Me]);b.useEffect(()=>{e==="conversations"&&K.getAllConversationTags().then(j=>{j.ok&&j.tags&&kt(j.tags)})},[e]);const ba=b.useCallback(async(j,z)=>{if(!z.trim())return;(await K.addConversationTag(j,z.trim())).ok&&(ln(Q=>Q.map(ne=>ne.key===j?{...ne,tags:[...ne.tags??[],z.trim().toLowerCase()]}:ne)),kt(Q=>Q.includes(z.trim().toLowerCase())?Q:[...Q,z.trim().toLowerCase()].sort())),Vn(null),Ln("")},[]),Hi=b.useCallback(async(j,z)=>{(await K.removeConversationTag(j,z)).ok&&ln(Q=>Q.map(ne=>ne.key===j?{...ne,tags:(ne.tags??[]).filter(he=>he!==z)}:ne))},[]),Ya=b.useCallback((j,z)=>{z.stopPropagation();const W=j.contactName||j.channelId,Q=[`Conversation with ${W} (${j.platform})`,`Exported: ${new Date().toLocaleString()}`,`Messages: ${j.messageCount}`,"─".repeat(50),""];if(j.messages)for(const Ze of j.messages){const be=Ze.role==="user"?W:"Agent",mt=new Date(Ze.ts).toLocaleString();Q.push(`[${mt}] ${be}:`),Q.push(Ze.content),Q.push("")}const ne=new Blob([Q.join(`
|
|
163
|
+
`)],{type:"text/plain;charset=utf-8"}),he=URL.createObjectURL(ne),Ne=document.createElement("a");Ne.href=he,Ne.download=`conversation-${j.platform}-${j.channelId.replace(/[^\w]/g,"_")}-${new Date().toISOString().slice(0,10)}.txt`,document.body.appendChild(Ne),Ne.click(),document.body.removeChild(Ne),URL.revokeObjectURL(he)},[]),Vs=b.useCallback((j,z)=>{z.stopPropagation();const W=j.contactName||j.channelId,Q=j.messages??[],ne=Sle({displayName:W,platform:j.platform,messageCount:j.messageCount,messages:Q},kle()),he=window.open("","_blank");he&&(he.document.write(ne),he.document.close(),setTimeout(()=>he.print(),300))},[]);b.useEffect(()=>{var z;const j=(z=n==null?void 0:n.conversations)==null?void 0:z.recent;!j||j.length===0||_r&&(mn>qs||Fe||ln(W=>{const Q=new Set(W.map(be=>be.key)),ne=j.map(be=>({...be})),he=new Map(W.map(be=>[be.key,be]));for(const be of ne)he.has(be.key)&&he.set(be.key,be);const Ze=[...ne.filter(be=>!Q.has(be.key)),...he.values()];return Ze.sort((be,mt)=>mt.lastActiveAt-be.lastActiveAt),Ze}))},[(yd=n==null?void 0:n.conversations)==null?void 0:yd.recent]);const[Xr,Gi]=b.useState(""),[qi,Xa]=b.useState([]),[Ki,Qa]=b.useState(!1),[_n,Qr]=b.useState(!1),[xa,G]=b.useState(null),[te,je]=b.useState(null),[Se,Rt]=b.useState({}),[Dn,Cn]=b.useState([]),[Za,Ys]=b.useState([]),[Ja,Xs]=b.useState(""),Cr=j=>Ve?String(j??""):bM(j),ct=j=>{const z=j.match(/^(\d+)@/);if(!z)return"";const W=z[1];return W.length===12&&W.startsWith("91")?`+${W.slice(0,2)} ${W.slice(2,7)} ${W.slice(7)}`:W.length===10?`+91 ${W.slice(0,5)} ${W.slice(5)}`:`+${W}`},zl=j=>{const z=ct(j.channelId),W=Cr(j.channelId);return j.contactName?{name:j.contactName,phone:z||W}:{name:z||W,phone:""}},ur=b.useCallback(j=>{var z,W;r(j),(z=j==null?void 0:j.channels)!=null&&z.statusRecipients&&Ys(j.channels.statusRecipients),(W=j==null?void 0:j.channels)!=null&&W.contacts&&Cn(j.channels.contacts),j||l("Could not reach the dashboard server, or the server is older than this panel. Run `nuvira dashboard` to start it."),s(!1)},[]),ut=b.useCallback(async()=>{u(!0),l(null),ur(await K.fetchHub()),u(!1)},[ur]);b.useEffect(()=>{ut(),K.fetchAdminAuthStatus().then(j=>{j&&(f({configured:j.configured,authenticated:j.authenticated}),p(j.authenticated),g(j.role??null),v(j.user??null))})},[ut,N]);const Ar=((bd=n==null?void 0:n.subagents)==null?void 0:bd.running)??0;b.useEffect(()=>{if(Ar===0)return;const j=setInterval(()=>{K.fetchHub().then(z=>{z&&ur(z)})},xle);return()=>clearInterval(j)},[Ar,ur]);const Nt=h&&(m==="admin"||m==="operator"),Qs=b.useRef(!1);b.useEffect(()=>{Nt&&!Qs.current&&(Qs.current=!0,$e(!0))},[Nt]);const Zs=async j=>{j==null||j.preventDefault();const z=Xr.trim();if(!z)return;Qr(!0),G(null);const W=await K.marketplaceSearch(z);Xa(W),Qa(!0),Qr(!1)},hd=async j=>{if(!h){G({kind:"err",text:"🔐 Log in (or set up admin access) to install skills."});return}if(!Nt){G({kind:"err",text:"Your role cannot install skills — admin or operator only."});return}je(j),G(null);const z=await K.marketplaceInstall(j);z.ok?(G({kind:"ok",text:`✅ Installed ${j} (quarantine checked) — it appears in the Skills list and loads via the skill tool next turn.`}),ut()):G({kind:"err",text:z.quarantined?`⛔ ${z.error||"checksum mismatch — quarantined"}`:`❌ ${z.error||"Install failed."}`}),je(null)},Pm=async j=>{if(!h){G({kind:"err",text:"🔐 Log in (or set up admin access) to uninstall skills."});return}if(!Nt){G({kind:"err",text:"Your role cannot uninstall skills — admin or operator only."});return}je(j),G(null);const z=await K.marketplaceUninstall(j);z.ok?(G({kind:"ok",text:`🗑️ Uninstalled ${j} — removed from .agents/skills/ and provenance.`}),ut()):G({kind:"err",text:`❌ ${z.error||"Uninstall failed."}`}),je(null)},wa=()=>{p(!1),f(j=>j&&{...j,authenticated:!1}),_("Session expired — log in again to toggle capabilities.")},Vi=async j=>{j.preventDefault(),C(!0),_(null);const z=await K.adminLogin(k,S);if(z.ok){p(!0),f({configured:!0,authenticated:!0}),g(z.role??"admin"),v(z.user??null),w(""),x("");const W=P;A(null),W&&await Js(W.kind,W.name,W.enabled)}else _(z.error||"Login failed.");C(!1)},Rm=async j=>{if(j.preventDefault(),C(!0),_(null),S.length<8){_("Password must be at least 8 characters."),C(!1);return}const z=await K.adminSetup(k,S);if(z.ok){p(!0),f({configured:!0,authenticated:!0}),g(z.role??"admin"),v(z.user??null),w(""),x("");const W=P;A(null),W&&await Js(W.kind,W.name,W.enabled)}else _(z.error||"Setup failed.");C(!1)},pd=async()=>{await K.adminLogout(),p(!1),f(j=>j&&{...j,authenticated:!1}),g(null),v(null)},Js=async(j,z,W)=>{I(z);const Q=j==="skill"?await K.setSkillEnabled(z,W):await K.setToolsetEnabled(z,W);Q.ok?(L(ne=>({...ne,[z]:`✅ ${W?"Enabled":"Disabled"} — live for new agent runs`})),ut()):Q.unauthorized?wa():(L(ne=>({...ne,[z]:`❌ ${Q.error||"Toggle failed"}`})),Q.forbidden&&_(Q.error||"Your role cannot change capabilities.")),I(null)},Mm=(j,z)=>{if(!h){A({kind:"toolset",name:j,enabled:z});return}Js("toolset",j,z)},md=(j,z)=>{if(!h){A({kind:"skill",name:j,enabled:z});return}Js("skill",j,z)},gd=async j=>{if(j.preventDefault(),!h){ae({kind:"err",text:"🔐 Log in (or set up admin access) to send test messages."});return}if(!Nt){ae({kind:"err",text:"🔒 Your role cannot send channel messages — requires the admin or operator role."});return}F(!0),ae(null);const z=await K.sendChannelMessage(U.trim(),B);z.ok?(ae({kind:"ok",text:`✅ Sent to ${U.trim()} (${z.platform}:${Cr(z.channelId??"")})`}),T("")):z.unauthorized?(wa(),ae({kind:"err",text:z.error||"Session expired — log in again."})):ae({kind:"err",text:z.error||"Send failed."}),F(!1)},vd=(j,z)=>{var Q,ne;return(((ne=(Q=n==null?void 0:n.channels)==null?void 0:Q.policies)==null?void 0:ne[j])??{})[z]??[]},ei=j=>j==="user"?"allowedUsers":j==="group"?"allowedGroups":"outboundSenders",eo=(j,z,W)=>{const Q=W.trim();Q&&J(ne=>{var mt;const he={...ne[j]??{}},Ne=ei(z),be=[...((mt=ne[j])==null?void 0:mt[Ne])??vd(j,Ne)];return be.includes(Q)||be.push(Q),he[Ne]=be,{...ne,[j]:he}})},Xn=(j,z,W)=>{J(Q=>{var mt;const ne=ei(z),he=vd(j,ne),Ze=(((mt=Q[j])==null?void 0:mt[ne])??he).filter(ke=>ke!==W);if(Ze.length===0&&he.length===0){const ke={...Q[j]??{}};delete ke[ne];const dt={...Q};return Object.keys(ke).length===0?delete dt[j]:dt[j]=ke,dt}const be={...Q[j]??{}};return be[ne]=Ze,{...Q,[j]:be}})},Yi=(j,z)=>{const W=j.trim().toLowerCase(),Q=z.trim().toLowerCase();if(W==="*"||Q==="*"||W===Q)return!0;const ne=W.replace(/\D+/g,""),he=Q.replace(/\D+/g,"");return ne.length>0&&ne===he},Fl=j=>{const z=(Se[j]??"").trim(),W=(ye[j]??"").trim();W&&(eo(j,"user",W),z&&Cn(Q=>[...Q.filter(he=>!(he.platform===j&&(Yi(he.id,W)||he.name.toLowerCase()===z.toLowerCase()))),{name:z,platform:j,id:W,addedAt:Date.now()}]),xe(Q=>({...Q,[j]:""})),Rt(Q=>({...Q,[j]:""})))},Ul=(j,z)=>{Xn(j,"user",z),Cn(W=>W.filter(Q=>!(Q.platform===j&&Yi(Q.id,z))))},to=(j,z)=>{J(W=>{const Q={...W[j]??{}};return z==="silentDrop"?Q.silentDrop=Q.silentDrop===!1:Q[z]?delete Q[z]:Q[z]=!0,{...W,[j]:Q}})},no=Object.keys(Ee).length>0||Dn.length!==(((Hl=(xd=n==null?void 0:n.channels)==null?void 0:xd.contacts)==null?void 0:Hl.length)??0)||Dn.some((j,z)=>{var W,Q;return!((Q=(W=n==null?void 0:n.channels)==null?void 0:W.contacts)!=null&&Q[z])||j.platform!==n.channels.contacts[z].platform||j.id!==n.channels.contacts[z].id||j.name!==n.channels.contacts[z].name})||Za.length!==(((ql=(Gl=n==null?void 0:n.channels)==null?void 0:Gl.statusRecipients)==null?void 0:ql.length)??0)||Za.some((j,z)=>{var W,Q;return j!==((Q=(W=n==null?void 0:n.channels)==null?void 0:W.statusRecipients)==null?void 0:Q[z])}),Wl=async()=>{var z;if(!h){H({kind:"err",text:"🔐 Log in (or set up admin access) to change permissions."});return}if(!Nt){H({kind:"err",text:"🔒 Your role cannot change permissions — requires the admin or operator role."});return}re(!0),H(null);const j=await K.saveGatewayPolicies(Ee,Za,Dn);if(j.ok){const W=(z=j.contactErrors)!=null&&z.length?`
|
|
164
|
+
⚠️ Some contacts were rejected: ${j.contactErrors.join("; ")}`:"";H({kind:W?"warn":"ok",text:`✅ Permissions + saved contacts + status recipients saved — the running gateway applies them immediately.${W}`}),J({}),ut()}else j.unauthorized?(wa(),H({kind:"err",text:j.error||"Session expired — log in again."})):H({kind:"err",text:j.error||"Failed to save permissions."});re(!1)};if(a)return i.jsxs("div",{className:"admin-header",children:[i.jsx(Te,{icon:"🧰",title:"Agent Hub"}),i.jsxs("div",{className:"loading-state",children:[i.jsx("div",{className:"loading-spinner"}),i.jsx("p",{children:"Loading hub…"})]})]});const cn=!h&&P!==null;return i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"admin-header",children:[i.jsx(Te,{icon:"🧰",title:i.jsxs(i.Fragment,{children:["Agent Hub",y?i.jsxs("span",{className:`admin-role-badge admin-role-${m||"viewer"}`,children:[" ",y," · ",m||"viewer"]}):null]})}),i.jsxs("div",{className:"admin-header-actions",children:[i.jsxs("label",{className:"hub-reveal-toggle",children:[i.jsx("input",{type:"checkbox",checked:Ve,onChange:j=>$e(j.target.checked),disabled:!Nt}),"Show full ids"]}),Nt?null:i.jsx("span",{className:"admin-hint",children:"🔒 admins/operators only"}),i.jsx("button",{className:"admin-refresh-btn",onClick:()=>void ut(),disabled:c,children:c?"⏳ Refreshing…":"🔄 Refresh"}),h?i.jsx("button",{className:"admin-logout-btn",onClick:()=>void pd(),children:"🚪 Log out"}):null]})]}),i.jsxs("p",{className:"admin-subtitle",children:["Capabilities, messaging, artifacts and skills in one place — a single 4-view management page. Toggles persist to ",i.jsx("code",{children:"buffconfig"})," and are honored by the runtime immediately (never cosmetic)."]}),o?i.jsx("div",{className:"admin-error",children:o}):null,cn?i.jsxs("div",{className:"admin-header",children:[i.jsx("h2",{className:"section-subtitle",children:d!=null&&d.configured?`🔐 Log in to ${P.enabled?"enable":"disable"} '${P.name}'`:`🔐 Set up admin access to ${P.enabled?"enable":"disable"} '${P.name}'`}),i.jsxs("form",{className:"admin-gate-form",onSubmit:d!=null&&d.configured?Vi:Rm,children:[i.jsxs("label",{children:[i.jsx("span",{children:"Username"}),i.jsx("input",{type:"text",value:k,onChange:j=>w(j.target.value),autoComplete:"username",placeholder:"admin"})]}),i.jsxs("label",{children:[i.jsx("span",{children:"Password"}),i.jsx("input",{type:"password",value:S,onChange:j=>x(j.target.value),autoComplete:d!=null&&d.configured?"current-password":"new-password",placeholder:"••••••••"})]}),E?i.jsx("div",{className:"admin-error",children:E}):null,i.jsx("button",{className:"admin-refresh-btn",type:"submit",disabled:O||!k||!S,children:O?"⏳ …":d!=null&&d.configured?"🔐 Log in & apply":"🔐 Create admin & apply"}),d!=null&&d.configured?null:i.jsxs("p",{className:"admin-hint",children:["The first user is always an admin. Automation alternative: set"," ",i.jsx("code",{children:"NUVIRA_DASHBOARD_ADMIN_USER"})," / ",i.jsx("code",{children:"NUVIRA_DASHBOARD_ADMIN_PASSWORD"}),"."]})]})]}):null,!cn&&!Nt&&h?i.jsxs("div",{className:"admin-readonly-note",children:["🔒 Your role (",i.jsx("code",{children:m||"viewer"}),") can view but not change capabilities — toggles require the ",i.jsx("code",{children:"admin"})," or ",i.jsx("code",{children:"operator"})," role."]}):null,i.jsx("div",{className:"hub-tabs",role:"tablist",children:yle.map(j=>{var W,Q,ne;const z=j.id==="tools"?n?`${n.toolsets.enabled}/${n.toolsets.toolsets.length}`:"":j.id==="channels"?n?String(n.channels.delivery.total):"":j.id==="conversations"?n?String(((W=n.conversations)==null?void 0:W.total)??0):"":j.id==="artifacts"?n?String(n.artifacts.totalSessions):"":j.id==="subagents"?n?`${((Q=n.subagents)==null?void 0:Q.running)??0}/${((ne=n.subagents)==null?void 0:ne.total)??0}`:"":n?`${n.skills.enabled}/${n.skills.total}`:"";return i.jsxs("button",{role:"tab","aria-selected":e===j.id,className:`hub-tab${e===j.id?" active":""}`,onClick:()=>t(j.id),children:[j.icon," ",j.label,z?i.jsx("span",{className:"hub-tab-count",children:z}):null]},j.id)})}),e==="tools"&&n?i.jsxs("div",{role:"tabpanel",children:[i.jsxs("div",{className:"admin-summary-grid",children:[i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.toolsets.enabled}),i.jsx("div",{className:"admin-summary-label",children:"Enabled toolsets"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.toolsets.disabled}),i.jsx("div",{className:"admin-summary-label",children:"Disabled toolsets"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.toolsets.totalTools}),i.jsx("div",{className:"admin-summary-label",children:"Registered tools"})]})]}),i.jsx("div",{className:"hub-toolset-grid",children:n.toolsets.toolsets.map(j=>i.jsxs("div",{className:`hub-card${j.enabled?"":" hub-card-disabled"}`,children:[i.jsxs("div",{className:"hub-card-top",children:[i.jsxs("div",{className:"hub-card-title",children:[i.jsx("span",{className:"hub-card-name",children:j.label}),i.jsx("span",{className:"hub-card-id",children:j.name})]}),i.jsx("button",{role:"switch","aria-checked":j.enabled,"aria-label":`${j.enabled?"Disable":"Enable"} ${j.label}`,className:`hub-switch${j.enabled?" on":""}`,disabled:D===j.name||P!==null||h&&!Nt,onClick:()=>Mm(j.name,!j.enabled),children:i.jsx("span",{className:"hub-switch-knob"})})]}),i.jsx("p",{className:"hub-card-desc",children:j.description}),i.jsx("div",{className:"hub-card-tools",children:j.tools.length>0?j.tools.map(z=>i.jsx("span",{className:"hub-chip",children:z},z)):i.jsx("span",{className:"admin-hint",children:"gates dynamic MCP tools (no static names)"})}),M[j.name]?i.jsx("div",{className:"admin-row-msg",children:M[j.name]}):null,j.enabled?null:i.jsx("div",{className:"hub-card-note",children:"⛔ Removed from the model schema — calls return an explicit error"})]},j.name))})]}):null,e==="channels"&&n?i.jsxs("div",{role:"tabpanel",children:[i.jsxs("div",{className:"admin-summary-grid",children:[i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.channels.delivery.pending}),i.jsx("div",{className:"admin-summary-label",children:"⏳ Queued for retry"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.channels.delivery.sent}),i.jsx("div",{className:"admin-summary-label",children:"✅ Delivered"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.channels.delivery.failed}),i.jsx("div",{className:"admin-summary-label",children:"❌ Failed (max retries)"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.channels.aliases.length}),i.jsx("div",{className:"admin-summary-label",children:"Channel aliases"})]})]}),i.jsx("h2",{className:"section-subtitle",children:"📮 Delivery ledger (guaranteed delivery)"}),n.channels.delivery.recent.length>0?i.jsx("div",{className:"admin-table-wrapper",children:i.jsxs("table",{className:"admin-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Target"}),i.jsx("th",{children:"Platform"}),i.jsx("th",{children:"Status"}),i.jsx("th",{children:"Attempts"}),i.jsx("th",{children:"Next retry"}),i.jsx("th",{children:"Message"})]})}),i.jsx("tbody",{children:n.channels.delivery.recent.map(j=>i.jsxs("tr",{children:[i.jsx("td",{className:"admin-provider-type",children:Cr(j.target)}),i.jsx("td",{children:j.platform}),i.jsx("td",{children:i.jsx("span",{className:`admin-check-badge admin-check-${j.status==="sent"?"pass":j.status==="failed"?"fail":"warn"}`,children:ble[j.status]||j.status})}),i.jsxs("td",{children:[j.attempts,"/5"]}),i.jsx("td",{children:j.status==="pending"?`${Math.max(0,Math.round((j.nextAttemptAt-Date.now())/1e3))}s`:"—"}),i.jsx("td",{className:"admin-hint",children:j.lastError?`⚠️ ${j.lastError}`:(j.text||"").slice(0,60)})]},j.id))})]})}):i.jsx("div",{className:"empty-state",children:"Delivery ledger is empty — every gateway send has gone through."}),i.jsx("h2",{className:"section-subtitle",children:"📥 Inbox (received messages)"}),n.channels.inbox.recent.length>0?i.jsx("div",{className:"admin-table-wrapper",children:i.jsxs("table",{className:"admin-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Platform"}),i.jsx("th",{children:"From"}),i.jsx("th",{children:"Message"}),i.jsx("th",{children:"Handled"}),i.jsx("th",{children:"When"})]})}),i.jsx("tbody",{children:n.channels.inbox.recent.map(j=>i.jsxs("tr",{children:[i.jsxs("td",{className:"admin-provider-type",children:[j.platform,j.isGroup?i.jsx("span",{className:"hub-chip",children:"group"}):null]}),i.jsx("td",{children:Cr(j.from||j.senderId||j.channelId)}),i.jsx("td",{className:"admin-hint",children:(j.text||"").slice(0,60)}),i.jsxs("td",{children:[i.jsx("span",{className:`admin-check-badge admin-check-${j.handled==="pipeline"?"pass":j.handled==="refused"?"fail":"warn"}`,children:j.handled}),j.reply?i.jsx("div",{className:"admin-hint",children:j.reply.slice(0,j.handled==="attachment_failed"?160:40)}):null]}),i.jsx("td",{className:"admin-hint",children:new Date(j.at).toLocaleString()})]},j.id))})]})}):i.jsx("div",{className:"empty-state",children:"Inbox is empty — messages the gateway receives will appear here."}),i.jsxs("p",{className:"admin-hint",children:[n.channels.inbox.total," received · ",n.channels.inbox.pipeline," triggered the pipeline ·"," ",n.channels.inbox.help," got the help line · ",n.channels.inbox.refused," refused by policy ·"," ",n.channels.inbox.duplicate??0," duplicate re-deliveries ignored ·"," ",n.channels.inbox.attachmentFailed??0," attachment(s) could not be read."]}),i.jsx("h2",{className:"section-subtitle",children:"🔌 Platform transports"}),i.jsx(gle,{canWrite:Nt,sessionExpired:wa,mode:"table"}),i.jsx("h2",{className:"section-subtitle",children:"🔗 Channel aliases (nuvira gateway status)"}),n.channels.aliases.length>0?i.jsx("div",{className:"hub-alias-list",children:n.channels.aliases.map(j=>i.jsxs("div",{className:"hub-alias-row",children:[i.jsx("span",{className:"hub-chip",children:j.alias}),i.jsxs("span",{className:"admin-hint",children:["→ ",j.platform,":",Cr(j.channelId)]})]},j.alias))}):i.jsxs("div",{className:"empty-state",children:["No aliases yet — register one with ",i.jsx("code",{children:"nuvira gateway alias <name> <platform> <channelId>"}),"."]}),no?i.jsxs("div",{className:"hub-unsaved-banner",role:"status",children:[i.jsxs("span",{children:["⚠️ ",i.jsx("strong",{children:"Unsaved changes"})," — what you see below is a ",i.jsx("em",{children:"draft"}),". Press"," ",i.jsx("strong",{children:"💾 Save permissions"})," to apply it to the gateway; leaving the page discards it."]}),i.jsx("button",{className:"admin-refresh-btn",type:"button",disabled:Y,onClick:()=>void Wl(),children:Y?"⏳ Saving…":"💾 Save permissions"})]}):null,i.jsx("div",{style:{cursor:"pointer",userSelect:"none",display:"flex",alignItems:"center",gap:8,marginBottom:8},onClick:()=>me(!ue),children:i.jsxs("h2",{className:"section-subtitle",style:{margin:0},children:[ue?"▼":"▶"," 🔐 Permissions — who can TRIGGER the agent"]})}),i.jsxs("p",{className:"admin-hint",style:{marginBottom:ue?10:0},children:["This list controls ",i.jsx("strong",{children:"who may trigger the agent"})," when they message you on each platform (WhatsApp, Telegram, email, …). Click to ",ue?"collapse":"expand"," and manage permissions."]}),ue?i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"admin-hint",style:{marginBottom:10},children:["⚠ ",i.jsx("strong",{children:"Not the same as send-by-name contacts:"})," a WhatsApp contact name (from"," ",i.jsx("code",{children:"nuvira whatsapp contact add"}),", shown in the WhatsApp bridge panel below) only lets"," ",i.jsx("em",{children:"you"})," send ",i.jsx("em",{children:"to"})," it by name — it does ",i.jsx("strong",{children:"not"})," let that number trigger the agent. Add the number here (or ",i.jsx("code",{children:"nuvira config gateway allow <platform> user <id>"}),") to grant inbound access."]}),i.jsx("div",{className:"hub-permissions",children:n.channels.platforms.map(j=>{const z={...n.channels.policies[j.platform]??{},...Ee[j.platform]??{}},W=z.allowedUsers??[],Q=z.allowedGroups??[];return i.jsxs("div",{className:"hub-card",children:[i.jsxs("div",{className:"hub-card-top",children:[i.jsx("span",{className:"hub-chip",children:j.label}),i.jsx("span",{className:"hub-card-id",children:j.platform}),z.disabled?i.jsx("span",{className:"hub-chip",children:"disabled"}):null]}),i.jsx("div",{className:"admin-hint",style:{margin:"4px 0 8px"},children:"Allowed users — who may trigger the agent"}),i.jsxs("div",{className:"hub-alias-list",children:[W.length===0?i.jsxs("span",{className:"admin-hint",children:["(blank — no one may trigger; add ",i.jsx("code",{children:"Allow-All"})," to allow everyone)"]}):null,W.map(ne=>{var Ne,Ze,be,mt;const he=(((Ne=Ee[j.platform])==null?void 0:Ne.allowedUsers)??[]).includes(ne)&&!(((mt=(be=(Ze=n==null?void 0:n.channels)==null?void 0:Ze.policies)==null?void 0:be[j.platform])==null?void 0:mt.allowedUsers)??[]).includes(ne);return i.jsxs("div",{className:"hub-alias-row",children:[i.jsxs("span",{className:`hub-chip${he?" hub-chip-pending":""}`,title:he?"Not saved yet — press 💾 Save permissions":void 0,children:[Cr(ne),he?" · unsaved":""]}),i.jsx("button",{className:"admin-refresh-btn",disabled:Y,onClick:()=>Ul(j.platform,ne),children:"✕"})]},`u-${ne}`)})]}),i.jsxs("div",{className:"hub-send-form",style:{margin:"6px 0 10px"},children:[i.jsx("input",{type:"text",value:Se[j.platform]??"",onChange:ne=>Rt(he=>({...he,[j.platform]:ne.target.value})),placeholder:"Name (optional)",disabled:Y}),i.jsx("input",{type:"text",value:ye[j.platform]??"",onChange:ne=>xe(he=>({...he,[j.platform]:ne.target.value})),placeholder:"Contact no / sender id, or Allow-All",disabled:Y}),i.jsx("button",{className:"admin-refresh-btn",disabled:Y||!(ye[j.platform]??"").trim(),onClick:()=>Fl(j.platform),children:"+ User"})]}),i.jsx("div",{className:"admin-hint",style:{margin:"4px 0 8px"},children:"Allowed groups"}),i.jsxs("div",{className:"hub-alias-list",children:[Q.length===0?i.jsx("span",{className:"admin-hint",children:"(none — any group may trigger)"}):null,Q.map(ne=>{var Ne,Ze,be,mt;const he=(((Ne=Ee[j.platform])==null?void 0:Ne.allowedGroups)??[]).includes(ne)&&!(((mt=(be=(Ze=n==null?void 0:n.channels)==null?void 0:Ze.policies)==null?void 0:be[j.platform])==null?void 0:mt.allowedGroups)??[]).includes(ne);return i.jsxs("div",{className:"hub-alias-row",children:[i.jsxs("span",{className:`hub-chip${he?" hub-chip-pending":""}`,title:he?"Not saved yet — press 💾 Save permissions":void 0,children:[ne,he?" · unsaved":""]}),i.jsx("button",{className:"admin-refresh-btn",disabled:Y,onClick:()=>Xn(j.platform,"group",ne),children:"✕"})]},`g-${ne}`)})]}),i.jsxs("div",{className:"hub-send-form",style:{margin:"6px 0 10px"},children:[i.jsx("input",{type:"text",value:Oe[j.platform]??"",onChange:ne=>pe(he=>({...he,[j.platform]:ne.target.value})),placeholder:"group id, e.g. 1203630283471234@g.us",disabled:Y}),i.jsx("button",{className:"admin-refresh-btn",disabled:Y||!(Oe[j.platform]??"").trim(),onClick:()=>{eo(j.platform,"group",Oe[j.platform]??""),pe(ne=>({...ne,[j.platform]:""}))},children:"+ Group"})]}),i.jsx("div",{className:"admin-hint",style:{margin:"12px 0 4px"},children:"Send authority — who may tell the agent to send to OTHER people"}),i.jsx("div",{className:"admin-hint",style:{margin:"0 0 6px",opacity:.8},children:(z.outboundSenders??[]).length===0?"Open — anyone above who can trigger the agent can also direct outbound sends. Add senders to restrict it.":"Restricted to the senders below (Allow-All = everyone)."}),i.jsx("div",{className:"hub-alias-list",children:(z.outboundSenders??[]).map(ne=>{var Ne,Ze,be,mt;const he=(((Ne=Ee[j.platform])==null?void 0:Ne.outboundSenders)??[]).includes(ne)&&!(((mt=(be=(Ze=n==null?void 0:n.channels)==null?void 0:Ze.policies)==null?void 0:be[j.platform])==null?void 0:mt.outboundSenders)??[]).includes(ne);return i.jsxs("div",{className:"hub-alias-row",children:[i.jsxs("span",{className:`hub-chip${he?" hub-chip-pending":""}`,title:he?"Not saved yet — press 💾 Save permissions":void 0,children:[Cr(ne),he?" · unsaved":""]}),i.jsx("button",{className:"admin-refresh-btn",disabled:Y,onClick:()=>Xn(j.platform,"send",ne),children:"✕"})]},`s-${ne}`)})}),i.jsxs("div",{className:"hub-send-form",style:{margin:"6px 0 10px"},children:[i.jsx("input",{type:"text",value:Re[j.platform]??"",onChange:ne=>fe(he=>({...he,[j.platform]:ne.target.value})),placeholder:"sender id, or Allow-All",disabled:Y}),i.jsx("button",{className:"admin-refresh-btn",disabled:Y||!(Re[j.platform]??"").trim(),onClick:()=>{eo(j.platform,"send",Re[j.platform]??""),fe(ne=>({...ne,[j.platform]:""}))},children:"+ Sender"})]}),i.jsxs("div",{className:"hub-send-form",style:{margin:"6px 0 0"},children:[i.jsxs("label",{style:{display:"inline-flex",alignItems:"center",gap:6,marginRight:12},children:[i.jsx("input",{type:"checkbox",checked:z.silentDrop!==!1,disabled:Y,onChange:()=>to(j.platform,"silentDrop")}),i.jsx("span",{className:"admin-hint",children:"Silent (no reply to unapproved) — default"})]}),i.jsxs("label",{style:{display:"inline-flex",alignItems:"center",gap:6,marginRight:12},children:[i.jsx("input",{type:"checkbox",checked:!!z.requireMention,disabled:Y,onChange:()=>to(j.platform,"requireMention")}),i.jsx("span",{className:"admin-hint",children:"Groups: mention only"})]}),i.jsxs("label",{style:{display:"inline-flex",alignItems:"center",gap:6,marginRight:12},children:[i.jsx("input",{type:"checkbox",checked:!!z.disabled,disabled:Y,onChange:()=>to(j.platform,"disabled")}),i.jsx("span",{className:"admin-hint",children:"Disabled (off)"})]}),i.jsxs("label",{style:{display:"inline-flex",alignItems:"center",gap:6},children:[i.jsx("input",{type:"checkbox",checked:!!z.requireApprovedTarget,disabled:Y,onChange:()=>to(j.platform,"requireApprovedTarget")}),i.jsx("span",{className:"admin-hint",children:"Require approved recipients for sends"})]})]})]},j.platform)})})]}):null,i.jsx("h2",{className:"section-subtitle",style:{marginTop:22},children:"📇 Telegram User Onboarding"}),i.jsxs("div",{className:"onboarding-summary",children:[i.jsx("p",{className:"admin-hint",style:{marginBottom:12},children:"Users who message your bot are auto-registered here. Approve them to enable outbound messaging."}),(()=>{const j=Dn.filter(Q=>Q.status==="pending").length,z=Dn.filter(Q=>Q.status==="approved").length,W=Dn.filter(Q=>Q.status==="rejected").length;return i.jsxs("div",{className:"onboarding-stats",children:[i.jsxs("span",{className:"onboarding-stat pending",children:["⏳ ",j," pending"]}),i.jsxs("span",{className:"onboarding-stat approved",children:["✅ ",z," approved"]}),i.jsxs("span",{className:"onboarding-stat rejected",children:["🚫 ",W," rejected"]})]})})(),i.jsxs("div",{className:"onboarding-steps",children:[i.jsxs("div",{className:"onboarding-step",children:[i.jsx("span",{className:"onboarding-step-num",children:"1"}),i.jsxs("span",{children:["User sends any message to ",i.jsx("code",{children:"@agent_nuvira_bot"})]})]}),i.jsxs("div",{className:"onboarding-step",children:[i.jsx("span",{className:"onboarding-step-num",children:"2"}),i.jsxs("span",{children:["Bot auto-registers them as ",i.jsx("strong",{children:"⏳ pending"})]})]}),i.jsxs("div",{className:"onboarding-step",children:[i.jsx("span",{className:"onboarding-step-num",children:"3"}),i.jsx("span",{children:"Admin approves → they can receive outbound messages"})]})]}),i.jsx("a",{href:"/contacts",className:"admin-refresh-btn",style:{marginTop:12,display:"inline-block",textDecoration:"none"},children:"📋 Go to Contacts tab to manage →"})]}),i.jsx("h2",{className:"section-subtitle",style:{marginTop:22},children:"📊 Status recipients"}),i.jsxs("p",{className:"admin-hint",children:["Contacts/groups that ALWAYS receive the pipeline completion summary, whoever triggered it. Use a contact name, number, or ",i.jsx("code",{children:"platform:channelId"})," — e.g."," ",i.jsx("code",{children:"whatsapp:Name"}),", ",i.jsx("code",{children:"whatsapp:+91***"}),", ",i.jsx("code",{children:"telegram:123456"}),","," ",i.jsx("code",{children:"slack:ops"}),"."]}),Za.length>0?i.jsx("div",{className:"hub-alias-list",children:Za.map(j=>{var z,W;return i.jsxs("div",{className:"hub-alias-row",children:[i.jsx("span",{className:"hub-chip",children:"📊"}),i.jsx("span",{className:"admin-hint",children:((W=(z=n==null?void 0:n.channels)==null?void 0:z.statusRecipientDisplay)==null?void 0:W[j])??j}),i.jsx("button",{className:"admin-refresh-btn",disabled:Y,onClick:()=>Ys(Q=>Q.filter(ne=>ne!==j)),children:"✕"})]},j)})}):i.jsx("div",{className:"empty-state",style:{padding:"14px"},children:"No status recipients — add one below."}),i.jsxs("div",{className:"hub-send-form",children:[i.jsx("input",{type:"text",value:Ja,onChange:j=>Xs(j.target.value),placeholder:"whatsapp:Name or whatsapp:+91***",disabled:Y,maxLength:128}),i.jsx("button",{className:"admin-refresh-btn",disabled:Y||!Ja.trim()||Za.includes(Ja.trim()),onClick:()=>{Ys(j=>[...j,Ja.trim()]),Xs("")},children:"+ Add"})]}),i.jsxs("div",{className:"hub-send-form",style:{marginTop:10},children:[i.jsx("button",{className:"admin-refresh-btn",type:"button",disabled:Y,onClick:()=>void Wl(),children:Y?"⏳ Saving…":"💾 Save permissions"}),Object.keys(Ee).length>0?i.jsx("button",{className:"admin-refresh-btn",type:"button",disabled:Y,onClick:()=>J({}),children:"Discard draft"}):null]}),le?i.jsx("div",{className:`admin-row-msg${le.kind==="err"?" admin-row-msg-err":""}`,children:le.text}):null,i.jsx("h2",{className:"section-subtitle",children:"📤 Test a channel (nuvira gateway send)"}),i.jsxs("form",{className:"hub-send-form",onSubmit:j=>void gd(j),children:[i.jsxs("label",{className:"hub-send-target",children:[i.jsx("span",{className:"admin-hint",children:"Target — an alias or platform:channelId"}),i.jsx("input",{type:"text",value:U,onChange:j=>R(j.target.value),placeholder:"ops or slack:C0123 or email:team@example.com",disabled:Z,maxLength:128})]}),i.jsxs("label",{className:"hub-send-message",children:[i.jsx("span",{className:"admin-hint",children:"Message"}),i.jsx("input",{type:"text",value:B,onChange:j=>T(j.target.value),placeholder:"nightly build done 🎉",disabled:Z,maxLength:4e3})]}),i.jsx("button",{className:"admin-refresh-btn",type:"submit",disabled:Z||!U.trim()||!B,children:Z?"⏳ Sending…":"📤 Send test message"})]}),$?i.jsx("div",{className:`admin-row-msg${$.kind==="ok"?"":" admin-row-msg-err"}`,children:$.text}):null,i.jsxs("p",{className:"admin-hint",children:["Sends through the same gateway the CLI uses — the dashboard process must have the platform's env token set (e.g. ",i.jsx("code",{children:"NUVIRA_SMTP_HOST"}),"). Requires admin or operator."]}),i.jsx("h2",{className:"section-subtitle",children:"🟢 WhatsApp bridge (nuvira whatsapp pair)"}),i.jsx(mle,{authed:h,canWrite:Nt,sessionExpired:wa,reveal:Ve})]}):null,e==="conversations"&&n?i.jsxs("div",{role:"tabpanel",children:[i.jsxs("div",{className:"admin-summary-grid",children:[i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:((wd=n.conversations)==null?void 0:wd.total)??0}),i.jsx("div",{className:"admin-summary-label",children:"Stored conversations"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:on.filter(j=>Date.now()-j.lastActiveAt<864e5).length}),i.jsx("div",{className:"admin-summary-label",children:"Active today"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:on.filter(j=>j.platform==="whatsapp").length}),i.jsx("div",{className:"admin-summary-label",children:"WhatsApp"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:on.filter(j=>j.platform==="telegram").length}),i.jsx("div",{className:"admin-summary-label",children:"Telegram"})]})]}),((Kl=n.conversations)==null?void 0:Kl.analytics)&&n.conversations.analytics.totalConversations>0&&i.jsxs(i.Fragment,{children:[i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>ie(!X),style:{marginBottom:12},children:X?"📊 Hide Analytics":"📊 Show Analytics"}),X?i.jsxs("div",{className:"hub-session-list",style:{marginBottom:16},children:[i.jsxs("div",{className:"admin-summary-grid",children:[i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.conversations.analytics.totalMessages}),i.jsx("div",{className:"admin-summary-label",children:"Total messages"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.conversations.analytics.avgMessagesPerConversation}),i.jsx("div",{className:"admin-summary-label",children:"Avg msgs/conversation"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.conversations.analytics.avgUserMessageLength}),i.jsx("div",{className:"admin-summary-label",children:"Avg user msg length"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.conversations.analytics.avgAssistantMessageLength}),i.jsx("div",{className:"admin-summary-label",children:"Avg assistant msg length"})]})]}),i.jsxs("div",{className:"hub-card",style:{marginTop:12},children:[i.jsx("div",{className:"hub-card-top",children:i.jsx("div",{className:"hub-card-title",children:i.jsx("span",{className:"hub-card-name",children:"🏆 Most Active Contacts"})})}),i.jsx("div",{style:{marginTop:8},children:n.conversations.analytics.topContacts.map((j,z)=>{var ne;const W=((ne=n.conversations.analytics.topContacts[0])==null?void 0:ne.messageCount)||1,Q=Math.round(j.messageCount/W*100);return i.jsxs("div",{style:{display:"flex",alignItems:"center",marginBottom:6,fontSize:13},children:[i.jsx("span",{style:{width:24,textAlign:"center",fontWeight:600,color:z<3?"var(--accent-yellow)":"var(--muted)"},children:z===0?"🥇":z===1?"🥈":z===2?"🥉":`${z+1}.`}),i.jsxs("span",{style:{flex:1,marginLeft:8},children:[j.platform==="whatsapp"?"📱":"✈️"," ",j.name]}),i.jsx("span",{style:{width:60,textAlign:"right",fontWeight:600},children:j.messageCount}),i.jsx("div",{style:{width:100,height:8,background:"var(--border)",borderRadius:4,marginLeft:8},children:i.jsx("div",{style:{width:`${Q}%`,height:"100%",background:"var(--accent-blue)",borderRadius:4}})})]},z)})})]}),i.jsxs("div",{className:"hub-card",style:{marginTop:12},children:[i.jsx("div",{className:"hub-card-top",children:i.jsx("div",{className:"hub-card-title",children:i.jsx("span",{className:"hub-card-name",children:"🕐 Peak Hours"})})}),i.jsx("div",{style:{display:"flex",alignItems:"flex-end",height:80,marginTop:8,gap:2},children:n.conversations.analytics.hourlyDistribution.map(({hour:j,count:z})=>{const W=Math.max(...n.conversations.analytics.hourlyDistribution.map(ne=>ne.count),1),Q=Math.round(z/W*70);return i.jsx("div",{style:{flex:1,display:"flex",flexDirection:"column",alignItems:"center"},children:i.jsx("div",{style:{width:"100%",height:Q,background:j>=9&&j<=21?"var(--accent-blue)":"var(--text-muted)",borderRadius:2},title:`${j}:00 — ${z} messages`})},j)})}),i.jsx("div",{style:{display:"flex",fontSize:10,color:"var(--muted)",marginTop:4},children:[0,6,12,18,23].map(j=>i.jsxs("span",{style:{flex:1,textAlign:j===0?"left":j===23?"right":"center"},children:[j,":00"]},j))})]}),i.jsxs("div",{className:"hub-card",style:{marginTop:12},children:[i.jsx("div",{className:"hub-card-top",children:i.jsx("div",{className:"hub-card-title",children:i.jsx("span",{className:"hub-card-name",children:"📱 Platform Breakdown"})})}),i.jsx("div",{style:{marginTop:8},children:n.conversations.analytics.platformBreakdown.map(j=>i.jsxs("div",{style:{display:"flex",alignItems:"center",marginBottom:6,fontSize:13},children:[i.jsx("span",{className:"hub-chip",style:{width:80,textAlign:"center"},children:j.platform}),i.jsxs("span",{style:{marginLeft:8,flex:1},children:[j.conversations," conversations"]}),i.jsxs("span",{style:{fontWeight:600},children:[j.messages," msgs"]})]},j.platform))})]}),i.jsxs("div",{className:"hub-card",style:{marginTop:12},children:[i.jsx("div",{className:"hub-card-top",children:i.jsx("div",{className:"hub-card-title",children:i.jsx("span",{className:"hub-card-name",children:"📈 Daily Volume (14 days)"})})}),i.jsx("div",{style:{display:"flex",alignItems:"flex-end",height:60,marginTop:8,gap:2},children:n.conversations.analytics.dailyVolume.map(({date:j,count:z})=>{const W=Math.max(...n.conversations.analytics.dailyVolume.map(ne=>ne.count),1),Q=Math.round(z/W*50);return i.jsx("div",{style:{flex:1,display:"flex",flexDirection:"column",alignItems:"center"},children:i.jsx("div",{style:{width:"100%",height:Q,background:"var(--accent-green)",borderRadius:2},title:`${j}: ${z} messages`})},j)})}),i.jsxs("div",{style:{display:"flex",justifyContent:"space-between",fontSize:10,color:"var(--muted)",marginTop:4},children:[i.jsx("span",{children:(Zr=n.conversations.analytics.dailyVolume[0])==null?void 0:Zr.date}),i.jsx("span",{children:(Vl=n.conversations.analytics.dailyVolume[n.conversations.analytics.dailyVolume.length-1])==null?void 0:Vl.date})]})]})]}):null]}),i.jsx("h2",{className:"section-subtitle",children:"💬 Per-contact chat history"}),i.jsx("p",{className:"admin-hint",children:"Conversation history is stored per-contact and survives gateway restarts. Messages older than 7 days are auto-pruned. Click a conversation to expand the full chat thread."}),on.length>0||$t?i.jsxs(i.Fragment,{children:[$n.length>0&&i.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:4,marginBottom:8},children:[i.jsx("span",{className:"admin-hint",style:{marginRight:4},children:"Filter by tag:"}),$n.map(j=>i.jsxs("button",{type:"button",onClick:()=>sn(It===j?"":j),style:{padding:"2px 10px",borderRadius:12,fontSize:11,cursor:"pointer",border:`1px solid ${It===j?"var(--accent-blue)":"var(--border)"}`,background:It===j?"color-mix(in srgb, var(--accent-blue) 13%, transparent)":"transparent",color:It===j?"var(--accent-blue)":"var(--muted)"},children:["🏷️ ",j]},j))]}),i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:12,flexWrap:"wrap"},children:[i.jsx("input",{type:"text",value:Fe,onChange:j=>it(j.target.value),placeholder:"🔍 Search by contact name, phone number, or message content…",style:{flex:1,minWidth:200}}),i.jsxs("span",{className:"admin-hint",children:[va," conversation",va===1?"":"s",Fe?` matching "${Fe}"`:""]}),i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:Qe,style:{fontSize:12,padding:"4px 10px"},children:Me.size===on.length?"☑ Deselect All":"☐ Select All"}),Me.size>0&&i.jsx("button",{type:"button",className:"admin-refresh-btn",disabled:Ie,onClick:()=>void Ks(),style:{fontSize:12,padding:"4px 10px",background:"var(--accent-blue)",color:"var(--text-on-accent)",border:"none"},children:Ie?"⏳ Exporting…":`📦 Export ${Me.size} as ZIP`})]}),i.jsxs("div",{className:"hub-session-list",children:[on.filter(j=>!It||(j.tags??[]).includes(It)).map(j=>{const z=Date.now()-j.lastActiveAt,W=z<6e4?"just now":z<36e5?`${Math.round(z/6e4)}m ago`:z<864e5?`${Math.round(z/36e5)}h ago`:`${Math.round(z/864e5)}d ago`,Q=_e===j.key,{name:ne,phone:he}=zl(j),Ne=async be=>{if(be.stopPropagation(),!h||!Nt){H({kind:"err",text:"🔐 Log in (admin/operator) to clear conversations."});return}q(j.key);try{await K.clearGatewayConversation(j.key),ut()}catch{}q(null)},Ze=Me.has(j.key);return i.jsxs("div",{className:"hub-card",style:{cursor:"pointer",borderLeft:`3px solid ${j.platform==="whatsapp"?"#25d366":j.platform==="telegram"?"#0088cc":"var(--text-muted)"}`,opacity:Me.size>0&&!Ze?.5:1,transition:"opacity 0.2s"},onClick:()=>pt(Q?null:j.key),children:[i.jsxs("div",{className:"hub-card-top",children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[i.jsx("input",{type:"checkbox",checked:Ze,onClick:be=>Yr(j.key,be),onChange:()=>{},style:{cursor:"pointer",width:16,height:16}}),i.jsxs("div",{className:"hub-card-title",children:[i.jsxs("span",{className:"hub-card-name",children:[j.platform==="whatsapp"?"📱":j.platform==="telegram"?"✈️":"💬"," ",ne]}),i.jsxs("span",{className:"hub-card-id",children:[he&&i.jsx("span",{style:{color:"var(--text-secondary, var(--text-secondary))",marginRight:6},children:he}),j.platform," · ",W]})]})]}),i.jsxs("div",{className:"hub-card-actions",style:{gap:6},children:[i.jsxs("span",{className:"hub-chip",children:[j.messageCount," msgs"]}),Q&&j.messages&&j.messages.length>0&&i.jsxs(i.Fragment,{children:[i.jsx("button",{type:"button",className:"hub-mini-btn",onClick:be=>Ya(j,be),title:"Export as text file",children:"📄"}),i.jsx("button",{type:"button",className:"hub-mini-btn",onClick:be=>Vs(j,be),title:"Export as PDF (opens print dialog)",children:"📑"})]}),i.jsx("button",{type:"button",className:"hub-mini-btn",disabled:Xt===j.key,onClick:Ne,title:"Clear conversation history",style:{color:"var(--accent-red)"},children:"🗑️"}),i.jsx("span",{style:{fontSize:18,transition:"transform 0.2s",transform:Q?"rotate(180deg)":"none"},children:"▼"})]})]}),i.jsxs("p",{className:"hub-card-desc",style:{fontStyle:"italic",color:"var(--text-muted, var(--text-muted))"},children:[i.jsx("span",{style:{color:"var(--text-primary, var(--text-primary))",fontWeight:500},children:"Last message:"})," ",j.lastUserMessage.slice(0,120),j.lastUserMessage.length>120?"…":""]}),i.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:4,marginTop:4},children:[(j.tags??[]).map(be=>i.jsxs("span",{style:{display:"inline-flex",alignItems:"center",gap:2,padding:"2px 8px",borderRadius:12,fontSize:11,background:"color-mix(in srgb, var(--accent-blue) 13%, transparent)",color:"var(--accent-blue)",border:"1px solid color-mix(in srgb, var(--accent-blue) 25%, transparent)"},children:["🏷️ ",be,i.jsx("button",{type:"button",onClick:mt=>{mt.stopPropagation(),Hi(j.key,be)},style:{background:"none",border:"none",color:"var(--accent-blue)",cursor:"pointer",padding:0,fontSize:12,lineHeight:1},children:"×"})]},be)),Tt===j.key?i.jsx("span",{style:{display:"inline-flex",alignItems:"center",gap:2},children:i.jsx("input",{type:"text",value:Yn,onChange:be=>Ln(be.target.value),onKeyDown:be=>{be.key==="Enter"&&ba(j.key,Yn),be.key==="Escape"&&(Vn(null),Ln(""))},placeholder:"tag name",autoFocus:!0,onClick:be=>be.stopPropagation(),style:{width:80,padding:"1px 6px",fontSize:11,borderRadius:8,border:"1px solid var(--border)"}})}):i.jsx("button",{type:"button",onClick:be=>{be.stopPropagation(),Vn(j.key),Ln("")},style:{display:"inline-flex",alignItems:"center",gap:2,padding:"2px 8px",borderRadius:12,fontSize:11,background:"var(--border)",color:"var(--muted)",border:"none",cursor:"pointer"},children:"+ tag"})]}),Q&&j.messages&&j.messages.length>0?i.jsxs("div",{className:"conversation-thread",style:{marginTop:10,borderTop:"1px solid var(--border)",paddingTop:10,maxHeight:400,overflowY:"auto"},children:[j.messages.map((be,mt)=>i.jsxs("div",{style:{marginBottom:8,display:"flex",flexDirection:"column",alignItems:be.role==="user"?"flex-end":"flex-start"},children:[i.jsxs("div",{style:{maxWidth:"80%",padding:"8px 12px",borderRadius:12,backgroundColor:be.role==="user"?"var(--accent-blue)":"var(--bg-card, var(--bg-card))",color:be.role==="user"?"var(--text-on-accent)":"var(--text-primary, var(--text-primary))",fontSize:13,lineHeight:1.5,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:[be.content.slice(0,500),be.content.length>500?"…":""]}),i.jsxs("span",{style:{fontSize:10,color:"var(--muted)",marginTop:2,padding:"0 4px"},children:[be.role==="user"?"👤":"🤖"," ",new Date(be.ts).toLocaleString()]})]},mt)),de.has(j.key)&&i.jsxs("div",{style:{marginBottom:8,display:"flex",flexDirection:"column",alignItems:"flex-start"},children:[i.jsxs("div",{style:{padding:"8px 16px",borderRadius:12,backgroundColor:"var(--bg-card, var(--bg-card))",fontSize:13,display:"flex",alignItems:"center",gap:4},children:[i.jsx("span",{style:{animation:"typingBlink 1.4s infinite ease-in-out"},children:"●"}),i.jsx("span",{style:{animation:"typingBlink 1.4s infinite ease-in-out 0.2s"},children:"●"}),i.jsx("span",{style:{animation:"typingBlink 1.4s infinite ease-in-out 0.4s"},children:"●"})]}),i.jsx("span",{style:{fontSize:10,color:"var(--muted)",marginTop:2,padding:"0 4px"},children:"🤖 typing…"})]})]}):Q?i.jsx("p",{className:"admin-hint",style:{marginTop:8},children:"No message details available."}):null]},j.key)}),Ut&&!$t&&i.jsx("div",{ref:Va,style:{height:1}}),$t&&i.jsxs("div",{className:"loading-state",style:{padding:12},children:[i.jsx("div",{className:"loading-spinner"}),i.jsx("span",{className:"admin-hint",style:{marginLeft:8},children:"Loading more conversations…"})]}),!$t&&!Ut&&on.length>0&&i.jsxs("p",{className:"admin-hint",style:{textAlign:"center",padding:12},children:["All ",va," conversation",va===1?"":"s"," loaded."]})]})]}):$t?i.jsxs("div",{className:"loading-state",children:[i.jsx("div",{className:"loading-spinner"}),i.jsx("p",{className:"admin-hint",children:"Loading conversations…"})]}):i.jsx("div",{className:"empty-state",children:"No conversations stored yet. Conversations are created when users message the agent via WhatsApp/Telegram/etc."})]}):null,e==="artifacts"&&n?i.jsxs("div",{role:"tabpanel",children:[i.jsxs("div",{className:"admin-summary-grid",children:[i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.artifacts.totalSessions}),i.jsx("div",{className:"admin-summary-label",children:"Sessions"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.artifacts.totalArtifacts}),i.jsx("div",{className:"admin-summary-label",children:"Artifacts"})]})]}),n.artifacts.sessions.length>0?i.jsx("div",{className:"hub-session-list",children:n.artifacts.sessions.map(j=>i.jsxs("div",{className:"hub-card",children:[i.jsx("div",{className:"hub-card-top",children:i.jsxs("div",{className:"hub-card-title",children:[i.jsx("span",{className:"hub-card-name",children:j.sessionId}),i.jsxs("span",{className:"hub-card-id",children:[j.count," artifact",j.count===1?"":"s"," · ",new Date(j.latestAt).toLocaleString()]})]})}),j.recent.length>0?i.jsx("ul",{className:"hub-artifact-list",children:j.recent.map((z,W)=>i.jsxs("li",{children:[i.jsx("span",{className:"hub-chip",children:z.kind}),i.jsx("span",{className:"hub-artifact-title",children:z.title||"(untitled)"}),z.preview?i.jsx("div",{className:"hub-artifact-preview",children:z.preview}):null]},W))}):i.jsx("div",{className:"admin-hint",children:"No artifact details."})]},j.sessionId))}):i.jsx("div",{className:"empty-state",children:"No artifacts yet — tools that return a deliverable payload land here per session."})]}):null,e==="skills"&&n?i.jsxs("div",{role:"tabpanel",children:[i.jsxs("div",{className:"admin-summary-grid",children:[i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.skills.enabled}),i.jsx("div",{className:"admin-summary-label",children:"Enabled skills"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.skills.disabled}),i.jsx("div",{className:"admin-summary-label",children:"Disabled skills"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:n.skills.hub.length}),i.jsx("div",{className:"admin-summary-label",children:"Hub skills (SKILL.md)"})]})]}),i.jsx("h2",{className:"section-subtitle",children:"📚 Compiled skills (SkillStore — matched at plan time)"}),n.skills.compiled.length>0?i.jsx("div",{className:"hub-session-list",children:n.skills.compiled.map(j=>i.jsxs("div",{className:`hub-card${j.enabled?"":" hub-card-disabled"}`,children:[i.jsxs("div",{className:"hub-card-top",children:[i.jsxs("div",{className:"hub-card-title",children:[i.jsx("span",{className:"hub-card-name",children:j.name}),i.jsxs("span",{className:"hub-card-id",children:[j.id,j.version?` · v${j.version}`:""]})]}),i.jsxs("div",{className:"hub-card-actions",children:[j.bundled===!0?i.jsx("span",{className:"hub-chip hub-chip-bundled",children:"🧠 bundled"}):i.jsx("span",{className:"hub-chip",children:"community"}),i.jsx("button",{role:"switch","aria-checked":j.enabled,"aria-label":`${j.enabled?"Disable":"Enable"} ${j.name}`,className:`hub-switch${j.enabled?" on":""}`,disabled:D===j.id||P!==null||h&&!Nt,onClick:()=>md(j.id,!j.enabled),children:i.jsx("span",{className:"hub-switch-knob"})})]})]}),i.jsx("p",{className:"hub-card-desc",children:j.description}),i.jsxs("div",{className:"hub-card-tools",children:[typeof j.usageCount=="number"?i.jsxs("span",{className:"hub-chip",children:[j.usageCount," uses"]}):null,j.enabled?null:i.jsx("span",{className:"hub-chip",children:"disabled"})]}),M[j.id]?i.jsx("div",{className:"admin-row-msg",children:M[j.id]}):null,j.enabled?null:i.jsx("div",{className:"hub-card-note",children:"⛔ Excluded from skill matching — not injected into the planner"})]},`c-${j.id}`))}):i.jsx("div",{className:"empty-state",children:"No compiled skills."}),i.jsx("h2",{className:"section-subtitle",children:"🌍 Hub skills (installed SKILL.md)"}),n.skills.hub.length>0?i.jsx("div",{className:"hub-session-list",children:n.skills.hub.map(j=>i.jsxs("div",{className:`hub-card${j.enabled?"":" hub-card-disabled"}`,children:[i.jsxs("div",{className:"hub-card-top",children:[i.jsxs("div",{className:"hub-card-title",children:[i.jsx("span",{className:"hub-card-name",children:j.name}),i.jsx("span",{className:"hub-card-id",children:j.id})]}),i.jsxs("div",{className:"hub-card-actions",children:[i.jsx("button",{type:"button",className:"hub-mini-btn",disabled:te===j.id||h&&!Nt,onClick:()=>void Pm(j.id),children:"🗑 Uninstall"}),i.jsx("button",{role:"switch","aria-checked":j.enabled,"aria-label":`${j.enabled?"Disable":"Enable"} ${j.name}`,className:`hub-switch${j.enabled?" on":""}`,disabled:D===j.id||P!==null||h&&!Nt,onClick:()=>md(j.id,!j.enabled),children:i.jsx("span",{className:"hub-switch-knob"})})]})]}),i.jsx("p",{className:"hub-card-desc",children:j.description}),i.jsxs("div",{className:"hub-card-tools",children:[i.jsx("span",{className:"hub-chip",children:"SKILL.md"}),j.enabled?null:i.jsx("span",{className:"hub-chip",children:"disabled"})]}),M[j.id]?i.jsx("div",{className:"admin-row-msg",children:M[j.id]}):null,j.enabled?null:i.jsx("div",{className:"hub-card-note",children:"⛔ Excluded from skill matching — not injected into the planner"})]},`h-${j.id}`))}):i.jsxs("div",{className:"empty-state",children:["No hub skills installed — search the marketplace below or run ",i.jsx("code",{children:"nuvira skills install <name>"}),"."]}),i.jsx("h2",{className:"section-subtitle",children:"🛒 Marketplace (community skills)"}),i.jsxs("form",{className:"hub-market-search",onSubmit:Zs,children:[i.jsx("input",{type:"text",value:Xr,onChange:j=>Gi(j.target.value),placeholder:"Search community skills (e.g. code-assist, deploy, testing)…"}),i.jsx("button",{type:"submit",className:"admin-refresh-btn",disabled:_n,children:_n?"Searching…":"🔎 Search"})]}),xa?i.jsx("div",{className:`admin-row-msg${xa.kind==="err"?" admin-row-msg-err":""}`,children:xa.text}):null,Ki&&!_n?qi.length>0?i.jsx("div",{className:"hub-session-list",children:qi.map(j=>i.jsxs("div",{className:"hub-card",children:[i.jsxs("div",{className:"hub-card-top",children:[i.jsxs("div",{className:"hub-card-title",children:[i.jsx("span",{className:"hub-card-name",children:j.name}),i.jsxs("span",{className:"hub-card-id",children:["v",j.version," · ",j.sourceKind]})]}),i.jsx("button",{type:"button",className:"admin-refresh-btn",disabled:te===j.name||h&&!Nt,onClick:()=>void hd(j.name),children:te===j.name?"Installing…":"⬇ Install"})]}),i.jsx("p",{className:"hub-card-desc",children:j.description}),i.jsxs("div",{className:"hub-card-tools",children:[i.jsx("span",{className:"hub-chip",children:j.author}),j.tags.slice(0,3).map(z=>i.jsx("span",{className:"hub-chip",children:z},z))]})]},`m-${j.name}`))}):i.jsxs("div",{className:"empty-state",children:['No skills match "',Xr,'" — try a broader term, or add a registry to ',i.jsx("code",{children:"skills.registries"})," in config."]}):null]}):null,e==="subagents"&&n?i.jsxs("div",{role:"tabpanel",children:[i.jsxs("div",{className:"admin-summary-grid",children:[i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:((kd=n.subagents)==null?void 0:kd.total)??0}),i.jsx("div",{className:"admin-summary-label",children:"Runs recorded"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:((Sd=n.subagents)==null?void 0:Sd.running)??0}),i.jsx("div",{className:"admin-summary-label",children:"Running now"})]}),i.jsxs("div",{className:"admin-summary-card",children:[i.jsx("div",{className:"admin-summary-value",children:((jd=n.subagents)==null?void 0:jd.failed)??0}),i.jsx("div",{className:"admin-summary-label",children:"Failed"})]})]}),i.jsxs("p",{className:"admin-hint",children:["Each run is a separate child process. A transport of ",i.jsx("code",{children:"json"})," means the provider has no native tool protocol and the shared JSON fallback carried the tool calls; a refusal code means the run stopped deliberately instead of returning an answer."]}),(((Yl=n.subagents)==null?void 0:Yl.recent)??[]).length>0?i.jsx("div",{className:"hub-session-list",children:(((Xl=n.subagents)==null?void 0:Xl.recent)??[]).map(j=>i.jsxs("div",{className:"hub-card",children:[i.jsxs("div",{className:"hub-card-top",children:[i.jsxs("div",{className:"hub-card-title",children:[i.jsx("span",{className:"hub-card-name",children:j.goal||"(no goal recorded)"}),i.jsxs("span",{className:"hub-card-id",children:[j.id.slice(0,8),j.startedAt?` · ${new Date(j.startedAt).toLocaleString()}`:""]})]}),i.jsx("div",{className:"hub-card-actions",children:i.jsx("span",{className:"hub-chip",children:wle[j.status]??j.status})})]}),i.jsxs("div",{className:"hub-card-tools",children:[i.jsxs("span",{className:"hub-chip",children:["🔌 ",j.provider??"provider unknown",j.model?` · ${j.model}`:""]}),i.jsxs("span",{className:"hub-chip",children:["🛠 ",j.transport??"transport unknown"," transport"]}),i.jsxs("span",{className:"hub-chip",children:[j.llmCalls," model call",j.llmCalls===1?"":"s"]}),i.jsxs("span",{className:"hub-chip",children:[j.toolCalls," tool call",j.toolCalls===1?"":"s"]}),typeof j.durationMs=="number"?i.jsxs("span",{className:"hub-chip",children:[(j.durationMs/1e3).toFixed(1),"s"]}):null]}),j.refusalCode?i.jsxs("div",{className:"hub-card-note",children:["⛔ Refused before answering — code ",i.jsx("code",{children:j.refusalCode})]}):null,j.error?i.jsx("div",{className:"admin-row-msg admin-row-msg-err",children:j.error}):null,j.resultPreview?i.jsx("div",{className:"hub-artifact-preview",children:j.resultPreview}):null]},j.id))}):i.jsxs("div",{className:"empty-state",children:["No subagent runs recorded yet — a run shows up here once the agent spawns one (the ",i.jsx("code",{children:"subagent"})," tool), and only if it actually started."]})]}):null]})}const Nle=298,Ele=58,_le=[{name:"admin",description:"Admin governance policy for Auto routing (P6 M6.5) — allow/deny providers & models, hard cost cap, PII privacy, unblock control",commands:[{name:"admin policy",description:"Show the current governance policy + enforcement status",flags:["--json"]},{name:"admin allow",description:"Add providers to the allow-list (empty = all providers allowed)",flags:[]},{name:"admin deny",description:"Add providers to the deny-list (wins over the allow-list)",flags:[]},{name:"admin allow-model",description:"Add models to the allow-list — a provider survives only if one of its candidate models is listed",flags:[]},{name:"admin deny-model",description:"Add models to the deny-list (wins over the allow-list)",flags:[]},{name:"admin max-cost",description:"Set the admin hard max cost per call (USD); joins routing.maxCostUsd (stricter wins)",flags:[]},{name:"admin pii-min",description:"Set the minimum privacy score (0-1) required when a task matches a PII pattern (default 1.0 = local-only)",flags:[]},{name:"admin unblock",description:"Control whether `nuvira models unblock` may override REGISTRY-learned blocks (false = admin-hard)",flags:[]},{name:"admin clear",description:"Remove one governance rule (the policy becomes permissive on that field)",flags:[]},{name:"admin role",description:"Manage RBAC roles over the admin surface (P6 M6.1 — requires admin role)",flags:[]},{name:"admin role add",description:"Assign a role to a user (first assignment exits legacy single-user mode)",flags:[]},{name:"admin role remove",description:"Remove a user's role assignment (if none remain, legacy permissive mode resumes)",flags:[]},{name:"admin role list",description:"List all role assignments",flags:[]},{name:"admin whoami",description:"Show the current identity and its effective RBAC permissions",flags:[]},{name:"admin cron",description:"Scheduled tool invocations (J2 — cron/jobs.py)",flags:[]},{name:"admin cron add",description:'Add a cron job: nuvira admin cron add nightly-build "0 3 * * *" build',flags:["--args <args>","--channel <channel>","--dry-run"]},{name:"admin cron list",description:"List cron jobs with schedule + next run",flags:[]},{name:"admin cron remove",description:"Remove a cron job",flags:[]},{name:"admin cron run",description:"Run a cron job NOW (invoke its tool immediately)",flags:[]}]},{name:"chat",description:"Start an interactive chat session with AI",commands:[]},{name:"edit",description:"Edit a file using AI assistance",commands:[]},{name:"plan",description:"Generate an implementation plan for a codebase task",commands:[]},{name:"config",description:"Manage Nuvira configuration",commands:[{name:"config set",description:"Set a configuration value",flags:[]},{name:"config get",description:"Get a configuration value",flags:[]},{name:"config list",description:"List all providers and their status",flags:[]},{name:"config init",description:"Initialize configuration interactively",flags:[]},{name:"config vault",description:"Secret vault management (Phase A1)",flags:[]},{name:"config vault status",description:"Show the active vault tier and migration state",flags:[]},{name:"config vault log",description:"Show recent vault access-log entries (K3 tamper-evident audit)",flags:["--limit <limit>"]},{name:"config vault migrate-keys",description:"Move plaintext provider API keys from buffconfig.json into the vault",flags:[]},{name:"config gateway",description:"Manage gateway platform transports (tokens written to ~/.nuvira/.env)",flags:[]},{name:"config gateway list",description:"Show every platform transport and its env-var status",flags:[]},{name:"config gateway set",description:"Configure a platform transport (interactive wizard, or --set VAR=value)",flags:["--set <set>"]},{name:"config gateway remove",description:"Remove a platform transport from the env file",flags:["--yes"]},{name:"config gateway allow",description:"Allow a user/group to trigger the agent on a platform (written to gateway.policies in config)",flags:[]},{name:"config gateway disallow",description:"Remove a user/group from the allowed list of a platform",flags:[]},{name:"config gateway reply",description:"Set how unapproved senders are handled on a platform: polite (⛔ message) or silent (no reply)",flags:[]},{name:"config gateway send-authority",description:"Manage who may command the agent to send to OTHER people (gateway_send). Outbound-only gate — separate from `allow` (who may trigger).",flags:[]},{name:"config gateway notify",description:"Manage status recipients — contacts/groups that ALWAYS get pipeline completion summaries",flags:[]},{name:"config gateway ask-user-wait",description:"Ask-and-wait for clarifying questions on messaging channels: when a turn asks the sender a question, hold it for their reply instead of assuming option 1",flags:[]},{name:"config service",description:"Manage third-party service keys (image/video/search/vision/speech) in ~/.nuvira/.env",flags:[]},{name:"config service list",description:"Show every service backend and its env-var status",flags:[]},{name:"config service set",description:"Set a service key: config service set <serviceId> <ENV_VAR> <value> (or --set VAR=value)",flags:["--set <set>"]},{name:"config service unset",description:"Remove a service key (all vars, or one with [varName]) from the env file",flags:["--yes"]},{name:"config limit",description:"Show or change the size limits for document extraction and attachments",flags:[]},{name:"config limit list",description:"Show the effective extraction and attachment limits",flags:[]},{name:"config limit set",description:"Set a limit: config limit set <extract-max-chars|attachment-max-kb> <value>",flags:[]},{name:"config limit unset",description:"Restore a limit to its default",flags:[]},{name:"config capability",description:"Show or change the capability mode (balanced | max)",flags:[]},{name:"config capability show",description:"Show the effective capability mode",flags:[]},{name:"config capability set",description:"Set the capability mode: config capability set <balanced|max>",flags:[]},{name:"config capability unset",description:"Restore the default capability mode (balanced)",flags:[]},{name:"config catalog-feed",description:"Show or change the OpenRouter catalogue feed (cost/ecosystem priors only)",flags:[]},{name:"config catalog-feed show",description:"Show whether the catalogue feed is on, and how old its snapshot is",flags:[]},{name:"config catalog-feed set",description:"Enable or disable: config catalog-feed set <on|off>",flags:[]},{name:"config catalog-feed unset",description:"Remove the setting, restoring the default (off)",flags:[]},{name:"config catalog-feed refresh",description:"Fetch a fresh catalogue snapshot now (never runs during a turn)",flags:[]}]},{name:"cache",description:"Manage inference cache",commands:[{name:"cache stats",description:"Show cache statistics",flags:[]},{name:"cache clear",description:"Clear cached responses — all of them, or one workspace (project folder)",flags:["--unscoped"]}]},{name:"models",description:"List available models from inference providers",commands:[{name:"models refresh",description:"Probe providers and spot-check models, updating the Model Availability Registry",flags:["--json","--no-spot-check"]},{name:"models status",description:"Show the Model Availability Registry (verified / unavailable / quota-parked models)",flags:["--json","--verbose"]},{name:"models unblock",description:"Manually release a registry-blocked provider (escape hatch) and re-probe it against the live API",flags:["--json","--no-spot-check"]},{name:"models warm",description:"Run one warmup cycle now: keep hot models warm, verify new ones, refresh the stale pool",flags:["--json"]},{name:"models excluded",description:"Show which providers routing is currently skipping, and why (failure cooldowns, registry blocks, governance policy)",flags:["--json"]},{name:"models staleness",description:"Show model staleness: last probe time, days since verification, and removal risk",flags:["--json"]},{name:"models watch",description:"Run the model-registry maintenance daemon: probe + spot-check on a schedule",flags:["--interval <interval>","--no-spot-check"]}]},{name:"execute",description:"Run a multi-agent pipeline to accomplish a goal",commands:[]},{name:"run",description:"Execute a shell command and show output (lightweight alternative to the full pipeline)",commands:[]},{name:"workflow",description:"Run, manage, and share workflow templates",commands:[{name:"workflow list",description:"Show available workflow templates (built-in + installed)",flags:[]},{name:"workflow run",description:"Run a workflow template",flags:["--dry-run","--model <model>","--provider <provider>","--verbose"]},{name:"workflow search",description:"Search the GitHub workflow template registry",flags:["--refresh"]},{name:"workflow install",description:"Install a workflow template from the GitHub registry",flags:[]},{name:"workflow publish",description:"Prepare a local workflow template for publishing to the registry",flags:[]},{name:"workflow info",description:"Show detailed information about a registry template",flags:[]},{name:"workflow upgrade",description:"Check for and apply template upgrades from the registry",flags:[]}]},{name:"whatsapp",description:"WhatsApp bridge (Baileys) — pair a personal number via QR and check status (I8)",commands:[{name:"whatsapp pair",description:"Pair WhatsApp (personal number — no Meta Business account, no paid API)",flags:["--phone <phone>","--timeout <timeout>"]},{name:"whatsapp status",description:"Show bridge session path + pairing state",flags:[]},{name:"whatsapp contacts",description:"List resolvable contacts (mapping file + learned) — connects briefly to learn names from live traffic",flags:["--timeout <timeout>"]},{name:"whatsapp contact",description:'Manage the WhatsApp contact-name mapping (send by name: nuvira gateway send whatsapp:<Name> "message")',flags:[]},{name:"whatsapp contact add",description:"Map a display name to a number (E.164, no +): nuvira whatsapp contact add Name 919876543210",flags:[]},{name:"whatsapp contact remove",description:"Remove a mapped contact name",flags:[]}]},{name:"plugins",description:"Manage provider plugins, agent plugins, and workflow templates",commands:[{name:"plugins list",description:"List all discovered plugins and workflows",flags:[]},{name:"plugins scan",description:"Force re-scan all plugin directories",flags:[]}]},{name:"learn",description:"Self-improvement system — agent stats, patterns, and optimization",commands:[{name:"learn stats",description:"Show per-agent performance statistics",flags:[]},{name:"learn patterns",description:"Show extracted coding patterns",flags:["--extract","--model <model>","--provider <provider>"]},{name:"learn lessons",description:"Show failure lessons — what past runs learned from mistakes",flags:["--extract","--model <model>","--provider <provider>"]},{name:"learn optimize",description:"Generate optimized model-to-agent routing recommendations",flags:[]},{name:"learn status",description:"Show overall self-improvement status",flags:[]},{name:"learn clear",description:"Reset all learning data (stats, patterns, memory)",flags:["--force"]},{name:"learn compare",description:"Compare benchmark results between two models",flags:["--all","--last"]},{name:"learn feedback",description:"Rate a trajectory or view feedback statistics",flags:["--comment <comment>","--rating <rating>","--stats","--trajectory <trajectory>"]},{name:"learn quality",description:"Show pattern quality and decay metrics",flags:["--details"]},{name:"learn gc",description:"Garbage-collect low-quality patterns",flags:["--dry-run"]}]},{name:"init",description:"Scaffold a new project from a template",commands:[]},{name:"stats",description:"View usage statistics and cost tracking",commands:[{name:"stats cost",description:"Show API cost tracking details",flags:["--clear"]},{name:"stats cost reconcile",description:"Compare this ledger to a provider's OWN invoice for a window (the only 'actual' figure)",flags:["--amount <amount>","--days <days>","--declare-tier [declare_tier]","--json","--note <note>","--provider <provider>","--since <since>","--until <until>"]},{name:"stats cost reprice",description:"Re-price legacy ledger rows with the ONE price source; drop test rows (dry run by default)",flags:["--apply","--file <file>","--json","--keep-test-rows"]},{name:"stats history",description:"Show conversation history statistics",flags:[]}]},{name:"history",description:"Browse and search conversation history",commands:[{name:"history list",description:"Show all saved conversations",flags:["--limit <limit>"]},{name:"history search",description:"Search conversations by keyword or semantic similarity",flags:["--limit <limit>","--semantic"]},{name:"history show",description:"Show a specific conversation",flags:[]},{name:"history clear",description:"Clear all conversation history",flags:[]},{name:"history prune",description:"Remove conversations older than the retention period",flags:["--days <days>"]},{name:"history reindex",description:"Rebuild the semantic search index for all past conversations (embeds each session for vector search)",flags:[]}]},{name:"skill",description:"Manage and run compiled skills — reusable execution plans derived from past trajectories",commands:[{name:"skill list",description:"List all compiled skills",flags:["--quality <quality>"]},{name:"skill show",description:"Show detailed skill definition",flags:[]},{name:"skill run",description:"Run a skill — resolves parameters and invokes the multi-agent pipeline",flags:["--auto-route","--dry-run","--memory","--model <model>","--params <params>","--provider <provider>","--verbose"]},{name:"skill compile",description:"Force skill compilation from stored trajectories",flags:["--model <model>","--provider <provider>"]},{name:"skill search",description:"Search skills by name, tag, or description",flags:[]},{name:"skill gc",description:"Garbage-collect low-quality skills",flags:["--dry-run"]},{name:"skill quality",description:"Show skill quality and decay metrics",flags:["--details"]},{name:"skill clear",description:"Remove all compiled skills",flags:["--force"]}]},{name:"skills",description:"Skills hub — search, install, update, and audit community skills (J3)",commands:[{name:"skills search",description:"Search all configured skill registries (I7 P1 multi-source)",flags:["--refresh","--source <source>"]},{name:"skills install",description:"Install a skill from the configured registries into <project>/.agents/skills/ (sandboxed, checksummed)",flags:["--project <project>","--source <source>"]},{name:"skills uninstall",description:"Uninstall a skill: removes .agents/skills/<name> and its provenance record",flags:["--project <project>"]},{name:"skills update",description:"Update installed skills to newer registry versions (checksum-verified)",flags:["--project <project>"]},{name:"skills bundle",description:"P6b — skill bundles: group skills under one id and load them together (Hermes parity)",flags:["--create","--delete","--description <description>","--name <name>","--skills <skills>"]},{name:"skills list",description:"List installed skills with provenance (origin: registry vs local)",flags:["--origin <origin>","--project <project>"]}]},{name:"gateway",description:"Multi-channel gateway — talk to the agent from Telegram/Discord/Slack/WhatsApp/Email/Signal (J1)",commands:[{name:"gateway status",description:"Show configured adapters and reachable channels",flags:[]},{name:"gateway send",description:"Send a message to a channel alias or platform:channelId",flags:[]},{name:"gateway send-media",description:"Send a media file (image/video/audio/document) — type from the file extension; WhatsApp/Telegram/Discord",flags:["--caption <caption>"]},{name:"gateway alias",description:"Manage channel aliases",flags:[]},{name:"gateway alias add",description:"Register an alias: nuvira gateway alias add ops slack C0123",flags:[]},{name:"gateway alias remove",description:"Remove an alias",flags:[]},{name:"gateway contact",description:"Manage contacts for outbound messaging (name → platform:id resolution)",flags:[]},{name:"gateway contact list",description:"List all contacts with status, platform, and ID",flags:["--pending","--platform <platform>"]},{name:"gateway contact approve",description:"Approve a contact for outbound messaging",flags:["--platform <platform>"]},{name:"gateway contact reject",description:"Reject a contact (block outbound messages)",flags:["--platform <platform>"]},{name:"gateway contact delete",description:"Delete a contact permanently",flags:["--platform <platform>"]},{name:"gateway contact add",description:"Manually add a contact (e.g. nuvira gateway contact add Anuj telegram 616825477)",flags:["--phone <phone>"]},{name:"gateway delivery",description:"Show the delivery ledger (failed sends awaiting retry) and optionally drain it",flags:["--flush"]},{name:"gateway logs",description:"Show the structured gateway log (send failures, refused senders, pipeline outcomes)",flags:["--event <event>","--limit <limit>","--path"]},{name:"gateway history",description:"Manage per-contact conversation history (gateway chat memory)",flags:[]},{name:"gateway history list",description:"List all stored conversations with last message preview",flags:["--platform <platform>"]},{name:"gateway history show",description:"Show conversation history for a contact (e.g. nuvira gateway history show whatsapp:918800663237)",flags:["--limit <limit>"]},{name:"gateway history clear",description:"Clear conversation history for a contact",flags:[]},{name:"gateway history prune",description:"Remove conversations older than 7 days",flags:[]},{name:"gateway start",description:"Run all configured adapters in the foreground (Ctrl-C to stop; --supervise auto-restarts on crash)",flags:["--host <host>","--no-events","--port <port>","--supervise"]},{name:"gateway stop",description:"Stop a running gateway gracefully (SIGTERM — from any terminal)",flags:["--port <port>"]},{name:"gateway setup",description:"Interactive setup wizard for a messaging platform (e.g. nuvira gateway setup telegram)",flags:[]}]},{name:"omniroute",description:"Start / stop / inspect the external OmniRoute AI gateway (default port 20128)",commands:[{name:"omniroute status",description:"Probe the OmniRoute gateway and report whether it is reachable",flags:[]},{name:"omniroute start",description:"Start the OmniRoute gateway in the background and wait for it to answer",flags:[]},{name:"omniroute stop",description:"Stop the running OmniRoute gateway",flags:[]}]},{name:"model",description:"Manage inference providers and models — switch, list, inspect, and recommend",commands:[{name:"model list",description:"List all providers and their configuration status",flags:["--all","--json"]},{name:"model switch",description:"Switch active provider/model (interactive or via argument). Use `auto` for smart routing",flags:["--model <model>","--provider <provider>"]},{name:"model info",description:"Show current active provider and model configuration",flags:["--verbose"]},{name:"model recommend",description:"Show model routing recommendations",flags:[]},{name:"model explain",description:"Explain Auto model routing — why a provider/model would be picked for a task",flags:["--agent <agent>","--context-tokens <context_tokens>","--exclude-provider <exclude_provider>","--json","--since <since>"]},{name:"model health",description:"Quick health check for the currently active provider",flags:["--provider <provider>","--verbose"]},{name:"model bandit",description:"Show learning-router bandit state (Thompson-sampling priors per provider × complexity bucket). Action: reset",flags:["--json"]},{name:"model ml",description:"Show the ML task-similarity router state (learned outcomes per provider, kNN over task features). Action: reset",flags:["--json"]},{name:"model quota",description:"Show the central quota ledger (tokens/requests per provider × model, reset windows, parked state). Actions: reset | set <provider> | clear <provider>",flags:["--cost-usd <cost_usd>","--json","--requests <requests>","--tokens <tokens>","--window-ms <window_ms>"]}]},{name:"benchmark",description:"Run standardized model benchmarks against coding tasks",commands:[{name:"benchmark run",description:"Run the benchmark suite",flags:["--budget <budget>","--format <format>","--model <model>","--provider <provider>","--routing","--tasks <tasks>"]},{name:"benchmark list",description:"List available benchmark tasks",flags:[]},{name:"benchmark results",description:"Show previous benchmark results",flags:["--compare","--format <format>","--last"]},{name:"benchmark clear",description:"Clear all benchmark data",flags:[]}]},{name:"eval",description:"Run the Agent-Nuvira evaluation framework — measures if the agent is actually improving",commands:[{name:"eval run",description:"Run the evaluation suite",flags:["--budget <budget>","--engine <engine>","--format <format>","--keep-workspaces","--model <model>","--pace","--provider <provider>","--routing","--suite <suite>","--tasks <tasks>"]},{name:"eval parity",description:"Measure the capability gap: run the hard tasks under balanced AND max, then compare",flags:["--engine <engine>","--model <model>","--provider <provider>","--tasks <tasks>"]},{name:"eval verify-seeds",description:"Prove every seeded bug is genuinely broken (and genuinely fixable) — no provider needed",flags:["--tasks <tasks>"]},{name:"eval list",description:"List available eval tasks",flags:[]},{name:"eval results",description:"Show previous eval runs",flags:["--compare","--format <format>","--last"]},{name:"eval score",description:"Show the evaluation scoring rules",flags:[]},{name:"eval clear",description:"Clear all eval data",flags:[]}]},{name:"sandbox",description:"Manage Docker sandbox isolation for code execution",commands:[{name:"sandbox status",description:"Check Docker availability and sandbox status",flags:[]},{name:"sandbox config",description:"Show or update sandbox configuration",flags:["--cpu <cpu>","--disable","--disk <disk>","--enable","--image <image>","--memory <memory>","--network","--timeout <timeout>"]},{name:"sandbox images",description:"List available pre-defined sandbox images",flags:[]},{name:"sandbox run",description:"Run a command inside a new sandbox container",flags:["--cpu <cpu>","--image <image>","--memory <memory>","--network","--project <project>","--timeout <timeout>"]},{name:"sandbox cleanup",description:"Destroy all active sandbox containers",flags:[]}]},{name:"doctor",description:"Run diagnostic checks on all provider configurations and system health",commands:[]},{name:"memory",description:"Manage agent memory store — compression, pruning, and optimization",commands:[{name:"memory stats",description:"Show memory store statistics",flags:[]},{name:"memory optimize",description:"Run automatic memory compression and pruning",flags:["--aggressive","--dry-run"]},{name:"memory prune",description:"Prune old or low-quality trajectories",flags:["--max-age <max_age>","--max-count <max_count>","--min-score <min_score>","--verbose"]},{name:"memory summarize",description:"Summarize old trajectories by merging similar ones",flags:["--retention <retention>","--verbose"]},{name:"memory info",description:"Show detailed compression analysis",flags:[]},{name:"memory backend",description:"Show the active vector-search backend and why it was chosen",flags:["--check"]},{name:"memory list",description:"List all memory entries (facts, preferences, lessons, observations)",flags:["--limit <limit>","--type <type>"]},{name:"memory search",description:"Search memory entries by content",flags:["--limit <limit>","--type <type>"]},{name:"memory add",description:"Add a memory entry",flags:["--tags <tags>","--type <type>"]},{name:"memory delete",description:"Delete a memory entry by ID",flags:[]},{name:"memory export",description:"Export all memories to a JSON file",flags:["--output <output>"]},{name:"memory import",description:"Import memories from a JSON file",flags:["--merge"]},{name:"memory facts",description:"Fact & preference memory (project-scoped, cross-session)",flags:[]},{name:"memory facts list",description:"List facts, optionally for a project (git slug or cwd:<hash>)",flags:["--project <project>"]},{name:"memory facts add",description:"Manually store a fact for the current project",flags:["--project <project>","--tags <tags>"]},{name:"memory facts stats",description:"Show fact-store statistics",flags:[]},{name:"memory clear",description:"Clear all stored trajectories and reset memory",flags:["--force"]}]},{name:"dashboard",description:"Launch the web-based dashboard for visualizing agent execution and system status",commands:[{name:"dashboard stop",description:"Stop a running dashboard gracefully (SIGTERM — from any terminal)",flags:["--port <port>"]}]},{name:"agent",description:"Scaffold and manage custom agent-nuvira agents",commands:[{name:"agent create",description:"Create a new custom agent project from a template",flags:["--agent-name <agent_name>","--description <description>","--dir <dir>"]},{name:"agent list",description:"List all discovered custom agent plugins",flags:[]},{name:"agent info",description:"Show details about a discovered agent plugin",flags:[]}]},{name:"federation",description:"Connect to and manage remote agent instances",commands:[{name:"federation status",description:"Show federation connection status and configuration",flags:[]},{name:"federation start",description:"Start the federation server (listens for incoming connections)",flags:["--auth <auth>","--daemon","--host <host>","--oidc-public-key <oidc_public_key>","--port <port>","--secret <secret>"]},{name:"federation connect",description:"Connect to a remote federation server",flags:["--port <port>","--secret <secret>"]},{name:"federation disconnect",description:"Disconnect from the remote federation server",flags:[]},{name:"federation run",description:"Run a task on the remote federation server",flags:["--agent <agent>","--model <model>","--no-stream","--provider <provider>","--timeout <timeout>"]},{name:"federation health",description:"Check the health of the remote federation server",flags:[]},{name:"federation config",description:"Show or update federation configuration",flags:["--set-port <set_port>","--set-secret <set_secret>","--show"]},{name:"federation a2a",description:"A2A (Agent-to-Agent) protocol — discover and connect to external A2A-compliant agents",flags:[]},{name:"federation a2a discover",description:"Discover an A2A-compliant agent and fetch its AgentCard",flags:[]},{name:"federation a2a start",description:"Start the A2A server (listens for incoming A2A connections)",flags:["--host <host>","--port <port>"]},{name:"federation a2a status",description:"Check the health and status of a remote A2A agent",flags:[]},{name:"federation a2a run",description:"Delegate a task to a remote A2A-compliant agent",flags:["--agent <agent>","--skill <skill>","--timeout <timeout>"]}]},{name:"team",description:"Team collaboration — shared config, git-synced memory, and review workflow",commands:[{name:"team init",description:"Initialize team configuration in the working directory",flags:["--branch <branch>","--repo <repo>"]},{name:"team join",description:"Clone and join an existing team repository",flags:[]},{name:"team sync",description:"Sync team memory with remote (pull latest + push local changes)",flags:[]},{name:"team status",description:"Show team configuration and memory status",flags:[]},{name:"team share",description:"Share local trajectories and patterns with the team",flags:[]},{name:"team review",description:"Manage review bundles — agent PR → review → merge workflow",flags:[]},{name:"team review list",description:"List all review bundles",flags:["--limit <limit>"]},{name:"team review show",description:"Show a specific review bundle with full details",flags:[]},{name:"team review approve",description:"Approve a review bundle (sets status to approved)",flags:["--message <message>"]},{name:"team review request-changes",description:"Request changes on a review bundle",flags:[]},{name:"team review reject",description:"Reject a review bundle",flags:[]},{name:"team review merge",description:"Merge an approved review into the working directory",flags:[]},{name:"team review create",description:"Create a review bundle from specified files",flags:["--files <files>","--model <model>","--provider <provider>"]}]},{name:"sdk",description:"Create and manage custom agents with the Agent-Nuvira SDK",commands:[{name:"sdk scaffold",description:"Generate a new custom agent project",flags:["--agent-type <agent_type>","--template <template>"]},{name:"sdk templates",description:"List available scaffold templates",flags:[]},{name:"sdk info",description:"Show SDK package info and version",flags:[]},{name:"sdk register",description:"Register a custom agent with the orchestrator",flags:["--description <description>","--icon <icon>","--orchestrator-path <orchestrator_path>"]},{name:"sdk unregister",description:"Remove a custom agent from the orchestrator",flags:["--class-name <class_name>","--orchestrator-path <orchestrator_path>"]}]},{name:"provider",description:"List and check health of all inference providers",commands:[{name:"provider list",description:"Show all providers with color-coded status table",flags:["--all"]},{name:"provider health",description:"Show detailed health checks for one or all providers",flags:["--verbose","--watch"]}]},{name:"security",description:"Scan code, prompts, or files for security issues",commands:[{name:"security scan",description:"Scan for PII, injection attempts, or dangerous code patterns",flags:["--code","--file <file>","--generated","--json","--pii","--prompt","--stdin","--strict"]}]},{name:"audit",description:"Verify and export the tamper-evident (hash-chained) audit trail (P6 M6.3)",commands:[{name:"audit verify",description:"Verify hash-chain integrity of audit stores (tamper detection)",flags:["--file <file>","--json"]},{name:"audit export",description:"Export an audit store as SIEM-friendly CEF lines",flags:["--file <file>","--out <out>"]}]},{name:"sbom",description:"Generate and verify the CycloneDX software bill of materials (P6 M6.6)",commands:[]},{name:"feedback",description:"Record, view, and manage user feedback on agent outputs",commands:[{name:"feedback record",description:"Record feedback for a trajectory (interactive)",flags:["--comment <comment>","--negative","--neutral","--positive"]},{name:"feedback list",description:"Show recent feedback entries",flags:["--limit <limit>","--trajectory <trajectory>"]},{name:"feedback stats",description:"Show aggregated feedback statistics",flags:[]},{name:"feedback clear",description:"Clear all feedback data",flags:[]}]},{name:"nlu",description:"NLU request understanding — debug intent/entity/action resolution",commands:[{name:"nlu debug",description:"Debug how a request is understood (rule path + optional LLM verify)",flags:["--llm"]},{name:"nlu learnings",description:"Show the routing corrections learned from CONFIRMED misreadings (the agent improving itself)",flags:["--forget <forget>","--json"]}]},{name:"intent",description:"Plain-English → CLI routing — resolve an ask into the exact `nuvira` command(s) to run",commands:[{name:"intent resolve",description:'Resolve a plain-English ask (e.g. "stop the dashboard", "add Rahul to whatsapp") into CLI commands',flags:["--json","--semantic"]},{name:"intent eval",description:"Score deterministic vs semantic matching over a labeled ask corpus (novel phrasings included)",flags:["--json"]}]},{name:"code-map",description:"Project symbol map — functions, classes, methods with line numbers (AST engine)",commands:[]},{name:"tools",description:"Inspect the agent tool registry (pipeline + experience tools)",commands:[{name:"tools list",description:"List every registered tool (the H1 tool-calling surface)",flags:[]},{name:"tools show",description:"Show a tool's description and input schema",flags:[]},{name:"tools toolsets",description:"List toolset groups (capability gating) with enabled state; enable/disable a group",flags:["--disable <disable>","--enable <enable>"]},{name:"tools install",description:"Install the optional dependency an optional tool needs (see `nuvira tools optional`)",flags:["--package-only"]},{name:"tools optional",description:"List tools that are shipped but need an optional dependency installed",flags:[]}]},{name:"parity",description:"Surface-parity harness — prove the same experience on chat, execute, dashboard, gateway and subagents",commands:[{name:"parity surfaces",description:"Compare the surface registry against the real import graph",flags:[]},{name:"parity debt",description:"Check the anti-silo debt ratchet (observed surface debt must equal the frozen list)",flags:[]},{name:"parity matrix",description:"Show every capability × surface and any unproven `supported` claim",flags:[]},{name:"parity faults",description:"List the declared faults the harness can inject, and what each one proves",flags:[]},{name:"parity run",description:"Drive all five surfaces through the real harness and report the verdict",flags:[]}]},{name:"session",description:"Project-scoped session continuity (debug surface — `continue` is the primary path)",commands:[{name:"session list",description:"List recent sessions, optionally filtered by project + time range",flags:["--limit <limit>","--project <project>","--since <since>"]},{name:"session summarize",description:"Show summary + metadata for one session (transcript: nuvira history show)",flags:[]},{name:"session resume",description:"Run D1 auto-recall for a project and print the recall card",flags:["--project <project>","--since <since>"]}]},{name:"state",description:"Print this project’s tracked state in one read: plan, open sessions, per-file verification debt, git drift",commands:[]},{name:"marketplace",description:"Browse and install community plugins and workflow templates",commands:[{name:"marketplace browse",description:"Browse all available marketplace items",flags:["--plugins","--refresh","--workflows"]},{name:"marketplace search",description:"Search across plugins and workflow templates",flags:[]},{name:"marketplace install",description:"Install a workflow template from the registry",flags:[]},{name:"marketplace info",description:"Show detailed information about a marketplace item",flags:[]}]},{name:"mcp",description:"Manage MCP (Model Context Protocol) server connections",commands:[{name:"mcp list",description:"List all discovered MCP servers and their tools",flags:[]},{name:"mcp connect",description:"Connect to an MCP server",flags:["--all"]},{name:"mcp call",description:"Call a tool on an MCP server",flags:["--args <args>","--server <server>"]},{name:"mcp info",description:"Show detailed information for an MCP server",flags:[]},{name:"mcp refresh",description:"Re-discover and reconnect to all MCP servers",flags:[]},{name:"mcp catalog",description:"List MCP capability slots, their variants, and what each one needs on this machine",flags:["--search <search>"]},{name:"mcp install",description:"Install a catalog capability, choosing the best variant this machine can actually run",flags:["--command <command>","--env <env>","--force","--no-verify","--runtime <runtime>","--variant <variant>"]},{name:"mcp add",description:"Add a server that is NOT in the catalog — any stdio command or remote URL, like a config file",flags:["--arg <arg>","--command <command>","--env <env>","--force","--header <header>","--json <json>","--no-verify","--transport <transport>","--url <url>"]},{name:"mcp settings",description:"Show the resolved mcp.* configuration (caps, auto-connect, subagent inheritance)",flags:[]},{name:"mcp authorize",description:"Authorize an OAuth MCP server (opens the consent page, captures the loopback redirect, stores the token)",flags:["--no-browser","--redirect-uri <redirect_uri>"]},{name:"mcp uninstall",description:"Remove an installed MCP server config",flags:[]},{name:"mcp serve",description:"Expose the agent's H1 tools as an MCP server over stdio (MCP clients / IDEs / other agents can connect)",flags:["--memory","--with <with>"]}]},{name:"ci",description:"Headless CI/CD mode — structured JSON output and exit codes for pipelines",commands:[{name:"ci execute",description:"Execute a goal and emit JSON result (exit 0 = success, 1 = failure)",flags:["--context-limit <context_limit>","--context-prune <context_prune>","--github-annotations","--memory","--model <model>","--planner-model <planner_model>","--provider <provider>","--reviewer-model <reviewer_model>","--sandbox","--timeout <timeout>","--writer-model <writer_model>"]},{name:"ci check",description:"Run a gate check (exit 0 = pass, 1 = fail) — minimal output, ideal for workflow gates",flags:["--model <model>","--provider <provider>","--verbose"]},{name:"ci review",description:"Review one or more files and emit JSON findings",flags:["--context <context>","--format <format>","--model <model>","--provider <provider>"]}]},{name:"publish",description:"Autonomous publish workflow — version, build, publish to npm & GitHub",commands:[]},{name:"credentials",description:"Store GitHub/npm release credentials so the agent can release without re-entering them",commands:[{name:"credentials status",description:"Show which release credentials are available, and where each came from",flags:[]},{name:"credentials set",description:"Store a credential in the nuvira credential store",flags:["--stdin","--value <value>"]},{name:"credentials forget",description:"Delete a stored credential",flags:[]},{name:"credentials verify",description:"Check the stored GitHub and npm tokens against the live services",flags:[]}]},{name:"bedrock",description:"AWS Bedrock setup and management (dedicated onboarding for Bedrock)",commands:[{name:"bedrock setup",description:"Interactive wizard to configure AWS Bedrock (credentials, region, model access)",flags:[]},{name:"bedrock status",description:"Show current Bedrock configuration and connectivity status",flags:[]},{name:"bedrock test",description:"Probe Bedrock models and test inference",flags:["--region <region>"]}]},{name:"phase",description:"Phase-wise project scope execution — multi-goal pipelines",commands:[{name:"phase create",description:"Create a new phase scope with ordered goals",flags:["--output <output>"]},{name:"phase execute",description:"Execute a phase scope from start to finish",flags:["--dry-run","--model <model>","--non-interactive","--provider <provider>","--skip-tests","--verbose"]},{name:"phase resume",description:"Resume a saved phase scope from where it left off",flags:["--model <model>","--provider <provider>","--skip-tests","--verbose"]},{name:"phase status",description:"Show progress of a phase scope",flags:[]},{name:"phase delete",description:"Delete a saved phase scope",flags:[]},{name:"phase list",description:"List all saved phase scopes",flags:[]}]},{name:"retrieval",description:"Vector retrieval — token-efficient context via local embeddings",commands:[{name:"retrieval stats",description:"Show token-savings transparency (how many tokens retrieval saved)",flags:[]},{name:"retrieval index",description:"Index a repo/file into the retrieval store (chunks embedded locally)",flags:[]},{name:"retrieval query",description:"Semantic search over the indexed repo (top-k chunks)",flags:[]},{name:"retrieval clear",description:"Clear the retrieval index and token-savings stats",flags:[]}]},{name:"knowledge",description:"Knowledge base — answer questions from your own tagged documents (vector retrieval)",commands:[{name:"knowledge add",description:"Ingest files or folders under a tag (extracted, chunked and embedded once)",flags:[]},{name:"knowledge query",description:"Retrieve the most relevant passages for a question, scoped to a tag",flags:["--top-k <top_k>"]},{name:"knowledge toc",description:"List a tag's documents and the headings in each",flags:[]},{name:"knowledge read",description:"Print a document, or one named section, VERBATIM (not a summary)",flags:["--section <section>"]},{name:"knowledge remove",description:"Remove ONE document from a tag (its chunks, stored text and manifest row)",flags:[]},{name:"knowledge sync",description:"Bring a tag up to date with its folders — hash-gated, prunes files that vanished",flags:[]},{name:"knowledge list",description:"List knowledge tags with document and chunk counts",flags:[]},{name:"knowledge stats",description:"Show details for one knowledge tag",flags:[]},{name:"knowledge forget",description:"Remove a tag's vectors and manifest entry",flags:[]}]},{name:"hooks",description:"Declarative lifecycle hooks — list/add/remove the rules that deny, notify or secret-scan tool calls (the same hooks.json the dashboard Hooks page edits; a hook is data, never code)",commands:[{name:"hooks list",description:"List built-in and user hooks with their seam, action and state",flags:[]},{name:"hooks add",description:"Declare a new hook (it is enabled unless --disabled is given)",flags:["--action <action>","--arg <arg>","--cwd <cwd>","--deny-on-hit","--disabled","--event <event>","--id <id>","--label <label>","--message <message>","--reason <reason>","--surface <surface>","--tool <tool>"]},{name:"hooks remove",description:"Remove a user hook (a built-in cannot be deleted — disable it instead)",flags:[]},{name:"hooks enable",description:"Turn a hook on (works on a built-in too)",flags:[]},{name:"hooks disable",description:"Turn a hook off",flags:[]}]},{name:"trace",description:"Inspect and replay per-step reasoning traces (every LLM call in a pipeline)",commands:[{name:"trace list",description:"Show recent traces",flags:["--limit <limit>"]},{name:"trace show",description:"Show a single trace (goal, timing, step summary)",flags:[]},{name:"trace replay",description:"Step-by-step replay of a trace — every LLM call with prompt digest, model, tokens, latency, and routing",flags:["--full"]},{name:"trace degraded",description:"List provider × model pairs that served steps without agentic capability (derived, read-only, from the traces)",flags:["--limit <limit>"]},{name:"trace clear",description:"Delete all stored traces",flags:[]}]},{name:"rate",description:"Rate the last turn (good|bad) — records the one label a quality signal can be fit to (also on the dashboard Trace tab)",commands:[]},{name:"decisions",description:"The must-ask decisions recorded for this project — list, search, and revise them (written by ask_user)",commands:[{name:"decisions show",description:"",flags:["--json"]},{name:"decisions revise",description:"",flags:["--answer <answer>","--note <note>"]}]},{name:"continuity",description:"Session continuity — what is stored, and how to forget it",commands:[{name:"continuity list",description:"Show the continuity switches, stored sessions, and the semantic recall index",flags:[]},{name:"continuity clear",description:"Forget stored continuity data (no flags = both sessions and recall)",flags:["--recall","--sessions"]}]},{name:"website",description:"Open the Agent-Nuvira website — capabilities, commands, docs, setup",commands:[]}],Nc={commandCount:Nle,groupCount:Ele,groups:_le},mE=Nc.groups;function Cle(e,t){return e.name.toLowerCase().includes(t)||e.description.toLowerCase().includes(t)}function Ale({onPick:e}){const[t,n]=b.useState(""),r=b.useId(),a=t.trim().toLowerCase(),s=b.useMemo(()=>a?mE.map(l=>l.name.toLowerCase().includes(a)?l:{...l,commands:l.commands.filter(c=>Cle(c,a))}).filter(l=>l.commands.length>0):mE,[a]),o=s.reduce((l,c)=>l+c.commands.length,0);return i.jsxs("section",{className:"command-browser",children:[i.jsxs("div",{className:"command-browser-head",children:[i.jsx("h2",{className:"section-title command-browser-title",children:"Browse commands"}),i.jsx("p",{className:"command-browser-count",children:a?`${o} of ${Nc.commandCount} commands match “${t.trim()}”`:`${Nc.commandCount} commands in ${Nc.groupCount} groups`})]}),i.jsx("label",{className:"sr-only",htmlFor:r,children:"Filter commands"}),i.jsx("input",{id:r,type:"search",className:"admin-input command-browser-search",placeholder:"Filter commands — e.g. eval, memory, gateway status",value:t,onChange:l=>n(l.target.value),autoComplete:"off",spellCheck:!1}),s.length===0?i.jsxs("p",{className:"command-browser-empty",children:["No command matches “",t.trim(),"”. Clear the filter to see all ",Nc.groupCount," groups."]}):i.jsx("div",{className:"command-browser-groups",children:s.map(l=>i.jsxs("details",{className:"command-group",open:a?!0:void 0,children:[i.jsxs("summary",{className:"command-group-summary",children:[i.jsx("code",{className:"command-group-name",children:l.name}),i.jsx("span",{className:"command-group-description",children:l.description}),i.jsx("span",{className:"command-group-count",children:l.commands.length})]}),i.jsx("ul",{className:"command-list",children:l.commands.map(c=>i.jsx("li",{className:"command-item",children:i.jsxs("button",{type:"button",className:"command-use",onClick:()=>e(c.name),title:`Insert “${c.name}” into the command box`,children:[i.jsx("span",{className:"command-item-name",children:c.name}),i.jsx("span",{className:"command-item-description",children:c.description}),c.flags.length>0&&i.jsx("span",{className:"command-item-flags",children:c.flags.map(u=>i.jsx("code",{children:u},u))})]})},c.name))})]},`${l.name}:${a?"filtering":"browsing"}`))})]})}const gE={running:"⏳ running",done:"✅ done",failed:"❌ failed",cancelled:"⏹ cancelled",timeout:"⏰ timed out",error:"💥 error",hung:"🚫 stopped (hung)"};function vE(e){switch(e){case"done":return"task-status-done";case"running":return"task-status-running";case"failed":return"task-status-failed";case"cancelled":return"task-status-cancelled";case"timeout":return"task-status-timeout";case"hung":return"task-status-timeout";default:return"task-status-error"}}function Tle(e){const t=[];let n="",r=null;for(const a of e.trim())r?a===r?r=null:n+=a:a==='"'||a==="'"?r=a:/\s/.test(a)?n&&(t.push(n),n=""):n+=a;return n&&t.push(n),t}function yE(e){return e===null?"—":e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}function Ole(e){const t=Math.max(0,Math.floor((Date.now()-e)/1e3));if(t<60)return`${t}s ago`;const n=Math.floor(t/60);return n<60?`${n}m ago`:`${Math.floor(n/60)}h ago`}function Ple(){const[e,t]=b.useState(null),n=Gr(),[r,a]=b.useState(""),[s,o]=b.useState(0),[l,c]=b.useState(!1),[u,d]=b.useState(""),[f,h]=b.useState(null),[p,m]=b.useState([]),[g,y]=b.useState(!0),v=b.useRef(null),k=b.useRef(null),w=b.useRef(null),N=b.useCallback(async()=>{const P=await K.listTasks();P&&m(P.tasks)},[]);b.useEffect(()=>{K.fetchAdminAuthStatus().then(P=>{t(P?{configured:P.configured,authenticated:P.authenticated,role:P.role??null}:{configured:!1,authenticated:!1,role:null}),P!=null&&P.authenticated&&N()})},[N,n]),b.useEffect(()=>{var P,A;if(g&&(f==null?void 0:f.status)==="running")try{(A=(P=v.current)==null?void 0:P.scrollIntoView)==null||A.call(P,{block:"end"})}catch{}},[f==null?void 0:f.logs.length,f==null?void 0:f.status,g]),b.useEffect(()=>()=>{var P;return(P=w.current)==null?void 0:P.call(w)},[]);const S=b.useCallback((P,A)=>{var I;if((I=w.current)==null||I.call(w),h(P),d(""),!A)return;const D=K.subscribeTask(P.id,{onLog:M=>h(L=>L&&L.id===P.id?{...L,logs:[...L.logs,M]}:L),onStatus:M=>h(L=>L&&L.id===P.id?{...L,status:M}:L)});w.current=D},[]),x=b.useCallback(async()=>{const P=Tle(r);if(P.length===0){d("Type a command first — e.g. `eval run --task smoke-test` or `gateway status`.");return}c(!0),d("");const A=await K.startTask(P,s*1e3);if(c(!1),!A.ok||!A.task){d(A.error||"Failed to start task.");return}a(""),N(),S(A.task,!0)},[r,s,S,N]),E=b.useCallback(async P=>{await K.cancelTask(P)},[]),_=b.useCallback(P=>{var A;a(`${P} `),d(""),(A=k.current)==null||A.focus()},[]),O=b.useCallback(async P=>{const A=await K.getTask(P);A!=null&&A.task&&S(A.task,!1)},[S]),C=b.useCallback(()=>{var P;(P=w.current)==null||P.call(w),h(null)},[]);return e?e.authenticated?i.jsxs("div",{className:"panel",children:[i.jsx(Te,{icon:"🚀",title:"Command Console"}),i.jsx("p",{className:"admin-subtitle",children:"Run any agent-nuvira command — the same CLI, executed by the dashboard. Messaging, skills, tools, eval, memory, traces and more."}),i.jsxs("form",{className:"task-run-form",onSubmit:P=>{P.preventDefault(),x()},children:[i.jsx("input",{ref:k,className:"admin-input task-cmd-input",placeholder:"eval run --task smoke-test · gateway status · skill list · memory stats",value:r,onChange:P=>a(P.target.value),autoComplete:"off",spellCheck:!1}),i.jsxs("select",{className:"admin-input task-timeout-select",title:"Task timeout — 'until finished' runs with no cutoff",value:s,onChange:P=>o(Number(P.target.value)),children:[i.jsx("option",{value:0,children:"until finished"}),i.jsx("option",{value:60,children:"1 min"}),i.jsx("option",{value:300,children:"5 min"}),i.jsx("option",{value:600,children:"10 min"}),i.jsx("option",{value:1800,children:"30 min"})]}),i.jsx("button",{className:"admin-refresh-btn",type:"submit",disabled:l||r.trim()==="",children:l?"⏳ Starting…":"▶ Run"})]}),u&&i.jsx("div",{className:"admin-error",children:u}),i.jsxs("p",{className:"task-hint",children:["Long-running commands stream their output live, and run ",i.jsx("strong",{children:"until they finish"})," unless you pick a cutoff — the elapsed time is shown beside the status, and Cancel stops one."]}),i.jsx(Ale,{onPick:_}),f&&i.jsxs("div",{className:"task-console-wrap",children:[i.jsxs("div",{className:"task-console-header",children:[i.jsx("code",{className:"task-console-cmd",children:f.command}),i.jsx("span",{className:`task-status ${vE(f.status)}`,children:gE[f.status]}),i.jsxs("span",{className:"task-meta",children:["exit ",f.exitCode??"—"," · ",yE(f.durationMs)]}),f.status==="running"&&i.jsx("button",{className:"admin-mini-btn task-cancel-btn",onClick:()=>void E(f.id),children:"⏹ Cancel"}),i.jsx("button",{className:"admin-mini-btn",onClick:C,children:"✕ Close"})]}),i.jsxs("div",{className:"task-console",children:[f.logs.map((P,A)=>i.jsx("div",{className:`task-line task-line-${P.stream}`,children:P.text},A)),f.logs.length===0&&f.status==="running"&&i.jsx("div",{className:"task-line task-line-system",children:"⏳ waiting for output…"}),i.jsx("div",{ref:v})]}),i.jsxs("label",{className:"task-autoscroll",children:[i.jsx("input",{type:"checkbox",checked:g,onChange:P=>y(P.target.checked)})," auto-scroll"]})]}),i.jsx("h2",{className:"task-history-title",children:"History"}),p.length===0?i.jsx("div",{className:"empty-state",children:"No tasks yet — run your first command above."}):i.jsx("div",{className:"admin-table-wrapper",children:i.jsxs("table",{className:"admin-table task-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Command"}),i.jsx("th",{children:"Status"}),i.jsx("th",{children:"Exit"}),i.jsx("th",{children:"Duration"}),i.jsx("th",{children:"When"})]})}),i.jsx("tbody",{children:p.map(P=>i.jsxs("tr",{className:(f==null?void 0:f.id)===P.id?"task-row-active":"",onClick:()=>void O(P.id),children:[i.jsx("td",{children:i.jsx("code",{children:P.command})}),i.jsx("td",{children:i.jsx("span",{className:`task-status ${vE(P.status)}`,children:gE[P.status]})}),i.jsx("td",{children:P.exitCode??"—"}),i.jsx("td",{children:yE(P.durationMs)}),i.jsx("td",{children:Ole(P.startedAt)})]},P.id))})]})})]}):i.jsxs("div",{className:"panel",children:[i.jsx(Te,{icon:"🚀",title:"Command Console"}),i.jsxs("div",{className:"empty-state",children:[i.jsxs("p",{children:[i.jsx("strong",{children:"Log in to run tasks."})," The console executes commands on this machine, so it needs an admin session (like the Agent Hub toggles)."]}),i.jsx("p",{children:e.configured?i.jsx(en,{className:"admin-refresh-btn",to:"/admin",children:"🔐 Log in"}):i.jsx(en,{className:"admin-refresh-btn",to:"/admin",children:"🔐 Create admin account"})})]})]}):i.jsxs("div",{className:"panel",children:[i.jsx(Te,{icon:"🚀",title:"Command Console"}),i.jsx("div",{className:"loading-state",children:"Loading…"})]})}function Rle(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const Mle=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,Ile=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,$le={};function bE(e,t){return($le.jsx?Ile:Mle).test(e)}const Lle=/[ \t\n\f\r]/g;function Dle(e){return typeof e=="object"?e.type==="text"?xE(e.value):!1:xE(e)}function xE(e){return e.replace(Lle,"")===""}class cd{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}}cd.prototype.normal={};cd.prototype.property={};cd.prototype.space=void 0;function xM(e,t){const n={},r={};for(const a of e)Object.assign(n,a.property),Object.assign(r,a.normal);return new cd(n,r,t)}function Hb(e){return e.toLowerCase()}class Kn{constructor(t,n){this.attribute=n,this.property=t}}Kn.prototype.attribute="";Kn.prototype.booleanish=!1;Kn.prototype.boolean=!1;Kn.prototype.commaOrSpaceSeparated=!1;Kn.prototype.commaSeparated=!1;Kn.prototype.defined=!1;Kn.prototype.mustUseProperty=!1;Kn.prototype.number=!1;Kn.prototype.overloadedBoolean=!1;Kn.prototype.property="";Kn.prototype.spaceSeparated=!1;Kn.prototype.space=void 0;let Ble=0;const Pe=Ws(),Dt=Ws(),Gb=Ws(),oe=Ws(),st=Ws(),js=Ws(),Zn=Ws();function Ws(){return 2**++Ble}const qb=Object.freeze(Object.defineProperty({__proto__:null,boolean:Pe,booleanish:Dt,commaOrSpaceSeparated:Zn,commaSeparated:js,number:oe,overloadedBoolean:Gb,spaceSeparated:st},Symbol.toStringTag,{value:"Module"})),Vg=Object.keys(qb);class g0 extends Kn{constructor(t,n,r,a){let s=-1;if(super(t,n),wE(this,"space",a),typeof r=="number")for(;++s<Vg.length;){const o=Vg[s];wE(this,Vg[s],(r&qb[o])===qb[o])}}}g0.prototype.defined=!0;function wE(e,t,n){n&&(e[t]=n)}function Ll(e){const t={},n={};for(const[r,a]of Object.entries(e.properties)){const s=new g0(r,e.transform(e.attributes||{},r),a,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(s.mustUseProperty=!0),t[r]=s,n[Hb(r)]=r,n[Hb(s.attribute)]=r}return new cd(t,n,e.space)}const wM=Ll({properties:{ariaActiveDescendant:null,ariaAtomic:Dt,ariaAutoComplete:null,ariaBusy:Dt,ariaChecked:Dt,ariaColCount:oe,ariaColIndex:oe,ariaColSpan:oe,ariaControls:st,ariaCurrent:null,ariaDescribedBy:st,ariaDetails:null,ariaDisabled:Dt,ariaDropEffect:st,ariaErrorMessage:null,ariaExpanded:Dt,ariaFlowTo:st,ariaGrabbed:Dt,ariaHasPopup:null,ariaHidden:Dt,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:st,ariaLevel:oe,ariaLive:null,ariaModal:Dt,ariaMultiLine:Dt,ariaMultiSelectable:Dt,ariaOrientation:null,ariaOwns:st,ariaPlaceholder:null,ariaPosInSet:oe,ariaPressed:Dt,ariaReadOnly:Dt,ariaRelevant:null,ariaRequired:Dt,ariaRoleDescription:st,ariaRowCount:oe,ariaRowIndex:oe,ariaRowSpan:oe,ariaSelected:Dt,ariaSetSize:oe,ariaSort:null,ariaValueMax:oe,ariaValueMin:oe,ariaValueNow:oe,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function kM(e,t){return t in e?e[t]:t}function SM(e,t){return kM(e,t.toLowerCase())}const zle=Ll({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:js,acceptCharset:st,accessKey:st,action:null,allow:null,allowFullScreen:Pe,allowPaymentRequest:Pe,allowUserMedia:Pe,alpha:Pe,alt:null,as:null,async:Pe,autoCapitalize:null,autoComplete:st,autoFocus:Pe,autoPlay:Pe,blocking:st,capture:null,charSet:null,checked:Pe,cite:null,className:st,closedBy:null,colorSpace:null,cols:oe,colSpan:oe,command:null,commandFor:null,content:null,contentEditable:Dt,controls:Pe,controlsList:st,coords:oe|js,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Pe,defer:Pe,dir:null,dirName:null,disabled:Pe,download:Gb,draggable:Dt,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Pe,formTarget:null,headers:st,height:oe,hidden:Gb,high:oe,href:null,hrefLang:null,htmlFor:st,httpEquiv:st,id:null,imageSizes:null,imageSrcSet:null,inert:Pe,inputMode:null,integrity:null,is:null,isMap:Pe,itemId:null,itemProp:st,itemRef:st,itemScope:Pe,itemType:st,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Pe,low:oe,manifest:null,max:null,maxLength:oe,media:null,method:null,min:null,minLength:oe,multiple:Pe,muted:Pe,name:null,nonce:null,noModule:Pe,noValidate:Pe,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Pe,optimum:oe,pattern:null,ping:st,placeholder:null,playsInline:Pe,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:Pe,referrerPolicy:null,rel:st,required:Pe,reversed:Pe,rows:oe,rowSpan:oe,sandbox:st,scope:null,scoped:Pe,seamless:Pe,selected:Pe,shadowRootClonable:Pe,shadowRootCustomElementRegistry:Pe,shadowRootDelegatesFocus:Pe,shadowRootMode:null,shadowRootSerializable:Pe,shape:null,size:oe,sizes:null,slot:null,span:oe,spellCheck:Dt,src:null,srcDoc:null,srcLang:null,srcSet:null,start:oe,step:null,style:null,tabIndex:oe,target:null,title:null,translate:null,type:null,typeMustMatch:Pe,useMap:null,value:Dt,width:oe,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:st,axis:null,background:null,bgColor:null,border:oe,borderColor:null,bottomMargin:oe,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Pe,declare:Pe,event:null,face:null,frame:null,frameBorder:null,hSpace:oe,leftMargin:oe,link:null,longDesc:null,lowSrc:null,marginHeight:oe,marginWidth:oe,noResize:Pe,noHref:Pe,noShade:Pe,noWrap:Pe,object:null,profile:null,prompt:null,rev:null,rightMargin:oe,rules:null,scheme:null,scrolling:Dt,standby:null,summary:null,text:null,topMargin:oe,valueType:null,version:null,vAlign:null,vLink:null,vSpace:oe,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:Pe,disablePictureInPicture:Pe,disableRemotePlayback:Pe,exportParts:js,part:st,prefix:null,property:null,results:oe,security:null,unselectable:null},space:"html",transform:SM}),Fle=Ll({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",maskType:"mask-type",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:Zn,accentHeight:oe,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:oe,amplitude:oe,arabicForm:null,ascent:oe,attributeName:null,attributeType:null,azimuth:oe,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:oe,by:null,calcMode:null,capHeight:oe,className:st,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:oe,diffuseConstant:oe,direction:null,display:null,dur:null,divisor:oe,dominantBaseline:null,download:Pe,dx:null,dy:null,edgeMode:null,editable:null,elevation:oe,enableBackground:null,end:null,event:null,exponent:oe,externalResourcesRequired:null,fill:null,fillOpacity:oe,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:js,g2:js,glyphName:js,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:oe,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:oe,horizOriginX:oe,horizOriginY:oe,id:null,ideographic:oe,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:oe,k:oe,k1:oe,k2:oe,k3:oe,k4:oe,kernelMatrix:Zn,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:oe,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:oe,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:oe,overlineThickness:oe,paintOrder:null,panose1:null,path:null,pathLength:oe,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:st,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:oe,pointsAtY:oe,pointsAtZ:oe,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:Zn,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:Zn,rev:Zn,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:Zn,requiredFeatures:Zn,requiredFonts:Zn,requiredFormats:Zn,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:oe,specularExponent:oe,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:oe,strikethroughThickness:oe,string:null,stroke:null,strokeDashArray:Zn,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:oe,strokeOpacity:oe,strokeWidth:null,style:null,surfaceScale:oe,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:Zn,tabIndex:oe,tableValues:null,target:null,targetX:oe,targetY:oe,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:Zn,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:oe,underlineThickness:oe,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:oe,values:null,vAlphabetic:oe,vMathematical:oe,vectorEffect:null,vHanging:oe,vIdeographic:oe,version:null,vertAdvY:oe,vertOriginX:oe,vertOriginY:oe,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:oe,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:kM}),jM=Ll({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),NM=Ll({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:SM}),EM=Ll({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),Ule={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},Wle=/[A-Z]/g,kE=/-[a-z]/g,Hle=/^data[-\w.:]+$/i;function Gle(e,t){const n=Hb(t);let r=t,a=Kn;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&Hle.test(t)){if(t.charAt(4)==="-"){const s=t.slice(5).replace(kE,Kle);r="data"+s.charAt(0).toUpperCase()+s.slice(1)}else{const s=t.slice(4);if(!kE.test(s)){let o=s.replace(Wle,qle);o.charAt(0)!=="-"&&(o="-"+o),t="data"+o}}a=g0}return new a(r,t)}function qle(e){return"-"+e.toLowerCase()}function Kle(e){return e.charAt(1).toUpperCase()}const Vle=xM([wM,zle,jM,NM,EM],"html"),v0=xM([wM,Fle,jM,NM,EM],"svg");function Yle(e){return e.join(" ").trim()}var y0={},SE=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,Xle=/\n/g,Qle=/^\s*/,Zle=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,Jle=/^:\s*/,ece=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,tce=/^[;\s]*/,nce=/^\s+|\s+$/g,rce=`
|
|
165
|
+
`,jE="/",NE="*",cs="",ace="comment",ice="declaration";function sce(e,t){if(typeof e!="string")throw new TypeError("First argument must be a string");if(!e)return[];t=t||{};var n=1,r=1;function a(m){var g=m.match(Xle);g&&(n+=g.length);var y=m.lastIndexOf(rce);r=~y?m.length-y:r+m.length}function s(){var m={line:n,column:r};return function(g){return g.position=new o(m),u(),g}}function o(m){this.start=m,this.end={line:n,column:r},this.source=t.source}o.prototype.content=e;function l(m){var g=new Error(t.source+":"+n+":"+r+": "+m);if(g.reason=m,g.filename=t.source,g.line=n,g.column=r,g.source=e,!t.silent)throw g}function c(m){var g=m.exec(e);if(g){var y=g[0];return a(y),e=e.slice(y.length),g}}function u(){c(Qle)}function d(m){var g;for(m=m||[];g=f();)g!==!1&&m.push(g);return m}function f(){var m=s();if(!(jE!=e.charAt(0)||NE!=e.charAt(1))){for(var g=2;cs!=e.charAt(g)&&(NE!=e.charAt(g)||jE!=e.charAt(g+1));)++g;if(g+=2,cs===e.charAt(g-1))return l("End of comment missing");var y=e.slice(2,g-2);return r+=2,a(y),e=e.slice(g),r+=2,m({type:ace,comment:y})}}function h(){var m=s(),g=c(Zle);if(g){if(f(),!c(Jle))return l("property missing ':'");var y=c(ece),v=m({type:ice,property:EE(g[0].replace(SE,cs)),value:y?EE(y[0].replace(SE,cs)):cs});return c(tce),v}}function p(){var m=[];d(m);for(var g;g=h();)g!==!1&&(m.push(g),d(m));return m}return u(),p()}function EE(e){return e?e.replace(nce,cs):cs}var oce=sce,lce=di&&di.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(y0,"__esModule",{value:!0});y0.default=uce;const cce=lce(oce);function uce(e,t){let n=null;if(!e||typeof e!="string")return n;const r=(0,cce.default)(e),a=typeof t=="function";return r.forEach(s=>{if(s.type!=="declaration")return;const{property:o,value:l}=s;a?t(o,l,s):l&&(n=n||{},n[o]=l)}),n}var Nm={};Object.defineProperty(Nm,"__esModule",{value:!0});Nm.camelCase=void 0;var dce=/^--[a-zA-Z0-9_-]+$/,fce=/-([a-z])/g,hce=/^[^-]+$/,pce=/^-(webkit|moz|ms|o|khtml)-/,mce=/^-(ms)-/,gce=function(e){return!e||hce.test(e)||dce.test(e)},vce=function(e,t){return t.toUpperCase()},_E=function(e,t){return"".concat(t,"-")},yce=function(e,t){return t===void 0&&(t={}),gce(e)?e:(e=e.toLowerCase(),t.reactCompat?e=e.replace(mce,_E):e=e.replace(pce,_E),e.replace(fce,vce))};Nm.camelCase=yce;var bce=di&&di.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},xce=bce(y0),wce=Nm;function Kb(e,t){var n={};return!e||typeof e!="string"||(0,xce.default)(e,function(r,a){r&&a&&(n[(0,wce.camelCase)(r,t)]=a)}),n}Kb.default=Kb;var kce=Kb;const Sce=Xe(kce),_M=CM("end"),b0=CM("start");function CM(e){return t;function t(n){const r=n&&n.position&&n.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function jce(e){const t=b0(e),n=_M(e);if(t&&n)return{start:t,end:n}}function Fc(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?CE(e.position):"start"in e||"end"in e?CE(e):"line"in e||"column"in e?Vb(e):""}function Vb(e){return AE(e&&e.line)+":"+AE(e&&e.column)}function CE(e){return Vb(e&&e.start)+"-"+Vb(e&&e.end)}function AE(e){return e&&typeof e=="number"?e:1}class En extends Error{constructor(t,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let a="",s={},o=!1;if(n&&("line"in n&&"column"in n?s={place:n}:"start"in n&&"end"in n?s={place:n}:"type"in n?s={ancestors:[n],place:n.position}:s={...n}),typeof t=="string"?a=t:!s.cause&&t&&(o=!0,a=t.message,s.cause=t),!s.ruleId&&!s.source&&typeof r=="string"){const c=r.indexOf(":");c===-1?s.ruleId=r:(s.source=r.slice(0,c),s.ruleId=r.slice(c+1))}if(!s.place&&s.ancestors&&s.ancestors){const c=s.ancestors[s.ancestors.length-1];c&&(s.place=c.position)}const l=s.place&&"start"in s.place?s.place.start:s.place;this.ancestors=s.ancestors||void 0,this.cause=s.cause||void 0,this.column=l?l.column:void 0,this.fatal=void 0,this.file="",this.message=a,this.line=l?l.line:void 0,this.name=Fc(s.place)||"1:1",this.place=s.place||void 0,this.reason=this.message,this.ruleId=s.ruleId||void 0,this.source=s.source||void 0,this.stack=o&&s.cause&&typeof s.cause.stack=="string"?s.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}En.prototype.file="";En.prototype.name="";En.prototype.reason="";En.prototype.message="";En.prototype.stack="";En.prototype.column=void 0;En.prototype.line=void 0;En.prototype.ancestors=void 0;En.prototype.cause=void 0;En.prototype.fatal=void 0;En.prototype.place=void 0;En.prototype.ruleId=void 0;En.prototype.source=void 0;const x0={}.hasOwnProperty,Nce=new Map,Ece=/[A-Z]/g,_ce=new Set(["table","tbody","thead","tfoot","tr"]),Cce=new Set(["td","th"]),AM="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function Ace(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let r;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=Lce(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=$ce(n,t.jsx,t.jsxs)}const a={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?v0:Vle,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},s=TM(a,e,void 0);return s&&typeof s!="string"?s:a.create(e,a.Fragment,{children:s||void 0},void 0)}function TM(e,t,n){if(t.type==="element")return Tce(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return Oce(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return Rce(e,t,n);if(t.type==="mdxjsEsm")return Pce(e,t);if(t.type==="root")return Mce(e,t,n);if(t.type==="text")return Ice(e,t)}function Tce(e,t,n){const r=e.schema;let a=r;t.tagName.toLowerCase()==="svg"&&r.space==="html"&&(a=v0,e.schema=a),e.ancestors.push(t);const s=PM(e,t.tagName,!1),o=Dce(e,t);let l=k0(e,t);return _ce.has(t.tagName)&&(l=l.filter(function(c){return typeof c=="string"?!Dle(c):!0})),OM(e,o,s,t),w0(o,l),e.ancestors.pop(),e.schema=r,e.create(t,s,o,n)}function Oce(e,t){if(t.data&&t.data.estree&&e.evaluater){const r=t.data.estree.body[0];return r.type,e.evaluater.evaluateExpression(r.expression)}qu(e,t.position)}function Pce(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);qu(e,t.position)}function Rce(e,t,n){const r=e.schema;let a=r;t.name==="svg"&&r.space==="html"&&(a=v0,e.schema=a),e.ancestors.push(t);const s=t.name===null?e.Fragment:PM(e,t.name,!0),o=Bce(e,t),l=k0(e,t);return OM(e,o,s,t),w0(o,l),e.ancestors.pop(),e.schema=r,e.create(t,s,o,n)}function Mce(e,t,n){const r={};return w0(r,k0(e,t)),e.create(t,e.Fragment,r,n)}function Ice(e,t){return t.value}function OM(e,t,n,r){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=r)}function w0(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function $ce(e,t,n){return r;function r(a,s,o,l){const u=Array.isArray(o.children)?n:t;return l?u(s,o,l):u(s,o)}}function Lce(e,t){return n;function n(r,a,s,o){const l=Array.isArray(s.children),c=b0(r);return t(a,s,o,l,{columnNumber:c?c.column-1:void 0,fileName:e,lineNumber:c?c.line:void 0},void 0)}}function Dce(e,t){const n={};let r,a;for(a in t.properties)if(a!=="children"&&x0.call(t.properties,a)){const s=zce(e,a,t.properties[a]);if(s){const[o,l]=s;e.tableCellAlignToStyle&&o==="align"&&typeof l=="string"&&Cce.has(t.tagName)?r=l:n[o]=l}}if(r){const s=n.style||(n.style={});s[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return n}function Bce(e,t){const n={};for(const r of t.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&e.evaluater){const s=r.data.estree.body[0];s.type;const o=s.expression;o.type;const l=o.properties[0];l.type,Object.assign(n,e.evaluater.evaluateExpression(l.argument))}else qu(e,t.position);else{const a=r.name;let s;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&e.evaluater){const l=r.value.data.estree.body[0];l.type,s=e.evaluater.evaluateExpression(l.expression)}else qu(e,t.position);else s=r.value===null?!0:r.value;n[a]=s}return n}function k0(e,t){const n=[];let r=-1;const a=e.passKeys?new Map:Nce;for(;++r<t.children.length;){const s=t.children[r];let o;if(e.passKeys){const c=s.type==="element"?s.tagName:s.type==="mdxJsxFlowElement"||s.type==="mdxJsxTextElement"?s.name:void 0;if(c){const u=a.get(c)||0;o=c+"-"+u,a.set(c,u+1)}}const l=TM(e,s,o);l!==void 0&&n.push(l)}return n}function zce(e,t,n){const r=Gle(e.schema,t);if(!(n==null||typeof n=="number"&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?Rle(n):Yle(n)),r.property==="style"){let a=typeof n=="object"?n:Fce(e,String(n));return e.stylePropertyNameCase==="css"&&(a=Uce(a)),["style",a]}return[e.elementAttributeNameCase==="react"&&r.space?Ule[r.property]||r.property:r.attribute,n]}}function Fce(e,t){try{return Sce(t,{reactCompat:!0})}catch(n){if(e.ignoreInvalidStyle)return{};const r=n,a=new En("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:r,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw a.file=e.filePath||void 0,a.url=AM+"#cannot-parse-style-attribute",a}}function PM(e,t,n){let r;if(!n)r={type:"Literal",value:t};else if(t.includes(".")){const a=t.split(".");let s=-1,o;for(;++s<a.length;){const l=bE(a[s])?{type:"Identifier",name:a[s]}:{type:"Literal",value:a[s]};o=o?{type:"MemberExpression",object:o,property:l,computed:!!(s&&l.type==="Literal"),optional:!1}:l}r=o}else r=bE(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};if(r.type==="Literal"){const a=r.value;return x0.call(e.components,a)?e.components[a]:a}if(e.evaluater)return e.evaluater.evaluateExpression(r);qu(e)}function qu(e,t){const n=new En("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw n.file=e.filePath||void 0,n.url=AM+"#cannot-handle-mdx-estrees-without-createevaluater",n}function Uce(e){const t={};let n;for(n in e)x0.call(e,n)&&(t[Wce(n)]=e[n]);return t}function Wce(e){let t=e.replace(Ece,Hce);return t.slice(0,3)==="ms-"&&(t="-"+t),t}function Hce(e){return"-"+e.toLowerCase()}const Yg={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},Gce={};function S0(e,t){const n=Gce,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,a=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return RM(e,r,a)}function RM(e,t,n){if(qce(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return TE(e.children,t,n)}return Array.isArray(e)?TE(e,t,n):""}function TE(e,t,n){const r=[];let a=-1;for(;++a<e.length;)r[a]=RM(e[a],t,n);return r.join("")}function qce(e){return!!(e&&typeof e=="object")}const OE=document.createElement("i");function j0(e){const t="&"+e+";";OE.innerHTML=t;const n=OE.textContent;return n.charCodeAt(n.length-1)===59&&e!=="semi"||n===t?!1:n}function ir(e,t,n,r){const a=e.length;let s=0,o;if(t<0?t=-t>a?0:a+t:t=t>a?a:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),e.splice(...o);else for(n&&e.splice(t,n);s<r.length;)o=r.slice(s,s+1e4),o.unshift(t,0),e.splice(...o),s+=1e4,t+=1e4}function vr(e,t){return e.length>0?(ir(e,e.length,0,t),e):t}const PE={}.hasOwnProperty;function MM(e){const t={};let n=-1;for(;++n<e.length;)Kce(t,e[n]);return t}function Kce(e,t){let n;for(n in t){const a=(PE.call(e,n)?e[n]:void 0)||(e[n]={}),s=t[n];let o;if(s)for(o in s){PE.call(a,o)||(a[o]=[]);const l=s[o];Vce(a[o],Array.isArray(l)?l:l?[l]:[])}}}function Vce(e,t){let n=-1;const r=[];for(;++n<t.length;)(t[n].add==="after"?e:r).push(t[n]);ir(e,0,0,r)}function IM(e,t){const n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function Ur(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const On=Wi(/[A-Za-z]/),jn=Wi(/[\dA-Za-z]/),Yce=Wi(/[#-'*+\--9=?A-Z^-~]/);function cp(e){return e!==null&&(e<32||e===127)}const Yb=Wi(/\d/),Xce=Wi(/[\dA-Fa-f]/),Qce=Wi(/[!-/:-@[-`{-~]/);function Ce(e){return e!==null&&e<-2}function lt(e){return e!==null&&(e<0||e===32)}function De(e){return e===-2||e===-1||e===32}const Em=Wi(new RegExp("\\p{P}|\\p{S}","u")),$s=Wi(/\s/);function Wi(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function Dl(e){const t=[];let n=-1,r=0,a=0;for(;++n<e.length;){const s=e.charCodeAt(n);let o="";if(s===37&&jn(e.charCodeAt(n+1))&&jn(e.charCodeAt(n+2)))a=2;else if(s<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(s))||(o=String.fromCharCode(s));else if(s>55295&&s<57344){const l=e.charCodeAt(n+1);s<56320&&l>56319&&l<57344?(o=String.fromCharCode(s,l),a=1):o="�"}else o=String.fromCharCode(s);o&&(t.push(e.slice(r,n),encodeURIComponent(o)),r=n+a+1,o=""),a&&(n+=a,a=0)}return t.join("")+e.slice(r)}function ze(e,t,n,r){const a=r?r-1:Number.POSITIVE_INFINITY;let s=0;return o;function o(c){return De(c)?(e.enter(n),l(c)):t(c)}function l(c){return De(c)&&s++<a?(e.consume(c),l):(e.exit(n),t(c))}}const Zce={tokenize:Jce};function Jce(e){const t=e.attempt(this.parser.constructs.contentInitial,r,a);let n;return t;function r(l){if(l===null){e.consume(l);return}return e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),ze(e,t,"linePrefix")}function a(l){return e.enter("paragraph"),s(l)}function s(l){const c=e.enter("chunkText",{contentType:"text",previous:n});return n&&(n.next=c),n=c,o(l)}function o(l){if(l===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(l);return}return Ce(l)?(e.consume(l),e.exit("chunkText"),s):(e.consume(l),o)}}const eue={tokenize:tue},RE={tokenize:nue};function tue(e){const t=this,n=[];let r=0,a,s,o;return l;function l(w){if(r<n.length){const N=n[r];return t.containerState=N[1],e.attempt(N[0].continuation,c,u)(w)}return u(w)}function c(w){if(r++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,a&&k();const N=t.events.length;let S=N,x;for(;S--;)if(t.events[S][0]==="exit"&&t.events[S][1].type==="chunkFlow"){x=t.events[S][1].end;break}v(r);let E=N;for(;E<t.events.length;)t.events[E][1].end={...x},E++;return ir(t.events,S+1,0,t.events.slice(N)),t.events.length=E,u(w)}return l(w)}function u(w){if(r===n.length){if(!a)return h(w);if(a.currentConstruct&&a.currentConstruct.concrete)return m(w);t.interrupt=!!(a.currentConstruct&&!a._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(RE,d,f)(w)}function d(w){return a&&k(),v(r),h(w)}function f(w){return t.parser.lazy[t.now().line]=r!==n.length,o=t.now().offset,m(w)}function h(w){return t.containerState={},e.attempt(RE,p,m)(w)}function p(w){return r++,n.push([t.currentConstruct,t.containerState]),h(w)}function m(w){if(w===null){a&&k(),v(0),e.consume(w);return}return a=a||t.parser.flow(t.now()),e.enter("chunkFlow",{_tokenizer:a,contentType:"flow",previous:s}),g(w)}function g(w){if(w===null){y(e.exit("chunkFlow"),!0),v(0),e.consume(w);return}return Ce(w)?(e.consume(w),y(e.exit("chunkFlow")),r=0,t.interrupt=void 0,l):(e.consume(w),g)}function y(w,N){const S=t.sliceStream(w);if(N&&S.push(null),w.previous=s,s&&(s.next=w),s=w,a.defineSkip(w.start),a.write(S),t.parser.lazy[w.start.line]){let x=a.events.length;for(;x--;)if(a.events[x][1].start.offset<o&&(!a.events[x][1].end||a.events[x][1].end.offset>o))return;const E=t.events.length;let _=E,O,C;for(;_--;)if(t.events[_][0]==="exit"&&t.events[_][1].type==="chunkFlow"){if(O){C=t.events[_][1].end;break}O=!0}for(v(r),x=E;x<t.events.length;)t.events[x][1].end={...C},x++;ir(t.events,_+1,0,t.events.slice(E)),t.events.length=x}}function v(w){let N=n.length;for(;N-- >w;){const S=n[N];t.containerState=S[1],S[0].exit.call(t,e)}n.length=w}function k(){a.write([null]),s=void 0,a=void 0,t.containerState._closeFlow=void 0}}function nue(e,t,n){return ze(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function yl(e){if(e===null||lt(e)||$s(e))return 1;if(Em(e))return 2}function _m(e,t,n){const r=[];let a=-1;for(;++a<e.length;){const s=e[a].resolveAll;s&&!r.includes(s)&&(t=s(t,n),r.push(s))}return t}const Xb={name:"attention",resolveAll:rue,tokenize:aue};function rue(e,t){let n=-1,r,a,s,o,l,c,u,d;for(;++n<e.length;)if(e[n][0]==="enter"&&e[n][1].type==="attentionSequence"&&e[n][1]._close){for(r=n;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[r][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;c=e[r][1].end.offset-e[r][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const f={...e[r][1].end},h={...e[n][1].start};ME(f,-c),ME(h,c),o={type:c>1?"strongSequence":"emphasisSequence",start:f,end:{...e[r][1].end}},l={type:c>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:h},s={type:c>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[n][1].start}},a={type:c>1?"strong":"emphasis",start:{...o.start},end:{...l.end}},e[r][1].end={...o.start},e[n][1].start={...l.end},u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=vr(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=vr(u,[["enter",a,t],["enter",o,t],["exit",o,t],["enter",s,t]]),u=vr(u,_m(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),u=vr(u,[["exit",s,t],["enter",l,t],["exit",l,t],["exit",a,t]]),e[n][1].end.offset-e[n][1].start.offset?(d=2,u=vr(u,[["enter",e[n][1],t],["exit",e[n][1],t]])):d=0,ir(e,r-1,n-r+3,u),n=r+u.length-d-2;break}}for(n=-1;++n<e.length;)e[n][1].type==="attentionSequence"&&(e[n][1].type="data");return e}function aue(e,t){const n=this.parser.constructs.attentionMarkers.null,r=this.previous,a=yl(r);let s;return o;function o(c){return s=c,e.enter("attentionSequence"),l(c)}function l(c){if(c===s)return e.consume(c),l;const u=e.exit("attentionSequence"),d=yl(c),f=!d||d===2&&a||n.includes(c),h=!a||a===2&&d||n.includes(r);return u._open=!!(s===42?f:f&&(a||!h)),u._close=!!(s===42?h:h&&(d||!f)),t(c)}}function ME(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}const iue={name:"autolink",tokenize:sue};function sue(e,t,n){let r=0;return a;function a(p){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),s}function s(p){return On(p)?(e.consume(p),o):p===64?n(p):u(p)}function o(p){return p===43||p===45||p===46||jn(p)?(r=1,l(p)):u(p)}function l(p){return p===58?(e.consume(p),r=0,c):(p===43||p===45||p===46||jn(p))&&r++<32?(e.consume(p),l):(r=0,u(p))}function c(p){return p===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.exit("autolink"),t):p===null||p===32||p===60||cp(p)?n(p):(e.consume(p),c)}function u(p){return p===64?(e.consume(p),d):Yce(p)?(e.consume(p),u):n(p)}function d(p){return jn(p)?f(p):n(p)}function f(p){return p===46?(e.consume(p),r=0,d):p===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(p),e.exit("autolinkMarker"),e.exit("autolink"),t):h(p)}function h(p){if((p===45||jn(p))&&r++<63){const m=p===45?h:f;return e.consume(p),m}return n(p)}}const ud={partial:!0,tokenize:oue};function oue(e,t,n){return r;function r(s){return De(s)?ze(e,a,"linePrefix")(s):a(s)}function a(s){return s===null||Ce(s)?t(s):n(s)}}const $M={continuation:{tokenize:cue},exit:uue,name:"blockQuote",tokenize:lue};function lue(e,t,n){const r=this;return a;function a(o){if(o===62){const l=r.containerState;return l.open||(e.enter("blockQuote",{_container:!0}),l.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(o),e.exit("blockQuoteMarker"),s}return n(o)}function s(o){return De(o)?(e.enter("blockQuotePrefixWhitespace"),e.consume(o),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(o))}}function cue(e,t,n){const r=this;return a;function a(o){return De(o)?ze(e,s,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(o):s(o)}function s(o){return e.attempt($M,t,n)(o)}}function uue(e){e.exit("blockQuote")}const LM={name:"characterEscape",tokenize:due};function due(e,t,n){return r;function r(s){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(s),e.exit("escapeMarker"),a}function a(s){return Qce(s)?(e.enter("characterEscapeValue"),e.consume(s),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):n(s)}}const DM={name:"characterReference",tokenize:fue};function fue(e,t,n){const r=this;let a=0,s,o;return l;function l(f){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(f),e.exit("characterReferenceMarker"),c}function c(f){return f===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(f),e.exit("characterReferenceMarkerNumeric"),u):(e.enter("characterReferenceValue"),s=31,o=jn,d(f))}function u(f){return f===88||f===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(f),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),s=6,o=Xce,d):(e.enter("characterReferenceValue"),s=7,o=Yb,d(f))}function d(f){if(f===59&&a){const h=e.exit("characterReferenceValue");return o===jn&&!j0(r.sliceSerialize(h))?n(f):(e.enter("characterReferenceMarker"),e.consume(f),e.exit("characterReferenceMarker"),e.exit("characterReference"),t)}return o(f)&&a++<s?(e.consume(f),d):n(f)}}const IE={partial:!0,tokenize:pue},$E={concrete:!0,name:"codeFenced",tokenize:hue};function hue(e,t,n){const r=this,a={partial:!0,tokenize:S};let s=0,o=0,l;return c;function c(x){return u(x)}function u(x){const E=r.events[r.events.length-1];return s=E&&E[1].type==="linePrefix"?E[2].sliceSerialize(E[1],!0).length:0,l=x,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),d(x)}function d(x){return x===l?(o++,e.consume(x),d):o<3?n(x):(e.exit("codeFencedFenceSequence"),De(x)?ze(e,f,"whitespace")(x):f(x))}function f(x){return x===null||Ce(x)?(e.exit("codeFencedFence"),r.interrupt?t(x):e.check(IE,g,N)(x)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),h(x))}function h(x){return x===null||Ce(x)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),f(x)):De(x)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),ze(e,p,"whitespace")(x)):x===96&&x===l?n(x):(e.consume(x),h)}function p(x){return x===null||Ce(x)?f(x):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),m(x))}function m(x){return x===null||Ce(x)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),f(x)):x===96&&x===l?n(x):(e.consume(x),m)}function g(x){return e.attempt(a,N,y)(x)}function y(x){return e.enter("lineEnding"),e.consume(x),e.exit("lineEnding"),v}function v(x){return s>0&&De(x)?ze(e,k,"linePrefix",s+1)(x):k(x)}function k(x){return x===null||Ce(x)?e.check(IE,g,N)(x):(e.enter("codeFlowValue"),w(x))}function w(x){return x===null||Ce(x)?(e.exit("codeFlowValue"),k(x)):(e.consume(x),w)}function N(x){return e.exit("codeFenced"),t(x)}function S(x,E,_){let O=0;return C;function C(M){return x.enter("lineEnding"),x.consume(M),x.exit("lineEnding"),P}function P(M){return x.enter("codeFencedFence"),De(M)?ze(x,A,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(M):A(M)}function A(M){return M===l?(x.enter("codeFencedFenceSequence"),D(M)):_(M)}function D(M){return M===l?(O++,x.consume(M),D):O>=o?(x.exit("codeFencedFenceSequence"),De(M)?ze(x,I,"whitespace")(M):I(M)):_(M)}function I(M){return M===null||Ce(M)?(x.exit("codeFencedFence"),E(M)):_(M)}}}function pue(e,t,n){const r=this;return a;function a(o){return o===null?n(o):(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),s)}function s(o){return r.parser.lazy[r.now().line]?n(o):t(o)}}const Xg={name:"codeIndented",tokenize:gue},mue={partial:!0,tokenize:vue};function gue(e,t,n){const r=this;return a;function a(u){return e.enter("codeIndented"),ze(e,s,"linePrefix",5)(u)}function s(u){const d=r.events[r.events.length-1];return d&&d[1].type==="linePrefix"&&d[2].sliceSerialize(d[1],!0).length>=4?o(u):n(u)}function o(u){return u===null?c(u):Ce(u)?e.attempt(mue,o,c)(u):(e.enter("codeFlowValue"),l(u))}function l(u){return u===null||Ce(u)?(e.exit("codeFlowValue"),o(u)):(e.consume(u),l)}function c(u){return e.exit("codeIndented"),t(u)}}function vue(e,t,n){const r=this;return a;function a(o){return r.parser.lazy[r.now().line]?n(o):Ce(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),a):ze(e,s,"linePrefix",5)(o)}function s(o){const l=r.events[r.events.length-1];return l&&l[1].type==="linePrefix"&&l[2].sliceSerialize(l[1],!0).length>=4?t(o):Ce(o)?a(o):n(o)}}const yue={name:"codeText",previous:xue,resolve:bue,tokenize:wue};function bue(e){let t=e.length-4,n=3,r,a;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r<t;)if(e[r][1].type==="codeTextData"){e[n][1].type="codeTextPadding",e[t][1].type="codeTextPadding",n+=2,t-=2;break}}for(r=n-1,t++;++r<=t;)a===void 0?r!==t&&e[r][1].type!=="lineEnding"&&(a=r):(r===t||e[r][1].type==="lineEnding")&&(e[a][1].type="codeTextData",r!==a+2&&(e[a][1].end=e[r-1][1].end,e.splice(a+2,r-a-2),t-=r-a-2,r=a+2),a=void 0);return e}function xue(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function wue(e,t,n){let r=0,a,s;return o;function o(f){return e.enter("codeText"),e.enter("codeTextSequence"),l(f)}function l(f){return f===96?(e.consume(f),r++,l):(e.exit("codeTextSequence"),c(f))}function c(f){return f===null?n(f):f===32?(e.enter("space"),e.consume(f),e.exit("space"),c):f===96?(s=e.enter("codeTextSequence"),a=0,d(f)):Ce(f)?(e.enter("lineEnding"),e.consume(f),e.exit("lineEnding"),c):(e.enter("codeTextData"),u(f))}function u(f){return f===null||f===32||f===96||Ce(f)?(e.exit("codeTextData"),c(f)):(e.consume(f),u)}function d(f){return f===96?(e.consume(f),a++,d):a===r?(e.exit("codeTextSequence"),e.exit("codeText"),t(f)):(s.type="codeTextData",u(f))}}class kue{constructor(t){this.left=t?[...t]:[],this.right=[]}get(t){if(t<0||t>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return t<this.left.length?this.left[t]:this.right[this.right.length-t+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(t,n){const r=n??Number.POSITIVE_INFINITY;return r<this.left.length?this.left.slice(t,r):t>this.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,n,r){const a=n||0;this.setCursor(Math.trunc(t));const s=this.right.splice(this.right.length-a,Number.POSITIVE_INFINITY);return r&&vc(this.left,r),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),vc(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),vc(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t<this.left.length){const n=this.left.splice(t,Number.POSITIVE_INFINITY);vc(this.right,n.reverse())}else{const n=this.right.splice(this.left.length+this.right.length-t,Number.POSITIVE_INFINITY);vc(this.left,n.reverse())}}}function vc(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function BM(e){const t={};let n=-1,r,a,s,o,l,c,u;const d=new kue(e);for(;++n<d.length;){for(;n in t;)n=t[n];if(r=d.get(n),n&&r[1].type==="chunkFlow"&&d.get(n-1)[1].type==="listItemPrefix"&&(c=r[1]._tokenizer.events,s=0,s<c.length&&c[s][1].type==="lineEndingBlank"&&(s+=2),s<c.length&&c[s][1].type==="content"))for(;++s<c.length&&c[s][1].type!=="content";)c[s][1].type==="chunkText"&&(c[s][1]._isInFirstContentOfListItem=!0,s++);if(r[0]==="enter")r[1].contentType&&(Object.assign(t,Sue(d,n)),n=t[n],u=!0);else if(r[1]._container){for(s=n,a=void 0;s--;)if(o=d.get(s),o[1].type==="lineEnding"||o[1].type==="lineEndingBlank")o[0]==="enter"&&(a&&(d.get(a)[1].type="lineEndingBlank"),o[1].type="lineEnding",a=s);else if(!(o[1].type==="linePrefix"||o[1].type==="listItemIndent"))break;a&&(r[1].end={...d.get(a)[1].start},l=d.slice(a,n),l.unshift(r),d.splice(a,n-a+1,l))}}return ir(e,0,Number.POSITIVE_INFINITY,d.slice(0)),!u}function Sue(e,t){const n=e.get(t)[1],r=e.get(t)[2];let a=t-1;const s=[];let o=n._tokenizer;o||(o=r.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(o._contentTypeTextTrailing=!0));const l=o.events,c=[],u={};let d,f,h=-1,p=n,m=0,g=0;const y=[g];for(;p;){for(;e.get(++a)[1]!==p;);s.push(a),p._tokenizer||(d=r.sliceStream(p),p.next||d.push(null),f&&o.defineSkip(p.start),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=!0),o.write(d),p._isInFirstContentOfListItem&&(o._gfmTasklistFirstContentOfListItem=void 0)),f=p,p=p.next}for(p=n;++h<l.length;)l[h][0]==="exit"&&l[h-1][0]==="enter"&&l[h][1].type===l[h-1][1].type&&l[h][1].start.line!==l[h][1].end.line&&(g=h+1,y.push(g),p._tokenizer=void 0,p.previous=void 0,p=p.next);for(o.events=[],p?(p._tokenizer=void 0,p.previous=void 0):y.pop(),h=y.length;h--;){const v=l.slice(y[h],y[h+1]),k=s.pop();c.push([k,k+v.length-1]),e.splice(k,2,v)}for(c.reverse(),h=-1;++h<c.length;)u[m+c[h][0]]=m+c[h][1],m+=c[h][1]-c[h][0]-1;return u}const jue={resolve:Eue,tokenize:_ue},Nue={partial:!0,tokenize:Cue};function Eue(e){return BM(e),e}function _ue(e,t){let n;return r;function r(l){return e.enter("content"),n=e.enter("chunkContent",{contentType:"content"}),a(l)}function a(l){return l===null?s(l):Ce(l)?e.check(Nue,o,s)(l):(e.consume(l),a)}function s(l){return e.exit("chunkContent"),e.exit("content"),t(l)}function o(l){return e.consume(l),e.exit("chunkContent"),n.next=e.enter("chunkContent",{contentType:"content",previous:n}),n=n.next,a}}function Cue(e,t,n){const r=this;return a;function a(o){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),ze(e,s,"linePrefix")}function s(o){if(o===null||Ce(o))return n(o);const l=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes("codeIndented")&&l&&l[1].type==="linePrefix"&&l[2].sliceSerialize(l[1],!0).length>=4?t(o):e.interrupt(r.parser.constructs.flow,n,t)(o)}}function zM(e,t,n,r,a,s,o,l,c){const u=c||Number.POSITIVE_INFINITY;let d=0;return f;function f(v){return v===60?(e.enter(r),e.enter(a),e.enter(s),e.consume(v),e.exit(s),h):v===null||v===32||v===41||cp(v)?n(v):(e.enter(r),e.enter(o),e.enter(l),e.enter("chunkString",{contentType:"string"}),g(v))}function h(v){return v===62?(e.enter(s),e.consume(v),e.exit(s),e.exit(a),e.exit(r),t):(e.enter(l),e.enter("chunkString",{contentType:"string"}),p(v))}function p(v){return v===62?(e.exit("chunkString"),e.exit(l),h(v)):v===null||v===60||Ce(v)?n(v):(e.consume(v),v===92?m:p)}function m(v){return v===60||v===62||v===92?(e.consume(v),p):p(v)}function g(v){return!d&&(v===null||v===41||lt(v))?(e.exit("chunkString"),e.exit(l),e.exit(o),e.exit(r),t(v)):d<u&&v===40?(e.consume(v),d++,g):v===41?(e.consume(v),d--,g):v===null||v===32||v===40||cp(v)?n(v):(e.consume(v),v===92?y:g)}function y(v){return v===40||v===41||v===92?(e.consume(v),g):g(v)}}function FM(e,t,n,r,a,s){const o=this;let l=0,c;return u;function u(p){return e.enter(r),e.enter(a),e.consume(p),e.exit(a),e.enter(s),d}function d(p){return l>999||p===null||p===91||p===93&&!c||p===94&&!l&&"_hiddenFootnoteSupport"in o.parser.constructs?n(p):p===93?(e.exit(s),e.enter(a),e.consume(p),e.exit(a),e.exit(r),t):Ce(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),d):(e.enter("chunkString",{contentType:"string"}),f(p))}function f(p){return p===null||p===91||p===93||Ce(p)||l++>999?(e.exit("chunkString"),d(p)):(e.consume(p),c||(c=!De(p)),p===92?h:f)}function h(p){return p===91||p===92||p===93?(e.consume(p),l++,f):f(p)}}function UM(e,t,n,r,a,s){let o;return l;function l(h){return h===34||h===39||h===40?(e.enter(r),e.enter(a),e.consume(h),e.exit(a),o=h===40?41:h,c):n(h)}function c(h){return h===o?(e.enter(a),e.consume(h),e.exit(a),e.exit(r),t):(e.enter(s),u(h))}function u(h){return h===o?(e.exit(s),c(o)):h===null?n(h):Ce(h)?(e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),ze(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),d(h))}function d(h){return h===o||h===null||Ce(h)?(e.exit("chunkString"),u(h)):(e.consume(h),h===92?f:d)}function f(h){return h===o||h===92?(e.consume(h),d):d(h)}}function Uc(e,t){let n;return r;function r(a){return Ce(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),n=!0,r):De(a)?ze(e,r,n?"linePrefix":"lineSuffix")(a):t(a)}}const Aue={name:"definition",tokenize:Oue},Tue={partial:!0,tokenize:Pue};function Oue(e,t,n){const r=this;let a;return s;function s(p){return e.enter("definition"),o(p)}function o(p){return FM.call(r,e,l,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(p)}function l(p){return a=Ur(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),p===58?(e.enter("definitionMarker"),e.consume(p),e.exit("definitionMarker"),c):n(p)}function c(p){return lt(p)?Uc(e,u)(p):u(p)}function u(p){return zM(e,d,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(p)}function d(p){return e.attempt(Tue,f,f)(p)}function f(p){return De(p)?ze(e,h,"whitespace")(p):h(p)}function h(p){return p===null||Ce(p)?(e.exit("definition"),r.parser.defined.push(a),t(p)):n(p)}}function Pue(e,t,n){return r;function r(l){return lt(l)?Uc(e,a)(l):n(l)}function a(l){return UM(e,s,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(l)}function s(l){return De(l)?ze(e,o,"whitespace")(l):o(l)}function o(l){return l===null||Ce(l)?t(l):n(l)}}const Rue={name:"hardBreakEscape",tokenize:Mue};function Mue(e,t,n){return r;function r(s){return e.enter("hardBreakEscape"),e.consume(s),a}function a(s){return Ce(s)?(e.exit("hardBreakEscape"),t(s)):n(s)}}const Iue={name:"headingAtx",resolve:$ue,tokenize:Lue};function $ue(e,t){let n=e.length-2,r=3,a,s;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(a={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},s={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},ir(e,r,n-r+1,[["enter",a,t],["enter",s,t],["exit",s,t],["exit",a,t]])),e}function Lue(e,t,n){let r=0;return a;function a(d){return e.enter("atxHeading"),s(d)}function s(d){return e.enter("atxHeadingSequence"),o(d)}function o(d){return d===35&&r++<6?(e.consume(d),o):d===null||lt(d)?(e.exit("atxHeadingSequence"),l(d)):n(d)}function l(d){return d===35?(e.enter("atxHeadingSequence"),c(d)):d===null||Ce(d)?(e.exit("atxHeading"),t(d)):De(d)?ze(e,l,"whitespace")(d):(e.enter("atxHeadingText"),u(d))}function c(d){return d===35?(e.consume(d),c):(e.exit("atxHeadingSequence"),l(d))}function u(d){return d===null||d===35||lt(d)?(e.exit("atxHeadingText"),l(d)):(e.consume(d),u)}}const Due=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],LE=["pre","script","style","textarea"],Bue={concrete:!0,name:"htmlFlow",resolveTo:Uue,tokenize:Wue},zue={partial:!0,tokenize:Gue},Fue={partial:!0,tokenize:Hue};function Uue(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function Wue(e,t,n){const r=this;let a,s,o,l,c;return u;function u($){return d($)}function d($){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume($),f}function f($){return $===33?(e.consume($),h):$===47?(e.consume($),s=!0,g):$===63?(e.consume($),a=3,r.interrupt?t:T):On($)?(e.consume($),o=String.fromCharCode($),y):n($)}function h($){return $===45?(e.consume($),a=2,p):$===91?(e.consume($),a=5,l=0,m):On($)?(e.consume($),a=4,r.interrupt?t:T):n($)}function p($){return $===45?(e.consume($),r.interrupt?t:T):n($)}function m($){const ae="CDATA[";return $===ae.charCodeAt(l++)?(e.consume($),l===ae.length?r.interrupt?t:A:m):n($)}function g($){return On($)?(e.consume($),o=String.fromCharCode($),y):n($)}function y($){if($===null||$===47||$===62||lt($)){const ae=$===47,ue=o.toLowerCase();return!ae&&!s&&LE.includes(ue)?(a=1,r.interrupt?t($):A($)):Due.includes(o.toLowerCase())?(a=6,ae?(e.consume($),v):r.interrupt?t($):A($)):(a=7,r.interrupt&&!r.parser.lazy[r.now().line]?n($):s?k($):w($))}return $===45||jn($)?(e.consume($),o+=String.fromCharCode($),y):n($)}function v($){return $===62?(e.consume($),r.interrupt?t:A):n($)}function k($){return De($)?(e.consume($),k):C($)}function w($){return $===47?(e.consume($),C):$===58||$===95||On($)?(e.consume($),N):De($)?(e.consume($),w):C($)}function N($){return $===45||$===46||$===58||$===95||jn($)?(e.consume($),N):S($)}function S($){return $===61?(e.consume($),x):De($)?(e.consume($),S):w($)}function x($){return $===null||$===60||$===61||$===62||$===96?n($):$===34||$===39?(e.consume($),c=$,E):De($)?(e.consume($),x):_($)}function E($){return $===c?(e.consume($),c=null,O):$===null||Ce($)?n($):(e.consume($),E)}function _($){return $===null||$===34||$===39||$===47||$===60||$===61||$===62||$===96||lt($)?S($):(e.consume($),_)}function O($){return $===47||$===62||De($)?w($):n($)}function C($){return $===62?(e.consume($),P):n($)}function P($){return $===null||Ce($)?A($):De($)?(e.consume($),P):n($)}function A($){return $===45&&a===2?(e.consume($),L):$===60&&a===1?(e.consume($),U):$===62&&a===4?(e.consume($),Z):$===63&&a===3?(e.consume($),T):$===93&&a===5?(e.consume($),B):Ce($)&&(a===6||a===7)?(e.exit("htmlFlowData"),e.check(zue,F,D)($)):$===null||Ce($)?(e.exit("htmlFlowData"),D($)):(e.consume($),A)}function D($){return e.check(Fue,I,F)($)}function I($){return e.enter("lineEnding"),e.consume($),e.exit("lineEnding"),M}function M($){return $===null||Ce($)?D($):(e.enter("htmlFlowData"),A($))}function L($){return $===45?(e.consume($),T):A($)}function U($){return $===47?(e.consume($),o="",R):A($)}function R($){if($===62){const ae=o.toLowerCase();return LE.includes(ae)?(e.consume($),Z):A($)}return On($)&&o.length<8?(e.consume($),o+=String.fromCharCode($),R):A($)}function B($){return $===93?(e.consume($),T):A($)}function T($){return $===62?(e.consume($),Z):$===45&&a===2?(e.consume($),T):A($)}function Z($){return $===null||Ce($)?(e.exit("htmlFlowData"),F($)):(e.consume($),Z)}function F($){return e.exit("htmlFlow"),t($)}}function Hue(e,t,n){const r=this;return a;function a(o){return Ce(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),s):n(o)}function s(o){return r.parser.lazy[r.now().line]?n(o):t(o)}}function Gue(e,t,n){return r;function r(a){return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),e.attempt(ud,t,n)}}const que={name:"htmlText",tokenize:Kue};function Kue(e,t,n){const r=this;let a,s,o;return l;function l(T){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(T),c}function c(T){return T===33?(e.consume(T),u):T===47?(e.consume(T),S):T===63?(e.consume(T),w):On(T)?(e.consume(T),_):n(T)}function u(T){return T===45?(e.consume(T),d):T===91?(e.consume(T),s=0,m):On(T)?(e.consume(T),k):n(T)}function d(T){return T===45?(e.consume(T),p):n(T)}function f(T){return T===null?n(T):T===45?(e.consume(T),h):Ce(T)?(o=f,U(T)):(e.consume(T),f)}function h(T){return T===45?(e.consume(T),p):f(T)}function p(T){return T===62?L(T):T===45?h(T):f(T)}function m(T){const Z="CDATA[";return T===Z.charCodeAt(s++)?(e.consume(T),s===Z.length?g:m):n(T)}function g(T){return T===null?n(T):T===93?(e.consume(T),y):Ce(T)?(o=g,U(T)):(e.consume(T),g)}function y(T){return T===93?(e.consume(T),v):g(T)}function v(T){return T===62?L(T):T===93?(e.consume(T),v):g(T)}function k(T){return T===null||T===62?L(T):Ce(T)?(o=k,U(T)):(e.consume(T),k)}function w(T){return T===null?n(T):T===63?(e.consume(T),N):Ce(T)?(o=w,U(T)):(e.consume(T),w)}function N(T){return T===62?L(T):w(T)}function S(T){return On(T)?(e.consume(T),x):n(T)}function x(T){return T===45||jn(T)?(e.consume(T),x):E(T)}function E(T){return Ce(T)?(o=E,U(T)):De(T)?(e.consume(T),E):L(T)}function _(T){return T===45||jn(T)?(e.consume(T),_):T===47||T===62||lt(T)?O(T):n(T)}function O(T){return T===47?(e.consume(T),L):T===58||T===95||On(T)?(e.consume(T),C):Ce(T)?(o=O,U(T)):De(T)?(e.consume(T),O):L(T)}function C(T){return T===45||T===46||T===58||T===95||jn(T)?(e.consume(T),C):P(T)}function P(T){return T===61?(e.consume(T),A):Ce(T)?(o=P,U(T)):De(T)?(e.consume(T),P):O(T)}function A(T){return T===null||T===60||T===61||T===62||T===96?n(T):T===34||T===39?(e.consume(T),a=T,D):Ce(T)?(o=A,U(T)):De(T)?(e.consume(T),A):(e.consume(T),I)}function D(T){return T===a?(e.consume(T),a=void 0,M):T===null?n(T):Ce(T)?(o=D,U(T)):(e.consume(T),D)}function I(T){return T===null||T===34||T===39||T===60||T===61||T===96?n(T):T===47||T===62||lt(T)?O(T):(e.consume(T),I)}function M(T){return T===47||T===62||lt(T)?O(T):n(T)}function L(T){return T===62?(e.consume(T),e.exit("htmlTextData"),e.exit("htmlText"),t):n(T)}function U(T){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(T),e.exit("lineEnding"),R}function R(T){return De(T)?ze(e,B,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(T):B(T)}function B(T){return e.enter("htmlTextData"),o(T)}}const N0={name:"labelEnd",resolveAll:Que,resolveTo:Zue,tokenize:Jue},Vue={tokenize:ede},Yue={tokenize:tde},Xue={tokenize:nde};function Que(e){let t=-1;const n=[];for(;++t<e.length;){const r=e[t][1];if(n.push(e[t]),r.type==="labelImage"||r.type==="labelLink"||r.type==="labelEnd"){const a=r.type==="labelImage"?4:2;r.type="data",t+=a}}return e.length!==n.length&&ir(e,0,e.length,n),e}function Zue(e,t){let n=e.length,r=0,a,s,o,l;for(;n--;)if(a=e[n][1],s){if(a.type==="link"||a.type==="labelLink"&&a._inactive)break;e[n][0]==="enter"&&a.type==="labelLink"&&(a._inactive=!0)}else if(o){if(e[n][0]==="enter"&&(a.type==="labelImage"||a.type==="labelLink")&&!a._balanced&&(s=n,a.type!=="labelLink")){r=2;break}}else a.type==="labelEnd"&&(o=n);const c={type:e[s][1].type==="labelLink"?"link":"image",start:{...e[s][1].start},end:{...e[e.length-1][1].end}},u={type:"label",start:{...e[s][1].start},end:{...e[o][1].end}},d={type:"labelText",start:{...e[s+r+2][1].end},end:{...e[o-2][1].start}};return l=[["enter",c,t],["enter",u,t]],l=vr(l,e.slice(s+1,s+r+3)),l=vr(l,[["enter",d,t]]),l=vr(l,_m(t.parser.constructs.insideSpan.null,e.slice(s+r+4,o-3),t)),l=vr(l,[["exit",d,t],e[o-2],e[o-1],["exit",u,t]]),l=vr(l,e.slice(o+1)),l=vr(l,[["exit",c,t]]),ir(e,s,e.length,l),e}function Jue(e,t,n){const r=this;let a=r.events.length,s,o;for(;a--;)if((r.events[a][1].type==="labelImage"||r.events[a][1].type==="labelLink")&&!r.events[a][1]._balanced){s=r.events[a][1];break}return l;function l(h){return s?s._inactive?f(h):(o=r.parser.defined.includes(Ur(r.sliceSerialize({start:s.end,end:r.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(h),e.exit("labelMarker"),e.exit("labelEnd"),c):n(h)}function c(h){return h===40?e.attempt(Vue,d,o?d:f)(h):h===91?e.attempt(Yue,d,o?u:f)(h):o?d(h):f(h)}function u(h){return e.attempt(Xue,d,f)(h)}function d(h){return t(h)}function f(h){return s._balanced=!0,n(h)}}function ede(e,t,n){return r;function r(f){return e.enter("resource"),e.enter("resourceMarker"),e.consume(f),e.exit("resourceMarker"),a}function a(f){return lt(f)?Uc(e,s)(f):s(f)}function s(f){return f===41?d(f):zM(e,o,l,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(f)}function o(f){return lt(f)?Uc(e,c)(f):d(f)}function l(f){return n(f)}function c(f){return f===34||f===39||f===40?UM(e,u,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(f):d(f)}function u(f){return lt(f)?Uc(e,d)(f):d(f)}function d(f){return f===41?(e.enter("resourceMarker"),e.consume(f),e.exit("resourceMarker"),e.exit("resource"),t):n(f)}}function tde(e,t,n){const r=this;return a;function a(l){return FM.call(r,e,s,o,"reference","referenceMarker","referenceString")(l)}function s(l){return r.parser.defined.includes(Ur(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(l):n(l)}function o(l){return n(l)}}function nde(e,t,n){return r;function r(s){return e.enter("reference"),e.enter("referenceMarker"),e.consume(s),e.exit("referenceMarker"),a}function a(s){return s===93?(e.enter("referenceMarker"),e.consume(s),e.exit("referenceMarker"),e.exit("reference"),t):n(s)}}const rde={name:"labelStartImage",resolveAll:N0.resolveAll,tokenize:ade};function ade(e,t,n){const r=this;return a;function a(l){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(l),e.exit("labelImageMarker"),s}function s(l){return l===91?(e.enter("labelMarker"),e.consume(l),e.exit("labelMarker"),e.exit("labelImage"),o):n(l)}function o(l){return l===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(l):t(l)}}const ide={name:"labelStartLink",resolveAll:N0.resolveAll,tokenize:sde};function sde(e,t,n){const r=this;return a;function a(o){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(o),e.exit("labelMarker"),e.exit("labelLink"),s}function s(o){return o===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(o):t(o)}}const Qg={name:"lineEnding",tokenize:ode};function ode(e,t){return n;function n(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),ze(e,t,"linePrefix")}}const Pf={name:"thematicBreak",tokenize:lde};function lde(e,t,n){let r=0,a;return s;function s(u){return e.enter("thematicBreak"),o(u)}function o(u){return a=u,l(u)}function l(u){return u===a?(e.enter("thematicBreakSequence"),c(u)):r>=3&&(u===null||Ce(u))?(e.exit("thematicBreak"),t(u)):n(u)}function c(u){return u===a?(e.consume(u),r++,c):(e.exit("thematicBreakSequence"),De(u)?ze(e,l,"whitespace")(u):l(u))}}const Bn={continuation:{tokenize:fde},exit:pde,name:"list",tokenize:dde},cde={partial:!0,tokenize:mde},ude={partial:!0,tokenize:hde};function dde(e,t,n){const r=this,a=r.events[r.events.length-1];let s=a&&a[1].type==="linePrefix"?a[2].sliceSerialize(a[1],!0).length:0,o=0;return l;function l(p){const m=r.containerState.type||(p===42||p===43||p===45?"listUnordered":"listOrdered");if(m==="listUnordered"?!r.containerState.marker||p===r.containerState.marker:Yb(p)){if(r.containerState.type||(r.containerState.type=m,e.enter(m,{_container:!0})),m==="listUnordered")return e.enter("listItemPrefix"),p===42||p===45?e.check(Pf,n,u)(p):u(p);if(!r.interrupt||p===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),c(p)}return n(p)}function c(p){return Yb(p)&&++o<10?(e.consume(p),c):(!r.interrupt||o<2)&&(r.containerState.marker?p===r.containerState.marker:p===41||p===46)?(e.exit("listItemValue"),u(p)):n(p)}function u(p){return e.enter("listItemMarker"),e.consume(p),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||p,e.check(ud,r.interrupt?n:d,e.attempt(cde,h,f))}function d(p){return r.containerState.initialBlankLine=!0,s++,h(p)}function f(p){return De(p)?(e.enter("listItemPrefixWhitespace"),e.consume(p),e.exit("listItemPrefixWhitespace"),h):n(p)}function h(p){return r.containerState.size=s+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(p)}}function fde(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(ud,a,s);function a(l){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,ze(e,t,"listItemIndent",r.containerState.size+1)(l)}function s(l){return r.containerState.furtherBlankLines||!De(l)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(l)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(ude,t,o)(l))}function o(l){return r.containerState._closeFlow=!0,r.interrupt=void 0,ze(e,e.attempt(Bn,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(l)}}function hde(e,t,n){const r=this;return ze(e,a,"listItemIndent",r.containerState.size+1);function a(s){const o=r.events[r.events.length-1];return o&&o[1].type==="listItemIndent"&&o[2].sliceSerialize(o[1],!0).length===r.containerState.size?t(s):n(s)}}function pde(e){e.exit(this.containerState.type)}function mde(e,t,n){const r=this;return ze(e,a,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function a(s){const o=r.events[r.events.length-1];return!De(s)&&o&&o[1].type==="listItemPrefixWhitespace"?t(s):n(s)}}const DE={name:"setextUnderline",resolveTo:gde,tokenize:vde};function gde(e,t){let n=e.length,r,a,s;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(a=n)}else e[n][1].type==="content"&&e.splice(n,1),!s&&e[n][1].type==="definition"&&(s=n);const o={type:"setextHeading",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[a][1].type="setextHeadingText",s?(e.splice(a,0,["enter",o,t]),e.splice(s+1,0,["exit",e[r][1],t]),e[r][1].end={...e[s][1].end}):e[r][1]=o,e.push(["exit",o,t]),e}function vde(e,t,n){const r=this;let a;return s;function s(u){let d=r.events.length,f;for(;d--;)if(r.events[d][1].type!=="lineEnding"&&r.events[d][1].type!=="linePrefix"&&r.events[d][1].type!=="content"){f=r.events[d][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||f)?(e.enter("setextHeadingLine"),a=u,o(u)):n(u)}function o(u){return e.enter("setextHeadingLineSequence"),l(u)}function l(u){return u===a?(e.consume(u),l):(e.exit("setextHeadingLineSequence"),De(u)?ze(e,c,"lineSuffix")(u):c(u))}function c(u){return u===null||Ce(u)?(e.exit("setextHeadingLine"),t(u)):n(u)}}const yde={tokenize:bde};function bde(e){const t=this,n=e.attempt(ud,r,e.attempt(this.parser.constructs.flowInitial,a,ze(e,e.attempt(this.parser.constructs.flow,a,e.attempt(jue,a)),"linePrefix")));return n;function r(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function a(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const xde={resolveAll:HM()},wde=WM("string"),kde=WM("text");function WM(e){return{resolveAll:HM(e==="text"?Sde:void 0),tokenize:t};function t(n){const r=this,a=this.parser.constructs[e],s=n.attempt(a,o,l);return o;function o(d){return u(d)?s(d):l(d)}function l(d){if(d===null){n.consume(d);return}return n.enter("data"),n.consume(d),c}function c(d){return u(d)?(n.exit("data"),s(d)):(n.consume(d),c)}function u(d){if(d===null)return!0;const f=a[d];let h=-1;if(f)for(;++h<f.length;){const p=f[h];if(!p.previous||p.previous.call(r,r.previous))return!0}return!1}}}function HM(e){return t;function t(n,r){let a=-1,s;for(;++a<=n.length;)s===void 0?n[a]&&n[a][1].type==="data"&&(s=a,a++):(!n[a]||n[a][1].type!=="data")&&(a!==s+2&&(n[s][1].end=n[a-1][1].end,n.splice(s+2,a-s-2),a=s+2),s=void 0);return e?e(n,r):n}}function Sde(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||e[n][1].type==="lineEnding")&&e[n-1][1].type==="data"){const r=e[n-1][1],a=t.sliceStream(r);let s=a.length,o=-1,l=0,c;for(;s--;){const u=a[s];if(typeof u=="string"){for(o=u.length;u.charCodeAt(o-1)===32;)l++,o--;if(o)break;o=-1}else if(u===-2)c=!0,l++;else if(u!==-1){s++;break}}if(t._contentTypeTextTrailing&&n===e.length&&(l=0),l){const u={type:n===e.length||c||l<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:s?o:r.start._bufferIndex+o,_index:r.start._index+s,line:r.end.line,column:r.end.column-l,offset:r.end.offset-l},end:{...r.end}};r.end={...u.start},r.start.offset===r.end.offset?Object.assign(r,u):(e.splice(n,0,["enter",u,t],["exit",u,t]),n+=2)}n++}return e}const jde={42:Bn,43:Bn,45:Bn,48:Bn,49:Bn,50:Bn,51:Bn,52:Bn,53:Bn,54:Bn,55:Bn,56:Bn,57:Bn,62:$M},Nde={91:Aue},Ede={[-2]:Xg,[-1]:Xg,32:Xg},_de={35:Iue,42:Pf,45:[DE,Pf],60:Bue,61:DE,95:Pf,96:$E,126:$E},Cde={38:DM,92:LM},Ade={[-5]:Qg,[-4]:Qg,[-3]:Qg,33:rde,38:DM,42:Xb,60:[iue,que],91:ide,92:[Rue,LM],93:N0,95:Xb,96:yue},Tde={null:[Xb,xde]},Ode={null:[42,95]},Pde={null:[]},Rde=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:Ode,contentInitial:Nde,disable:Pde,document:jde,flow:_de,flowInitial:Ede,insideSpan:Tde,string:Cde,text:Ade},Symbol.toStringTag,{value:"Module"}));function Mde(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0};const a={},s=[];let o=[],l=[];const c={attempt:E(S),check:E(x),consume:k,enter:w,exit:N,interrupt:E(x,{interrupt:!0})},u={code:null,containerState:{},defineSkip:g,events:[],now:m,parser:e,previous:null,sliceSerialize:h,sliceStream:p,write:f};let d=t.tokenize.call(u,c);return t.resolveAll&&s.push(t),u;function f(P){return o=vr(o,P),y(),o[o.length-1]!==null?[]:(_(t,0),u.events=_m(s,u.events,u),u.events)}function h(P,A){return $de(p(P),A)}function p(P){return Ide(o,P)}function m(){const{_bufferIndex:P,_index:A,line:D,column:I,offset:M}=r;return{_bufferIndex:P,_index:A,line:D,column:I,offset:M}}function g(P){a[P.line]=P.column,C()}function y(){let P;for(;r._index<o.length;){const A=o[r._index];if(typeof A=="string")for(P=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===P&&r._bufferIndex<A.length;)v(A.charCodeAt(r._bufferIndex));else v(A)}}function v(P){d=d(P)}function k(P){Ce(P)?(r.line++,r.column=1,r.offset+=P===-3?2:1,C()):P!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===o[r._index].length&&(r._bufferIndex=-1,r._index++)),u.previous=P}function w(P,A){const D=A||{};return D.type=P,D.start=m(),u.events.push(["enter",D,u]),l.push(D),D}function N(P){const A=l.pop();return A.end=m(),u.events.push(["exit",A,u]),A}function S(P,A){_(P,A.from)}function x(P,A){A.restore()}function E(P,A){return D;function D(I,M,L){let U,R,B,T;return Array.isArray(I)?F(I):"tokenize"in I?F([I]):Z(I);function Z(me){return Ee;function Ee(J){const Y=J!==null&&me[J],re=J!==null&&me.null,le=[...Array.isArray(Y)?Y:Y?[Y]:[],...Array.isArray(re)?re:re?[re]:[]];return F(le)(J)}}function F(me){return U=me,R=0,me.length===0?L:$(me[R])}function $(me){return Ee;function Ee(J){return T=O(),B=me,me.partial||(u.currentConstruct=me),me.name&&u.parser.constructs.disable.null.includes(me.name)?ue():me.tokenize.call(A?Object.assign(Object.create(u),A):u,c,ae,ue)(J)}}function ae(me){return P(B,T),M}function ue(me){return T.restore(),++R<U.length?$(U[R]):L}}}function _(P,A){P.resolveAll&&!s.includes(P)&&s.push(P),P.resolve&&ir(u.events,A,u.events.length-A,P.resolve(u.events.slice(A),u)),P.resolveTo&&(u.events=P.resolveTo(u.events,u))}function O(){const P=m(),A=u.previous,D=u.currentConstruct,I=u.events.length,M=Array.from(l);return{from:I,restore:L};function L(){r=P,u.previous=A,u.currentConstruct=D,u.events.length=I,l=M,C()}}function C(){r.line in a&&r.column<2&&(r.column=a[r.line],r.offset+=a[r.line]-1)}}function Ide(e,t){const n=t.start._index,r=t.start._bufferIndex,a=t.end._index,s=t.end._bufferIndex;let o;if(n===a)o=[e[n].slice(r,s)];else{if(o=e.slice(n,a),r>-1){const l=o[0];typeof l=="string"?o[0]=l.slice(r):o.shift()}s>0&&o.push(e[a].slice(0,s))}return o}function $de(e,t){let n=-1;const r=[];let a;for(;++n<e.length;){const s=e[n];let o;if(typeof s=="string")o=s;else switch(s){case-5:{o="\r";break}case-4:{o=`
|
|
166
|
+
`;break}case-3:{o=`\r
|
|
167
|
+
`;break}case-2:{o=t?" ":" ";break}case-1:{if(!t&&a)continue;o=" ";break}default:o=String.fromCharCode(s)}a=s===-2,r.push(o)}return r.join("")}function Lde(e){const r={constructs:MM([Rde,...(e||{}).extensions||[]]),content:a(Zce),defined:[],document:a(eue),flow:a(yde),lazy:{},string:a(wde),text:a(kde)};return r;function a(s){return o;function o(l){return Mde(r,s,l)}}}function Dde(e){for(;!BM(e););return e}const BE=/[\0\t\n\r]/g;function Bde(){let e=1,t="",n=!0,r;return a;function a(s,o,l){const c=[];let u,d,f,h,p;for(s=t+(typeof s=="string"?s.toString():new TextDecoder(o||void 0).decode(s)),f=0,t="",n&&(s.charCodeAt(0)===65279&&f++,n=void 0);f<s.length;){if(BE.lastIndex=f,u=BE.exec(s),h=u&&u.index!==void 0?u.index:s.length,p=s.charCodeAt(h),!u){t=s.slice(f);break}if(p===10&&f===h&&r)c.push(-3),r=void 0;else switch(r&&(c.push(-5),r=void 0),f<h&&(c.push(s.slice(f,h)),e+=h-f),p){case 0:{c.push(65533),e++;break}case 9:{for(d=Math.ceil(e/4)*4,c.push(-2);e++<d;)c.push(-1);break}case 10:{c.push(-4),e=1;break}default:r=!0,e=1}f=h+1}return l&&(r&&c.push(-5),t&&c.push(t),c.push(null)),c}}const zde=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function Fde(e){return e.replace(zde,Ude)}function Ude(e,t,n){if(t)return t;if(n.charCodeAt(0)===35){const a=n.charCodeAt(1),s=a===120||a===88;return IM(n.slice(s?2:1),s?16:10)}return j0(n)||e}const GM={}.hasOwnProperty;function Wde(e,t,n){return t&&typeof t=="object"&&(n=t,t=void 0),Hde(n)(Dde(Lde(n).document().write(Bde()(e,t,!0))))}function Hde(e){const t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:s(Ve),autolinkProtocol:O,autolinkEmail:O,atxHeading:s(Oe),blockQuote:s(re),characterEscape:O,characterReference:O,codeFenced:s(le),codeFencedFenceInfo:o,codeFencedFenceMeta:o,codeIndented:s(le,o),codeText:s(H,o),codeTextData:O,data:O,codeFlowValue:O,definition:s(ye),definitionDestinationString:o,definitionLabelString:o,definitionTitleString:o,emphasis:s(xe),hardBreakEscape:s(pe),hardBreakTrailing:s(pe),htmlFlow:s(Re,o),htmlFlowData:O,htmlText:s(Re,o),htmlTextData:O,image:s(fe),label:o,link:s(Ve),listItem:s(_e),listItemValue:h,listOrdered:s($e,f),listUnordered:s($e),paragraph:s(pt),reference:$,referenceString:o,resourceDestinationString:o,resourceTitleString:o,setextHeading:s(Oe),strong:s(Fe),thematicBreak:s(Xt)},exit:{atxHeading:c(),atxHeadingSequence:S,autolink:c(),autolinkEmail:Y,autolinkProtocol:J,blockQuote:c(),characterEscapeValue:C,characterReferenceMarkerHexadecimal:ue,characterReferenceMarkerNumeric:ue,characterReferenceValue:me,characterReference:Ee,codeFenced:c(y),codeFencedFence:g,codeFencedFenceInfo:p,codeFencedFenceMeta:m,codeFlowValue:C,codeIndented:c(v),codeText:c(M),codeTextData:C,data:C,definition:c(),definitionDestinationString:N,definitionLabelString:k,definitionTitleString:w,emphasis:c(),hardBreakEscape:c(A),hardBreakTrailing:c(A),htmlFlow:c(D),htmlFlowData:C,htmlText:c(I),htmlTextData:C,image:c(U),label:B,labelText:R,lineEnding:P,link:c(L),listItem:c(),listOrdered:c(),listUnordered:c(),paragraph:c(),referenceString:ae,resourceDestinationString:T,resourceTitleString:Z,resource:F,setextHeading:c(_),setextHeadingLineSequence:E,setextHeadingText:x,strong:c(),thematicBreak:c()}};qM(t,(e||{}).mdastExtensions||[]);const n={};return r;function r(q){let X={type:"root",children:[]};const ie={stack:[X],tokenStack:[],config:t,enter:l,exit:u,buffer:o,resume:d,data:n},de=[];let we=-1;for(;++we<q.length;)if(q[we][1].type==="listOrdered"||q[we][1].type==="listUnordered")if(q[we][0]==="enter")de.push(we);else{const Me=de.pop();we=a(q,Me,we)}for(we=-1;++we<q.length;){const Me=t[q[we][0]];GM.call(Me,q[we][1].type)&&Me[q[we][1].type].call(Object.assign({sliceSerialize:q[we][2].sliceSerialize},ie),q[we][1])}if(ie.tokenStack.length>0){const Me=ie.tokenStack[ie.tokenStack.length-1];(Me[1]||zE).call(ie,void 0,Me[0])}for(X.position={start:ri(q.length>0?q[0][1].start:{line:1,column:1,offset:0}),end:ri(q.length>0?q[q.length-2][1].end:{line:1,column:1,offset:0})},we=-1;++we<t.transforms.length;)X=t.transforms[we](X)||X;return X}function a(q,X,ie){let de=X-1,we=-1,Me=!1,Ft,Ie,an,$n;for(;++de<=ie;){const kt=q[de];switch(kt[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{kt[0]==="enter"?we++:we--,$n=void 0;break}case"lineEndingBlank":{kt[0]==="enter"&&(Ft&&!$n&&!we&&!an&&(an=de),$n=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:$n=void 0}if(!we&&kt[0]==="enter"&&kt[1].type==="listItemPrefix"||we===-1&&kt[0]==="exit"&&(kt[1].type==="listUnordered"||kt[1].type==="listOrdered")){if(Ft){let It=de;for(Ie=void 0;It--;){const sn=q[It];if(sn[1].type==="lineEnding"||sn[1].type==="lineEndingBlank"){if(sn[0]==="exit")continue;Ie&&(q[Ie][1].type="lineEndingBlank",Me=!0),sn[1].type="lineEnding",Ie=It}else if(!(sn[1].type==="linePrefix"||sn[1].type==="blockQuotePrefix"||sn[1].type==="blockQuotePrefixWhitespace"||sn[1].type==="blockQuoteMarker"||sn[1].type==="listItemIndent"))break}an&&(!Ie||an<Ie)&&(Ft._spread=!0),Ft.end=Object.assign({},Ie?q[Ie][1].start:kt[1].end),q.splice(Ie||de,0,["exit",Ft,kt[2]]),de++,ie++}if(kt[1].type==="listItemPrefix"){const It={type:"listItem",_spread:!1,start:Object.assign({},kt[1].start),end:void 0};Ft=It,q.splice(de,0,["enter",It,kt[2]]),de++,ie++,an=void 0,$n=!0}}}return q[X][1]._spread=Me,ie}function s(q,X){return ie;function ie(de){l.call(this,q(de),de),X&&X.call(this,de)}}function o(){this.stack.push({type:"fragment",children:[]})}function l(q,X,ie){this.stack[this.stack.length-1].children.push(q),this.stack.push(q),this.tokenStack.push([X,ie||void 0]),q.position={start:ri(X.start),end:void 0}}function c(q){return X;function X(ie){q&&q.call(this,ie),u.call(this,ie)}}function u(q,X){const ie=this.stack.pop(),de=this.tokenStack.pop();if(de)de[0].type!==q.type&&(X?X.call(this,q,de[0]):(de[1]||zE).call(this,q,de[0]));else throw new Error("Cannot close `"+q.type+"` ("+Fc({start:q.start,end:q.end})+"): it’s not open");ie.position.end=ri(q.end)}function d(){return S0(this.stack.pop())}function f(){this.data.expectingFirstListItemValue=!0}function h(q){if(this.data.expectingFirstListItemValue){const X=this.stack[this.stack.length-2];X.start=Number.parseInt(this.sliceSerialize(q),10),this.data.expectingFirstListItemValue=void 0}}function p(){const q=this.resume(),X=this.stack[this.stack.length-1];X.lang=q}function m(){const q=this.resume(),X=this.stack[this.stack.length-1];X.meta=q}function g(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function y(){const q=this.resume(),X=this.stack[this.stack.length-1];X.value=q.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function v(){const q=this.resume(),X=this.stack[this.stack.length-1];X.value=q.replace(/(\r?\n|\r)$/g,"")}function k(q){const X=this.resume(),ie=this.stack[this.stack.length-1];ie.label=X,ie.identifier=Ur(this.sliceSerialize(q)).toLowerCase()}function w(){const q=this.resume(),X=this.stack[this.stack.length-1];X.title=q}function N(){const q=this.resume(),X=this.stack[this.stack.length-1];X.url=q}function S(q){const X=this.stack[this.stack.length-1];if(!X.depth){const ie=this.sliceSerialize(q).length;X.depth=ie}}function x(){this.data.setextHeadingSlurpLineEnding=!0}function E(q){const X=this.stack[this.stack.length-1];X.depth=this.sliceSerialize(q).codePointAt(0)===61?1:2}function _(){this.data.setextHeadingSlurpLineEnding=void 0}function O(q){const ie=this.stack[this.stack.length-1].children;let de=ie[ie.length-1];(!de||de.type!=="text")&&(de=it(),de.position={start:ri(q.start),end:void 0},ie.push(de)),this.stack.push(de)}function C(q){const X=this.stack.pop();X.value+=this.sliceSerialize(q),X.position.end=ri(q.end)}function P(q){const X=this.stack[this.stack.length-1];if(this.data.atHardBreak){const ie=X.children[X.children.length-1];ie.position.end=ri(q.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(X.type)&&(O.call(this,q),C.call(this,q))}function A(){this.data.atHardBreak=!0}function D(){const q=this.resume(),X=this.stack[this.stack.length-1];X.value=q}function I(){const q=this.resume(),X=this.stack[this.stack.length-1];X.value=q}function M(){const q=this.resume(),X=this.stack[this.stack.length-1];X.value=q}function L(){const q=this.stack[this.stack.length-1];if(this.data.inReference){const X=this.data.referenceType||"shortcut";q.type+="Reference",q.referenceType=X,delete q.url,delete q.title}else delete q.identifier,delete q.label;this.data.referenceType=void 0}function U(){const q=this.stack[this.stack.length-1];if(this.data.inReference){const X=this.data.referenceType||"shortcut";q.type+="Reference",q.referenceType=X,delete q.url,delete q.title}else delete q.identifier,delete q.label;this.data.referenceType=void 0}function R(q){const X=this.sliceSerialize(q),ie=this.stack[this.stack.length-2];ie.label=Fde(X),ie.identifier=Ur(X).toLowerCase()}function B(){const q=this.stack[this.stack.length-1],X=this.resume(),ie=this.stack[this.stack.length-1];if(this.data.inReference=!0,ie.type==="link"){const de=q.children;ie.children=de}else ie.alt=X}function T(){const q=this.resume(),X=this.stack[this.stack.length-1];X.url=q}function Z(){const q=this.resume(),X=this.stack[this.stack.length-1];X.title=q}function F(){this.data.inReference=void 0}function $(){this.data.referenceType="collapsed"}function ae(q){const X=this.resume(),ie=this.stack[this.stack.length-1];ie.label=X,ie.identifier=Ur(this.sliceSerialize(q)).toLowerCase(),this.data.referenceType="full"}function ue(q){this.data.characterReferenceType=q.type}function me(q){const X=this.sliceSerialize(q),ie=this.data.characterReferenceType;let de;ie?(de=IM(X,ie==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):de=j0(X);const we=this.stack[this.stack.length-1];we.value+=de}function Ee(q){const X=this.stack.pop();X.position.end=ri(q.end)}function J(q){C.call(this,q);const X=this.stack[this.stack.length-1];X.url=this.sliceSerialize(q)}function Y(q){C.call(this,q);const X=this.stack[this.stack.length-1];X.url="mailto:"+this.sliceSerialize(q)}function re(){return{type:"blockquote",children:[]}}function le(){return{type:"code",lang:null,meta:null,value:""}}function H(){return{type:"inlineCode",value:""}}function ye(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function xe(){return{type:"emphasis",children:[]}}function Oe(){return{type:"heading",depth:0,children:[]}}function pe(){return{type:"break"}}function Re(){return{type:"html",value:""}}function fe(){return{type:"image",title:null,url:"",alt:null}}function Ve(){return{type:"link",title:null,url:"",children:[]}}function $e(q){return{type:"list",ordered:q.type==="listOrdered",start:null,spread:q._spread,children:[]}}function _e(q){return{type:"listItem",spread:q._spread,checked:null,children:[]}}function pt(){return{type:"paragraph",children:[]}}function Fe(){return{type:"strong",children:[]}}function it(){return{type:"text",value:""}}function Xt(){return{type:"thematicBreak"}}}function ri(e){return{line:e.line,column:e.column,offset:e.offset}}function qM(e,t){let n=-1;for(;++n<t.length;){const r=t[n];Array.isArray(r)?qM(e,r):Gde(e,r)}}function Gde(e,t){let n;for(n in t)if(GM.call(t,n))switch(n){case"canContainEols":{const r=t[n];r&&e[n].push(...r);break}case"transforms":{const r=t[n];r&&e[n].push(...r);break}case"enter":case"exit":{const r=t[n];r&&Object.assign(e[n],r);break}}}function zE(e,t){throw e?new Error("Cannot close `"+e.type+"` ("+Fc({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+Fc({start:t.start,end:t.end})+") is open"):new Error("Cannot close document, a token (`"+t.type+"`, "+Fc({start:t.start,end:t.end})+") is still open")}function qde(e){const t=this;t.parser=n;function n(r){return Wde(r,{...t.data("settings"),...e,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})}}function Kde(e,t){const n={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)}function Vde(e,t){const n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:`
|
|
168
|
+
`}]}function Yde(e,t){const n=t.value?t.value+`
|
|
169
|
+
`:"",r={},a=t.lang?t.lang.split(/\s+/):[];a.length>0&&(r.className=["language-"+a[0]]);let s={type:"element",tagName:"code",properties:r,children:[{type:"text",value:n}]};return t.meta&&(s.data={meta:t.meta}),e.patch(t,s),s=e.applyData(t,s),s={type:"element",tagName:"pre",properties:{},children:[s]},e.patch(t,s),s}function Xde(e,t){const n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Qde(e,t){const n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Zde(e,t){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",r=String(t.identifier).toUpperCase(),a=Dl(r.toLowerCase()),s=e.footnoteOrder.indexOf(r);let o,l=e.footnoteCounts.get(r);l===void 0?(l=0,e.footnoteOrder.push(r),o=e.footnoteOrder.length):o=s+1,l+=1,e.footnoteCounts.set(r,l);const c={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+a,id:n+"fnref-"+a+(l>1?"-"+l:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(o)}]};e.patch(t,c);const u={type:"element",tagName:"sup",properties:{},children:[c]};return e.patch(t,u),e.applyData(t,u)}function Jde(e,t){const n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function efe(e,t){if(e.options.allowDangerousHtml){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function KM(e,t){const n=t.referenceType;let r="]";if(n==="collapsed"?r+="[]":n==="full"&&(r+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+r}];const a=e.all(t),s=a[0];s&&s.type==="text"?s.value="["+s.value:a.unshift({type:"text",value:"["});const o=a[a.length-1];return o&&o.type==="text"?o.value+=r:a.push({type:"text",value:r}),a}function tfe(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return KM(e,t);const a={src:Dl(r.url||""),alt:t.alt};r.title!==null&&r.title!==void 0&&(a.title=r.title);const s={type:"element",tagName:"img",properties:a,children:[]};return e.patch(t,s),e.applyData(t,s)}function nfe(e,t){const n={src:Dl(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)}function rfe(e,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);const r={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)}function afe(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return KM(e,t);const a={href:Dl(r.url||"")};r.title!==null&&r.title!==void 0&&(a.title=r.title);const s={type:"element",tagName:"a",properties:a,children:e.all(t)};return e.patch(t,s),e.applyData(t,s)}function ife(e,t){const n={href:Dl(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function sfe(e,t,n){const r=e.all(t),a=n?ofe(n):VM(t),s={},o=[];if(typeof t.checked=="boolean"){const d=r[0];let f;d&&d.type==="element"&&d.tagName==="p"?f=d:(f={type:"element",tagName:"p",properties:{},children:[]},r.unshift(f)),f.children.length>0&&f.children.unshift({type:"text",value:" "}),f.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),s.className=["task-list-item"]}let l=-1;for(;++l<r.length;){const d=r[l];(a||l!==0||d.type!=="element"||d.tagName!=="p")&&o.push({type:"text",value:`
|
|
170
|
+
`}),d.type==="element"&&d.tagName==="p"&&!a?o.push(...d.children):o.push(d)}const c=r[r.length-1];c&&(a||c.type!=="element"||c.tagName!=="p")&&o.push({type:"text",value:`
|
|
171
|
+
`});const u={type:"element",tagName:"li",properties:s,children:o};return e.patch(t,u),e.applyData(t,u)}function ofe(e){let t=!1;if(e.type==="list"){t=e.spread||!1;const n=e.children;let r=-1;for(;!t&&++r<n.length;)t=VM(n[r])}return t}function VM(e){const t=e.spread;return t??e.children.length>1}function lfe(e,t){const n={},r=e.all(t);let a=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++a<r.length;){const o=r[a];if(o.type==="element"&&o.tagName==="li"&&o.properties&&Array.isArray(o.properties.className)&&o.properties.className.includes("task-list-item")){n.className=["contains-task-list"];break}}const s={type:"element",tagName:t.ordered?"ol":"ul",properties:n,children:e.wrap(r,!0)};return e.patch(t,s),e.applyData(t,s)}function cfe(e,t){const n={type:"element",tagName:"p",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function ufe(e,t){const n={type:"root",children:e.wrap(e.all(t))};return e.patch(t,n),e.applyData(t,n)}function dfe(e,t){const n={type:"element",tagName:"strong",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function ffe(e,t){const n=e.all(t),r=n.shift(),a=[];if(r){const o={type:"element",tagName:"thead",properties:{},children:e.wrap([r],!0)};e.patch(t.children[0],o),a.push(o)}if(n.length>0){const o={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},l=b0(t.children[1]),c=_M(t.children[t.children.length-1]);l&&c&&(o.position={start:l,end:c}),a.push(o)}const s={type:"element",tagName:"table",properties:{},children:e.wrap(a,!0)};return e.patch(t,s),e.applyData(t,s)}function hfe(e,t,n){const r=n?n.children:void 0,s=(r?r.indexOf(t):1)===0?"th":"td",o=n&&n.type==="table"?n.align:void 0,l=o?o.length:t.children.length;let c=-1;const u=[];for(;++c<l;){const f=t.children[c],h={},p=o?o[c]:void 0;p&&(h.align=p);let m={type:"element",tagName:s,properties:h,children:[]};f&&(m.children=e.all(f),e.patch(f,m),m=e.applyData(f,m)),u.push(m)}const d={type:"element",tagName:"tr",properties:{},children:e.wrap(u,!0)};return e.patch(t,d),e.applyData(t,d)}function pfe(e,t){const n={type:"element",tagName:"td",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}const FE=9,UE=32;function mfe(e){const t=String(e),n=/\r?\n|\r/g;let r=n.exec(t),a=0;const s=[];for(;r;)s.push(WE(t.slice(a,r.index),a>0,!0),r[0]),a=r.index+r[0].length,r=n.exec(t);return s.push(WE(t.slice(a),a>0,!1)),s.join("")}function WE(e,t,n){let r=0,a=e.length;if(t){let s=e.codePointAt(r);for(;s===FE||s===UE;)r++,s=e.codePointAt(r)}if(n){let s=e.codePointAt(a-1);for(;s===FE||s===UE;)a--,s=e.codePointAt(a-1)}return a>r?e.slice(r,a):""}function gfe(e,t){const n={type:"text",value:mfe(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function vfe(e,t){const n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}const yfe={blockquote:Kde,break:Vde,code:Yde,delete:Xde,emphasis:Qde,footnoteReference:Zde,heading:Jde,html:efe,imageReference:tfe,image:nfe,inlineCode:rfe,linkReference:afe,link:ife,listItem:sfe,list:lfe,paragraph:cfe,root:ufe,strong:dfe,table:ffe,tableCell:pfe,tableRow:hfe,text:gfe,thematicBreak:vfe,toml:lf,yaml:lf,definition:lf,footnoteDefinition:lf};function lf(){}const YM=-1,Cm=0,Wc=1,up=2,E0=3,_0=4,C0=5,A0=6,XM=7,QM=8,ZM=typeof self=="object"?self:globalThis,HE=(e,t)=>{switch(e){case"Function":case"SharedWorker":case"Worker":case"eval":case"setInterval":case"setTimeout":throw new TypeError("unable to deserialize "+e)}return new ZM[e](t)},bfe=(e,t)=>{const n=(a,s)=>(e.set(s,a),a),r=a=>{if(e.has(a))return e.get(a);const[s,o]=t[a];switch(s){case Cm:case YM:return n(o,a);case Wc:{const l=n([],a);for(const c of o)l.push(r(c));return l}case up:{const l=n({},a);for(const[c,u]of o)l[r(c)]=r(u);return l}case E0:return n(new Date(o),a);case _0:{const{source:l,flags:c}=o;return n(new RegExp(l,c),a)}case C0:{const l=n(new Map,a);for(const[c,u]of o)l.set(r(c),r(u));return l}case A0:{const l=n(new Set,a);for(const c of o)l.add(r(c));return l}case XM:{const{name:l,message:c}=o;return n(typeof ZM[l]=="function"?HE(l,c):new Error(c),a)}case QM:return n(BigInt(o),a);case"BigInt":return n(Object(BigInt(o)),a);case"ArrayBuffer":return n(new Uint8Array(o).buffer,o);case"DataView":{const{buffer:l}=new Uint8Array(o);return n(new DataView(l),o)}}return n(HE(s,o),a)};return r},GE=e=>bfe(new Map,e)(0),ss="",{toString:xfe}={},{keys:wfe}=Object,yc=e=>{const t=typeof e;if(t!=="object"||!e)return[Cm,t];const n=xfe.call(e).slice(8,-1);switch(n){case"Array":return[Wc,ss];case"Object":return[up,ss];case"Date":return[E0,ss];case"RegExp":return[_0,ss];case"Map":return[C0,ss];case"Set":return[A0,ss];case"DataView":return[Wc,n]}return n.includes("Array")?[Wc,n]:e instanceof Error?[XM,e.name||"Error"]:[up,n]},cf=([e,t])=>e===Cm&&(t==="function"||t==="symbol"),kfe=(e,t,n,r)=>{const a=(o,l)=>{const c=r.push(o)-1;return n.set(l,c),c},s=o=>{if(n.has(o))return n.get(o);let[l,c]=yc(o);switch(l){case Cm:{let d=o;switch(c){case"bigint":l=QM,d=o.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+c);d=null;break;case"undefined":return a([YM],o)}return a([l,d],o)}case Wc:{if(c){let h=o;return c==="DataView"?h=new Uint8Array(o.buffer):c==="ArrayBuffer"&&(h=new Uint8Array(o)),a([c,[...h]],o)}const d=[],f=a([l,d],o);for(const h of o)d.push(s(h));return f}case up:{if(c)switch(c){case"BigInt":return a([c,o.toString()],o);case"Boolean":case"Number":case"String":return a([c,o.valueOf()],o)}if(t&&"toJSON"in o)return s(o.toJSON());const d=[],f=a([l,d],o);for(const h of wfe(o))(e||!cf(yc(o[h])))&&d.push([s(h),s(o[h])]);return f}case E0:return a([l,isNaN(o.getTime())?ss:o.toISOString()],o);case _0:{const{source:d,flags:f}=o;return a([l,{source:d,flags:f}],o)}case C0:{const d=[],f=a([l,d],o);for(const[h,p]of o)(e||!(cf(yc(h))||cf(yc(p))))&&d.push([s(h),s(p)]);return f}case A0:{const d=[],f=a([l,d],o);for(const h of o)(e||!cf(yc(h)))&&d.push(s(h));return f}}const{message:u}=o;return a([l,{name:c,message:u}],o)};return s},qE=(e,{json:t,lossy:n}={})=>{const r=[];return kfe(!(t||n),!!t,new Map,r)(e),r},dp=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?GE(qE(e,t)):structuredClone(e):(e,t)=>GE(qE(e,t));function Sfe(e,t){const n=[{type:"text",value:"↩"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function jfe(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function Nfe(e){const t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||Sfe,r=e.options.footnoteBackLabel||jfe,a=e.options.footnoteLabel||"Footnotes",s=e.options.footnoteLabelTagName||"h2",o=e.options.footnoteLabelProperties||{className:["sr-only"]},l=[];let c=-1;for(;++c<e.footnoteOrder.length;){const u=e.footnoteById.get(e.footnoteOrder[c]);if(!u)continue;const d=e.all(u),f=String(u.identifier).toUpperCase(),h=Dl(f.toLowerCase());let p=0;const m=[],g=e.footnoteCounts.get(f);for(;g!==void 0&&++p<=g;){m.length>0&&m.push({type:"text",value:" "});let k=typeof n=="string"?n:n(c,p);typeof k=="string"&&(k={type:"text",value:k}),m.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+h+(p>1?"-"+p:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(c,p),className:["data-footnote-backref"]},children:Array.isArray(k)?k:[k]})}const y=d[d.length-1];if(y&&y.type==="element"&&y.tagName==="p"){const k=y.children[y.children.length-1];k&&k.type==="text"?k.value+=" ":y.children.push({type:"text",value:" "}),y.children.push(...m)}else d.push(...m);const v={type:"element",tagName:"li",properties:{id:t+"fn-"+h},children:e.wrap(d,!0)};e.patch(u,v),l.push(v)}if(l.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:s,properties:{...dp(o),id:"footnote-label"},children:[{type:"text",value:a}]},{type:"text",value:`
|
|
172
|
+
`},{type:"element",tagName:"ol",properties:{},children:e.wrap(l,!0)},{type:"text",value:`
|
|
173
|
+
`}]}}const dd=function(e){if(e==null)return Afe;if(typeof e=="function")return Am(e);if(typeof e=="object")return Array.isArray(e)?Efe(e):_fe(e);if(typeof e=="string")return Cfe(e);throw new Error("Expected function, string, or object as test")};function Efe(e){const t=[];let n=-1;for(;++n<e.length;)t[n]=dd(e[n]);return Am(r);function r(...a){let s=-1;for(;++s<t.length;)if(t[s].apply(this,a))return!0;return!1}}function _fe(e){const t=e;return Am(n);function n(r){const a=r;let s;for(s in e)if(a[s]!==t[s])return!1;return!0}}function Cfe(e){return Am(t);function t(n){return n&&n.type===e}}function Am(e){return t;function t(n,r,a){return!!(Tfe(n)&&e.call(this,n,typeof r=="number"?r:void 0,a||void 0))}}function Afe(){return!0}function Tfe(e){return e!==null&&typeof e=="object"&&"type"in e}const JM=[],Ofe=!0,Qb=!1,Pfe="skip";function eI(e,t,n,r){let a;typeof t=="function"&&typeof n!="function"?(r=n,n=t):a=t;const s=dd(a),o=r?-1:1;l(e,void 0,[])();function l(c,u,d){const f=c&&typeof c=="object"?c:{};if(typeof f.type=="string"){const p=typeof f.tagName=="string"?f.tagName:typeof f.name=="string"?f.name:void 0;Object.defineProperty(h,"name",{value:"node ("+(c.type+(p?"<"+p+">":""))+")"})}return h;function h(){let p=JM,m,g,y;if((!t||s(c,u,d[d.length-1]||void 0))&&(p=Rfe(n(c,d)),p[0]===Qb))return p;if("children"in c&&c.children){const v=c;if(v.children&&p[0]!==Pfe)for(g=(r?v.children.length:-1)+o,y=d.concat(v);g>-1&&g<v.children.length;){const k=v.children[g];if(m=l(k,g,y)(),m[0]===Qb)return m;g=typeof m[1]=="number"?m[1]:g+o}}return p}}}function Rfe(e){return Array.isArray(e)?e:typeof e=="number"?[Ofe,e]:e==null?JM:[e]}function Tm(e,t,n,r){let a,s,o;typeof t=="function"&&typeof n!="function"?(s=void 0,o=t,a=n):(s=t,o=n,a=r),eI(e,s,l,a);function l(c,u){const d=u[u.length-1],f=d?d.children.indexOf(c):void 0;return o(c,f,d)}}const Zb={}.hasOwnProperty,Mfe={};function Ife(e,t){const n=t||Mfe,r=new Map,a=new Map,s=new Map,o={...yfe,...n.handlers},l={all:u,applyData:Lfe,definitionById:r,footnoteById:a,footnoteCounts:s,footnoteOrder:[],handlers:o,one:c,options:n,patch:$fe,wrap:Bfe};return Tm(e,function(d){if(d.type==="definition"||d.type==="footnoteDefinition"){const f=d.type==="definition"?r:a,h=String(d.identifier).toUpperCase();f.has(h)||f.set(h,d)}}),l;function c(d,f){const h=d.type,p=l.handlers[h];if(Zb.call(l.handlers,h)&&p)return p(l,d,f);if(l.options.passThrough&&l.options.passThrough.includes(h)){if("children"in d){const{children:g,...y}=d,v=dp(y);return v.children=l.all(d),v}return dp(d)}return(l.options.unknownHandler||Dfe)(l,d,f)}function u(d){const f=[];if("children"in d){const h=d.children;let p=-1;for(;++p<h.length;){const m=l.one(h[p],d);if(m){if(p&&h[p-1].type==="break"&&(!Array.isArray(m)&&m.type==="text"&&(m.value=KE(m.value)),!Array.isArray(m)&&m.type==="element")){const g=m.children[0];g&&g.type==="text"&&(g.value=KE(g.value))}Array.isArray(m)?f.push(...m):f.push(m)}}}return f}}function $fe(e,t){e.position&&(t.position=jce(e))}function Lfe(e,t){let n=t;if(e&&e.data){const r=e.data.hName,a=e.data.hChildren,s=e.data.hProperties;if(typeof r=="string")if(n.type==="element")n.tagName=r;else{const o="children"in n?n.children:[n];n={type:"element",tagName:r,properties:{},children:o}}n.type==="element"&&s&&Object.assign(n.properties,dp(s)),"children"in n&&n.children&&a!==null&&a!==void 0&&(n.children=a)}return n}function Dfe(e,t){const n=t.data||{},r="value"in t&&!(Zb.call(n,"hProperties")||Zb.call(n,"hChildren"))?{type:"text",value:t.value}:{type:"element",tagName:"div",properties:{},children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function Bfe(e,t){const n=[];let r=-1;for(t&&n.push({type:"text",value:`
|
|
174
|
+
`});++r<e.length;)r&&n.push({type:"text",value:`
|
|
175
|
+
`}),n.push(e[r]);return t&&e.length>0&&n.push({type:"text",value:`
|
|
176
|
+
`}),n}function KE(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function VE(e,t){const n=Ife(e,t),r=n.one(e,void 0),a=Nfe(n),s=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return a&&s.children.push({type:"text",value:`
|
|
177
|
+
`},a),s}function zfe(e,t){return e&&"run"in e?async function(n,r){const a=VE(n,{file:r,...t});await e.run(a,r)}:function(n,r){return VE(n,{file:r,...e||t})}}function YE(e){if(e)throw e}var Rf=Object.prototype.hasOwnProperty,tI=Object.prototype.toString,XE=Object.defineProperty,QE=Object.getOwnPropertyDescriptor,ZE=function(t){return typeof Array.isArray=="function"?Array.isArray(t):tI.call(t)==="[object Array]"},JE=function(t){if(!t||tI.call(t)!=="[object Object]")return!1;var n=Rf.call(t,"constructor"),r=t.constructor&&t.constructor.prototype&&Rf.call(t.constructor.prototype,"isPrototypeOf");if(t.constructor&&!n&&!r)return!1;var a;for(a in t);return typeof a>"u"||Rf.call(t,a)},e_=function(t,n){XE&&n.name==="__proto__"?XE(t,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):t[n.name]=n.newValue},t_=function(t,n){if(n==="__proto__")if(Rf.call(t,n)){if(QE)return QE(t,n).value}else return;return t[n]},Ffe=function e(){var t,n,r,a,s,o,l=arguments[0],c=1,u=arguments.length,d=!1;for(typeof l=="boolean"&&(d=l,l=arguments[1]||{},c=2),(l==null||typeof l!="object"&&typeof l!="function")&&(l={});c<u;++c)if(t=arguments[c],t!=null)for(n in t)r=t_(l,n),a=t_(t,n),l!==a&&(d&&a&&(JE(a)||(s=ZE(a)))?(s?(s=!1,o=r&&ZE(r)?r:[]):o=r&&JE(r)?r:{},e_(l,{name:n,newValue:e(d,o,a)})):typeof a<"u"&&e_(l,{name:n,newValue:a}));return l};const Zg=Xe(Ffe);function Jb(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function Ufe(){const e=[],t={run:n,use:r};return t;function n(...a){let s=-1;const o=a.pop();if(typeof o!="function")throw new TypeError("Expected function as last argument, not "+o);l(null,...a);function l(c,...u){const d=e[++s];let f=-1;if(c){o(c);return}for(;++f<a.length;)(u[f]===null||u[f]===void 0)&&(u[f]=a[f]);a=u,d?Wfe(d,l)(...u):o(null,...u)}}function r(a){if(typeof a!="function")throw new TypeError("Expected `middelware` to be a function, not "+a);return e.push(a),t}}function Wfe(e,t){let n;return r;function r(...o){const l=e.length>o.length;let c;l&&o.push(a);try{c=e.apply(this,o)}catch(u){const d=u;if(l&&n)throw d;return a(d)}l||(c&&c.then&&typeof c.then=="function"?c.then(s,a):c instanceof Error?a(c):s(c))}function a(o,...l){n||(n=!0,t(o,...l))}function s(o){a(null,o)}}const aa={basename:Hfe,dirname:Gfe,extname:qfe,join:Kfe,sep:"/"};function Hfe(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');fd(e);let n=0,r=-1,a=e.length,s;if(t===void 0||t.length===0||t.length>e.length){for(;a--;)if(e.codePointAt(a)===47){if(s){n=a+1;break}}else r<0&&(s=!0,r=a+1);return r<0?"":e.slice(n,r)}if(t===e)return"";let o=-1,l=t.length-1;for(;a--;)if(e.codePointAt(a)===47){if(s){n=a+1;break}}else o<0&&(s=!0,o=a+1),l>-1&&(e.codePointAt(a)===t.codePointAt(l--)?l<0&&(r=a):(l=-1,r=o));return n===r?r=o:r<0&&(r=e.length),e.slice(n,r)}function Gfe(e){if(fd(e),e.length===0)return".";let t=-1,n=e.length,r;for(;--n;)if(e.codePointAt(n)===47){if(r){t=n;break}}else r||(r=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function qfe(e){fd(e);let t=e.length,n=-1,r=0,a=-1,s=0,o;for(;t--;){const l=e.codePointAt(t);if(l===47){if(o){r=t+1;break}continue}n<0&&(o=!0,n=t+1),l===46?a<0?a=t:s!==1&&(s=1):a>-1&&(s=-1)}return a<0||n<0||s===0||s===1&&a===n-1&&a===r+1?"":e.slice(a,n)}function Kfe(...e){let t=-1,n;for(;++t<e.length;)fd(e[t]),e[t]&&(n=n===void 0?e[t]:n+"/"+e[t]);return n===void 0?".":Vfe(n)}function Vfe(e){fd(e);const t=e.codePointAt(0)===47;let n=Yfe(e,!t);return n.length===0&&!t&&(n="."),n.length>0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function Yfe(e,t){let n="",r=0,a=-1,s=0,o=-1,l,c;for(;++o<=e.length;){if(o<e.length)l=e.codePointAt(o);else{if(l===47)break;l=47}if(l===47){if(!(a===o-1||s===1))if(a!==o-1&&s===2){if(n.length<2||r!==2||n.codePointAt(n.length-1)!==46||n.codePointAt(n.length-2)!==46){if(n.length>2){if(c=n.lastIndexOf("/"),c!==n.length-1){c<0?(n="",r=0):(n=n.slice(0,c),r=n.length-1-n.lastIndexOf("/")),a=o,s=0;continue}}else if(n.length>0){n="",r=0,a=o,s=0;continue}}t&&(n=n.length>0?n+"/..":"..",r=2)}else n.length>0?n+="/"+e.slice(a+1,o):n=e.slice(a+1,o),r=o-a-1;a=o,s=0}else l===46&&s>-1?s++:s=-1}return n}function fd(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const Xfe={cwd:Qfe};function Qfe(){return"/"}function ex(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function Zfe(e){if(typeof e=="string")e=new URL(e);else if(!ex(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return Jfe(e)}function Jfe(e){if(e.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const t=e.pathname;let n=-1;for(;++n<t.length;)if(t.codePointAt(n)===37&&t.codePointAt(n+1)===50){const r=t.codePointAt(n+2);if(r===70||r===102){const a=new TypeError("File URL path must not include encoded / characters");throw a.code="ERR_INVALID_FILE_URL_PATH",a}}return decodeURIComponent(t)}const Jg=["history","path","basename","stem","extname","dirname"];class nI{constructor(t){let n;t?ex(t)?n={path:t}:typeof t=="string"||ehe(t)?n={value:t}:n=t:n={},this.cwd="cwd"in n?"":Xfe.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let r=-1;for(;++r<Jg.length;){const s=Jg[r];s in n&&n[s]!==void 0&&n[s]!==null&&(this[s]=s==="history"?[...n[s]]:n[s])}let a;for(a in n)Jg.includes(a)||(this[a]=n[a])}get basename(){return typeof this.path=="string"?aa.basename(this.path):void 0}set basename(t){tv(t,"basename"),ev(t,"basename"),this.path=aa.join(this.dirname||"",t)}get dirname(){return typeof this.path=="string"?aa.dirname(this.path):void 0}set dirname(t){n_(this.basename,"dirname"),this.path=aa.join(t||"",this.basename)}get extname(){return typeof this.path=="string"?aa.extname(this.path):void 0}set extname(t){if(ev(t,"extname"),n_(this.dirname,"extname"),t){if(t.codePointAt(0)!==46)throw new Error("`extname` must start with `.`");if(t.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=aa.join(this.dirname,this.stem+(t||""))}get path(){return this.history[this.history.length-1]}set path(t){ex(t)&&(t=Zfe(t)),tv(t,"path"),this.path!==t&&this.history.push(t)}get stem(){return typeof this.path=="string"?aa.basename(this.path,this.extname):void 0}set stem(t){tv(t,"stem"),ev(t,"stem"),this.path=aa.join(this.dirname||"",t+(this.extname||""))}fail(t,n,r){const a=this.message(t,n,r);throw a.fatal=!0,a}info(t,n,r){const a=this.message(t,n,r);return a.fatal=void 0,a}message(t,n,r){const a=new En(t,n,r);return this.path&&(a.name=this.path+":"+a.name,a.file=this.path),a.fatal=!1,this.messages.push(a),a}toString(t){return this.value===void 0?"":typeof this.value=="string"?this.value:new TextDecoder(t||void 0).decode(this.value)}}function ev(e,t){if(e&&e.includes(aa.sep))throw new Error("`"+t+"` cannot be a path: did not expect `"+aa.sep+"`")}function tv(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}function n_(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` to be set too")}function ehe(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const the=function(e){const r=this.constructor.prototype,a=r[e],s=function(){return a.apply(s,arguments)};return Object.setPrototypeOf(s,r),s},nhe={}.hasOwnProperty;class T0 extends the{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=Ufe()}copy(){const t=new T0;let n=-1;for(;++n<this.attachers.length;){const r=this.attachers[n];t.use(...r)}return t.data(Zg(!0,{},this.namespace)),t}data(t,n){return typeof t=="string"?arguments.length===2?(av("data",this.frozen),this.namespace[t]=n,this):nhe.call(this.namespace,t)&&this.namespace[t]||void 0:t?(av("data",this.frozen),this.namespace=t,this):this.namespace}freeze(){if(this.frozen)return this;const t=this;for(;++this.freezeIndex<this.attachers.length;){const[n,...r]=this.attachers[this.freezeIndex];if(r[0]===!1)continue;r[0]===!0&&(r[0]=void 0);const a=n.call(t,...r);typeof a=="function"&&this.transformers.use(a)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(t){this.freeze();const n=uf(t),r=this.parser||this.Parser;return nv("parse",r),r(String(n),n)}process(t,n){const r=this;return this.freeze(),nv("process",this.parser||this.Parser),rv("process",this.compiler||this.Compiler),n?a(void 0,n):new Promise(a);function a(s,o){const l=uf(t),c=r.parse(l);r.run(c,l,function(d,f,h){if(d||!f||!h)return u(d);const p=f,m=r.stringify(p,h);ihe(m)?h.value=m:h.result=m,u(d,h)});function u(d,f){d||!f?o(d):s?s(f):n(void 0,f)}}}processSync(t){let n=!1,r;return this.freeze(),nv("processSync",this.parser||this.Parser),rv("processSync",this.compiler||this.Compiler),this.process(t,a),a_("processSync","process",n),r;function a(s,o){n=!0,YE(s),r=o}}run(t,n,r){r_(t),this.freeze();const a=this.transformers;return!r&&typeof n=="function"&&(r=n,n=void 0),r?s(void 0,r):new Promise(s);function s(o,l){const c=uf(n);a.run(t,c,u);function u(d,f,h){const p=f||t;d?l(d):o?o(p):r(void 0,p,h)}}}runSync(t,n){let r=!1,a;return this.run(t,n,s),a_("runSync","run",r),a;function s(o,l){YE(o),a=l,r=!0}}stringify(t,n){this.freeze();const r=uf(n),a=this.compiler||this.Compiler;return rv("stringify",a),r_(t),a(t,r)}use(t,...n){const r=this.attachers,a=this.namespace;if(av("use",this.frozen),t!=null)if(typeof t=="function")c(t,n);else if(typeof t=="object")Array.isArray(t)?l(t):o(t);else throw new TypeError("Expected usable value, not `"+t+"`");return this;function s(u){if(typeof u=="function")c(u,[]);else if(typeof u=="object")if(Array.isArray(u)){const[d,...f]=u;c(d,f)}else o(u);else throw new TypeError("Expected usable value, not `"+u+"`")}function o(u){if(!("plugins"in u)&&!("settings"in u))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");l(u.plugins),u.settings&&(a.settings=Zg(!0,a.settings,u.settings))}function l(u){let d=-1;if(u!=null)if(Array.isArray(u))for(;++d<u.length;){const f=u[d];s(f)}else throw new TypeError("Expected a list of plugins, not `"+u+"`")}function c(u,d){let f=-1,h=-1;for(;++f<r.length;)if(r[f][0]===u){h=f;break}if(h===-1)r.push([u,...d]);else if(d.length>0){let[p,...m]=d;const g=r[h][1];Jb(g)&&Jb(p)&&(p=Zg(!0,g,p)),r[h]=[u,p,...m]}}}}const rhe=new T0().freeze();function nv(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function rv(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function av(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function r_(e){if(!Jb(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function a_(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function uf(e){return ahe(e)?e:new nI(e)}function ahe(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function ihe(e){return typeof e=="string"||she(e)}function she(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const ohe="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",i_=[],s_={allowDangerousHtml:!0},lhe=/^(https?|ircs?|mailto|xmpp)$/i,che=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function uhe(e){const t=dhe(e),n=fhe(e);return hhe(t.runSync(t.parse(n),n),e)}function dhe(e){const t=e.rehypePlugins||i_,n=e.remarkPlugins||i_,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...s_}:s_;return rhe().use(qde).use(n).use(zfe,r).use(t)}function fhe(e){const t=e.children||"",n=new nI;return typeof t=="string"&&(n.value=t),n}function hhe(e,t){const n=t.allowedElements,r=t.allowElement,a=t.components,s=t.disallowedElements,o=t.skipHtml,l=t.unwrapDisallowed,c=t.urlTransform||phe;for(const d of che)Object.hasOwn(t,d.from)&&(""+d.from+(d.to?"use `"+d.to+"` instead":"remove it")+ohe+d.id,void 0);return Tm(e,u),Ace(e,{Fragment:i.Fragment,components:a,ignoreInvalidStyle:!0,jsx:i.jsx,jsxs:i.jsxs,passKeys:!0,passNode:!0});function u(d,f,h){if(d.type==="raw"&&h&&typeof f=="number")return o?h.children.splice(f,1):h.children[f]={type:"text",value:d.value},f;if(d.type==="element"){let p;for(p in Yg)if(Object.hasOwn(Yg,p)&&Object.hasOwn(d.properties,p)){const m=d.properties[p],g=Yg[p];(g===null||g.includes(d.tagName))&&(d.properties[p]=c(String(m||""),p,d))}}if(d.type==="element"){let p=n?!n.includes(d.tagName):s?s.includes(d.tagName):!1;if(!p&&r&&typeof f=="number"&&(p=!r(d,f,h)),p&&h&&typeof f=="number")return l&&d.children?h.children.splice(f,1,...d.children):h.children.splice(f,1),f}}}function phe(e){const t=e.indexOf(":"),n=e.indexOf("?"),r=e.indexOf("#"),a=e.indexOf("/");return t===-1||a!==-1&&t>a||n!==-1&&t>n||r!==-1&&t>r||lhe.test(e.slice(0,t))?e:""}function o_(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let r=0,a=n.indexOf(t);for(;a!==-1;)r++,a=n.indexOf(t,a+t.length);return r}function mhe(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function ghe(e,t,n){const a=dd((n||{}).ignore||[]),s=vhe(t);let o=-1;for(;++o<s.length;)eI(e,"text",l);function l(u,d){let f=-1,h;for(;++f<d.length;){const p=d[f],m=h?h.children:void 0;if(a(p,m?m.indexOf(p):void 0,h))return;h=p}if(h)return c(u,d)}function c(u,d){const f=d[d.length-1],h=s[o][0],p=s[o][1];let m=0;const y=f.children.indexOf(u);let v=!1,k=[];h.lastIndex=0;let w=h.exec(u.value);for(;w;){const N=w.index,S={index:w.index,input:w.input,stack:[...d,u]};let x=p(...w,S);if(typeof x=="string"&&(x=x.length>0?{type:"text",value:x}:void 0),x===!1?h.lastIndex=N+1:(m!==N&&k.push({type:"text",value:u.value.slice(m,N)}),Array.isArray(x)?k.push(...x):x&&k.push(x),m=N+w[0].length,v=!0),!h.global)break;w=h.exec(u.value)}return v?(m<u.value.length&&k.push({type:"text",value:u.value.slice(m)}),f.children.splice(y,1,...k)):k=[u],y+k.length}}function vhe(e){const t=[];if(!Array.isArray(e))throw new TypeError("Expected find and replace tuple or list of tuples");const n=!e[0]||Array.isArray(e[0])?e:[e];let r=-1;for(;++r<n.length;){const a=n[r];t.push([yhe(a[0]),bhe(a[1])])}return t}function yhe(e){return typeof e=="string"?new RegExp(mhe(e),"g"):e}function bhe(e){return typeof e=="function"?e:function(){return e}}const iv="phrasing",sv=["autolink","link","image","label"];function xhe(){return{transforms:[_he],enter:{literalAutolink:khe,literalAutolinkEmail:ov,literalAutolinkHttp:ov,literalAutolinkWww:ov},exit:{literalAutolink:Ehe,literalAutolinkEmail:Nhe,literalAutolinkHttp:She,literalAutolinkWww:jhe}}}function whe(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:iv,notInConstruct:sv},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:iv,notInConstruct:sv},{character:":",before:"[ps]",after:"\\/",inConstruct:iv,notInConstruct:sv}]}}function khe(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function ov(e){this.config.enter.autolinkProtocol.call(this,e)}function She(e){this.config.exit.autolinkProtocol.call(this,e)}function jhe(e){this.config.exit.data.call(this,e);const t=this.stack[this.stack.length-1];t.type,t.url="http://"+this.sliceSerialize(e)}function Nhe(e){this.config.exit.autolinkEmail.call(this,e)}function Ehe(e){this.exit(e)}function _he(e){ghe(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,Che],[new RegExp("(?<=^|\\s|\\p{P}|\\p{S})([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)","gu"),Ahe]],{ignore:["link","linkReference"]})}function Che(e,t,n,r,a){let s="";if(!rI(a)||(/^w/i.test(t)&&(n=t+n,t="",s="http://"),!The(n)))return!1;const o=Ohe(n+r);if(!o[0])return!1;const l={type:"link",title:null,url:s+t+o[0],children:[{type:"text",value:t+o[0]}]};return o[1]?[l,{type:"text",value:o[1]}]:l}function Ahe(e,t,n,r){return!rI(r,!0)||/[-\d_]$/.test(n)?!1:{type:"link",title:null,url:"mailto:"+t+"@"+n,children:[{type:"text",value:t+"@"+n}]}}function The(e){const t=e.split(".");return!(t.length<2||t[t.length-1]&&(/_/.test(t[t.length-1])||!/[a-zA-Z\d]/.test(t[t.length-1]))||t[t.length-2]&&(/_/.test(t[t.length-2])||!/[a-zA-Z\d]/.test(t[t.length-2])))}function Ohe(e){const t=/[!"&'),.:;<>?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],r=n.indexOf(")");const a=o_(e,"(");let s=o_(e,")");for(;r!==-1&&a>s;)e+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(")"),s++;return[e,n]}function rI(e,t){const n=e.input.charCodeAt(e.index-1);return(e.index===0||$s(n)||Em(n))&&(!t||n!==47)}aI.peek=zhe;function Phe(){this.buffer()}function Rhe(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function Mhe(){this.buffer()}function Ihe(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function $he(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Ur(this.sliceSerialize(e)).toLowerCase(),n.label=t}function Lhe(e){this.exit(e)}function Dhe(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Ur(this.sliceSerialize(e)).toLowerCase(),n.label=t}function Bhe(e){this.exit(e)}function zhe(){return"["}function aI(e,t,n,r){const a=n.createTracker(r);let s=a.move("[^");const o=n.enter("footnoteReference"),l=n.enter("reference");return s+=a.move(n.safe(n.associationId(e),{after:"]",before:s})),l(),o(),s+=a.move("]"),s}function Fhe(){return{enter:{gfmFootnoteCallString:Phe,gfmFootnoteCall:Rhe,gfmFootnoteDefinitionLabelString:Mhe,gfmFootnoteDefinition:Ihe},exit:{gfmFootnoteCallString:$he,gfmFootnoteCall:Lhe,gfmFootnoteDefinitionLabelString:Dhe,gfmFootnoteDefinition:Bhe}}}function Uhe(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:aI},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(r,a,s,o){const l=s.createTracker(o);let c=l.move("[^");const u=s.enter("footnoteDefinition"),d=s.enter("label");return c+=l.move(s.safe(s.associationId(r),{before:c,after:"]"})),d(),c+=l.move("]:"),r.children&&r.children.length>0&&(l.shift(4),c+=l.move((t?`
|
|
178
|
+
`:" ")+s.indentLines(s.containerFlow(r,l.current()),t?iI:Whe))),u(),c}}function Whe(e,t,n){return t===0?e:iI(e,t,n)}function iI(e,t,n){return(n?"":" ")+e}const Hhe=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];sI.peek=Yhe;function Ghe(){return{canContainEols:["delete"],enter:{strikethrough:Khe},exit:{strikethrough:Vhe}}}function qhe(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:Hhe}],handlers:{delete:sI}}}function Khe(e){this.enter({type:"delete",children:[]},e)}function Vhe(e){this.exit(e)}function sI(e,t,n,r){const a=n.createTracker(r),s=n.enter("strikethrough");let o=a.move("~~");return o+=n.containerPhrasing(e,{...a.current(),before:o,after:"~"}),o+=a.move("~~"),s(),o}function Yhe(){return"~"}function Xhe(e){return e.length}function Qhe(e,t){const n=t||{},r=(n.align||[]).concat(),a=n.stringLength||Xhe,s=[],o=[],l=[],c=[];let u=0,d=-1;for(;++d<e.length;){const g=[],y=[];let v=-1;for(e[d].length>u&&(u=e[d].length);++v<e[d].length;){const k=Zhe(e[d][v]);if(n.alignDelimiters!==!1){const w=a(k);y[v]=w,(c[v]===void 0||w>c[v])&&(c[v]=w)}g.push(k)}o[d]=g,l[d]=y}let f=-1;if(typeof r=="object"&&"length"in r)for(;++f<u;)s[f]=l_(r[f]);else{const g=l_(r);for(;++f<u;)s[f]=g}f=-1;const h=[],p=[];for(;++f<u;){const g=s[f];let y="",v="";g===99?(y=":",v=":"):g===108?y=":":g===114&&(v=":");let k=n.alignDelimiters===!1?1:Math.max(1,c[f]-y.length-v.length);const w=y+"-".repeat(k)+v;n.alignDelimiters!==!1&&(k=y.length+k+v.length,k>c[f]&&(c[f]=k),p[f]=k),h[f]=w}o.splice(1,0,h),l.splice(1,0,p),d=-1;const m=[];for(;++d<o.length;){const g=o[d],y=l[d];f=-1;const v=[];for(;++f<u;){const k=g[f]||"";let w="",N="";if(n.alignDelimiters!==!1){const S=c[f]-(y[f]||0),x=s[f];x===114?w=" ".repeat(S):x===99?S%2?(w=" ".repeat(S/2+.5),N=" ".repeat(S/2-.5)):(w=" ".repeat(S/2),N=w):N=" ".repeat(S)}n.delimiterStart!==!1&&!f&&v.push("|"),n.padding!==!1&&!(n.alignDelimiters===!1&&k==="")&&(n.delimiterStart!==!1||f)&&v.push(" "),n.alignDelimiters!==!1&&v.push(w),v.push(k),n.alignDelimiters!==!1&&v.push(N),n.padding!==!1&&v.push(" "),(n.delimiterEnd!==!1||f!==u-1)&&v.push("|")}m.push(n.delimiterEnd===!1?v.join("").replace(/ +$/,""):v.join(""))}return m.join(`
|
|
179
|
+
`)}function Zhe(e){return e==null?"":String(e)}function l_(e){const t=typeof e=="string"?e.codePointAt(0):0;return t===67||t===99?99:t===76||t===108?108:t===82||t===114?114:0}function Jhe(e,t,n,r){const a=n.enter("blockquote"),s=n.createTracker(r);s.move("> "),s.shift(2);const o=n.indentLines(n.containerFlow(e,s.current()),epe);return a(),o}function epe(e,t,n){return">"+(n?"":" ")+e}function tpe(e,t){return c_(e,t.inConstruct,!0)&&!c_(e,t.notInConstruct,!1)}function c_(e,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return n;let r=-1;for(;++r<t.length;)if(e.includes(t[r]))return!0;return!1}function u_(e,t,n,r){let a=-1;for(;++a<n.unsafe.length;)if(n.unsafe[a].character===`
|
|
180
|
+
`&&tpe(n.stack,n.unsafe[a]))return/[ \t]/.test(r.before)?"":" ";return`\\
|
|
181
|
+
`}function npe(e,t){const n=String(e);let r=n.indexOf(t),a=r,s=0,o=0;if(typeof t!="string")throw new TypeError("Expected substring");for(;r!==-1;)r===a?++s>o&&(o=s):s=1,a=r+t.length,r=n.indexOf(t,a);return o}function rpe(e,t){return!!(t.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function ape(e){const t=e.options.fence||"`";if(t!=="`"&&t!=="~")throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function ipe(e,t,n,r){const a=ape(n),s=e.value||"",o=a==="`"?"GraveAccent":"Tilde";if(rpe(e,n)){const f=n.enter("codeIndented"),h=n.indentLines(s,spe);return f(),h}const l=n.createTracker(r),c=a.repeat(Math.max(npe(s,a)+1,3)),u=n.enter("codeFenced");let d=l.move(c);if(e.lang){const f=n.enter(`codeFencedLang${o}`);d+=l.move(n.safe(e.lang,{before:d,after:" ",encode:["`"],...l.current()})),f()}if(e.lang&&e.meta){const f=n.enter(`codeFencedMeta${o}`);d+=l.move(" "),d+=l.move(n.safe(e.meta,{before:d,after:`
|
|
182
|
+
`,encode:["`"],...l.current()})),f()}return d+=l.move(`
|
|
183
|
+
`),s&&(d+=l.move(s+`
|
|
184
|
+
`)),d+=l.move(c),u(),d}function spe(e,t,n){return(n?"":" ")+e}function O0(e){const t=e.options.quote||'"';if(t!=='"'&&t!=="'")throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function ope(e,t,n,r){const a=O0(n),s=a==='"'?"Quote":"Apostrophe",o=n.enter("definition");let l=n.enter("label");const c=n.createTracker(r);let u=c.move("[");return u+=c.move(n.safe(n.associationId(e),{before:u,after:"]",...c.current()})),u+=c.move("]: "),l(),!e.url||/[\0- \u007F]/.test(e.url)?(l=n.enter("destinationLiteral"),u+=c.move("<"),u+=c.move(n.safe(e.url,{before:u,after:">",...c.current()})),u+=c.move(">")):(l=n.enter("destinationRaw"),u+=c.move(n.safe(e.url,{before:u,after:e.title?" ":`
|
|
185
|
+
`,...c.current()}))),l(),e.title&&(l=n.enter(`title${s}`),u+=c.move(" "+a),u+=c.move(n.safe(e.title,{before:u,after:a,...c.current()})),u+=c.move(a),l()),o(),u}function lpe(e){const t=e.options.emphasis||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}function Ku(e){return"&#x"+e.toString(16).toUpperCase()+";"}function fp(e,t,n){const r=yl(e),a=yl(t);return r===void 0?a===void 0?n==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:a===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:r===1?a===void 0?{inside:!1,outside:!1}:a===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:a===void 0?{inside:!1,outside:!1}:a===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}oI.peek=cpe;function oI(e,t,n,r){const a=lpe(n),s=n.enter("emphasis"),o=n.createTracker(r),l=o.move(a);let c=o.move(n.containerPhrasing(e,{after:a,before:l,...o.current()}));const u=c.charCodeAt(0),d=fp(r.before.charCodeAt(r.before.length-1),u,a);d.inside&&(c=Ku(u)+c.slice(1));const f=c.charCodeAt(c.length-1),h=fp(r.after.charCodeAt(0),f,a);h.inside&&(c=c.slice(0,-1)+Ku(f));const p=o.move(a);return s(),n.attentionEncodeSurroundingInfo={after:h.outside,before:d.outside},l+c+p}function cpe(e,t,n){return n.options.emphasis||"*"}function upe(e,t){let n=!1;return Tm(e,function(r){if("value"in r&&/\r?\n|\r/.test(r.value)||r.type==="break")return n=!0,Qb}),!!((!e.depth||e.depth<3)&&S0(e)&&(t.options.setext||n))}function dpe(e,t,n,r){const a=Math.max(Math.min(6,e.depth||1),1),s=n.createTracker(r);if(upe(e,n)){const d=n.enter("headingSetext"),f=n.enter("phrasing"),h=n.containerPhrasing(e,{...s.current(),before:`
|
|
186
|
+
`,after:`
|
|
187
|
+
`});return f(),d(),h+`
|
|
188
|
+
`+(a===1?"=":"-").repeat(h.length-(Math.max(h.lastIndexOf("\r"),h.lastIndexOf(`
|
|
189
|
+
`))+1))}const o="#".repeat(a),l=n.enter("headingAtx"),c=n.enter("phrasing");s.move(o+" ");let u=n.containerPhrasing(e,{before:"# ",after:`
|
|
190
|
+
`,...s.current()});return/^[\t ]/.test(u)&&(u=Ku(u.charCodeAt(0))+u.slice(1)),u=u?o+" "+u:o,n.options.closeAtx&&(u+=" "+o),c(),l(),u}lI.peek=fpe;function lI(e){return e.value||""}function fpe(){return"<"}cI.peek=hpe;function cI(e,t,n,r){const a=O0(n),s=a==='"'?"Quote":"Apostrophe",o=n.enter("image");let l=n.enter("label");const c=n.createTracker(r);let u=c.move("![");return u+=c.move(n.safe(e.alt,{before:u,after:"]",...c.current()})),u+=c.move("]("),l(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(l=n.enter("destinationLiteral"),u+=c.move("<"),u+=c.move(n.safe(e.url,{before:u,after:">",...c.current()})),u+=c.move(">")):(l=n.enter("destinationRaw"),u+=c.move(n.safe(e.url,{before:u,after:e.title?" ":")",...c.current()}))),l(),e.title&&(l=n.enter(`title${s}`),u+=c.move(" "+a),u+=c.move(n.safe(e.title,{before:u,after:a,...c.current()})),u+=c.move(a),l()),u+=c.move(")"),o(),u}function hpe(){return"!"}uI.peek=ppe;function uI(e,t,n,r){const a=e.referenceType,s=n.enter("imageReference");let o=n.enter("label");const l=n.createTracker(r);let c=l.move("![");const u=n.safe(e.alt,{before:c,after:"]",...l.current()});c+=l.move(u+"]["),o();const d=n.stack;n.stack=[],o=n.enter("reference");const f=n.safe(n.associationId(e),{before:c,after:"]",...l.current()});return o(),n.stack=d,s(),a==="full"||!u||u!==f?c+=l.move(f+"]"):a==="shortcut"?c=c.slice(0,-1):c+=l.move("]"),c}function ppe(){return"!"}dI.peek=mpe;function dI(e,t,n){let r=e.value||"",a="`",s=-1;for(;new RegExp("(^|[^`])"+a+"([^`]|$)").test(r);)a+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++s<n.unsafe.length;){const o=n.unsafe[s],l=n.compilePattern(o);let c;if(o.atBreak)for(;c=l.exec(r);){let u=c.index;r.charCodeAt(u)===10&&r.charCodeAt(u-1)===13&&u--,r=r.slice(0,u)+" "+r.slice(c.index+1)}}return a+r+a}function mpe(){return"`"}function fI(e,t){const n=S0(e);return!!(!t.options.resourceLink&&e.url&&!e.title&&e.children&&e.children.length===1&&e.children[0].type==="text"&&(n===e.url||"mailto:"+n===e.url)&&/^[a-z][a-z+.-]+:/i.test(e.url)&&!/[\0- <>\u007F]/.test(e.url))}hI.peek=gpe;function hI(e,t,n,r){const a=O0(n),s=a==='"'?"Quote":"Apostrophe",o=n.createTracker(r);let l,c;if(fI(e,n)){const d=n.stack;n.stack=[],l=n.enter("autolink");let f=o.move("<");return f+=o.move(n.containerPhrasing(e,{before:f,after:">",...o.current()})),f+=o.move(">"),l(),n.stack=d,f}l=n.enter("link"),c=n.enter("label");let u=o.move("[");return u+=o.move(n.containerPhrasing(e,{before:u,after:"](",...o.current()})),u+=o.move("]("),c(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(c=n.enter("destinationLiteral"),u+=o.move("<"),u+=o.move(n.safe(e.url,{before:u,after:">",...o.current()})),u+=o.move(">")):(c=n.enter("destinationRaw"),u+=o.move(n.safe(e.url,{before:u,after:e.title?" ":")",...o.current()}))),c(),e.title&&(c=n.enter(`title${s}`),u+=o.move(" "+a),u+=o.move(n.safe(e.title,{before:u,after:a,...o.current()})),u+=o.move(a),c()),u+=o.move(")"),l(),u}function gpe(e,t,n){return fI(e,n)?"<":"["}pI.peek=vpe;function pI(e,t,n,r){const a=e.referenceType,s=n.enter("linkReference");let o=n.enter("label");const l=n.createTracker(r);let c=l.move("[");const u=n.containerPhrasing(e,{before:c,after:"]",...l.current()});c+=l.move(u+"]["),o();const d=n.stack;n.stack=[],o=n.enter("reference");const f=n.safe(n.associationId(e),{before:c,after:"]",...l.current()});return o(),n.stack=d,s(),a==="full"||!u||u!==f?c+=l.move(f+"]"):a==="shortcut"?c=c.slice(0,-1):c+=l.move("]"),c}function vpe(){return"["}function P0(e){const t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function ype(e){const t=P0(e),n=e.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function bpe(e){const t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function mI(e){const t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function xpe(e,t,n,r){const a=n.enter("list"),s=n.bulletCurrent;let o=e.ordered?bpe(n):P0(n);const l=e.ordered?o==="."?")":".":ype(n);let c=t&&n.bulletLastUsed?o===n.bulletLastUsed:!1;if(!e.ordered){const d=e.children?e.children[0]:void 0;if((o==="*"||o==="-")&&d&&(!d.children||!d.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(c=!0),mI(n)===o&&d){let f=-1;for(;++f<e.children.length;){const h=e.children[f];if(h&&h.type==="listItem"&&h.children&&h.children[0]&&h.children[0].type==="thematicBreak"){c=!0;break}}}}c&&(o=l),n.bulletCurrent=o;const u=n.containerFlow(e,r);return n.bulletLastUsed=o,n.bulletCurrent=s,a(),u}function wpe(e){const t=e.options.listItemIndent||"one";if(t!=="tab"&&t!=="one"&&t!=="mixed")throw new Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}function kpe(e,t,n,r){const a=wpe(n);let s=n.bulletCurrent||P0(n);t&&t.type==="list"&&t.ordered&&(s=(typeof t.start=="number"&&t.start>-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+s);let o=s.length+1;(a==="tab"||a==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(o=Math.ceil(o/4)*4);const l=n.createTracker(r);l.move(s+" ".repeat(o-s.length)),l.shift(o);const c=n.enter("listItem"),u=n.indentLines(n.containerFlow(e,l.current()),d);return c(),u;function d(f,h,p){return h?(p?"":" ".repeat(o))+f:(p?s:s+" ".repeat(o-s.length))+f}}function Spe(e,t,n,r){const a=n.enter("paragraph"),s=n.enter("phrasing"),o=n.containerPhrasing(e,r);return s(),a(),o}const jpe=dd(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function Npe(e,t,n,r){return(e.children.some(function(o){return jpe(o)})?n.containerPhrasing:n.containerFlow).call(n,e,r)}function Epe(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}gI.peek=_pe;function gI(e,t,n,r){const a=Epe(n),s=n.enter("strong"),o=n.createTracker(r),l=o.move(a+a);let c=o.move(n.containerPhrasing(e,{after:a,before:l,...o.current()}));const u=c.charCodeAt(0),d=fp(r.before.charCodeAt(r.before.length-1),u,a);d.inside&&(c=Ku(u)+c.slice(1));const f=c.charCodeAt(c.length-1),h=fp(r.after.charCodeAt(0),f,a);h.inside&&(c=c.slice(0,-1)+Ku(f));const p=o.move(a+a);return s(),n.attentionEncodeSurroundingInfo={after:h.outside,before:d.outside},l+c+p}function _pe(e,t,n){return n.options.strong||"*"}function Cpe(e,t,n,r){return n.safe(e.value,r)}function Ape(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function Tpe(e,t,n){const r=(mI(n)+(n.options.ruleSpaces?" ":"")).repeat(Ape(n));return n.options.ruleSpaces?r.slice(0,-1):r}const vI={blockquote:Jhe,break:u_,code:ipe,definition:ope,emphasis:oI,hardBreak:u_,heading:dpe,html:lI,image:cI,imageReference:uI,inlineCode:dI,link:hI,linkReference:pI,list:xpe,listItem:kpe,paragraph:Spe,root:Npe,strong:gI,text:Cpe,thematicBreak:Tpe};function Ope(){return{enter:{table:Ppe,tableData:d_,tableHeader:d_,tableRow:Mpe},exit:{codeText:Ipe,table:Rpe,tableData:lv,tableHeader:lv,tableRow:lv}}}function Ppe(e){const t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function Rpe(e){this.exit(e),this.data.inTable=void 0}function Mpe(e){this.enter({type:"tableRow",children:[]},e)}function lv(e){this.exit(e)}function d_(e){this.enter({type:"tableCell",children:[]},e)}function Ipe(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,$pe));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function $pe(e,t){return t==="|"?t:e}function Lpe(e){const t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,a=t.stringLength,s=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
|
|
191
|
+
`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:h,table:o,tableCell:c,tableRow:l}};function o(p,m,g,y){return u(d(p,g,y),p.align)}function l(p,m,g,y){const v=f(p,g,y),k=u([v]);return k.slice(0,k.indexOf(`
|
|
192
|
+
`))}function c(p,m,g,y){const v=g.enter("tableCell"),k=g.enter("phrasing"),w=g.containerPhrasing(p,{...y,before:s,after:s});return k(),v(),w}function u(p,m){return Qhe(p,{align:m,alignDelimiters:r,padding:n,stringLength:a})}function d(p,m,g){const y=p.children;let v=-1;const k=[],w=m.enter("table");for(;++v<y.length;)k[v]=f(y[v],m,g);return w(),k}function f(p,m,g){const y=p.children;let v=-1;const k=[],w=m.enter("tableRow");for(;++v<y.length;)k[v]=c(y[v],p,m,g);return w(),k}function h(p,m,g){let y=vI.inlineCode(p,m,g);return g.stack.includes("tableCell")&&(y=y.replace(/\|/g,"\\$&")),y}}function Dpe(){return{exit:{taskListCheckValueChecked:f_,taskListCheckValueUnchecked:f_,paragraph:zpe}}}function Bpe(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:Fpe}}}function f_(e){const t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function zpe(e){const t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){const n=this.stack[this.stack.length-1];n.type;const r=n.children[0];if(r&&r.type==="text"){const a=t.children;let s=-1,o;for(;++s<a.length;){const l=a[s];if(l.type==="paragraph"){o=l;break}}o===n&&(r.value=r.value.slice(1),r.value.length===0?n.children.shift():n.position&&r.position&&typeof r.position.start.offset=="number"&&(r.position.start.column++,r.position.start.offset++,n.position.start=Object.assign({},r.position.start)))}}this.exit(e)}function Fpe(e,t,n,r){const a=e.children[0],s=typeof e.checked=="boolean"&&a&&a.type==="paragraph",o="["+(e.checked?"x":" ")+"] ",l=n.createTracker(r);s&&l.move(o);let c=vI.listItem(e,t,n,{...r,...l.current()});return s&&(c=c.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,u)),c;function u(d){return d+o}}function Upe(){return[xhe(),Fhe(),Ghe(),Ope(),Dpe()]}function Wpe(e){return{extensions:[whe(),Uhe(e),qhe(),Lpe(e),Bpe()]}}const Hpe={tokenize:Xpe,partial:!0},yI={tokenize:Qpe,partial:!0},bI={tokenize:Zpe,partial:!0},xI={tokenize:Jpe,partial:!0},Gpe={tokenize:eme,partial:!0},wI={name:"wwwAutolink",tokenize:Vpe,previous:SI},kI={name:"protocolAutolink",tokenize:Ype,previous:jI},qa={name:"emailAutolink",tokenize:Kpe,previous:NI},ga={};function qpe(){return{text:ga}}let Ji=48;for(;Ji<123;)ga[Ji]=qa,Ji++,Ji===58?Ji=65:Ji===91&&(Ji=97);ga[43]=qa;ga[45]=qa;ga[46]=qa;ga[95]=qa;ga[72]=[qa,kI];ga[104]=[qa,kI];ga[87]=[qa,wI];ga[119]=[qa,wI];function Kpe(e,t,n){const r=this;let a,s;return o;function o(f){return!tx(f)||!NI.call(r,r.previous)||R0(r.events)?n(f):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),l(f))}function l(f){return tx(f)?(e.consume(f),l):f===64?(e.consume(f),c):n(f)}function c(f){return f===46?e.check(Gpe,d,u)(f):f===45||f===95||jn(f)?(s=!0,e.consume(f),c):d(f)}function u(f){return e.consume(f),a=!0,c}function d(f){return s&&a&&On(r.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(f)):n(f)}}function Vpe(e,t,n){const r=this;return a;function a(o){return o!==87&&o!==119||!SI.call(r,r.previous)||R0(r.events)?n(o):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(Hpe,e.attempt(yI,e.attempt(bI,s),n),n)(o))}function s(o){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(o)}}function Ype(e,t,n){const r=this;let a="",s=!1;return o;function o(f){return(f===72||f===104)&&jI.call(r,r.previous)&&!R0(r.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),a+=String.fromCodePoint(f),e.consume(f),l):n(f)}function l(f){if(On(f)&&a.length<5)return a+=String.fromCodePoint(f),e.consume(f),l;if(f===58){const h=a.toLowerCase();if(h==="http"||h==="https")return e.consume(f),c}return n(f)}function c(f){return f===47?(e.consume(f),s?u:(s=!0,c)):n(f)}function u(f){return f===null||cp(f)||lt(f)||$s(f)||Em(f)?n(f):e.attempt(yI,e.attempt(bI,d),n)(f)}function d(f){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(f)}}function Xpe(e,t,n){let r=0;return a;function a(o){return(o===87||o===119)&&r<3?(r++,e.consume(o),a):o===46&&r===3?(e.consume(o),s):n(o)}function s(o){return o===null?n(o):t(o)}}function Qpe(e,t,n){let r,a,s;return o;function o(u){return u===46||u===95?e.check(xI,c,l)(u):u===null||lt(u)||$s(u)||u!==45&&Em(u)?c(u):(s=!0,e.consume(u),o)}function l(u){return u===95?r=!0:(a=r,r=void 0),e.consume(u),o}function c(u){return a||r||!s?n(u):t(u)}}function Zpe(e,t){let n=0,r=0;return a;function a(o){return o===40?(n++,e.consume(o),a):o===41&&r<n?s(o):o===33||o===34||o===38||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===60||o===63||o===93||o===95||o===126?e.check(xI,t,s)(o):o===null||lt(o)||$s(o)?t(o):(e.consume(o),a)}function s(o){return o===41&&r++,e.consume(o),a}}function Jpe(e,t,n){return r;function r(l){return l===33||l===34||l===39||l===41||l===42||l===44||l===46||l===58||l===59||l===63||l===95||l===126?(e.consume(l),r):l===38?(e.consume(l),s):l===93?(e.consume(l),a):l===60||l===null||lt(l)||$s(l)?t(l):n(l)}function a(l){return l===null||l===40||l===91||lt(l)||$s(l)?t(l):r(l)}function s(l){return On(l)?o(l):n(l)}function o(l){return l===59?(e.consume(l),r):On(l)?(e.consume(l),o):n(l)}}function eme(e,t,n){return r;function r(s){return e.consume(s),a}function a(s){return jn(s)?n(s):t(s)}}function SI(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||lt(e)}function jI(e){return!On(e)}function NI(e){return!(e===47||tx(e))}function tx(e){return e===43||e===45||e===46||e===95||jn(e)}function R0(e){let t=e.length,n=!1;for(;t--;){const r=e[t][1];if((r.type==="labelLink"||r.type==="labelImage")&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const tme={tokenize:cme,partial:!0};function nme(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:sme,continuation:{tokenize:ome},exit:lme}},text:{91:{name:"gfmFootnoteCall",tokenize:ime},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:rme,resolveTo:ame}}}}function rme(e,t,n){const r=this;let a=r.events.length;const s=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let o;for(;a--;){const c=r.events[a][1];if(c.type==="labelImage"){o=c;break}if(c.type==="gfmFootnoteCall"||c.type==="labelLink"||c.type==="label"||c.type==="image"||c.type==="link")break}return l;function l(c){if(!o||!o._balanced)return n(c);const u=Ur(r.sliceSerialize({start:o.end,end:r.now()}));return u.codePointAt(0)!==94||!s.includes(u.slice(1))?n(c):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),t(c))}}function ame(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},a={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};a.end.column++,a.end.offset++,a.end._bufferIndex++;const s={type:"gfmFootnoteCallString",start:Object.assign({},a.end),end:Object.assign({},e[e.length-1][1].start)},o={type:"chunkString",contentType:"string",start:Object.assign({},s.start),end:Object.assign({},s.end)},l=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",a,t],["exit",a,t],["enter",s,t],["enter",o,t],["exit",o,t],["exit",s,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice(n,e.length-n+1,...l),e}function ime(e,t,n){const r=this,a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let s=0,o;return l;function l(f){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(f),e.exit("gfmFootnoteCallLabelMarker"),c}function c(f){return f!==94?n(f):(e.enter("gfmFootnoteCallMarker"),e.consume(f),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",u)}function u(f){if(s>999||f===93&&!o||f===null||f===91||lt(f))return n(f);if(f===93){e.exit("chunkString");const h=e.exit("gfmFootnoteCallString");return a.includes(Ur(r.sliceSerialize(h)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(f),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(f)}return lt(f)||(o=!0),s++,e.consume(f),f===92?d:u}function d(f){return f===91||f===92||f===93?(e.consume(f),s++,u):u(f)}}function sme(e,t,n){const r=this,a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let s,o=0,l;return c;function c(m){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(m){return m===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",d):n(m)}function d(m){if(o>999||m===93&&!l||m===null||m===91||lt(m))return n(m);if(m===93){e.exit("chunkString");const g=e.exit("gfmFootnoteDefinitionLabelString");return s=Ur(r.sliceSerialize(g)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(m),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),h}return lt(m)||(l=!0),o++,e.consume(m),m===92?f:d}function f(m){return m===91||m===92||m===93?(e.consume(m),o++,d):d(m)}function h(m){return m===58?(e.enter("definitionMarker"),e.consume(m),e.exit("definitionMarker"),a.includes(s)||a.push(s),ze(e,p,"gfmFootnoteDefinitionWhitespace")):n(m)}function p(m){return t(m)}}function ome(e,t,n){return e.check(ud,t,e.attempt(tme,t,n))}function lme(e){e.exit("gfmFootnoteDefinition")}function cme(e,t,n){const r=this;return ze(e,a,"gfmFootnoteDefinitionIndent",5);function a(s){const o=r.events[r.events.length-1];return o&&o[1].type==="gfmFootnoteDefinitionIndent"&&o[2].sliceSerialize(o[1],!0).length===4?t(s):n(s)}}function ume(e){let n=(e||{}).singleTilde;const r={name:"strikethrough",tokenize:s,resolveAll:a};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function a(o,l){let c=-1;for(;++c<o.length;)if(o[c][0]==="enter"&&o[c][1].type==="strikethroughSequenceTemporary"&&o[c][1]._close){let u=c;for(;u--;)if(o[u][0]==="exit"&&o[u][1].type==="strikethroughSequenceTemporary"&&o[u][1]._open&&o[c][1].end.offset-o[c][1].start.offset===o[u][1].end.offset-o[u][1].start.offset){o[c][1].type="strikethroughSequence",o[u][1].type="strikethroughSequence";const d={type:"strikethrough",start:Object.assign({},o[u][1].start),end:Object.assign({},o[c][1].end)},f={type:"strikethroughText",start:Object.assign({},o[u][1].end),end:Object.assign({},o[c][1].start)},h=[["enter",d,l],["enter",o[u][1],l],["exit",o[u][1],l],["enter",f,l]],p=l.parser.constructs.insideSpan.null;p&&ir(h,h.length,0,_m(p,o.slice(u+1,c),l)),ir(h,h.length,0,[["exit",f,l],["enter",o[c][1],l],["exit",o[c][1],l],["exit",d,l]]),ir(o,u-1,c-u+3,h),c=u+h.length-2;break}}for(c=-1;++c<o.length;)o[c][1].type==="strikethroughSequenceTemporary"&&(o[c][1].type="data");return o}function s(o,l,c){const u=this.previous,d=this.events;let f=0;return h;function h(m){return u===126&&d[d.length-1][1].type!=="characterEscape"?c(m):(o.enter("strikethroughSequenceTemporary"),p(m))}function p(m){const g=yl(u);if(m===126)return f>1?c(m):(o.consume(m),f++,p);if(f<2&&!n)return c(m);const y=o.exit("strikethroughSequenceTemporary"),v=yl(m);return y._open=!v||v===2&&!!g,y._close=!g||g===2&&!!v,l(m)}}}class dme{constructor(){this.map=[]}add(t,n,r){fme(this,t,n,r)}consume(t){if(this.map.sort(function(s,o){return s[0]-o[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push(t.slice()),t.length=0;let a=r.pop();for(;a;){for(const s of a)t.push(s);a=r.pop()}this.map.length=0}}function fme(e,t,n,r){let a=0;if(!(n===0&&r.length===0)){for(;a<e.map.length;){if(e.map[a][0]===t){e.map[a][1]+=n,e.map[a][2].push(...r);return}a+=1}e.map.push([t,n,r])}}function hme(e,t){let n=!1;const r=[];for(;t<e.length;){const a=e[t];if(n){if(a[0]==="enter")a[1].type==="tableContent"&&r.push(e[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(a[1].type==="tableContent"){if(e[t-1][1].type==="tableDelimiterMarker"){const s=r.length-1;r[s]=r[s]==="left"?"center":"right"}}else if(a[1].type==="tableDelimiterRow")break}else a[0]==="enter"&&a[1].type==="tableDelimiterRow"&&(n=!0);t+=1}return r}function pme(){return{flow:{null:{name:"table",tokenize:mme,resolveAll:gme}}}}function mme(e,t,n){const r=this;let a=0,s=0,o;return l;function l(C){let P=r.events.length-1;for(;P>-1;){const I=r.events[P][1].type;if(I==="lineEnding"||I==="linePrefix")P--;else break}const A=P>-1?r.events[P][1].type:null,D=A==="tableHead"||A==="tableRow"?x:c;return D===x&&r.parser.lazy[r.now().line]?n(C):D(C)}function c(C){return e.enter("tableHead"),e.enter("tableRow"),u(C)}function u(C){return C===124||(o=!0,s+=1),d(C)}function d(C){return C===null?n(C):Ce(C)?s>1?(s=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(C),e.exit("lineEnding"),p):n(C):De(C)?ze(e,d,"whitespace")(C):(s+=1,o&&(o=!1,a+=1),C===124?(e.enter("tableCellDivider"),e.consume(C),e.exit("tableCellDivider"),o=!0,d):(e.enter("data"),f(C)))}function f(C){return C===null||C===124||lt(C)?(e.exit("data"),d(C)):(e.consume(C),C===92?h:f)}function h(C){return C===92||C===124?(e.consume(C),f):f(C)}function p(C){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(C):(e.enter("tableDelimiterRow"),o=!1,De(C)?ze(e,m,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(C):m(C))}function m(C){return C===45||C===58?y(C):C===124?(o=!0,e.enter("tableCellDivider"),e.consume(C),e.exit("tableCellDivider"),g):S(C)}function g(C){return De(C)?ze(e,y,"whitespace")(C):y(C)}function y(C){return C===58?(s+=1,o=!0,e.enter("tableDelimiterMarker"),e.consume(C),e.exit("tableDelimiterMarker"),v):C===45?(s+=1,v(C)):C===null||Ce(C)?N(C):S(C)}function v(C){return C===45?(e.enter("tableDelimiterFiller"),k(C)):S(C)}function k(C){return C===45?(e.consume(C),k):C===58?(o=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(C),e.exit("tableDelimiterMarker"),w):(e.exit("tableDelimiterFiller"),w(C))}function w(C){return De(C)?ze(e,N,"whitespace")(C):N(C)}function N(C){return C===124?m(C):C===null||Ce(C)?!o||a!==s?S(C):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(C)):S(C)}function S(C){return n(C)}function x(C){return e.enter("tableRow"),E(C)}function E(C){return C===124?(e.enter("tableCellDivider"),e.consume(C),e.exit("tableCellDivider"),E):C===null||Ce(C)?(e.exit("tableRow"),t(C)):De(C)?ze(e,E,"whitespace")(C):(e.enter("data"),_(C))}function _(C){return C===null||C===124||lt(C)?(e.exit("data"),E(C)):(e.consume(C),C===92?O:_)}function O(C){return C===92||C===124?(e.consume(C),_):_(C)}}function gme(e,t){let n=-1,r=!0,a=0,s=[0,0,0,0],o=[0,0,0,0],l=!1,c=0,u,d,f;const h=new dme;for(;++n<e.length;){const p=e[n],m=p[1];p[0]==="enter"?m.type==="tableHead"?(l=!1,c!==0&&(h_(h,t,c,u,d),d=void 0,c=0),u={type:"table",start:Object.assign({},m.start),end:Object.assign({},m.end)},h.add(n,0,[["enter",u,t]])):m.type==="tableRow"||m.type==="tableDelimiterRow"?(r=!0,f=void 0,s=[0,0,0,0],o=[0,n+1,0,0],l&&(l=!1,d={type:"tableBody",start:Object.assign({},m.start),end:Object.assign({},m.end)},h.add(n,0,[["enter",d,t]])),a=m.type==="tableDelimiterRow"?2:d?3:1):a&&(m.type==="data"||m.type==="tableDelimiterMarker"||m.type==="tableDelimiterFiller")?(r=!1,o[2]===0&&(s[1]!==0&&(o[0]=o[1],f=df(h,t,s,a,void 0,f),s=[0,0,0,0]),o[2]=n)):m.type==="tableCellDivider"&&(r?r=!1:(s[1]!==0&&(o[0]=o[1],f=df(h,t,s,a,void 0,f)),s=o,o=[s[1],n,0,0])):m.type==="tableHead"?(l=!0,c=n):m.type==="tableRow"||m.type==="tableDelimiterRow"?(c=n,s[1]!==0?(o[0]=o[1],f=df(h,t,s,a,n,f)):o[1]!==0&&(f=df(h,t,o,a,n,f)),a=0):a&&(m.type==="data"||m.type==="tableDelimiterMarker"||m.type==="tableDelimiterFiller")&&(o[3]=n)}for(c!==0&&h_(h,t,c,u,d),h.consume(t.events),n=-1;++n<t.events.length;){const p=t.events[n];p[0]==="enter"&&p[1].type==="table"&&(p[1]._align=hme(t.events,n))}return e}function df(e,t,n,r,a,s){const o=r===1?"tableHeader":r===2?"tableDelimiter":"tableData",l="tableContent";n[0]!==0&&(s.end=Object.assign({},ho(t.events,n[0])),e.add(n[0],0,[["exit",s,t]]));const c=ho(t.events,n[1]);if(s={type:o,start:Object.assign({},c),end:Object.assign({},c)},e.add(n[1],0,[["enter",s,t]]),n[2]!==0){const u=ho(t.events,n[2]),d=ho(t.events,n[3]),f={type:l,start:Object.assign({},u),end:Object.assign({},d)};if(e.add(n[2],0,[["enter",f,t]]),r!==2){const h=t.events[n[2]],p=t.events[n[3]];if(h[1].end=Object.assign({},p[1].end),h[1].type="chunkText",h[1].contentType="text",n[3]>n[2]+1){const m=n[2]+1,g=n[3]-n[2]-1;e.add(m,g,[])}}e.add(n[3]+1,0,[["exit",f,t]])}return a!==void 0&&(s.end=Object.assign({},ho(t.events,a)),e.add(a,0,[["exit",s,t]]),s=void 0),s}function h_(e,t,n,r,a){const s=[],o=ho(t.events,n);a&&(a.end=Object.assign({},o),s.push(["exit",a,t])),r.end=Object.assign({},o),s.push(["exit",r,t]),e.add(n+1,0,s)}function ho(e,t){const n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}const vme={name:"tasklistCheck",tokenize:bme};function yme(){return{text:{91:vme}}}function bme(e,t,n){const r=this;return a;function a(c){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(c):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),s)}function s(c){return lt(c)?(e.enter("taskListCheckValueUnchecked"),e.consume(c),e.exit("taskListCheckValueUnchecked"),o):c===88||c===120?(e.enter("taskListCheckValueChecked"),e.consume(c),e.exit("taskListCheckValueChecked"),o):n(c)}function o(c){return c===93?(e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),l):n(c)}function l(c){return Ce(c)?t(c):De(c)?e.check({tokenize:xme},t,n)(c):n(c)}}function xme(e,t,n){return ze(e,r,"whitespace");function r(a){return a===null?n(a):t(a)}}function wme(e){return MM([qpe(),nme(),ume(e),pme(),yme()])}const kme={};function Sme(e){const t=this,n=e||kme,r=t.data(),a=r.micromarkExtensions||(r.micromarkExtensions=[]),s=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),o=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);a.push(wme(n)),s.push(Upe()),o.push(Wpe(n))}const p_=function(e,t,n){const r=dd(n);if(!e||!e.type||!e.children)throw new Error("Expected parent node");if(typeof t=="number"){if(t<0||t===Number.POSITIVE_INFINITY)throw new Error("Expected positive finite number as index")}else if(t=e.children.indexOf(t),t<0)throw new Error("Expected child node or index");for(;++t<e.children.length;)if(r(e.children[t],t,e))return e.children[t]},Hs=function(e){if(e==null)return Eme;if(typeof e=="string")return Nme(e);if(typeof e=="object")return jme(e);if(typeof e=="function")return M0(e);throw new Error("Expected function, string, or array as `test`")};function jme(e){const t=[];let n=-1;for(;++n<e.length;)t[n]=Hs(e[n]);return M0(r);function r(...a){let s=-1;for(;++s<t.length;)if(t[s].apply(this,a))return!0;return!1}}function Nme(e){return M0(t);function t(n){return n.tagName===e}}function M0(e){return t;function t(n,r,a){return!!(_me(n)&&e.call(this,n,typeof r=="number"?r:void 0,a||void 0))}}function Eme(e){return!!(e&&typeof e=="object"&&"type"in e&&e.type==="element"&&"tagName"in e&&typeof e.tagName=="string")}function _me(e){return e!==null&&typeof e=="object"&&"type"in e&&"tagName"in e}const m_=/\n/g,g_=/[\t ]+/g,nx=Hs("br"),v_=Hs(Ime),Cme=Hs("p"),y_=Hs("tr"),Ame=Hs(["datalist","head","noembed","noframes","noscript","rp","script","style","template","title",Mme,$me]),EI=Hs(["address","article","aside","blockquote","body","caption","center","dd","dialog","dir","dl","dt","div","figure","figcaption","footer","form,","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","legend","li","listing","main","menu","nav","ol","p","plaintext","pre","section","ul","xmp"]);function Tme(e,t){const n=t||{},r="children"in e?e.children:[],a=EI(e),s=AI(e,{whitespace:n.whitespace||"normal"}),o=[];(e.type==="text"||e.type==="comment")&&o.push(...CI(e,{breakBefore:!0,breakAfter:!0}));let l=-1;for(;++l<r.length;)o.push(..._I(r[l],e,{whitespace:s,breakBefore:l?void 0:a,breakAfter:l<r.length-1?nx(r[l+1]):a}));const c=[];let u;for(l=-1;++l<o.length;){const d=o[l];typeof d=="number"?u!==void 0&&d>u&&(u=d):d&&(u!==void 0&&u>-1&&c.push(`
|
|
193
|
+
`.repeat(u)||" "),u=-1,c.push(d))}return c.join("")}function _I(e,t,n){return e.type==="element"?Ome(e,t,n):e.type==="text"?n.whitespace==="normal"?CI(e,n):Pme(e):[]}function Ome(e,t,n){const r=AI(e,n),a=e.children||[];let s=-1,o=[];if(Ame(e))return o;let l,c;for(nx(e)||y_(e)&&p_(t,e,y_)?c=`
|
|
194
|
+
`:Cme(e)?(l=2,c=2):EI(e)&&(l=1,c=1);++s<a.length;)o=o.concat(_I(a[s],e,{whitespace:r,breakBefore:s?void 0:l,breakAfter:s<a.length-1?nx(a[s+1]):c}));return v_(e)&&p_(t,e,v_)&&o.push(" "),l&&o.unshift(l),c&&o.push(c),o}function CI(e,t){const n=String(e.value),r=[],a=[];let s=0;for(;s<=n.length;){m_.lastIndex=s;const c=m_.exec(n),u=c&&"index"in c?c.index:n.length;r.push(Rme(n.slice(s,u).replace(/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/g,""),s===0?t.breakBefore:!0,u===n.length?t.breakAfter:!0)),s=u+1}let o=-1,l;for(;++o<r.length;)r[o].charCodeAt(r[o].length-1)===8203||o<r.length-1&&r[o+1].charCodeAt(0)===8203?(a.push(r[o]),l=void 0):r[o]?(typeof l=="number"&&a.push(l),a.push(r[o]),l=0):(o===0||o===r.length-1)&&a.push(0);return a}function Pme(e){return[String(e.value)]}function Rme(e,t,n){const r=[];let a=0,s;for(;a<e.length;){g_.lastIndex=a;const o=g_.exec(e);s=o?o.index:e.length,!a&&!s&&o&&!t&&r.push(""),a!==s&&r.push(e.slice(a,s)),a=o?s+o[0].length:s}return a!==s&&!n&&r.push(""),r.join(" ")}function AI(e,t){if(e.type==="element"){const n=e.properties||{};switch(e.tagName){case"listing":case"plaintext":case"xmp":return"pre";case"nobr":return"nowrap";case"pre":return n.wrap?"pre-wrap":"pre";case"td":case"th":return n.noWrap?"nowrap":t.whitespace;case"textarea":return"pre-wrap"}}return t.whitespace}function Mme(e){return!!(e.properties||{}).hidden}function Ime(e){return e.tagName==="td"||e.tagName==="th"}function $me(e){return e.tagName==="dialog"&&!(e.properties||{}).open}function Lme(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),r="decltype\\(auto\\)",a="[a-zA-Z_]\\w*::",o="(?!struct)("+r+"|"+t.optional(a)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",l={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},f={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},h={className:"title",begin:t.optional(a)+e.IDENT_RE,relevance:0},p=t.optional(a)+e.IDENT_RE+"\\s*\\(",m=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],g=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],y=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],v=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],N={type:g,keyword:m,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:y},S={className:"function.dispatch",relevance:0,keywords:{_hint:v},begin:t.concat(/\b/,`(?!${m.join("|")})`,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},x=[S,f,l,n,e.C_BLOCK_COMMENT_MODE,d,u],E={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:N,contains:x.concat([{begin:/\(/,end:/\)/,keywords:N,contains:x.concat(["self"]),relevance:0}]),relevance:0},_={className:"function",begin:"("+o+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:N,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:N,relevance:0},{begin:p,returnBegin:!0,contains:[h],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:N,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,l,{begin:/\(/,end:/\)/,keywords:N,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,l]}]},l,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:N,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(E,_,S,x,[f,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:N,contains:["self",l]},{begin:e.IDENT_RE+"::",keywords:N},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function Dme(e){const t={type:["boolean","byte","word","String"],built_in:["KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],_hints:["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],literal:["DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"]},n=Lme(e),r=n.keywords;return r.type=[...r.type,...t.type],r.literal=[...r.literal,...t.literal],r.built_in=[...r.built_in,...t.built_in],r._hints=t._hints,n.name="Arduino",n.aliases=["ino"],n.supersetOf="cpp",n}function Bme(e){const t=e.regex,n={},r={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},r]});const a={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},s=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),o={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},l={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,a]};a.contains.push(l);const c={match:/\\"/},u={className:"string",begin:/'/,end:/'/},d={match:/\\'/},f={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,n]},h=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],p=e.SHEBANG({binary:`(${h.join("|")})`,relevance:10}),m={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},g=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],y=["true","false"],v={match:/(\/[a-z._-]+)+/},k=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],w=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],N=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],S=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:g,literal:y,built_in:[...k,...w,"set","shopt",...N,...S]},contains:[p,e.SHEBANG(),m,f,s,o,v,l,c,u,d,n]}}function zme(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),r="decltype\\(auto\\)",a="[a-zA-Z_]\\w*::",o="("+r+"|"+t.optional(a)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",l={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},f={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},h={className:"title",begin:t.optional(a)+e.IDENT_RE,relevance:0},p=t.optional(a)+e.IDENT_RE+"\\s*\\(",y={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},v=[f,l,n,e.C_BLOCK_COMMENT_MODE,d,u],k={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:y,contains:v.concat([{begin:/\(/,end:/\)/,keywords:y,contains:v.concat(["self"]),relevance:0}]),relevance:0},w={begin:"("+o+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:y,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:y,relevance:0},{begin:p,returnBegin:!0,contains:[e.inherit(h,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:y,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,l,{begin:/\(/,end:/\)/,keywords:y,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,l]}]},l,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C",aliases:["h"],keywords:y,disableAutodetect:!0,illegal:"</",contains:[].concat(k,w,v,[f,{begin:e.IDENT_RE+"::",keywords:y},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:f,strings:u,keywords:y}}}function Fme(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),r="decltype\\(auto\\)",a="[a-zA-Z_]\\w*::",o="(?!struct)("+r+"|"+t.optional(a)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",l={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},f={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},h={className:"title",begin:t.optional(a)+e.IDENT_RE,relevance:0},p=t.optional(a)+e.IDENT_RE+"\\s*\\(",m=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],g=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],y=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],v=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],N={type:g,keyword:m,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:y},S={className:"function.dispatch",relevance:0,keywords:{_hint:v},begin:t.concat(/\b/,`(?!${m.join("|")})`,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},x=[S,f,l,n,e.C_BLOCK_COMMENT_MODE,d,u],E={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:N,contains:x.concat([{begin:/\(/,end:/\)/,keywords:N,contains:x.concat(["self"]),relevance:0}]),relevance:0},_={className:"function",begin:"("+o+"[\\*&\\s]+)+"+p,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:N,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:N,relevance:0},{begin:p,returnBegin:!0,contains:[h],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:N,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,d,l,{begin:/\(/,end:/\)/,keywords:N,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,d,l]}]},l,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:N,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(E,_,S,x,[f,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:N,contains:["self",l]},{begin:e.IDENT_RE+"::",keywords:N},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function Ume(e){const t=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],n=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],r=["default","false","null","true"],a=["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"],s=["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"],o={keyword:a.concat(s),built_in:t,literal:r},l=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),c={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9'_]+|(\\b[\\d'_]+(\\.[\\d'_]*)?|\\.[\\d'_]+)([eE][-+]?[\\d'_]+)?)"}],relevance:0},u={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},d={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},f=e.inherit(d,{illegal:/\n/}),h={className:"subst",begin:/\{/,end:/\}/,keywords:o},p=e.inherit(h,{illegal:/\n/}),m={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,p]},g={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},h]},y=e.inherit(g,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},p]});h.contains=[g,m,d,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,c,e.C_BLOCK_COMMENT_MODE],p.contains=[y,m,f,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,c,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const v={variants:[u,g,m,d,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},k={begin:"<",end:">",contains:[{beginKeywords:"in out"},l]},w=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",N={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:o,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"<!--|-->"},{begin:"</?",end:">"}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},v,c,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},l,k,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[l,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[l,k,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+w+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:o,contains:[{beginKeywords:n.join(" "),relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[e.TITLE_MODE,k],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,relevance:0,contains:[v,c,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},N]}}const Wme=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},UNICODE_RANGE:{scope:"number",begin:/\b[Uu]\+[0-9A-Fa-f][0-9A-Fa-f?]{0,4}(-[0-9A-Fa-f][0-9A-Fa-f]{0,4})?/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),Hme=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Gme=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],qme=[...Hme,...Gme],Kme=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),Vme=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),Yme=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Xme=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","unicode-range","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function Qme(e){const t=e.regex,n=Wme(e),r={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},a="and or not only",s=/@-?\w[\w]*(-\w+)*/,o="[a-zA-Z-][a-zA-Z0-9_-]*",l=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[n.BLOCK_COMMENT,r,n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+o,relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+Vme.join("|")+")"},{begin:":(:)?("+Yme.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Xme.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,n.UNICODE_RANGE,...l,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...l,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:s},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:a,attribute:Kme.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...l,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+qme.join("|")+")\\b"}]}}function Zme(e){const t=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:t.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^@@ +-\d+ +\+\d+,\d+ +@@/,/^@@ +-\d+,\d+ +\+\d+ +@@/,/^@@ +-\d+ +\+\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:t.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}function Jme(e){const s={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:s,illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",variants:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[e.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:s,illegal:/["']/}]}]}}function ege(e){const t=e.regex,n=/[_A-Za-z][_0-9A-Za-z]*/;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:t.concat(n,t.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}function tge(e){const t=e.regex,n={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:e.NUMBER_RE}]},r=e.COMMENT();r.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];const a={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},s={className:"literal",begin:/\bon|off|true|false|yes|no\b/},o={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},l={begin:/\[/,end:/\]/,contains:[r,s,a,o,n,"self"],relevance:0},c=/[A-Za-z0-9_-]+/,u=/"(\\"|[^"])*"/,d=/'[^']*'/,f=t.either(c,u,d),h=t.concat(f,"(\\s*\\.\\s*",f,")*",t.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[r,{className:"section",begin:/\[+/,end:/\]+/},{begin:h,className:"attr",starts:{end:/$/,contains:[r,l,s,a,o,n]}}]}}var po="[0-9](_*[0-9])*",ff=`\\.(${po})`,hf="[0-9a-fA-F](_*[0-9a-fA-F])*",b_={className:"number",variants:[{begin:`(\\b(${po})((${ff})|\\.)?|(${ff}))[eE][+-]?(${po})[fFdD]?\\b`},{begin:`\\b(${po})((${ff})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${ff})[fFdD]?\\b`},{begin:`\\b(${po})[fFdD]\\b`},{begin:`\\b0[xX]((${hf})\\.?|(${hf})?\\.(${hf}))[pP][+-]?(${po})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${hf})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function TI(e,t,n){return n===-1?"":e.replace(t,r=>TI(e,t,n-1))}function nge(e){const t=e.regex,n="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",r=n+TI("(?:<"+n+"~~~(?:\\s*,\\s*"+n+"~~~)*>)?",/~~~/g,2),c={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},u={className:"meta",begin:"@"+n,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},d={className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:c,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[t.concat(/(?!else)/,n),/\s+/,n,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,n],className:{1:"keyword",3:"title.class"},contains:[d,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+r+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:c,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[u,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,b_,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},b_,u]}}const x_="[A-Za-z$_][0-9A-Za-z$_]*",rge=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],age=["true","false","null","undefined","NaN","Infinity"],OI=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],PI=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],RI=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],ige=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],sge=[].concat(RI,OI,PI);function oge(e){const t=e.regex,n=(R,{after:B})=>{const T="</"+R[0].slice(1);return R.input.indexOf(T,B)!==-1},r=x_,a={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,o={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(R,B)=>{const T=R[0].length+R.index,Z=R.input[T];if(Z==="<"||Z===","){B.ignoreMatch();return}Z===">"&&(n(R,{after:T})||B.ignoreMatch());let F;const $=R.input.substring(T);if(F=$.match(/^\s*=/)){B.ignoreMatch();return}if((F=$.match(/^\s+extends\s+/))&&F.index===0){B.ignoreMatch();return}}},l={$pattern:x_,keyword:rge,literal:age,built_in:sge,"variable.language":ige},c="[0-9](_?[0-9])*",u=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${d})((${u})|\\.)?|(${u}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\b((${u})\\b|\\.)?|(${u})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},h={className:"subst",begin:"\\$\\{",end:"\\}",keywords:l,contains:[]},p={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},m={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"css"}},g={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"graphql"}},y={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,h]},k={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},w=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,{match:/\$\d+/},f];h.contains=w.concat({begin:/\{/,end:/\}/,keywords:l,contains:["self"].concat(w)});const N=[].concat(k,h.contains),S=N.concat([{begin:/(\s*)\(/,end:/\)/,keywords:l,contains:["self"].concat(N)}]),x={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:S},E={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,"(",t.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},_={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...OI,...PI]}},O={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},C={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[x],illegal:/%/},P={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function A(R){return t.concat("(?!",R.join("|"),")")}const D={match:t.concat(/\b/,A([...RI,"super","import","await"].map(R=>`${R}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},I={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},M={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},x]},L="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",U={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(L)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[x]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:S,CLASS_REFERENCE:_},illegal:/#(?![$_A-Za-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),O,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,k,{match:/\$\d+/},f,_,{scope:"attr",match:r+t.lookahead(":"),relevance:0},U,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[k,e.REGEXP_MODE,{className:"function",begin:L,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:S}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:a.begin,end:a.end},{match:s},{begin:o.begin,"on:begin":o.isTrulyOpeningTag,end:o.end}],subLanguage:"xml",contains:[{begin:o.begin,end:o.end,skip:!0,contains:["self"]}]}]},C,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[x,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},I,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[x]},D,P,E,M,{match:/\$[(.]/}]}}const lge="([-+]?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)|NaN|[-+]?Infinity",cge={scope:"number",match:lge,relevance:0};function uge(e){const t={className:"attr",begin:/(("(\\.|[^\\"\r\n])*")|('(\\.|[^\\'\r\n])*'))(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},r=["true","false","null"],a={scope:"literal",beginKeywords:r.join(" ")};return{name:"JSON",aliases:["jsonc","json5"],keywords:{literal:r},contains:[t,n,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,cge,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}var mo="[0-9](_*[0-9])*",pf=`\\.(${mo})`,mf="[0-9a-fA-F](_*[0-9a-fA-F])*",dge={className:"number",variants:[{begin:`(\\b(${mo})((${pf})|\\.)?|(${pf}))[eE][+-]?(${mo})[fFdD]?\\b`},{begin:`\\b(${mo})((${pf})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${pf})[fFdD]?\\b`},{begin:`\\b(${mo})[fFdD]\\b`},{begin:`\\b0[xX]((${mf})\\.?|(${mf})?\\.(${mf}))[pP][+-]?(${mo})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${mf})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function fge(e){const t={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},n={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},r={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},a={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},o={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,a]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,s,a]}]};a.contains.push(o);const l={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},c={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(o,{className:"string"}),"self"]}]},u=dge,d=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),f={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},h=f;return h.variants[1].contains=[f],f.variants[1].contains=[h],{name:"Kotlin",aliases:["kt","kts"],keywords:t,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,d,n,r,l,c,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:t,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:t,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[f,e.C_LINE_COMMENT_MODE,d],relevance:0},e.C_LINE_COMMENT_MODE,d,l,c,o,e.C_NUMBER_MODE]},d]},{begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},l,c]},o,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:`
|
|
195
|
+
`},u]}}const hge=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},UNICODE_RANGE:{scope:"number",begin:/\b[Uu]\+[0-9A-Fa-f][0-9A-Fa-f?]{0,4}(-[0-9A-Fa-f][0-9A-Fa-f]{0,4})?/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),pge=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],mge=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],gge=[...pge,...mge],vge=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),MI=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),II=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),yge=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","unicode-range","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),bge=MI.concat(II).sort().reverse();function xge(e){const t=hge(e),n=bge,r="and or not only",a="[\\w-]+",s="("+a+"|@\\{"+a+"\\})",o=[],l=[],c=function(w){return{className:"string",begin:"~?"+w+".*?"+w}},u=function(w,N,S){return{className:w,begin:N,relevance:S}},d={$pattern:/[a-z-]+/,keyword:r,attribute:vge.join(" ")},f={begin:"\\(",end:"\\)",contains:l,keywords:d,relevance:0};l.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,c("'"),c('"'),t.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},t.UNICODE_RANGE,t.HEXCOLOR,f,u("variable","@@?"+a,10),u("variable","@\\{"+a+"\\}"),u("built_in","~?`[^`]*?`"),{className:"attribute",begin:a+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:"and not"},t.FUNCTION_DISPATCH);const h=l.concat({begin:/\{/,end:/\}/,contains:o}),p={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(l)},m={begin:s+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+yge.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:l}}]},g={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:d,returnEnd:!0,contains:l,relevance:0}},y={className:"variable",variants:[{begin:"@"+a+"\\s*:",relevance:15},{begin:"@"+a}],starts:{end:"[;}]",returnEnd:!0,contains:h}},v={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:s,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,p,u("keyword","all\\b"),u("variable","@\\{"+a+"\\}"),{begin:"\\b("+gge.join("|")+")\\b",className:"selector-tag"},t.CSS_NUMBER_MODE,u("selector-tag",s,0),u("selector-id","#"+s),u("selector-class","\\."+s,0),u("selector-tag","&",0),t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+MI.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+II.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:h},{begin:"!important"},t.FUNCTION_DISPATCH]},k={begin:a+`:(:)?(${n.join("|")})`,returnBegin:!0,contains:[v]};return o.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,y,k,m,v,p,t.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:o}}function wge(e){const t="\\[=*\\[",n="\\]=*\\]",r={begin:t,end:n,contains:["self"]},a=[e.COMMENT("--(?!"+t+")","$"),e.COMMENT("--"+t,n,{contains:[r],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:a.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:a}].concat(a)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:t,end:n,contains:[r],relevance:5}])}}function kge(e){const t={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t]},r={className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},contains:[t,n]},a={begin:"^"+e.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},s={className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},o={className:"section",begin:/^[^\s]+:/,end:/$/,contains:[t]};return{name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/,keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"},contains:[e.HASH_COMMENT_MODE,t,n,r,a,s,o]}}function Sge(e){const t=e.regex,n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},r={begin:"^[-\\*]{3,}",end:"$"},a={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},s={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},o={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},l=/[A-Za-z][A-Za-z0-9+.-]*/,c={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,l,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},u={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},d={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},f=e.inherit(u,{contains:[]}),h=e.inherit(d,{contains:[]});u.contains.push(h),d.contains.push(f);let p=[n,c];return[u,d,f,h].forEach(v=>{v.contains=v.contains.concat(p)}),p=p.concat(u,d),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:p},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:p}]}]},n,s,u,d,{className:"quote",begin:"^>\\s+",contains:p,end:"$"},a,r,c,o,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function jge(e){const t={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},n=/[a-zA-Z@][a-zA-Z0-9_]*/,l={"variable.language":["this","super"],$pattern:n,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},c={$pattern:n,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:l,illegal:"</",contains:[t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+c.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:c,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}function Nge(e){const t=e.regex,n=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],r=/[dualxmsipngr]{0,12}/,a={$pattern:/[\w.]+/,keyword:n.join(" ")},s={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:a},o={begin:/->\{/,end:/\}/},l={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},c={scope:"variable",variants:[{begin:/\$\d/},{begin:t.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[l]},u={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},d=[e.BACKSLASH_ESCAPE,s,c],f=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],h=(g,y,v="\\1")=>{const k=v==="\\1"?v:t.concat(v,y);return t.concat(t.concat("(?:",g,")"),y,/(?:\\.|[^\\\/])*?/,k,/(?:\\.|[^\\\/])*?/,v,r)},p=(g,y,v)=>t.concat(t.concat("(?:",g,")"),y,/(?:\\.|[^\\\/])*?/,v,r),m=[c,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),o,{className:"string",contains:d,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},u,{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:h("s|tr|y",t.either(...f,{capture:!0}))},{begin:h("s|tr|y","\\(","\\)")},{begin:h("s|tr|y","\\[","\\]")},{begin:h("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:p("(?:m|qr)?",/\//,/\//)},{begin:p("m|qr",t.either(...f,{capture:!0}),/\1/)},{begin:p("m|qr",/\(/,/\)/)},{begin:p("m|qr",/\[/,/\]/)},{begin:p("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,l]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,l,u]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return s.contains=m,o.contains=m,{name:"Perl",aliases:["pl","pm"],keywords:a,contains:m}}function Ege(e){const t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,r=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),a=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),s=t.concat(/[A-Z]+/,n),o={scope:"variable",match:"\\$+"+r},l={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},c={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},u=e.inherit(e.APOS_STRING_MODE,{illegal:null}),d=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(c)}),f={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(c),"on:begin":(I,M)=>{M.data._beginMatch=I[1]||I[2]},"on:end":(I,M)=>{M.data._beginMatch!==I[1]&&M.ignoreMatch()}},h=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),p=`[
|
|
196
|
+
]`,m={scope:"string",variants:[d,u,f,h]},g={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},y=["false","null","true"],v=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],k=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],N={keyword:v,literal:(I=>{const M=[];return I.forEach(L=>{M.push(L),L.toLowerCase()===L?M.push(L.toUpperCase()):M.push(L.toLowerCase())}),M})(y),built_in:k},S=I=>I.map(M=>M.replace(/\|\d+$/,"")),x={variants:[{match:[/new/,t.concat(p,"+"),t.concat("(?!",S(k).join("\\b|"),"\\b)"),a],scope:{1:"keyword",4:"title.class"}}]},E=t.concat(r,"\\b(?!\\()"),_={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),E],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[a,t.concat(/::/,t.lookahead(/(?!class\b)/)),E],scope:{1:"title.class",3:"variable.constant"}},{match:[a,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[a,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},O={scope:"attr",match:t.concat(r,t.lookahead(":"),t.lookahead(/(?!::)/))},C={relevance:0,begin:/\(/,end:/\)/,keywords:N,contains:[O,o,_,e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE,e.HASH_COMMENT_MODE,m,g,x]},P={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",S(v).join("\\b|"),"|",S(k).join("\\b|"),"\\b)"),r,t.concat(p,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[C]};C.contains.push(P);const A=[O,_,e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE,e.HASH_COMMENT_MODE,m,g,x],D={begin:t.concat(/#\[\s*\\?/,t.either(a,s)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:y,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:y,keyword:["new","array"]},contains:["self",...A]},...A,{scope:"meta",variants:[{match:a},{match:s}]}]};return{case_insensitive:!1,keywords:N,contains:[D,e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},l,{scope:"variable.language",match:/\$this\b/},o,P,_,{match:[/const/,/\s/,r],scope:{1:"keyword",3:"variable.constant"}},x,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:N,contains:["self",D,o,_,e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE,e.HASH_COMMENT_MODE,m,g]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},m,g]}}function _ge(e){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}function Cge(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function Age(e){const t=e.regex,n=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),r=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],l={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},c={className:"meta",begin:/^(>>>|\.\.\.) /},u={className:"subst",begin:/\{/,end:/\}/,keywords:l,illegal:/#/},d={begin:/\{\{/,relevance:0},f={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,c,d,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,c,d,u]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,d,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,d,u]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},h="[0-9](_?[0-9])*",p=`(\\b(${h}))?\\.(${h})|\\b(${h})\\.`,m=`\\b|${r.join("|")}`,g={className:"number",relevance:0,variants:[{begin:`(\\b(${h})|(${p}))[eE][+-]?(${h})[jJ]?(?=${m})`},{begin:`(${p})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${m})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${m})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${m})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${m})`},{begin:`\\b(${h})[jJ](?=${m})`}]},y={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:l,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},v={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:["self",c,g,f,e.HASH_COMMENT_MODE]}]};return u.contains=[f,g,c],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:l,illegal:/(<\/|\?)|=>/,contains:[c,g,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},f,y,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[v]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[g,v,f]}]}}function Tge(e){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}function Oge(e){const t=e.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,r=t.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),a=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,s=t.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:n,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:t.lookahead(t.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[a,r]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,r]},{scope:{1:"punctuation",2:"number"},match:[s,r]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,r]}]},{scope:{3:"operator"},match:[n,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:a},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:s},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}function Pge(e){const t=e.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",r=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),a=t.concat(r,/(::\w+)*/),o={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield",...["include","extend","prepend","public","private","protected","raise","throw"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},l={className:"doctag",begin:"@[A-Za-z]+"},c={begin:"#<",end:">"},u=[e.COMMENT("#","$",{contains:[l]}),e.COMMENT("^=begin","^=end",{contains:[l],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],d={className:"subst",begin:/#\{/,end:/\}/,keywords:o},f={className:"string",contains:[e.BACKSLASH_ESCAPE,d],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:t.concat(/<<[-~]?'?/,t.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,d]})]}]},h="[1-9](_?[0-9])*|0",p="[0-9](_?[0-9])*",m={className:"number",relevance:0,variants:[{begin:`\\b(${h})(\\.(${p}))?([eE][+-]?(${p})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},g={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:o}]},x=[f,{variants:[{match:[/class\s+/,a,/\s+<\s+/,a]},{match:[/\b(class|module)\s+/,a]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:o},{match:[/(include|extend)\s+/,a],scope:{2:"title.class"},keywords:o},{relevance:0,match:[a,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:r,scope:"title.class"},{match:[/def/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[g]},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[f,{begin:n}],relevance:0},m,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:o},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,d],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(c,u),relevance:0}].concat(c,u);d.contains=x,g.contains=x;const C=[{begin:/^\s*=>/,starts:{end:"$",contains:x}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:o,contains:x}}];return u.unshift(c),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:o,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(C).concat(u).concat(x)}}function Rge(e){const t=e.regex,n=/(r#)?/,r=t.concat(n,e.UNDERSCORE_IDENT_RE),a=t.concat(n,e.IDENT_RE),s={className:"title.function.invoke",relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,a,t.lookahead(/\s*\(/))},o="([ui](8|16|32|64|128|size)|f(32|64))?",l=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],c=["true","false","Some","None","Ok","Err"],u=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],d=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:d,keyword:l,literal:c,built_in:u},illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.COMMENT("/\\*","\\*/",{contains:["self"]}),e.inherit(e.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:"char.escape",match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{className:"number",variants:[{begin:"\\b0b([01_]+)"+o},{begin:"\\b0o([0-7_]+)"+o},{begin:"\\b0x([A-Fa-f0-9_]+)"+o},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+o}],relevance:0},{begin:[/fn/,/\s+/,r],className:{1:"keyword",3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,r],className:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,r,/\s+/,/in/],className:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,r],className:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,r],className:{1:"keyword",3:"title.class"}},{begin:e.IDENT_RE+"::",keywords:{keyword:"Self",built_in:u,type:d}},{className:"punctuation",begin:"->"},s]}}const Mge=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},UNICODE_RANGE:{scope:"number",begin:/\b[Uu]\+[0-9A-Fa-f][0-9A-Fa-f?]{0,4}(-[0-9A-Fa-f][0-9A-Fa-f]{0,4})?/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),Ige=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],$ge=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],Lge=[...Ige,...$ge],Dge=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),Bge=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),zge=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Fge=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","unicode-range","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function Uge(e){const t=Mge(e),n=zge,r=Bge,a="@[a-z-]+",s="and or not only",l={className:"variable",begin:"(\\$"+"[a-zA-Z-][a-zA-Z0-9_-]*"+")\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+Lge.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+r.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+n.join("|")+")"},l,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Fge.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[t.BLOCK_COMMENT,l,t.HEXCOLOR,t.CSS_NUMBER_MODE,t.UNICODE_RANGE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.IMPORTANT,t.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:a,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:s,attribute:Dge.join(" ")},contains:[{begin:a,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},l,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}}function Wge(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function Hge(e){const t=e.regex,n=e.COMMENT("--","$"),r={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},a={begin:/"/,end:/"/,contains:[{match:/""/}]},s=["true","false","unknown"],o=["double precision","large object","with timezone","without timezone"],l=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],c=["add","asc","collation","desc","final","first","last","view"],u=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],d=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],f=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],h=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],p=d,m=[...u,...c].filter(S=>!d.includes(S)),g={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},y={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},v={match:t.concat(/\b/,t.either(...p),/\s*\(/),relevance:0,keywords:{built_in:p}};function k(S){return t.concat(/\b/,t.either(...S.map(x=>x.replace(/\s+/,"\\s+"))),/\b/)}const w={scope:"keyword",match:k(h),relevance:0};function N(S,{exceptions:x,when:E}={}){const _=E;return x=x||[],S.map(O=>O.match(/\|\d+$/)||x.includes(O)?O:_(O)?`${O}|0`:O)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:N(m,{when:S=>S.length<3}),literal:s,type:l,built_in:f},contains:[{scope:"type",match:k(o)},w,v,g,r,a,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,y]}}function $I(e){return e?typeof e=="string"?e:e.source:null}function bc(e){return rt("(?=",e,")")}function rt(...e){return e.map(n=>$I(n)).join("")}function Gge(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function An(...e){return"("+(Gge(e).capture?"":"?:")+e.map(r=>$I(r)).join("|")+")"}const I0=e=>rt(/\b/,e,/\w$/.test(e)?/\b/:/\B/),qge=["Protocol","Type"].map(I0),w_=["init","self"].map(I0),Kge=["Any","Self"],cv=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],k_=["false","nil","true"],Vge=["assignment","associativity","higherThan","left","lowerThan","none","right"],Yge=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],S_=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],LI=An(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),DI=An(LI,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),uv=rt(LI,DI,"*"),BI=An(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),hp=An(BI,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),na=rt(BI,hp,"*"),gf=rt(/[A-Z]/,hp,"*"),Xge=["attached","autoclosure",rt(/convention\(/,An("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",rt(/objc\(/,na,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],Qge=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function Zge(e){const t={match:/\s+/,relevance:0},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),r=[e.C_LINE_COMMENT_MODE,n],a={match:[/\./,An(...qge,...w_)],className:{2:"keyword"}},s={match:rt(/\./,An(...cv)),relevance:0},o=cv.filter(pe=>typeof pe=="string").concat(["_|0"]),l=cv.filter(pe=>typeof pe!="string").concat(Kge).map(I0),c={variants:[{className:"keyword",match:An(...l,...w_)}]},u={$pattern:An(/\b\w+/,/#\w+/),keyword:o.concat(Yge),literal:k_},d=[a,s,c],f={match:rt(/\./,An(...S_)),relevance:0},h={className:"built_in",match:rt(/\b/,An(...S_),/(?=\()/)},p=[f,h],m={match:/->/,relevance:0},g={className:"operator",relevance:0,variants:[{match:uv},{match:`\\.(\\.|${DI})+`}]},y=[m,g],v="([0-9]_*)+",k="([0-9a-fA-F]_*)+",w={className:"number",relevance:0,variants:[{match:`\\b(${v})(\\.(${v}))?([eE][+-]?(${v}))?\\b`},{match:`\\b0x(${k})(\\.(${k}))?([pP][+-]?(${v}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},N=(pe="")=>({className:"subst",variants:[{match:rt(/\\/,pe,/[0\\tnr"']/)},{match:rt(/\\/,pe,/u\{[0-9a-fA-F]{1,8}\}/)}]}),S=(pe="")=>({className:"subst",match:rt(/\\/,pe,/[\t ]*(?:[\r\n]|\r\n)/)}),x=(pe="")=>({className:"subst",label:"interpol",begin:rt(/\\/,pe,/\(/),end:/\)/}),E=(pe="")=>({begin:rt(pe,/"""/),end:rt(/"""/,pe),contains:[N(pe),S(pe),x(pe)]}),_=(pe="")=>({begin:rt(pe,/"/),end:rt(/"/,pe),contains:[N(pe),x(pe)]}),O={className:"string",variants:[E(),E("#"),E("##"),E("###"),_(),_("#"),_("##"),_("###")]},C=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],P={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:C},A=pe=>{const Re=rt(pe,/\//),fe=rt(/\//,pe);return{begin:Re,end:fe,contains:[...C,{scope:"comment",begin:`#(?!.*${fe})`,end:/$/}]}},D={scope:"regexp",variants:[A("###"),A("##"),A("#"),P]},I={match:rt(/`/,na,/`/)},M={className:"variable",match:/\$\d+/},L={className:"variable",match:`\\$${hp}+`},U=[I,M,L],R={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:Qge,contains:[...y,w,O]}]}},B={scope:"keyword",match:rt(/@/,An(...Xge),bc(An(/\(/,/\s+/)))},T={scope:"meta",match:rt(/@/,na)},Z=[R,B,T],F={match:bc(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:rt(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,hp,"+")},{className:"type",match:gf,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:rt(/\s+&\s+/,bc(gf)),relevance:0}]},$={begin:/</,end:/>/,keywords:u,contains:[...r,...d,...Z,m,F]};F.contains.push($);const ae={match:rt(na,/\s*:/),keywords:"_|0",relevance:0},ue={begin:/\(/,end:/\)/,relevance:0,keywords:u,contains:["self",ae,...r,D,...d,...p,...y,w,O,...U,...Z,F]},me={begin:/</,end:/>/,keywords:"repeat each",contains:[...r,F]},Ee={begin:An(bc(rt(na,/\s*:/)),bc(rt(na,/\s+/,na,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:na}]},J={begin:/\(/,end:/\)/,keywords:u,contains:[Ee,...r,...d,...y,w,O,...Z,F,ue],endsParent:!0,illegal:/["']/},Y={match:[/(func|macro)/,/\s+/,An(I.match,na,uv)],className:{1:"keyword",3:"title.function"},contains:[me,J,t],illegal:[/\[/,/%/]},re={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[me,J,t],illegal:/\[|%/},le={match:[/operator/,/\s+/,uv],className:{1:"keyword",3:"title"}},H={begin:[/precedencegroup/,/\s+/,gf],className:{1:"keyword",3:"title"},contains:[F],keywords:[...Vge,...k_],end:/}/},ye={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},xe={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},Oe={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,na,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:u,contains:[me,...d,{begin:/:/,end:/\{/,keywords:u,contains:[{scope:"title.class.inherited",match:gf},...d],relevance:0}]};for(const pe of O.variants){const Re=pe.contains.find(Ve=>Ve.label==="interpol");Re.keywords=u;const fe=[...d,...p,...y,w,O,...U];Re.contains=[...fe,{begin:/\(/,end:/\)/,contains:["self",...fe]}]}return{name:"Swift",keywords:u,contains:[...r,Y,re,ye,xe,Oe,le,H,{beginKeywords:"import",end:/$/,contains:[...r],relevance:0},D,...d,...p,...y,w,O,...U,...Z,F,ue]}}const pp="[A-Za-z$_][0-9A-Za-z$_]*",zI=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],FI=["true","false","null","undefined","NaN","Infinity"],UI=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],WI=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],HI=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],GI=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],qI=[].concat(HI,UI,WI);function Jge(e){const t=e.regex,n=(R,{after:B})=>{const T="</"+R[0].slice(1);return R.input.indexOf(T,B)!==-1},r=pp,a={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,o={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(R,B)=>{const T=R[0].length+R.index,Z=R.input[T];if(Z==="<"||Z===","){B.ignoreMatch();return}Z===">"&&(n(R,{after:T})||B.ignoreMatch());let F;const $=R.input.substring(T);if(F=$.match(/^\s*=/)){B.ignoreMatch();return}if((F=$.match(/^\s+extends\s+/))&&F.index===0){B.ignoreMatch();return}}},l={$pattern:pp,keyword:zI,literal:FI,built_in:qI,"variable.language":GI},c="[0-9](_?[0-9])*",u=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${d})((${u})|\\.)?|(${u}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\b((${u})\\b|\\.)?|(${u})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},h={className:"subst",begin:"\\$\\{",end:"\\}",keywords:l,contains:[]},p={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},m={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"css"}},g={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"graphql"}},y={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,h]},k={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},w=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,{match:/\$\d+/},f];h.contains=w.concat({begin:/\{/,end:/\}/,keywords:l,contains:["self"].concat(w)});const N=[].concat(k,h.contains),S=N.concat([{begin:/(\s*)\(/,end:/\)/,keywords:l,contains:["self"].concat(N)}]),x={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:S},E={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,"(",t.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},_={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...UI,...WI]}},O={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},C={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[x],illegal:/%/},P={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function A(R){return t.concat("(?!",R.join("|"),")")}const D={match:t.concat(/\b/,A([...HI,"super","import","await"].map(R=>`${R}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},I={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},M={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},x]},L="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",U={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(L)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[x]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:S,CLASS_REFERENCE:_},illegal:/#(?![$_A-Za-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),O,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,k,{match:/\$\d+/},f,_,{scope:"attr",match:r+t.lookahead(":"),relevance:0},U,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[k,e.REGEXP_MODE,{className:"function",begin:L,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:S}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:a.begin,end:a.end},{match:s},{begin:o.begin,"on:begin":o.isTrulyOpeningTag,end:o.end}],subLanguage:"xml",contains:[{begin:o.begin,end:o.end,skip:!0,contains:["self"]}]}]},C,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[x,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},I,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[x]},D,P,E,M,{match:/\$[(.]/}]}}function eve(e){const t=e.regex,n=Jge(e),r=pp,a=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],s={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},o={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:a},contains:[n.exports.CLASS_REFERENCE]},l={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},c=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],u={$pattern:pp,keyword:zI.concat(c),literal:FI,built_in:qI.concat(a),"variable.language":GI},d={className:"meta",begin:"@"+r},f=(g,y,v)=>{const k=g.contains.findIndex(w=>w.label===y);if(k===-1)throw new Error("can not find mode to replace");g.contains.splice(k,1,v)};Object.assign(n.keywords,u),n.exports.PARAMS_CONTAINS.push(d);const h=n.contains.find(g=>g.scope==="attr"),p=Object.assign({},h,{match:t.concat(r,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,h,p]),n.contains=n.contains.concat([d,s,o,p]),f(n,"shebang",e.SHEBANG()),f(n,"use_strict",l);const m=n.contains.find(g=>g.label==="func.def");return m.relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n}function tve(e){const t=e.regex,n={className:"string",begin:/"(""|[^/n])"C\b/},r={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},a=/\d{1,2}\/\d{1,2}\/\d{4}/,s=/\d{4}-\d{1,2}-\d{1,2}/,o=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,l=/\d{1,2}(:\d{1,2}){1,2}/,c={className:"literal",variants:[{begin:t.concat(/# */,t.either(s,a),/ *#/)},{begin:t.concat(/# */,l,/ *#/)},{begin:t.concat(/# */,o,/ *#/)},{begin:t.concat(/# */,t.either(s,a),/ +/,t.either(o,l),/ *#/)}]},u={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},d={className:"label",begin:/^\w+:/},f=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),h=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[n,r,c,u,d,f,h,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[h]}]}}function nve(e){e.regex;const t=e.COMMENT(/\(;/,/;\)/);t.contains.push("self");const n=e.COMMENT(/;;/,/$/),r=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],a={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},s={className:"variable",begin:/\$[\w_]+/},o={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},l={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},c={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},u={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:r},contains:[n,t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},s,o,a,e.QUOTE_STRING_MODE,c,u,l]}}function rve(e){const t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),r=/[\p{L}0-9._:-]+/u,a={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},s={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},o=e.inherit(s,{begin:/\(/,end:/\)/}),l=e.inherit(e.APOS_STRING_MODE,{className:"string"}),c=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),u={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:r,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[a]},{begin:/'/,end:/'/,contains:[a]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[s,c,l,o,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[s,o,c,l]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},a,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[u],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[u],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:t.concat(/</,t.lookahead(t.concat(n,t.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:u}]},{className:"tag",begin:t.concat(/<\//,t.lookahead(t.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function ave(e){const t="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",r={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},a={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},s={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},o={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,a]},l=e.inherit(o,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),h={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},p={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},m={begin:/\{/,end:/\}/,contains:[p],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]",contains:[p],illegal:"\\n",relevance:0},y=[r,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+n},{className:"type",begin:"!<"+n+">"},{className:"type",begin:"!"+n},{className:"type",begin:"!!"+n},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},h,{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},m,g,s,o],v=[...y];return v.pop(),v.push(l),p.contains=v,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:y}}const ive={arduino:Dme,bash:Bme,c:zme,cpp:Fme,csharp:Ume,css:Qme,diff:Zme,go:Jme,graphql:ege,ini:tge,java:nge,javascript:oge,json:uge,kotlin:fge,less:xge,lua:wge,makefile:kge,markdown:Sge,objectivec:jge,perl:Nge,php:Ege,"php-template":_ge,plaintext:Cge,python:Age,"python-repl":Tge,r:Oge,ruby:Pge,rust:Rge,scss:Uge,shell:Wge,sql:Hge,swift:Zge,typescript:eve,vbnet:tve,wasm:nve,xml:rve,yaml:ave};function KI(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{const n=e[t],r=typeof n;(r==="object"||r==="function")&&!Object.isFrozen(n)&&KI(n)}),e}class j_{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function VI(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function vi(e,...t){const n=Object.create(null);for(const r in e)n[r]=e[r];return t.forEach(function(r){for(const a in r)n[a]=r[a]}),n}const sve="</span>",N_=e=>!!e.scope,ove=(e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const n=e.split(".");return[`${t}${n.shift()}`,...n.map((r,a)=>`${r}${"_".repeat(a+1)}`)].join(" ")}return`${t}${e}`};class lve{constructor(t,n){this.buffer="",this.classPrefix=n.classPrefix,t.walk(this)}addText(t){this.buffer+=VI(t)}openNode(t){if(!N_(t))return;const n=ove(t.scope,{prefix:this.classPrefix});this.span(n)}closeNode(t){N_(t)&&(this.buffer+=sve)}value(){return this.buffer}span(t){this.buffer+=`<span class="${t}">`}}const E_=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class $0{constructor(){this.rootNode=E_(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(t){this.top.children.push(t)}openNode(t){const n=E_({scope:t});this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,n){return typeof n=="string"?t.addText(n):n.children&&(t.openNode(n),n.children.forEach(r=>this._walk(t,r)),t.closeNode(n)),t}static _collapse(t){typeof t!="string"&&t.children&&(t.children.every(n=>typeof n=="string")?t.children=[t.children.join("")]:t.children.forEach(n=>{$0._collapse(n)}))}}class cve extends $0{constructor(t){super(),this.options=t}addText(t){t!==""&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,n){const r=t.root;n&&(r.scope=`language:${n}`),this.add(r)}toHTML(){return new lve(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function Vu(e){return e?typeof e=="string"?e:e.source:null}function YI(e){return Gs("(?=",e,")")}function uve(e){return Gs("(?:",e,")*")}function dve(e){return Gs("(?:",e,")?")}function Gs(...e){return e.map(n=>Vu(n)).join("")}function fve(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function L0(...e){return"("+(fve(e).capture?"":"?:")+e.map(r=>Vu(r)).join("|")+")"}function XI(e){return new RegExp(e.toString()+"|").exec("").length-1}function hve(e,t){const n=e&&e.exec(t);return n&&n.index===0}const pve=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function D0(e,{joinWith:t}){let n=0;return e.map(r=>{n+=1;const a=n;let s=Vu(r),o="";for(;s.length>0;){const l=pve.exec(s);if(!l){o+=s;break}o+=s.substring(0,l.index),s=s.substring(l.index+l[0].length),l[0][0]==="\\"&&l[1]?o+="\\"+String(Number(l[1])+a):(o+=l[0],l[0]==="("&&n++)}return o}).map(r=>`(${r})`).join(t)}const mve=/\b\B/,QI="[a-zA-Z]\\w*",B0="[a-zA-Z_]\\w*",ZI="\\b\\d+(\\.\\d+)?",JI="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e$="\\b(0b[01]+)",gve="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",vve=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=Gs(t,/.*\b/,e.binary,/\b.*/)),vi({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(n,r)=>{n.index!==0&&r.ignoreMatch()}},e)},Yu={begin:"\\\\[\\s\\S]",relevance:0},yve={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Yu]},bve={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Yu]},xve={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},Om=function(e,t,n={}){const r=vi({scope:"comment",begin:e,end:t,contains:[]},n);r.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const a=L0("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return r.contains.push({begin:Gs(/[ ]+/,"(",a,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),r},wve=Om("//","$"),kve=Om("/\\*","\\*/"),Sve=Om("#","$"),jve={scope:"number",begin:ZI,relevance:0},Nve={scope:"number",begin:JI,relevance:0},Eve={scope:"number",begin:e$,relevance:0},_ve={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Yu,{begin:/\[/,end:/\]/,relevance:0,contains:[Yu]}]},Cve={scope:"title",begin:QI,relevance:0},Ave={scope:"title",begin:B0,relevance:0},Tve={begin:"\\.\\s*"+B0,relevance:0},Ove=function(e){return Object.assign(e,{"on:begin":(t,n)=>{n.data._beginMatch=t[1]},"on:end":(t,n)=>{n.data._beginMatch!==t[1]&&n.ignoreMatch()}})};var vf=Object.freeze({__proto__:null,APOS_STRING_MODE:yve,BACKSLASH_ESCAPE:Yu,BINARY_NUMBER_MODE:Eve,BINARY_NUMBER_RE:e$,COMMENT:Om,C_BLOCK_COMMENT_MODE:kve,C_LINE_COMMENT_MODE:wve,C_NUMBER_MODE:Nve,C_NUMBER_RE:JI,END_SAME_AS_BEGIN:Ove,HASH_COMMENT_MODE:Sve,IDENT_RE:QI,MATCH_NOTHING_RE:mve,METHOD_GUARD:Tve,NUMBER_MODE:jve,NUMBER_RE:ZI,PHRASAL_WORDS_MODE:xve,QUOTE_STRING_MODE:bve,REGEXP_MODE:_ve,RE_STARTERS_RE:gve,SHEBANG:vve,TITLE_MODE:Cve,UNDERSCORE_IDENT_RE:B0,UNDERSCORE_TITLE_MODE:Ave});function Pve(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function Rve(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function Mve(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=Pve,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function Ive(e,t){Array.isArray(e.illegal)&&(e.illegal=L0(...e.illegal))}function $ve(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function Lve(e,t){e.relevance===void 0&&(e.relevance=1)}const Dve=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const n=Object.assign({},e);Object.keys(e).forEach(r=>{delete e[r]}),e.keywords=n.keywords,e.begin=Gs(n.beforeMatch,YI(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},Bve=["of","and","for","in","not","or","if","then","parent","list","value"],zve="keyword";function t$(e,t,n=zve){const r=Object.create(null);return typeof e=="string"?a(n,e.split(" ")):Array.isArray(e)?a(n,e):Object.keys(e).forEach(function(s){Object.assign(r,t$(e[s],t,s))}),r;function a(s,o){t&&(o=o.map(l=>l.toLowerCase())),o.forEach(function(l){const c=l.split("|");r[c[0]]=[s,Fve(c[0],c[1])]})}}function Fve(e,t){return t?Number(t):Uve(e)?0:1}function Uve(e){return Bve.includes(e.toLowerCase())}const __={},Ns=e=>{console.error(e)},C_=(e,...t)=>{console.log(`WARN: ${e}`,...t)},uo=(e,t)=>{__[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),__[`${e}/${t}`]=!0)},mp=new Error;function n$(e,t,{key:n}){let r=0;const a=e[n],s={},o={};for(let l=1;l<=t.length;l++)o[l+r]=a[l],s[l+r]=!0,r+=XI(t[l-1]);e[n]=o,e[n]._emit=s,e[n]._multi=!0}function Wve(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw Ns("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),mp;if(typeof e.beginScope!="object"||e.beginScope===null)throw Ns("beginScope must be object"),mp;n$(e,e.begin,{key:"beginScope"}),e.begin=D0(e.begin,{joinWith:""})}}function Hve(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw Ns("skip, excludeEnd, returnEnd not compatible with endScope: {}"),mp;if(typeof e.endScope!="object"||e.endScope===null)throw Ns("endScope must be object"),mp;n$(e,e.end,{key:"endScope"}),e.end=D0(e.end,{joinWith:""})}}function Gve(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function qve(e){Gve(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),Wve(e),Hve(e)}function Kve(e){function t(o,l){return new RegExp(Vu(o),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(l?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(l,c){c.position=this.position++,this.matchIndexes[this.matchAt]=c,this.regexes.push([c,l]),this.matchAt+=XI(l)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const l=this.regexes.map(c=>c[1]);this.matcherRe=t(D0(l,{joinWith:"|"}),!0),this.lastIndex=0}exec(l){this.matcherRe.lastIndex=this.lastIndex;const c=this.matcherRe.exec(l);if(!c)return null;const u=c.findIndex((f,h)=>h>0&&f!==void 0),d=this.matchIndexes[u];return c.splice(0,u),Object.assign(c,d)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(l){if(this.multiRegexes[l])return this.multiRegexes[l];const c=new n;return this.rules.slice(l).forEach(([u,d])=>c.addRule(u,d)),c.compile(),this.multiRegexes[l]=c,c}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(l,c){this.rules.push([l,c]),c.type==="begin"&&this.count++}exec(l){const c=this.getMatcher(this.regexIndex);c.lastIndex=this.lastIndex;let u=c.exec(l);if(this.resumingScanAtSamePosition()&&!(u&&u.index===this.lastIndex)){const d=this.getMatcher(0);d.lastIndex=this.lastIndex+1,u=d.exec(l)}return u&&(this.regexIndex+=u.position+1,this.regexIndex===this.count&&this.considerAll()),u}}function a(o){const l=new r;return o.contains.forEach(c=>l.addRule(c.begin,{rule:c,type:"begin"})),o.terminatorEnd&&l.addRule(o.terminatorEnd,{type:"end"}),o.illegal&&l.addRule(o.illegal,{type:"illegal"}),l}function s(o,l){const c=o;if(o.isCompiled)return c;[Rve,$ve,qve,Dve].forEach(d=>d(o,l)),e.compilerExtensions.forEach(d=>d(o,l)),o.__beforeBegin=null,[Mve,Ive,Lve].forEach(d=>d(o,l)),o.isCompiled=!0;let u=null;return typeof o.keywords=="object"&&o.keywords.$pattern&&(o.keywords=Object.assign({},o.keywords),u=o.keywords.$pattern,delete o.keywords.$pattern),u=u||/\w+/,o.keywords&&(o.keywords=t$(o.keywords,e.case_insensitive)),c.keywordPatternRe=t(u,!0),l&&(o.begin||(o.begin=/\B|\b/),c.beginRe=t(c.begin),!o.end&&!o.endsWithParent&&(o.end=/\B|\b/),o.end&&(c.endRe=t(c.end)),c.terminatorEnd=Vu(c.end)||"",o.endsWithParent&&l.terminatorEnd&&(c.terminatorEnd+=(o.end?"|":"")+l.terminatorEnd)),o.illegal&&(c.illegalRe=t(o.illegal)),o.contains||(o.contains=[]),o.contains=[].concat(...o.contains.map(function(d){return Vve(d==="self"?o:d)})),o.contains.forEach(function(d){s(d,c)}),o.starts&&s(o.starts,l),c.matcher=a(c),c}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=vi(e.classNameAliases||{}),s(e)}function r$(e){return e?e.endsWithParent||r$(e.starts):!1}function Vve(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return vi(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:r$(e)?vi(e,{starts:e.starts?vi(e.starts):null}):Object.isFrozen(e)?vi(e):e}var Yve="11.11.2";class Xve extends Error{constructor(t,n){super(t),this.name="HTMLInjectionError",this.html=n}}const dv=VI,A_=vi,T_=Symbol("nomatch"),Qve=7,a$=function(e){const t=Object.create(null),n=Object.create(null),r=[];let a=!0;const s="Could not find the language '{}', did you forget to load/include a language module?",o={disableAutodetect:!0,name:"Plain text",contains:[]};let l={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:cve};function c(L){return l.noHighlightRe.test(L)}function u(L){let U=L.className+" ";U+=L.parentNode?L.parentNode.className:"";const R=l.languageDetectRe.exec(U);if(R){const B=_(R[1]);return B||(C_(s.replace("{}",R[1])),C_("Falling back to no-highlight mode for this block.",L)),B?R[1]:"no-highlight"}return U.split(/\s+/).find(B=>c(B)||_(B))}function d(L,U,R){let B="",T="";typeof U=="object"?(B=L,R=U.ignoreIllegals,T=U.language):(uo("10.7.0","highlight(lang, code, ...args) has been deprecated."),uo("10.7.0",`Please use highlight(code, options) instead.
|
|
197
|
+
https://github.com/highlightjs/highlight.js/issues/2277`),T=L,B=U),R===void 0&&(R=!0);const Z={code:B,language:T};I("before:highlight",Z);const F=Z.result?Z.result:f(Z.language,Z.code,R);return F.code=Z.code,I("after:highlight",F),F}function f(L,U,R,B){const T=Object.create(null);function Z(q,X){return q.keywords[X]}function F(){if(!fe.keywords){$e.addText(_e);return}let q=0;fe.keywordPatternRe.lastIndex=0;let X=fe.keywordPatternRe.exec(_e),ie="";for(;X;){ie+=_e.substring(q,X.index);const de=Oe.case_insensitive?X[0].toLowerCase():X[0],we=Z(fe,de);if(we){const[Me,Ft]=we;if($e.addText(ie),ie="",T[de]=(T[de]||0)+1,T[de]<=Qve&&(pt+=Ft),Me.startsWith("_"))ie+=X[0];else{const Ie=Oe.classNameAliases[Me]||Me;ue(X[0],Ie)}}else ie+=X[0];q=fe.keywordPatternRe.lastIndex,X=fe.keywordPatternRe.exec(_e)}ie+=_e.substring(q),$e.addText(ie)}function $(){if(_e==="")return;let q=null;if(typeof fe.subLanguage=="string"){if(!t[fe.subLanguage]){$e.addText(_e);return}q=f(fe.subLanguage,_e,!0,Ve[fe.subLanguage]),Ve[fe.subLanguage]=q._top}else q=p(_e,fe.subLanguage.length?fe.subLanguage:null);fe.relevance>0&&(pt+=q.relevance),$e.__addSublanguage(q._emitter,q.language)}function ae(){fe.subLanguage!=null?$():F(),_e=""}function ue(q,X){q!==""&&($e.startScope(X),$e.addText(q),$e.endScope())}function me(q,X){let ie=1;const de=X.length-1;for(;ie<=de;){if(!q._emit[ie]){ie++;continue}const we=Oe.classNameAliases[q[ie]]||q[ie],Me=X[ie];we?ue(Me,we):(_e=Me,F(),_e=""),ie++}}function Ee(q,X){return q.scope&&typeof q.scope=="string"&&$e.openNode(Oe.classNameAliases[q.scope]||q.scope),q.beginScope&&(q.beginScope._wrap?(ue(_e,Oe.classNameAliases[q.beginScope._wrap]||q.beginScope._wrap),_e=""):q.beginScope._multi&&(me(q.beginScope,X),_e="")),fe=Object.create(q,{parent:{value:fe}}),fe}function J(q,X,ie){let de=hve(q.endRe,ie);if(de){if(q["on:end"]){const we=new j_(q);q["on:end"](X,we),we.isMatchIgnored&&(de=!1)}if(de){for(;q.endsParent&&q.parent;)q=q.parent;return q}}if(q.endsWithParent)return J(q.parent,X,ie)}function Y(q){return fe.matcher.regexIndex===0?(_e+=q[0],1):(Xt=!0,0)}function re(q){const X=q[0],ie=q.rule,de=new j_(ie),we=[ie.__beforeBegin,ie["on:begin"]];for(const Me of we)if(Me&&(Me(q,de),de.isMatchIgnored))return Y(X);return ie.skip?_e+=X:(ie.excludeBegin&&(_e+=X),ae(),!ie.returnBegin&&!ie.excludeBegin&&(_e=X)),Ee(ie,q),ie.returnBegin?0:X.length}function le(q){const X=q[0],ie=U.substring(q.index),de=J(fe,q,ie);if(!de)return T_;const we=fe;fe.endScope&&fe.endScope._wrap?(ae(),ue(X,fe.endScope._wrap)):fe.endScope&&fe.endScope._multi?(ae(),me(fe.endScope,q)):we.skip?_e+=X:(we.returnEnd||we.excludeEnd||(_e+=X),ae(),we.excludeEnd&&(_e=X));do fe.scope&&$e.closeNode(),!fe.skip&&!fe.subLanguage&&(pt+=fe.relevance),fe=fe.parent;while(fe!==de.parent);return de.starts&&Ee(de.starts,q),we.returnEnd?0:X.length}function H(){const q=[];for(let X=fe;X!==Oe;X=X.parent)X.scope&&q.unshift(X.scope);q.forEach(X=>$e.openNode(X))}let ye={};function xe(q,X){const ie=X&&X[0];if(_e+=q,ie==null)return ae(),0;if(ye.type==="begin"&&X.type==="end"&&ye.index===X.index&&ie===""){if(_e+=U.slice(X.index,X.index+1),!a){const de=new Error(`0 width match regex (${L})`);throw de.languageName=L,de.badRule=ye.rule,de}return 1}if(ye=X,X.type==="begin")return re(X);if(X.type==="illegal"&&!R){const de=new Error('Illegal lexeme "'+ie+'" for mode "'+(fe.scope||"<unnamed>")+'"');throw de.mode=fe,de}else if(X.type==="end"){const de=le(X);if(de!==T_)return de}if(X.type==="illegal"&&ie==="")return X.index===U.length||(_e+=`
|
|
198
|
+
`),1;if(it>1e5&&it>X.index*3)throw new Error("potential infinite loop, way more iterations than matches");return _e+=ie,ie.length}const Oe=_(L);if(!Oe)throw Ns(s.replace("{}",L)),new Error('Unknown language: "'+L+'"');const pe=Kve(Oe);let Re="",fe=B||pe;const Ve={},$e=new l.__emitter(l);H();let _e="",pt=0,Fe=0,it=0,Xt=!1;try{if(Oe.__emitTokens)Oe.__emitTokens(U,$e);else{for(fe.matcher.considerAll();;){it++,Xt?Xt=!1:fe.matcher.considerAll(),fe.matcher.lastIndex=Fe;const q=fe.matcher.exec(U);if(!q)break;const X=U.substring(Fe,q.index),ie=xe(X,q);Fe=q.index+ie}xe(U.substring(Fe))}return $e.finalize(),Re=$e.toHTML(),{language:L,value:Re,relevance:pt,illegal:!1,_emitter:$e,_top:fe}}catch(q){if(q.message&&q.message.includes("Illegal"))return{language:L,value:dv(U),illegal:!0,relevance:0,_illegalBy:{message:q.message,index:Fe,context:U.slice(Fe-100,Fe+100),mode:q.mode,resultSoFar:Re},_emitter:$e};if(a)return{language:L,value:dv(U),illegal:!1,relevance:0,errorRaised:q,_emitter:$e,_top:fe};throw q}}function h(L){const U={value:dv(L),illegal:!1,relevance:0,_top:o,_emitter:new l.__emitter(l)};return U._emitter.addText(L),U}function p(L,U){U=U||l.languages||Object.keys(t);const R=h(L),B=U.filter(_).filter(C).map(ae=>f(ae,L,!1));B.unshift(R);const T=B.sort((ae,ue)=>{if(ae.relevance!==ue.relevance)return ue.relevance-ae.relevance;if(ae.language&&ue.language){if(_(ae.language).supersetOf===ue.language)return 1;if(_(ue.language).supersetOf===ae.language)return-1}return 0}),[Z,F]=T,$=Z;return $.secondBest=F,$}function m(L,U,R){const B=U&&n[U]||R;L.classList.add("hljs"),L.classList.add(`language-${B}`)}function g(L){let U=null;const R=u(L);if(c(R))return;if(I("before:highlightElement",{el:L,language:R}),L.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",L);return}if(L.children.length>0&&(l.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(L)),l.throwUnescapedHTML))throw new Xve("One of your code blocks includes unescaped HTML.",L.innerHTML);U=L;const B=U.textContent,T=R?d(B,{language:R,ignoreIllegals:!0}):p(B);L.innerHTML=T.value,L.dataset.highlighted="yes",m(L,R,T.language),L.result={language:T.language,re:T.relevance,relevance:T.relevance},T.secondBest&&(L.secondBest={language:T.secondBest.language,relevance:T.secondBest.relevance}),I("after:highlightElement",{el:L,result:T,text:B})}function y(L){l=A_(l,L)}const v=()=>{N(),uo("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function k(){N(),uo("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let w=!1;function N(){function L(){N()}if(document.readyState==="loading"){w||window.addEventListener("DOMContentLoaded",L,!1),w=!0;return}document.querySelectorAll(l.cssSelector).forEach(g)}function S(L,U){let R=null;try{R=U(e)}catch(B){if(Ns("Language definition for '{}' could not be registered.".replace("{}",L)),a)Ns(B);else throw B;R=o}R.name||(R.name=L),t[L]=R,R.rawDefinition=U.bind(null,e),R.aliases&&O(R.aliases,{languageName:L})}function x(L){delete t[L];for(const U of Object.keys(n))n[U]===L&&delete n[U]}function E(){return Object.keys(t)}function _(L){return L=(L||"").toLowerCase(),t[L]||t[n[L]]}function O(L,{languageName:U}){typeof L=="string"&&(L=[L]),L.forEach(R=>{n[R.toLowerCase()]=U})}function C(L){const U=_(L);return U&&!U.disableAutodetect}function P(L){L["before:highlightBlock"]&&!L["before:highlightElement"]&&(L["before:highlightElement"]=U=>{L["before:highlightBlock"](Object.assign({block:U.el},U))}),L["after:highlightBlock"]&&!L["after:highlightElement"]&&(L["after:highlightElement"]=U=>{L["after:highlightBlock"](Object.assign({block:U.el},U))})}function A(L){P(L),r.push(L)}function D(L){const U=r.indexOf(L);U!==-1&&r.splice(U,1)}function I(L,U){const R=L;r.forEach(function(B){B[R]&&B[R](U)})}function M(L){return uo("10.7.0","highlightBlock will be removed entirely in v12.0"),uo("10.7.0","Please use highlightElement now."),g(L)}Object.assign(e,{highlight:d,highlightAuto:p,highlightAll:N,highlightElement:g,highlightBlock:M,configure:y,initHighlighting:v,initHighlightingOnLoad:k,registerLanguage:S,unregisterLanguage:x,listLanguages:E,getLanguage:_,registerAliases:O,autoDetection:C,inherit:A_,addPlugin:A,removePlugin:D}),e.debugMode=function(){a=!1},e.safeMode=function(){a=!0},e.versionString=Yve,e.regex={concat:Gs,lookahead:YI,either:L0,optional:dve,anyNumberOfTimes:uve};for(const L in vf)typeof vf[L]=="object"&&KI(vf[L]);return Object.assign(e,vf),e},bl=a$({});bl.newInstance=()=>a$({});var Zve=bl;bl.HighlightJS=bl;bl.default=bl;const Jve=Xe(Zve),O_={},eye="hljs-";function tye(e){const t=Jve.newInstance();return e&&s(e),{highlight:n,highlightAuto:r,listLanguages:a,register:s,registerAlias:o,registered:l};function n(c,u,d){const f=d||O_,h=typeof f.prefix=="string"?f.prefix:eye;if(!t.getLanguage(c))throw new Error("Unknown language: `"+c+"` is not registered");t.configure({__emitter:nye,classPrefix:h});const p=t.highlight(u,{ignoreIllegals:!0,language:c});if(p.errorRaised)throw new Error("Could not highlight with `Highlight.js`",{cause:p.errorRaised});const m=p._emitter.root,g=m.data;return g.language=p.language,g.relevance=p.relevance,m}function r(c,u){const f=(u||O_).subset||a();let h=-1,p=0,m;for(;++h<f.length;){const g=f[h];if(!t.getLanguage(g))continue;const y=n(g,c,u);y.data&&y.data.relevance!==void 0&&y.data.relevance>p&&(p=y.data.relevance,m=y)}return m||{type:"root",children:[],data:{language:void 0,relevance:p}}}function a(){return t.listLanguages()}function s(c,u){if(typeof c=="string")t.registerLanguage(c,u);else{let d;for(d in c)Object.hasOwn(c,d)&&t.registerLanguage(d,c[d])}}function o(c,u){if(typeof c=="string")t.registerAliases(typeof u=="string"?u:[...u],{languageName:c});else{let d;for(d in c)if(Object.hasOwn(c,d)){const f=c[d];t.registerAliases(typeof f=="string"?f:[...f],{languageName:d})}}}function l(c){return!!t.getLanguage(c)}}class nye{constructor(t){this.options=t,this.root={type:"root",children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(t){if(t==="")return;const n=this.stack[this.stack.length-1],r=n.children[n.children.length-1];r&&r.type==="text"?r.value+=t:n.children.push({type:"text",value:t})}startScope(t){this.openNode(String(t))}endScope(){this.closeNode()}__addSublanguage(t,n){const r=this.stack[this.stack.length-1],a=t.root.children;n?r.children.push({type:"element",tagName:"span",properties:{className:[n]},children:a}):r.children.push(...a)}openNode(t){const n=this,r=t.split(".").map(function(o,l){return l?o+"_".repeat(l):n.options.classPrefix+o}),a=this.stack[this.stack.length-1],s={type:"element",tagName:"span",properties:{className:r},children:[]};a.children.push(s),this.stack.push(s)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}const rye={};function aye(e){const t=e||rye,n=t.aliases,r=t.detect||!1,a=t.languages||ive,s=t.plainText,o=t.prefix,l=t.subset;let c="hljs";const u=tye(a);if(n&&u.registerAlias(n),o){const d=o.indexOf("-");c=d===-1?o:o.slice(0,d)}return function(d,f){Tm(d,"element",function(h,p,m){if(h.tagName!=="code"||!m||m.type!=="element"||m.tagName!=="pre")return;const g=iye(h);if(g===!1||!g&&!r||g&&s&&s.includes(g))return;Array.isArray(h.properties.className)||(h.properties.className=[]),h.properties.className.includes(c)||h.properties.className.unshift(c);const y=Tme(h,{whitespace:"pre"});let v;try{v=g?u.highlight(g,y,{prefix:o}):u.highlightAuto(y,{prefix:o,subset:l})}catch(k){const w=k;if(g&&/Unknown language/.test(w.message)){f.message("Cannot highlight as `"+g+"`, it’s not registered",{ancestors:[m,h],cause:w,place:h.position,ruleId:"missing-language",source:"rehype-highlight"});return}throw w}!g&&v.data&&v.data.language&&h.properties.className.push("language-"+v.data.language),v.children.length>0&&(h.children=v.children)})}}function iye(e){const t=e.properties.className;let n=-1;if(!Array.isArray(t))return;let r;for(;++n<t.length;){const a=String(t[n]);if(a==="no-highlight"||a==="nohighlight")return!1;!r&&a.slice(0,5)==="lang-"&&(r=a.slice(5)),!r&&a.slice(0,9)==="language-"&&(r=a.slice(9))}return r}const gp="[A-Za-z$_][0-9A-Za-z$_]*",i$=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],s$=["true","false","null","undefined","NaN","Infinity"],o$=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],l$=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],c$=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],u$=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","self","global"],d$=[].concat(c$,o$,l$);function sye(e){const t=e.regex,n=(R,{after:B})=>{const T="</"+R[0].slice(1);return R.input.indexOf(T,B)!==-1},r=gp,a={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,o={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(R,B)=>{const T=R[0].length+R.index,Z=R.input[T];if(Z==="<"||Z===","){B.ignoreMatch();return}Z===">"&&(n(R,{after:T})||B.ignoreMatch());let F;const $=R.input.substring(T);if(F=$.match(/^\s*=/)){B.ignoreMatch();return}if((F=$.match(/^\s+extends\s+/))&&F.index===0){B.ignoreMatch();return}}},l={$pattern:gp,keyword:i$,literal:s$,built_in:d$,"variable.language":u$},c="[0-9](_?[0-9])*",u=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${d})((${u})|\\.)?|(${u}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\b((${u})\\b|\\.)?|(${u})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},h={className:"subst",begin:"\\$\\{",end:"\\}",keywords:l,contains:[]},p={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},m={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"css"}},g={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"graphql"}},y={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,h]},k={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},w=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,{match:/\$\d+/},f];h.contains=w.concat({begin:/\{/,end:/\}/,keywords:l,contains:["self"].concat(w)});const N=[].concat(k,h.contains),S=N.concat([{begin:/(\s*)\(/,end:/\)/,keywords:l,contains:["self"].concat(N)}]),x={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:S},E={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,"(",t.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},_={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...o$,...l$]}},O={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},C={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[x],illegal:/%/},P={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function A(R){return t.concat("(?!",R.join("|"),")")}const D={match:t.concat(/\b/,A([...c$,"super","import","await"].map(R=>`${R}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},I={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},M={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},x]},L="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",U={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(L)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[x]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:S,CLASS_REFERENCE:_},illegal:/#(?![$_A-Za-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),O,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,k,{match:/\$\d+/},f,_,{scope:"attr",match:r+t.lookahead(":"),relevance:0},U,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[k,e.REGEXP_MODE,{className:"function",begin:L,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:S}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:a.begin,end:a.end},{match:s},{begin:o.begin,"on:begin":o.isTrulyOpeningTag,end:o.end}],subLanguage:"xml",contains:[{begin:o.begin,end:o.end,skip:!0,contains:["self"]}]}]},C,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[x,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},I,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[x]},D,P,E,M,{match:/\$[(.]/}]}}function P_(e){const t=e.regex,n=sye(e),r=gp,a=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],s={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},o={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:a},contains:[n.exports.CLASS_REFERENCE]},l={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},c=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],u={$pattern:gp,keyword:i$.concat(c),literal:s$,built_in:d$.concat(a),"variable.language":u$},d={className:"meta",begin:"@"+r},f=(g,y,v)=>{const k=g.contains.findIndex(w=>w.label===y);if(k===-1)throw new Error("can not find mode to replace");g.contains.splice(k,1,v)};Object.assign(n.keywords,u),n.exports.PARAMS_CONTAINS.push(d);const h=n.contains.find(g=>g.scope==="attr"),p=Object.assign({},h,{match:t.concat(r,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,h,p]),n.contains=n.contains.concat([d,s,o,p]),f(n,"shebang",e.SHEBANG()),f(n,"use_strict",l);const m=n.contains.find(g=>g.label==="func.def");return m.relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n}const R_="[A-Za-z$_][0-9A-Za-z$_]*",oye=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],lye=["true","false","null","undefined","NaN","Infinity"],f$=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],h$=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],p$=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],cye=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","self","global"],uye=[].concat(p$,f$,h$);function M_(e){const t=e.regex,n=(R,{after:B})=>{const T="</"+R[0].slice(1);return R.input.indexOf(T,B)!==-1},r=R_,a={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,o={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(R,B)=>{const T=R[0].length+R.index,Z=R.input[T];if(Z==="<"||Z===","){B.ignoreMatch();return}Z===">"&&(n(R,{after:T})||B.ignoreMatch());let F;const $=R.input.substring(T);if(F=$.match(/^\s*=/)){B.ignoreMatch();return}if((F=$.match(/^\s+extends\s+/))&&F.index===0){B.ignoreMatch();return}}},l={$pattern:R_,keyword:oye,literal:lye,built_in:uye,"variable.language":cye},c="[0-9](_?[0-9])*",u=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${d})((${u})|\\.)?|(${u}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\b((${u})\\b|\\.)?|(${u})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},h={className:"subst",begin:"\\$\\{",end:"\\}",keywords:l,contains:[]},p={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},m={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"css"}},g={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,h],subLanguage:"graphql"}},y={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,h]},k={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},w=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,{match:/\$\d+/},f];h.contains=w.concat({begin:/\{/,end:/\}/,keywords:l,contains:["self"].concat(w)});const N=[].concat(k,h.contains),S=N.concat([{begin:/(\s*)\(/,end:/\)/,keywords:l,contains:["self"].concat(N)}]),x={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:S},E={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,"(",t.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},_={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...f$,...h$]}},O={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},C={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[x],illegal:/%/},P={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function A(R){return t.concat("(?!",R.join("|"),")")}const D={match:t.concat(/\b/,A([...p$,"super","import","await"].map(R=>`${R}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},I={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},M={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},x]},L="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",U={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(L)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[x]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:S,CLASS_REFERENCE:_},illegal:/#(?![$_A-Za-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),O,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,g,y,k,{match:/\$\d+/},f,_,{scope:"attr",match:r+t.lookahead(":"),relevance:0},U,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[k,e.REGEXP_MODE,{className:"function",begin:L,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:S}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:a.begin,end:a.end},{match:s},{begin:o.begin,"on:begin":o.isTrulyOpeningTag,end:o.end}],subLanguage:"xml",contains:[{begin:o.begin,end:o.end,skip:!0,contains:["self"]}]}]},C,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[x,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},I,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[x]},D,P,E,M,{match:/\$[(.]/}]}}const dye="([-+]?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)|NaN|[-+]?Infinity",fye={scope:"number",match:dye,relevance:0};function hye(e){const t={className:"attr",begin:/(("(\\.|[^\\"\r\n])*")|('(\\.|[^\\'\r\n])*'))(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},r=["true","false","null"],a={scope:"literal",beginKeywords:r.join(" ")};return{name:"JSON",aliases:["jsonc","json5"],keywords:{literal:r},contains:[t,n,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,fye,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}function pye(e){const t=e.regex,n={},r={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},r]});const a={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},s=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),o={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},l={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,a]};a.contains.push(l);const c={match:/\\"/},u={className:"string",begin:/'/,end:/'/},d={match:/\\'/},f={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,n]},h=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],p=e.SHEBANG({binary:`(${h.join("|")})`,relevance:10}),m={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},g=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],y=["true","false"],v={match:/(\/[a-z._-]+)+/},k=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],w=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],N=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],S=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:g,literal:y,built_in:[...k,...w,"set","shopt",...N,...S]},contains:[p,e.SHEBANG(),m,f,s,o,v,l,c,u,d,n]}}function I_(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[./~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function $_(e){const t=e.regex,n=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),r=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","lazy","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],l={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:["__import__","abs","aiter","all","anext","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozendict","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","sentinel","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},c={className:"meta",begin:/^(>>>|\.\.\.) /},u={className:"subst",begin:/\{/,end:/\}/,keywords:l,illegal:/#/},d={begin:/\{\{/,relevance:0},f={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,c,d,u]},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,c,d,u]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,d,u]},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,d,u]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},h="[0-9](_?[0-9])*",p=`(\\b(${h}))?\\.(${h})|\\b(${h})\\.`,m=`\\b|${r.join("|")}`,g={className:"number",relevance:0,variants:[{begin:`(\\b(${h})|(${p}))[eE][+-]?(${h})[jJ]?(?=${m})`},{begin:`(${p})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${m})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${m})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${m})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${m})`},{begin:`\\b(${h})[jJ](?=${m})`}]},y={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:l,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},v={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:["self",c,g,f,e.HASH_COMMENT_MODE]}]};return u.contains=[f,g,c],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:l,illegal:/(<\/|\?)|=>/,contains:[c,g,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},f,y,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[v]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[g,v,f]}]}}function L_(e){const t=e.regex,n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},r={match:/^ {0,3}([-*_])[ \t]*(?:\1[ \t]*){2,}$/},a={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},s={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},o={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},l=/[A-Za-z][A-Za-z0-9+.-]*/,c={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,l,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},u={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},d={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},f=e.inherit(u,{contains:[]}),h=e.inherit(d,{contains:[]});u.contains.push(h),d.contains.push(f);let p=[n,c];return[u,d,f,h].forEach(v=>{v.contains=v.contains.concat(p)}),p=p.concat(u,d),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:p},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:p}]}]},n,s,r,u,d,{className:"quote",begin:"^>\\s+",contains:p,end:"$"},a,c,o,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function D_(e){const t="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",r={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},a={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},s={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},o={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,a]},l=e.inherit(o,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),h={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},p={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},m={begin:/\{/,end:/\}/,contains:[p],illegal:"\\n",relevance:0},g={begin:"\\[",end:"\\]",contains:[p],illegal:"\\n",relevance:0},y=[r,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+n},{className:"type",begin:"!<"+n+">"},{className:"type",begin:"!"+n},{className:"type",begin:"!!"+n},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},h,{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},m,g,s,o],v=[...y];return v.pop(),v.push(l),p.contains=v,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:y}}function mye(e){const t=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:t.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^@@ +-\d+ +\+\d+,\d+ +@@/,/^@@ +-\d+,\d+ +\+\d+ +@@/,/^@@ +-\d+ +\+\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:t.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}function gye(e){const t=e.regex,n=e.COMMENT("--","$"),r={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},a={begin:/"/,end:/"/,contains:[{match:/""/}]},s=["true","false","unknown"],o=["double precision","large object","with timezone","without timezone"],l=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],c=["add","asc","collation","desc","final","first","last","view"],u=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],d=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],f=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],h=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],p=d,m=[...u,...c].filter(S=>!d.includes(S)),g={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},y={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},v={match:t.concat(/\b/,t.either(...p),/\s*\(/),relevance:0,keywords:{built_in:p}};function k(S){return t.concat(/\b/,t.either(...S.map(x=>x.replace(/\s+/,"\\s+"))),/\b/)}const w={scope:"keyword",match:k(h),relevance:0};function N(S,{exceptions:x,when:E}={}){const _=E;return x=x||[],S.map(O=>O.match(/\|\d+$/)||x.includes(O)?O:_(O)?`${O}|0`:O)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:N(m,{when:S=>S.length<3}),literal:s,type:l,built_in:f},contains:[{scope:"type",match:k(o)},w,v,g,r,a,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,y]}}function B_(e){const t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),r=/[\p{L}0-9._:-]+/u,a={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},s={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},o=e.inherit(s,{begin:/\(/,end:/\)/}),l=e.inherit(e.APOS_STRING_MODE,{className:"string"}),c=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),u={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:r,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[a]},{begin:/'/,end:/'/,contains:[a]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[s,c,l,o,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[s,o,c,l]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},a,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[u],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:"css"}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[u],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:"javascript"}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:t.concat(/</,t.lookahead(t.concat(n,t.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:u}]},{className:"tag",begin:t.concat(/<\//,t.lookahead(t.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}const vye=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},UNICODE_RANGE:{scope:"number",begin:/\b[Uu]\+[0-9A-Fa-f][0-9A-Fa-f?]{0,5}(-[0-9A-Fa-f][0-9A-Fa-f]{0,5})?/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),yye=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],bye=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],xye=[...yye,...bye],wye=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),kye=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),Sye=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),jye=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","corner-bottom-left-shape","corner-bottom-right-shape","corner-shape","corner-top-left-shape","corner-top-right-shape","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","unicode-range","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function Nye(e){const t=e.regex,n=vye(e),r={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},a="and or not only",s=/@-?\w[\w]*(-\w+)*/,o="[a-zA-Z-][a-zA-Z0-9_-]*",l=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[n.BLOCK_COMMENT,r,n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+o,relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+kye.join("|")+")"},{begin:":(:)?("+Sye.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+jye.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,n.UNICODE_RANGE,...l,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...l,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:s},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:a,attribute:wye.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...l,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+xye.join("|")+")\\b"}]}}function z_(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}const Eye={ts:P_,typescript:P_,js:M_,javascript:M_,json:hye,bash:pye,shell:I_,sh:I_,python:$_,py:$_,markdown:L_,md:L_,yaml:D_,yml:D_,diff:mye,sql:gye,html:B_,xml:B_,css:Nye,text:z_,plaintext:z_};function m$(e){if(e==null)return"";const t=e;return typeof t.value=="string"?t.value:Array.isArray(t.children)?t.children.map(m$).join(""):""}function _ye({lang:e,code:t,children:n}){const[r,a]=b.useState(!1),s=async()=>{var o;try{await((o=navigator.clipboard)==null?void 0:o.writeText(t)),a(!0),setTimeout(()=>a(!1),1500)}catch{}};return i.jsxs("div",{className:"md-code-block",children:[i.jsxs("div",{className:"md-code-head",children:[i.jsx("span",{className:"md-code-lang",children:e}),i.jsx("button",{type:"button",className:"md-code-copy",onClick:()=>void s(),children:r?"✓ Copied":"⧉ Copy"})]}),i.jsx("pre",{className:"md-code-pre",children:i.jsx("code",{children:n})})]})}function Cye({node:e,children:t}){var o,l,c,u;const n=(o=e==null?void 0:e.children)==null?void 0:o[0],a=((u=(Array.isArray((l=n==null?void 0:n.properties)==null?void 0:l.className)?(c=n==null?void 0:n.properties)==null?void 0:c.className:[]).find(d=>typeof d=="string"&&d.startsWith("language-")))==null?void 0:u.slice(9))??"text",s=b.useMemo(()=>m$(n),[n]);return i.jsx(_ye,{lang:a,code:s,children:t})}function F_({text:e}){const t=b.useMemo(()=>({h1:({node:n,...r})=>i.jsx("h1",{className:"md-heading md-h1",...r}),h2:({node:n,...r})=>i.jsx("h2",{className:"md-heading md-h2",...r}),h3:({node:n,...r})=>i.jsx("h3",{className:"md-heading md-h3",...r}),h4:({node:n,...r})=>i.jsx("h4",{className:"md-heading md-h4",...r}),h5:({node:n,...r})=>i.jsx("h5",{className:"md-heading md-h5",...r}),h6:({node:n,...r})=>i.jsx("h6",{className:"md-heading md-h6",...r}),p:({node:n,...r})=>i.jsx("p",{className:"md-para",...r}),ul:({node:n,...r})=>i.jsx("ul",{className:"md-list md-ul",...r}),ol:({node:n,...r})=>i.jsx("ol",{className:"md-list md-ol",...r}),blockquote:({node:n,...r})=>i.jsx("blockquote",{className:"md-quote",...r}),hr:({node:n,...r})=>i.jsx("hr",{className:"md-hr",...r}),table:({node:n,...r})=>i.jsx("table",{className:"md-table",...r}),a:({node:n,...r})=>i.jsx("a",{target:"_blank",rel:"noreferrer",...r}),pre:Cye}),[]);return i.jsx("div",{className:"md-root",children:i.jsx(uhe,{remarkPlugins:[Sme],rehypePlugins:[[aye,{languages:Eye}]],components:t,children:e??""})})}const U_=/```([\w+-]*)\n([\s\S]*?)```/g;function Aye(e){if(!e.trim())return[];const t=[];let n=null;for(const r of e.split(`
|
|
199
|
+
`))r.startsWith("diff --git ")?(n&&t.push(n),n={path:r.split(" b/").slice(1).join(" b/").replace(/^b\//,""),body:r}):n&&(n.body+=`
|
|
200
|
+
${r}`);return n&&t.push(n),t}function Tye(e){return/(^|\n)\s*(PASS|FAIL|✅|❌|✗|✓|\bok\b)/i.test(e)||/\b\d+\s+(passed|failed)\b/i.test(e)||/(tests?|build|suite|checks?)\s+(passed|failed|complete|green|red|ok)/i.test(e)||/(exit code|process exited|finished with)/i.test(e)}function Oye(e){return/(^|\n)\s*(FAIL|❌|✗)/i.test(e)||/\bfailed\b/i.test(e)?"fail":/(^|\n)\s*(PASS|✅|✓)/i.test(e)||/\bpassed\b/i.test(e)?"pass":"unknown"}function Pye(e){for(const t of e.split(`
|
|
201
|
+
`)){const n=t.trim();if(n)return n.length>80?`${n.slice(0,77)}…`:n}return"Command output"}const W_=/https?:\/\/[^\s)\]}"'<>]+/i,H_=/(🚀|deploy(?:ed|ment|ing)?|live at|published|available at|open the)/i;function Rye(e){return e.replace(/[.,;:!?]+$/,"")}function Mye(e){const t=e.split(`
|
|
202
|
+
`),n=[],r=new Set;for(let a=0;a<t.length;a+=1){const s=t[a];let o=s.match(H_);!o&&a+1<t.length&&/deploy(?:ed|ment|ing)?:\s*$/i.test(s.trim())&&(o=t[a+1].match(H_));const l=s.match(W_)||(a+1<t.length?t[a+1].match(W_):null);if(!o||!l)continue;const c=Rye(l[0]);r.has(c)||(r.add(c),n.push({url:c,title:s.trim().slice(0,80)||"Deployment"}))}return n}function yf(e){const t=[],n=[],r=[];U_.lastIndex=0;let a;for(;(a=U_.exec(e))!==null;){const s=(a[1]||"").toLowerCase(),o=a[2];if(s==="diff"||o.includes("diff --git ")){const l=Aye(o);l.length>0&&t.push({files:l,summary:`${l.length} file${l.length===1?"":"s"} changed`})}else Tye(o)&&n.push({verdict:Oye(o),title:Pye(o),body:o})}for(const s of Mye(e))r.push(s);return{diffs:t,results:n,deploys:r}}const Iye=3e5,$ye=3e3,Lye=10,Dye=5e3,Bye=2e3,zye=/\.(pdf|docx|xlsx|pptx)$/i,Fye=/\.(png|jpe?g|gif|webp|bmp|tiff?)$/i,Uye=/\.(txt|md|markdown|text|log|csv|tsv|json|xml|yaml|yml|html?|htaccess|css|js|mjs|cjs|jsx|ts|tsx|py|rb|go|rs|java|kt|c|h|cpp|cs|php|sh|bash|zsh|sql|ini|toml|cfg|conf|env)$/i;function Wye(e){let t="";for(let r=0;r<e.length;r+=32768)t+=String.fromCharCode(...e.subarray(r,r+32768));return btoa(t)}function Hye(e,t){const n=t.includes(0),r=t.length===0?1:t.reduce((a,s)=>s===9||s===10||s===13||s>=32&&s<127||s>=128?a+1:a,0)/t.length;return!n&&r>.9?{how:"text"}:zye.test(e)?{how:"binary"}:Uye.test(e)?{how:"text"}:Fye.test(e)?{how:"unsupported",reason:`"${e}" is an image, and this composer only sends text and documents. Save it into the project folder and ask me to describe it — I can read images from there.`}:{how:"unsupported",reason:`"${e}" is not a text file and not a document type I can read. Attach a PDF, DOCX, XLSX, PPTX, or a text/CSV/JSON/Markdown file — or put the file in the project folder and ask me to read it.`}}function Gye(e){const t=["pending","running","done","blocked"].includes(e.status),n=typeof e.note=="string"&&e.note.trim()?e.note.trim():void 0;return{id:e.id,description:e.description,status:t?e.status:"pending",...n?{note:n}:{}}}function qye(e){return e==="read_file"||e==="glob"||e==="list_dir"?"📖":e==="edit_file"||e==="write_file"?"✏️":e==="run_terminal"||e==="run_cli"?"⚙️":e==="web_search"||e==="read_page"?"🌐":e==="delegate"||e==="spawn_subagents"?"👥":e==="ask_user"?"🤔":"🔧"}function Kye(e){const t=String(e??"").trim().toLowerCase();return t==="max"||t==="maximum"||t==="unlimited"||t==="performance"||t==="performance-first"?"max":"balanced"}function Ec({diff:e,selectable:t=!1,onCommitAccepted:n,lockedHint:r}){const[a,s]=b.useState(null),o=new Set(a??e.files.map(d=>d.path)),l=d=>{s(f=>{const h=f??e.files.map(p=>p.path);return h.includes(d)?h.filter(p=>p!==d):[...h,d]})},c=e.files.reduce((d,f)=>{var h;return d+(((h=f.body.match(/^\+/gm))==null?void 0:h.length)??0)},0),u=e.files.reduce((d,f)=>{var h;return d+(((h=f.body.match(/^-/gm))==null?void 0:h.length)??0)},0);return i.jsxs("div",{className:"chat-diff-card",children:[i.jsxs("div",{className:"chat-diff-head",children:[i.jsx("span",{className:"chat-diff-icon",children:"🔧"}),i.jsx("span",{className:"chat-diff-title",children:"git diff"}),i.jsxs("span",{className:"chat-diff-meta",children:[e.files.length," file",e.files.length===1?"":"s"," · +",c," −",u]})]}),i.jsx("div",{className:"chat-diff-files",children:e.files.map(d=>{const f=o.has(d.path);return i.jsxs("details",{className:`chat-diff-file${f?"":" chat-diff-file-rejected"}`,open:e.files.length===1,children:[i.jsxs("summary",{className:"chat-diff-file-path",children:[t?i.jsx("button",{type:"button",className:`chat-diff-toggle${f?" chat-diff-toggle-on":""}`,title:f?"Accepted — click to reject":"Rejected — click to accept",onClick:h=>{h.preventDefault(),h.stopPropagation(),l(d.path)},children:f?"✓":"✗"}):null,d.path]}),i.jsx("pre",{className:"chat-diff-body",children:d.body.split(`
|
|
203
|
+
`).map((h,p)=>{const m=h.startsWith("+")?"diff-add":h.startsWith("-")?"diff-del":h.startsWith("@@")?"diff-hunk":"";return i.jsx("div",{className:`chat-diff-line ${m}`,children:h||" "},p)})})]},d.path)})}),t&&n?i.jsxs("div",{className:"chat-diff-actions",children:[i.jsxs("button",{className:"admin-refresh-btn",type:"button",disabled:o.size===0,onClick:()=>n([...o]),children:["Commit accepted (",o.size,")"]}),i.jsx("span",{className:"admin-hint",children:"Only accepted files are committed — the agent re-confirms with a question card."})]}):r?i.jsx("div",{className:"chat-diff-actions",children:i.jsxs("span",{className:"admin-hint chat-diff-locked",children:["🔒 ",r]})}):null]})}function g$({text:e,label:t}){const[n,r]=b.useState(!1),a=async()=>{var s;try{await((s=navigator.clipboard)==null?void 0:s.writeText(e)),r(!0),setTimeout(()=>r(!1),1500)}catch{}};return i.jsx("button",{type:"button",className:"chat-card-copy",title:`Copy ${t}`,onClick:()=>void a(),children:n?"✓ Copied":"⧉ Copy"})}function Vye({result:e}){const t=e.verdict==="pass"?"✅":e.verdict==="fail"?"❌":"📋";return i.jsxs("div",{className:`chat-result-card chat-result-${e.verdict}`,children:[i.jsxs("div",{className:"chat-result-head",children:[i.jsx("span",{className:"chat-result-icon",children:t}),i.jsx("span",{className:"chat-result-title",children:e.title}),i.jsx("span",{className:"chat-result-meta",children:e.verdict}),i.jsx(g$,{text:e.body,label:"result output"})]}),i.jsx("pre",{className:"chat-result-body",children:e.body})]})}function Yye({deploy:e}){return i.jsxs("div",{className:"chat-deploy-card",children:[i.jsxs("div",{className:"chat-deploy-head",children:[i.jsx("span",{className:"chat-deploy-icon",children:"🚀"}),i.jsx("span",{className:"chat-deploy-title",children:e.title||"Deployment"}),i.jsx(g$,{text:e.url,label:"deployment URL"})]}),i.jsx("a",{className:"chat-deploy-url",href:e.url,target:"_blank",rel:"noopener noreferrer",children:e.url})]})}function Xye({children:e}){const t=b.useRef(null),n=r=>{if(!t.current)return;const a=Array.from(t.current.querySelectorAll("[data-artifact-card]"));if(a.length===0)return;const s=a.indexOf(document.activeElement);let o=-1;r.key==="ArrowDown"?o=s+1>=a.length?0:s+1:r.key==="ArrowUp"?o=s-1<0?a.length-1:s-1:r.key==="Home"?o=0:r.key==="End"&&(o=a.length-1),o>=0&&o!==s&&(r.preventDefault(),a[o].focus())};return i.jsx("div",{className:"chat-artifacts",ref:t,role:"group","aria-label":"Artifacts",onKeyDown:n,children:e})}function G_({draft:e,onAccept:t,onReject:n,onEdit:r}){const a=e.status??"pending",s=e.markdown.split(`
|
|
204
|
+
`),o=s.findIndex(c=>c.startsWith("# "))>=0?s.findIndex(c=>c.startsWith("# ")):0,l=s.slice(o,o+14).join(`
|
|
205
|
+
`);return i.jsxs("div",{className:`chat-draft-card${a==="saved"?" chat-draft-saved":""}${a==="rejected"?" chat-draft-rejected":""}`,children:[i.jsxs("div",{className:"chat-draft-head",children:[i.jsx("span",{className:"chat-draft-icon",children:"🧠"}),i.jsxs("span",{className:"chat-draft-title",children:["New skill draft: ",e.name]}),i.jsx("span",{className:"chat-draft-meta",children:"pending your review"})]}),i.jsx("p",{className:"chat-draft-desc",children:e.description}),i.jsx("pre",{className:"chat-draft-body",children:l}),a==="saving"?i.jsx("div",{className:"admin-hint",children:"Saving…"}):a==="saved"?i.jsx("div",{className:"admin-hint",children:"✅ Saved — the skill is live: load it in chat or see it in the Agent Hub Skills tab."}):a==="rejected"?i.jsx("div",{className:"admin-hint",children:"🗑️ Rejected — the draft was discarded, nothing was saved."}):i.jsxs("div",{className:"chat-draft-actions",children:[i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>t(e.name),children:"✅ Accept"}),i.jsx("button",{className:"admin-mini-btn",type:"button",onClick:()=>r(e.name),children:"✏️ Edit"}),i.jsx("button",{className:"admin-mini-btn",type:"button",onClick:()=>n(e.name),children:"↩ Reject"})]})]})}function Qye({request:e,onSave:t}){const[n,r]=b.useState({}),[a,s]=b.useState(!1),o=e.missing.every(u=>{var d;return(d=n[u])==null?void 0:d.trim()}),l=e.missing.filter(u=>e.persisted[u]),c=e.missing.filter(u=>!e.persisted[u]);return i.jsxs("div",{className:"chat-secret-card",children:[i.jsxs("div",{className:"chat-secret-head",children:[i.jsx("span",{className:"chat-secret-icon",children:"🔐"}),i.jsxs("span",{className:"chat-secret-title",children:[e.skillName," needs environment variables"]})]}),l.length>0?i.jsxs("div",{className:"chat-secret-persisted",children:["Already configured: ",l.map(u=>i.jsx("code",{children:u},u)).join(", ")]}):null,c.length>0&&!a?i.jsxs("div",{className:"chat-secret-fields",children:[c.map(u=>i.jsxs("div",{className:"chat-secret-row",children:[i.jsxs("label",{className:"chat-secret-label",htmlFor:`secret-${u}`,children:[u,":"]}),i.jsx("input",{id:`secret-${u}`,className:"chat-secret-input",type:"password",placeholder:`Enter ${u} value…`,value:n[u]??"",onChange:d=>r(f=>({...f,[u]:d.target.value}))})]},u)),i.jsx("button",{className:"admin-refresh-btn",type:"button",disabled:!o,onClick:()=>{t(n),s(!0)},children:"💾 Save to ~/.nuvira/.env"})]}):a?i.jsx("div",{className:"admin-hint",children:"✅ Saved — the skill will pick up these values on next load."}):i.jsx("div",{className:"admin-hint",children:"All required env vars are already configured."})]})}function Zye({result:e}){const[t,n]=b.useState(!1),r=e.success?"✅":"❌",a=e.success?"Success":`Failed (exit ${e.exitCode})`,s=e.success?"chat-exec-success":"chat-exec-failure",o=new Date(e.timestamp).toLocaleTimeString();return i.jsxs("div",{className:`chat-exec-card ${s}`,children:[i.jsxs("div",{className:"chat-exec-head",onClick:()=>n(!t),style:{cursor:"pointer"},children:[i.jsx("span",{className:"chat-exec-icon",children:"📜"}),i.jsx("span",{className:"chat-exec-title",children:e.skillName}),i.jsxs("span",{className:"chat-exec-status",children:[r," ",a]}),i.jsxs("span",{className:"chat-exec-meta",children:[e.runtime," · ",e.durationMs,"ms · ",o]}),i.jsx("span",{className:"chat-exec-expand",children:t?"▼":"▶"})]}),t&&i.jsxs("div",{className:"chat-exec-body",children:[e.stdout&&i.jsxs("div",{className:"chat-exec-section",children:[i.jsx("div",{className:"chat-exec-section-title",children:"stdout"}),i.jsx("pre",{className:"chat-exec-output",children:e.stdout})]}),e.stderr&&i.jsxs("div",{className:"chat-exec-section chat-exec-stderr",children:[i.jsx("div",{className:"chat-exec-section-title",children:"stderr"}),i.jsx("pre",{className:"chat-exec-output",children:e.stderr})]}),i.jsxs("div",{className:"chat-exec-details",children:[i.jsxs("span",{children:["Runtime: ",e.runtime]}),i.jsxs("span",{children:["Exit code: ",e.exitCode]}),i.jsxs("span",{children:["Duration: ",e.durationMs,"ms"]})]})]})]})}function Jye(e){return e==="done"?"✅":e==="running"?"🔄":e==="blocked"?"⛔":"⬜"}function ebe(e){return e==="done"?"done":e==="running"?"in progress":e==="blocked"?"blocked":"pending"}function q_({plan:e}){const t=e.steps.length,n=e.steps.filter(c=>c.status==="done").length,r=e.steps.filter(c=>c.status==="blocked").length,a=t===0?0:Math.round(n/t*100),s=t>0&&n===t,o=t>0&&e.steps.every(c=>c.status==="done"||c.status==="blocked"),l=e.steps.some(c=>c.note);return i.jsxs("div",{className:`chat-plan-card${s?" chat-plan-complete":""}`,children:[i.jsxs("div",{className:"chat-plan-head",children:[i.jsx("span",{className:"chat-plan-icon",children:"🗂️"}),i.jsx("span",{className:"chat-plan-goal",children:e.goal}),i.jsxs("span",{className:"chat-plan-count",children:[n,"/",t," done · ",a,"%"]})]}),i.jsx("div",{className:"chat-plan-bar",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":a,children:i.jsx("span",{className:"chat-plan-bar-fill",style:{width:`${a}%`}})}),i.jsxs("table",{className:"chat-plan-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{className:"chat-plan-col-n",children:"#"}),i.jsx("th",{children:"Step"}),i.jsx("th",{className:"chat-plan-col-status",children:"Status"}),l?i.jsx("th",{children:"Notes"}):null]})}),i.jsx("tbody",{children:e.steps.map((c,u)=>i.jsxs("tr",{className:`chat-plan-row chat-plan-row-${c.status}`,children:[i.jsx("td",{className:"chat-plan-col-n",children:u+1}),i.jsx("td",{className:"chat-plan-step-text",children:c.description}),i.jsxs("td",{className:"chat-plan-col-status",children:[i.jsx("span",{className:"chat-plan-step-icon",children:Jye(c.status)})," ",ebe(c.status)]}),l?i.jsx("td",{className:"chat-plan-note",children:c.note??""}):null]},c.id))})]}),o?i.jsx("div",{className:"chat-plan-settled",children:s?`✅ Plan complete — ${n}/${t} steps achieved`:`📋 Plan settled — ${n}/${t} achieved, ${r} blocked`}):null]})}function K_({tools:e,live:t}){return!e||e.length===0?null:i.jsx("div",{className:`chat-tool-cards${t?" chat-tool-cards-live":""}`,children:e.map(n=>{const r=n.phase==="started"||n.ok===void 0,a=n.ok===!1;return i.jsxs("div",{className:`chat-tool-card${r?" chat-tool-running":a?" chat-tool-err":" chat-tool-ok"}`,children:[i.jsxs("div",{className:"chat-tool-head",children:[i.jsx("span",{className:"chat-tool-icon",children:qye(n.tool)}),i.jsx("span",{className:"chat-tool-name",children:n.tool}),n.args?i.jsx("code",{className:"chat-tool-args",children:n.args}):null,i.jsx("span",{className:"chat-tool-status",title:r?"running":a?"failed":"done",children:r?"⏳":a?"✗":"✓"}),n.durationMs!==void 0&&!r?i.jsxs("span",{className:"chat-tool-dur",children:[n.durationMs,"ms"]}):null]}),n.error||n.result?i.jsxs("details",{className:"chat-tool-detail",children:[i.jsx("summary",{children:a?"Error":"Result"}),i.jsx("pre",{className:"chat-tool-body",children:n.error||n.result})]}):null]},n.id)})})}function v$(e){return(e.evidence??[]).filter(t=>typeof(t==null?void 0:t.ref)=="string"&&t.ref.trim().length>0)}function tbe(e){const t=e.filter(n=>n.verdict==="CONFIRMED"&&v$(n).length>0).length;return`${e.length} finding${e.length===1?"":"s"}: ${t} confirmed, ${e.length-t} plausible`}function V_({findings:e}){return!e||e.length===0?null:i.jsxs("details",{className:"chat-steps chat-findings",children:[i.jsx("summary",{children:`🔎 ${tbe(e)}`}),i.jsx("div",{className:"chat-finding-cards",children:e.map((t,n)=>{const r=v$(t),a=t.verdict==="CONFIRMED"&&r.length>0;return i.jsxs("div",{className:`chat-finding-card ${a?"chat-finding-confirmed":"chat-finding-plausible"}`,children:[i.jsxs("div",{className:"chat-finding-head",children:[i.jsx("span",{className:"chat-finding-icon","aria-hidden":"true",children:a?"✅":"🔎"}),i.jsx("span",{className:"chat-finding-claim",children:t.claim}),i.jsx("span",{className:`chat-finding-verdict ${a?"chat-finding-verdict-ok":"chat-finding-verdict-guess"}`,title:a?"a check was performed and is shown below":"reasoned, not verified",children:a?"CONFIRMED":"PLAUSIBLE"})]}),t.outcome?i.jsx("div",{className:"chat-finding-outcome",children:t.outcome}):null,r.length>0?i.jsx("ul",{className:"chat-finding-evidence",children:r.map((s,o)=>i.jsxs("li",{children:[i.jsx("span",{className:"chat-finding-kind",children:s.kind}),i.jsx("code",{className:"chat-finding-ref",children:s.ref}),s.detail?i.jsxs("span",{className:"chat-finding-detail",children:["(",s.detail,")"]}):null]},o))}):i.jsx("div",{className:"chat-finding-noevidence",children:"no evidence — reported as PLAUSIBLE, not verified"}),t.source?i.jsxs("div",{className:"chat-finding-source",children:["source: ",t.source]}):null]},`${n}-${t.claim}`)})})]})}function nbe({worktree:e}){return i.jsxs("div",{className:"chat-worktree-card",children:[i.jsxs("div",{className:"chat-worktree-head",children:[i.jsx("span",{className:"chat-worktree-icon","aria-hidden":"true",children:"🌿"}),i.jsx("span",{className:"chat-worktree-title",children:"Ran in an isolated worktree"}),i.jsx("span",{className:`chat-worktree-state ${e.removed?"chat-worktree-gone":"chat-worktree-kept"}`,children:e.removed?"removed":"kept"})]}),i.jsxs("div",{className:"chat-worktree-meta",children:[i.jsx("code",{className:"chat-worktree-dir",title:e.dir,children:e.dir}),i.jsxs("span",{className:"admin-hint",children:["base ",e.base.slice(0,7)]})]}),i.jsx("div",{className:"chat-worktree-note admin-hint",children:e.removed?"the diff below is what is left of it — nothing was written into the project tree":"the directory above is still on disk"}),i.jsx(Ec,{diff:e.diff.payload})]})}function rbe({resume:e}){return i.jsxs("details",{className:"chat-resume-card",children:[i.jsxs("summary",{className:"chat-resume-head",children:[i.jsx("span",{className:"chat-resume-icon","aria-hidden":"true",children:"↩️"}),i.jsx("span",{className:"chat-resume-title",children:"Resumed a recorded run"}),i.jsxs("span",{className:"chat-resume-count",children:[i.jsxs("span",{children:[e.replayed," step",e.replayed===1?"":"s"," replayed"]}),i.jsxs("span",{children:[e.modelCalls," model call",e.modelCalls===1?"":"s"," made"]})]}),i.jsx("span",{className:`chat-resume-state ${e.saved?"chat-resume-saved":"chat-resume-unsaved"}`,title:e.saved?"the record was written back, so a later resume can replay this run":"the record could NOT be written — a later resume will replay nothing from this run",children:e.saved?"recorded":"not recorded"}),i.jsx("span",{className:"chat-card-caret","aria-hidden":"true",children:"▸"})]}),i.jsxs("div",{className:"chat-resume-meta",children:[typeof e.callsAvoided=="number"&&e.callsAvoided>0&&i.jsxs("span",{className:"chat-resume-saved-calls",title:"model calls the resume did not re-pay for",children:[e.callsAvoided," model call",e.callsAvoided===1?"":"s"," saved"]}),i.jsx("code",{className:"chat-resume-id",title:"the checkpoint record this run used",children:e.id})]}),i.jsx("div",{className:"chat-resume-note",children:e.notice})]})}function abe({report:e}){const t=e.verification==="verified"?"VERIFIED":e.verification==="unverified"?"UNVERIFIED":e.verification==="blocked"?"BLOCKED":"no changes",n=[];return e.flags.unverifiedActionClaim&&n.push("claimed an action no tool ran"),e.flags.unverifiedEditClaim&&n.push("claimed a fix nothing verified"),e.flags.unverifiedBuildClaim&&n.push("claimed a failing build worked"),e.flags.unverifiedEdit&&n.push("edited without verifying"),e.flags.undeliveredArtifact&&n.push("deliverable never written"),e.flags.unfulfilledPromise&&n.push("promised an action it did not take"),e.flags.noActionTaken&&n.push("no action taken"),e.flags.undeliveredChange&&n.push("asked for a change, delivered a plan"),e.flags.unbackedHealthClaim&&n.push("verdict on the product nothing exercised"),i.jsxs("details",{className:`chat-turn-card chat-turn-${e.verification}`,children:[i.jsxs("summary",{className:"chat-turn-head",children:[i.jsx("span",{className:"chat-turn-icon","aria-hidden":"true",children:"📋"}),i.jsx("span",{className:"chat-turn-title",children:"Turn report"}),e.planned?i.jsxs("span",{className:"chat-turn-count",title:e.planCarried?"the tracked plan was carried from an earlier turn — THIS turn did not advance it":"plan steps recorded as done this turn",children:[e.stepCounts.done,"/",e.stepCounts.total," steps",e.planCarried?" · carried":""]}):null,e.summary?i.jsx("span",{className:"chat-turn-headline",title:e.summary,children:e.summary}):null,i.jsx("span",{className:"chat-turn-verdict",title:"derived from recorded evidence, never the model's own narration",children:t}),i.jsx("span",{className:"chat-card-caret","aria-hidden":"true",children:"▸"})]}),i.jsxs("div",{className:"chat-turn-body",children:[e.steps.length>0?i.jsx("ul",{className:"chat-turn-steps",children:e.steps.map(r=>i.jsxs("li",{className:`chat-turn-step chat-turn-step-${r.status}`,children:[i.jsx("span",{className:"chat-turn-step-icon","aria-hidden":"true",children:r.status==="done"?"✅":r.status==="running"?"🔄":r.status==="blocked"?"⛔":"⬜"}),i.jsx("span",{className:"chat-turn-step-text",children:r.description}),r.note?i.jsx("span",{className:"chat-turn-step-note",children:r.note}):null,r.evidence?i.jsx("span",{className:"chat-turn-step-evidence",children:r.evidence}):null]},r.id))}):null,e.changedPaths.length>0?i.jsxs("div",{className:"chat-turn-files",children:[e.changedPaths.length," file",e.changedPaths.length===1?"":"s"," changed:"," ",i.jsxs("code",{children:[e.changedPaths.slice(0,6).join(", "),e.changedPaths.length>6?` +${e.changedPaths.length-6} more`:""]})]}):null,e.planCarried?i.jsx("div",{className:"chat-turn-carried",children:"📋 that plan is carried from an earlier turn — THIS turn did not advance it."}):null,e.unverifiedPaths&&e.unverifiedPaths.length>0?i.jsxs("div",{className:"chat-turn-owed",children:["⚠️ ",e.unverifiedPaths.length," changed path",e.unverifiedPaths.length===1?"":"s"," no check exercised:"," ",i.jsxs("code",{children:[e.unverifiedPaths.slice(0,6).join(", "),e.unverifiedPaths.length>6?` +${e.unverifiedPaths.length-6} more`:""]})]}):null,n.length>0?i.jsx("div",{className:"chat-turn-flags",children:n.map(r=>i.jsxs("span",{className:"chat-turn-flag",children:["⚠️ ",r]},r))}):null]})]})}function fv(){try{if(typeof crypto<"u"&&typeof crypto.randomUUID=="function")return crypto.randomUUID()}catch{}return`chat-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}const y$="nuvira.dashboard.chat.activeSession";function ibe(){try{const e=sessionStorage.getItem(y$);return e&&e.length>0&&e.length<=64?e:null}catch{return null}}function hv(e){try{sessionStorage.setItem(y$,e)}catch{}}function sbe(e,t){const n=t.trim().toLowerCase(),r=n?e.filter(u=>`${u.title} ${u.preview} ${u.firstUser}`.toLowerCase().includes(n)):e,a=[],s=new Date,o=new Date(s.getFullYear(),s.getMonth(),s.getDate()).getTime(),l=864e5,c=[{label:"Today",match:u=>u>=o},{label:"Yesterday",match:u=>u>=o-l&&u<o},{label:"This week",match:u=>u>=o-7*l&&u<o-l},{label:"Older",match:()=>!0}];for(const u of c){const d=r.filter(f=>u.match(f.updatedAt));d.length>0&&a.push({label:u.label,items:d})}return a}function obe({ceilingRecovery:e}={}){var Xl;const[t,n]=b.useState(null),r=Gr(),[a,s]=b.useState(Iye);b.useEffect(()=>{K.fetchLimits().then(j=>{j&&j.attachmentMaxBytes>0&&s(j.attachmentMaxBytes)})},[]),b.useEffect(()=>{K.fetchProcessEnv().then(j=>{const z=j.find(W=>W.name==="NUVIRA_CAPABILITY_MODE");z&&O(Kye(z.processValue??z.fileValue))})},[]),b.useEffect(()=>{K.listRoutableModels().then(j=>U(j))},[]);const[o,l]=b.useState([]),[c,u]=b.useState(""),[d,f]=b.useState(!1),[h,p]=b.useState(""),[m,g]=b.useState(null),[y,v]=b.useState(!1),[k,w]=b.useState(!1),[N,S]=b.useState(!1),[x,E]=b.useState(""),[_,O]=b.useState("balanced"),[C,P]=b.useState(""),[A,D]=b.useState(null),[I,M]=b.useState(!1),[L,U]=b.useState([]),[R,B]=b.useState(null),[T,Z]=b.useState([]),[F,$]=b.useState([]),[ae,ue]=b.useState(null),[me,Ee]=b.useState(null),[J,Y]=b.useState(null),[re,le]=b.useState([]),[H,ye]=b.useState([]),[xe,Oe]=b.useState([]),pe=b.useRef([]),Re=b.useRef([]),fe=b.useRef(null),Ve=b.useRef(null),$e=b.useRef(null),_e=b.useRef([]),[pt,Fe]=b.useState(""),it=b.useRef(""),Xt=b.useRef(null),[q,X]=b.useState(null),[ie,de]=b.useState(!1),we=b.useRef(!1),Me=b.useRef(!1),[Ft,Ie]=b.useState(0),an=b.useRef(null),[$n,kt]=b.useState(null),[It,sn]=b.useState(null),Tt=b.useRef(ibe()??fv()),Vn=b.useRef(""),[Yn,Ln]=b.useState([]),[on,ln]=b.useState(!0),[va,Bl]=b.useState(""),[mn,qr]=b.useState(null),[Ut,Ka]=b.useState(""),[$t,ya]=b.useState([]),[_r,Kr]=b.useState(null),[qs,Va]=b.useState(!1),Vr=b.useRef(null),Yr=b.useRef(null),[Qe,Ks]=b.useState(null),[ba,Hi]=b.useState(null),[Ya,Vs]=b.useState([]),[Xr,Gi]=b.useState(""),[qi,Xa]=b.useState(""),[Ki,Qa]=b.useState(!1),[_n,Qr]=b.useState(""),[xa,G]=b.useState([]),[te,je]=b.useState(null),[Se,Rt]=b.useState(!1),[Dn,Cn]=b.useState([]),[Za,Ys]=b.useState([]),[Ja,Xs]=b.useState(""),Cr=b.useRef(null),ct=b.useRef(null),zl=b.useRef(null),ur=b.useRef(null),[ut,Ar]=b.useState(null),[Nt,Qs]=b.useState(new Set),[Zs,hd]=b.useState("");b.useEffect(()=>{K.fetchAdminAuthStatus().then(j=>{n(j?{configured:j.configured,authenticated:j.authenticated,role:j.role??null}:{configured:!1,authenticated:!1,role:null})})},[r]),b.useEffect(()=>{var j,z;try{(z=(j=zl.current)==null?void 0:j.scrollTo)==null||z.call(j,{top:zl.current.scrollHeight})}catch{}},[o,d,T]),b.useEffect(()=>()=>{var j;(j=ct.current)==null||j.call(ct),ct.current=null},[]);const Pm=b.useCallback(async j=>{var Q,ne;(Q=ct.current)==null||Q.call(ct),ct.current=null;const z=await K.getChatSession(j);if(!z)return;Tt.current=j,hv(j),l(z.turns.map(he=>({role:he.role,content:he.content,...he.role==="assistant"?{followups:[],artifacts:yf(he.content)}:{}}))),Z([]),pe.current=[],$([]),Re.current=[],ue(null),fe.current=null,Ee(null),Ve.current=null,Y(null),$e.current=null,le([]),_e.current=[],it.current="",Fe(""),X(null),p(""),B(null),Ar(null),ln(!0),D(z.pinnedProvider&&z.pinnedModel?{provider:z.pinnedProvider,model:z.pinnedModel}:null);const W=z.projectPath;if(W){if(Hi(W),(Qe==null?void 0:Qe.path)===W)return;(ne=ur.current)==null||ne.call(ur,W)}else Hi(null)},[Qe]),wa=b.useCallback(()=>{var j;(j=ct.current)==null||j.call(ct),ct.current=null,Tt.current=fv(),hv(Tt.current),Hi(null),D(null),l([]),Z([]),pe.current=[],$([]),Re.current=[],ue(null),fe.current=null,Ee(null),Ve.current=null,Y(null),$e.current=null,le([]),_e.current=[],it.current="",Fe(""),X(null),p(""),B(null),Ar(null),ya([]),Kr(null),u(""),ln(!0)},[]),Vi=b.useCallback(j=>{ya(z=>[...z,j].slice(-10))},[]),Rm=b.useCallback(j=>{ya(z=>z.filter((W,Q)=>Q!==j))},[]),pd=b.useCallback(async j=>{if(!j)return;if(j.size>a){p(`Attachment "${j.name}" is too large (max ${Math.round(a/1024)} KB). Raise the cap in Admin → Process Environment (NUVIRA_ATTACHMENT_MAX_BYTES).`);return}const z=new Uint8Array(await j.slice(0,8192).arrayBuffer()),W=Hye(j.name,z);if(W.how==="unsupported"){p(W.reason);return}if(W.how==="binary"){const ne=new Uint8Array(await j.arrayBuffer());Vi({name:j.name,content:Wye(ne),kind:"file",encoding:"base64"});return}const Q=await j.text();Vi({name:j.name,content:Q,kind:"file",encoding:"text"})},[Vi]),Js=b.useCallback(j=>{const z=j.currentTarget,W=j.clipboardData.getData("text")||"";W.length>=Bye&&(Yr.current={start:z.selectionStart,end:z.selectionEnd},Kr({text:W}))},[]),Mm=b.useCallback(()=>{const j=_r;if(!j)return;const z=Yr.current;u(W=>z?W.slice(0,z.start)+W.slice(z.end):W),Vi({name:"pasted-text.txt",content:j.text,kind:"paste",encoding:"text"}),Kr(null),Yr.current=null},[_r,Vi]),md=b.useCallback(j=>{qr(j.id),Ka(j.title==="(untitled conversation)"?"":j.title)},[]),gd=b.useCallback(async j=>{const z=await K.renameChatSession(j,Ut);z.ok?Ln(W=>W.map(Q=>Q.id===j?{...Q,title:Ut.trim()||Q.title}:Q)):p(z.error||"Could not rename the session."),qr(null),Ka("")},[Ut]),vd=b.useCallback(async j=>{const z=await K.deleteChatSession(j);z.ok?(Ln(W=>W.filter(Q=>Q.id!==j)),Tt.current===j&&wa()):p(z.error||"Could not delete the session.")},[wa]),ei=(t==null?void 0:t.authenticated)===!0&&(t.role==="admin"||t.role==="operator"),eo=b.useRef(!1);b.useEffect(()=>{if(!ei||eo.current)return;eo.current=!0;const j=Tt.current;let z=!1,W=null;const Q=async()=>{const ne=await K.getChatSession(j);z||ne&&(Xt.current||l(ne.turns.map(he=>({role:he.role,content:he.content,...he.role==="assistant"?{followups:[],artifacts:yf(he.content)}:{}}))),f(ne.busy===!0),ne.busy===!0&&(an.current=ne.busySince??Date.now()),de(ne.busy===!0),ne.pendingQuestion?Ar(ne.pendingQuestion):ne.busy||Ar(null),ne.busy&&(W=setTimeout(()=>void Q(),2500)))};return Q(),()=>{z=!0,W&&clearTimeout(W)}},[ei]),b.useEffect(()=>{if(!ie){Ie(0),an.current=null;return}const j=()=>Date.now()-(an.current??Date.now());Ie(j());const z=setInterval(()=>Ie(j()),Dye);return()=>clearInterval(z)},[ie]),b.useEffect(()=>{ei&&(K.listChatSessions().then(j=>{Array.isArray(j)&&Ln(j)}),K.listProjects().then(j=>{Array.isArray(j)&&Vs(j)}))},[ei]);const Xn=b.useCallback(async j=>{const z=j.trim();if(!z)return;Xa("");const W=await K.attachProject(z);if(W.ok&&W.project){Ks(W.project),Gi("");const Q=await K.listProjects();Array.isArray(Q)&&Vs(Q)}else Xa(W.error||"Could not attach that directory.")},[]);ur.current=Xn;const Yi=b.useCallback(async j=>{Qa(!0),Rt(!0),Xs("");const z=await K.browseDirectories(j,{showDrives:!j});z.ok&&(Qr(z.path),G(z.entries),je(z.parent),z.drives&&Cn(z.drives),z.breadcrumbs&&Ys(z.breadcrumbs)),Rt(!1)},[]),Fl=b.useCallback(async j=>{Rt(!0),Xs("");const z=await K.browseDirectories(j);z.ok&&(Qr(z.path),G(z.entries),je(z.parent),z.breadcrumbs&&Ys(z.breadcrumbs)),Rt(!1)},[]),Ul=b.useCallback(async()=>{if(!_n)return;const j=await K.browseDirectories(_n);j.ok&&G(j.entries)},[_n]);b.useEffect(()=>K.onChatRetryEvent(z=>{if(z.sessionId!==Tt.current){K.listChatSessions().then(W=>{Array.isArray(W)&&Ln(W)});return}l(W=>[...W,{role:"assistant",content:z.content}]),z.kind==="answer"&&X(null)}),[]),b.useEffect(()=>(Ki&&_n&&(Cr.current=setInterval(()=>{Ul()},5e3)),()=>{Cr.current&&clearInterval(Cr.current)}),[Ki,_n,Ul]);const to=b.useCallback(async()=>{if(typeof window<"u"&&"showDirectoryPicker"in window)try{const W=(await window.showDirectoryPicker({mode:"read"})).name;if(!W){Yi();return}Xa(""),f(!0);const Q=await K.resolveFolder(W);f(!1),Q.ok&&Q.path?(Gi(Q.path),Xn(Q.path)):Xa('Folder "'+W+'" found — selecting it now. If this is wrong, type the full path below.');return}catch(z){if((z==null?void 0:z.name)==="AbortError")return}Yi()},[Yi,Xn]),no=b.useCallback(j=>{if(Me.current)return;Me.current=!0,we.current=!1;const z=j.content||"(the agent produced no text — try rephrasing)";l(W=>[...W,{role:"assistant",content:z,error:j.generationFailed===!0,followups:j.followups??[],steps:pe.current,tools:Re.current,plan:fe.current,diff:Ve.current,draft:$e.current,findings:_e.current,artifacts:yf(z)}]),it.current="",Fe(""),p(""),X(null),de(!1),f(!1),ln(!0)},[]),Wl=b.useCallback(async(j,z)=>{const W=(e==null?void 0:e.pollMs)??$ye,Q=(e==null?void 0:e.maxMisses)??Lye;let ne=0;for(;;){if(await new Promise(Ze=>setTimeout(Ze,W)),Me.current||!we.current)return;const he=await K.getChatSession(j);if(!he){if(++ne>=Q){we.current=!1,de(!1),f(!1),p("Lost contact with the server while this turn was running. The turn itself was not cancelled — its answer is in this conversation (reopen it) or in Traces.");return}continue}if(ne=0,he.busy===!0){he.pendingQuestion&&Ar(he.pendingQuestion),typeof he.busySince=="number"&&(an.current=he.busySince);continue}const Ne=[...he.turns].reverse().find(Ze=>Ze.role==="assistant");Ne?no({content:Ne.content,followups:[]}):(we.current=!1,de(!1),f(!1),X(z));return}},[no,e==null?void 0:e.pollMs,e==null?void 0:e.maxMisses]),cn=b.useCallback(async(j,z)=>{var Ze,be,mt;const W=j.trim(),Q=Array.isArray(z)?z:$t;if(!W&&Q.length===0||d)return;p(""),B(null),Z([]),pe.current=[],$([]),Re.current=[],ue(null),fe.current=null,Ee(null),Ve.current=null,Y(null),$e.current=null,le([]),_e.current=[],l(ke=>[...ke,{role:"user",content:W,attachments:Q.length>0?Q:void 0}]),u(""),ya([]),Kr(null),Vn.current=W||`[${Q.length} attachment(s)]`,an.current=Date.now(),f(!0),ln(!1);const ne=Tt.current,he=new AbortController;Xt.current=he,X(null),we.current=!1,Me.current=!1,de(!1),(Ze=ct.current)==null||Ze.call(ct),ct.current=K.subscribeChat(ne,{onToken:ke=>{it.current+=ke,Fe(it.current)},onProgress:ke=>{pe.current=[...pe.current,ke],Z(pe.current)},onQuestion:ke=>{Ar(ke),Qs(new Set)},onTool:ke=>{const dt=[...Re.current],Ql=dt.findIndex(x$=>x$.id===ke.id),Xi={id:ke.id,tool:ke.tool,phase:ke.phase,args:ke.args,ok:ke.ok,result:ke.result,error:ke.error,durationMs:ke.durationMs};Ql>=0?dt[Ql]=Xi:dt.push(Xi),Re.current=dt,$(dt)},onPlan:ke=>{const dt={goal:ke.goal,steps:ke.steps.map(Gye),revision:ke.revision};fe.current=dt,ue(dt)},onDiff:ke=>{const dt={files:ke.files,summary:ke.summary};Ve.current=dt,Ee(dt)},onSkillDraft:ke=>{const dt={name:ke.name,description:ke.description,markdown:ke.markdown,updatedAt:ke.updatedAt,status:"pending"};$e.current=dt,Y(dt)},onFinding:ke=>{_e.current=[..._e.current,ke],le(_e.current)},onSecretRequest:ke=>{ye(dt=>{const Ql=dt.findIndex(Xi=>Xi.skillName===ke.skillName);if(Ql>=0){const Xi=[...dt];return Xi[Ql]=ke,Xi}return[...dt,ke]})},onExecutionResult:ke=>{Oe(dt=>[...dt,ke])},onTurnDone:ke=>{we.current&&no(ke)}});const Ne=await K.chatSend(ne,W||`(see ${Q.length} attachment${Q.length===1?"":"s"})`,{...A?{provider:A.provider,model:A.model}:{},...A&&I?{strict:!0}:{},projectPath:Qe==null?void 0:Qe.path,attachments:Q.map(ke=>({name:ke.name,content:ke.content,kind:ke.kind,encoding:ke.encoding??"text"})),...y?{worktree:!0,keepWorktree:k}:{},...N?{resume:x.trim()||!0}:{}},he.signal);if(Xt.current=null,(be=ct.current)==null||be.call(ct),ct.current=null,it.current="",Fe(""),Ne.ok){B(Ne.generationFailed?null:`${Ne.provider??"provider"}${Ne.model?` / ${Ne.model}`:" (auto-routed)"}`),kt(Ne.routingNotice??null),sn(Ne.workspaceNotice??null),Ne.workspacePath&&Ne.workspacePath!==(Qe==null?void 0:Qe.path)&&((mt=ur.current)==null||mt.call(ur,Ne.workspacePath)),X(Ne.generationFailed&&!Ne.retryQueued&&!Ne.refused?W:null);const ke=Ne.content||"(the agent produced no text — try rephrasing)";l(dt=>[...dt,{role:"assistant",content:ke,error:Ne.generationFailed,followups:Ne.followups,steps:pe.current,tools:Re.current,plan:fe.current,diff:Ve.current,draft:$e.current,findings:Ne.findings??_e.current,worktree:Ne.worktree,resume:Ne.resume,turnReport:Ne.turnReport,refused:Ne.refused,needsProject:Ne.needsProject,artifacts:yf(ke)}])}else he.signal.aborted?(p(""),X(null)):Ne.turnStillRunning?(p(""),X(null),de(!0),we.current=!0,Me.current=!1,Wl(ne,W)):Ne.unauthorized?(n(ke=>ke&&{...ke,authenticated:!1}),p("Session expired — log in again to chat.")):(p(Ne.error||"The agent could not answer — check that a provider API key is set for the dashboard process."),X(W));Ne.ok===!1&&Ne.turnStillRunning||(f(!1),ln(!0))},[d,Qe,$t,y,k,N,x,A,no,Wl]),yd=b.useCallback(()=>{var j;(j=Xt.current)==null||j.abort(),K.chatCancel(Tt.current)},[]),bd=b.useCallback(async()=>{const j=_==="max"?"balanced":"max";P("");const z=await K.saveProcessEnvVar("NUVIRA_CAPABILITY_MODE",j);z.ok?(O(j),P(j==="max"?"⚡ Max capability is on for the next turn.":"⚖️ Back to balanced.")):P(z.error||"Could not change the capability mode.")},[_]),xd=b.useCallback(async()=>{g(null);const j=await K.chatSupportBundle(Tt.current);g(j.ok?{kind:"ok",text:"Support bundle downloaded — attach it to your bug report."}:{kind:"err",text:j.error||"Could not build the support bundle."})},[]),Hl=b.useCallback(async j=>{Y(W=>W&&{...W,status:"saving"});const z=await K.skillDraftAccept(j);Y(W=>W&&{...W,status:z.ok?"saved":"error"}),z.ok||p(z.error||"Could not accept the draft.")},[]),Gl=b.useCallback(async j=>{const z=await K.skillDraftReject(j);z.ok?Y(W=>W&&{...W,status:"rejected"}):p(z.error||"Could not reject the draft.")},[]),ql=b.useCallback(j=>{cn(`Revise the skill draft "${j}" — improve it per your best judgment and present it again.`)},[cn]),wd=b.useCallback(async j=>{const z=await K.saveSecrets(j);if(!z.ok){p(z.error||"Could not save secrets.");return}const W=z.refused??[];W.length>0&&p(W.map(Q=>Q.reason==="provider-credential"?`${Q.name} is a provider credential — set it up as a provider, skills never receive it.`:`${Q.name} was not saved (${Q.reason}).`).join(" "))},[]),Kl=b.useCallback(j=>{if(j.length===0)return;const z=Qe?` in the attached project ${Qe.path}`:"";cn(`Commit exactly these files that I accepted on the diff card (and nothing else)${z}: ${j.join(", ")}. Show me a short confirmation before finishing.`)},[cn,Qe]),Zr=b.useCallback(async j=>{const z=ut;if(!z)return;Ar(null),hd(""),Qs(new Set);const W=await K.chatRespond(Tt.current,z.questionId,j);W.ok||p(W.error||"The question could not be answered — try sending your message again.")},[ut]),Vl=b.useCallback(()=>{if(!ut)return;const j=Zs.trim(),z=ut.multiSelect?[...Nt]:[...Nt][0];ut.multiSelect?Zr({index:[...Nt],...j?{custom:j}:{}}):Zr(j?{index:-1,custom:j}:z!==void 0?{index:z}:{index:-1})},[ut,Nt,Zs,Zr]),kd=b.useCallback(()=>{ut&&Zr({index:-1})},[ut,Zr]),Sd=b.useCallback(j=>{Qs(z=>{const W=new Set(z);return ut!=null&&ut.multiSelect?W.has(j)?W.delete(j):W.add(j):(W.clear(),W.add(j)),W})},[ut]),jd=b.useCallback(async()=>{var z;(z=ct.current)==null||z.call(ct),ct.current=null,Tt.current=fv(),hv(Tt.current),l([]),Z([]),pe.current=[],$([]),Re.current=[],ue(null),fe.current=null,Ee(null),Ve.current=null,Y(null),$e.current=null,le([]),_e.current=[],it.current="",Fe(""),X(null),p(""),B(null),Ar(null);const j=await K.listChatSessions();Array.isArray(j)&&Ln(j)},[]),Yl=((Xl=[...o].reverse().find(j=>{var z;return j.role==="assistant"&&!j.error&&(((z=j.followups)==null?void 0:z.length)??0)>0}))==null?void 0:Xl.followups)??[];return i.jsxs("div",{className:"panel",children:[i.jsx(Te,{icon:"💬",title:"Chat with the agent",actions:i.jsxs("div",{className:"chat-head-actions",children:[R?i.jsx("span",{className:"admin-hint",children:R}):null,i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void jd(),disabled:d||o.length===0,children:"🗑 New conversation"})]})}),t!=null&&t.authenticated?ei?i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"chat-project-bar",children:Qe?i.jsxs("div",{className:"chat-project-attached",children:[i.jsx("span",{className:"chat-project-icon",children:"📁"}),i.jsx("span",{className:"chat-project-name",children:Qe.name}),i.jsxs("span",{className:"chat-project-meta",children:[Qe.fileCount," files · ",Qe.symbolCount," symbols",Qe.truncated?" · truncated map":""]}),i.jsx("span",{className:"chat-project-path",title:Qe.path,children:Qe.path}),i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>Ks(null),children:"✕ detach"})]}):i.jsxs("div",{className:"chat-project-pick",children:[i.jsx("span",{className:"chat-project-icon",children:"📁"}),i.jsx("span",{className:"chat-project-hint",children:"Select Project Folder"}),Ya.find(j=>j.kind==="cwd")?i.jsxs("span",{className:"chat-project-cwd",title:"Working directory used when no folder is attached",children:["⚙️ ",Ya.find(j=>j.kind==="cwd").path]}):null,Ya.length>0?i.jsx("span",{className:"chat-project-chips",children:Ya.filter(j=>j.kind!=="cwd").slice(0,3).map(j=>i.jsx("button",{type:"button",className:"chat-chip",onClick:()=>void Xn(j.path),children:j.name},j.path))}):null,i.jsx("input",{className:"chat-project-input",value:Xr,onChange:j=>Gi(j.target.value),onKeyDown:j=>{j.key==="Enter"&&(j.preventDefault(),Xn(Xr))},placeholder:"or type a path, e.g. ~/code/my-app",disabled:d}),i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>void Xn(Xr),disabled:d||!Xr.trim(),children:"Attach"}),i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>void to(),title:"Pick a project folder using your system's folder picker (Finder / Explorer)",children:"🗂️ Browse"}),qi?i.jsx("span",{className:"chat-project-error",children:qi}):null,Ki?i.jsxs("div",{className:"chat-browse-popover",children:[i.jsxs("div",{className:"chat-browse-head",children:[i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>Qa(!1),title:"Close",children:"✕"}),i.jsx("div",{className:"chat-browse-breadcrumbs",children:Dn.length>0&&!_n?i.jsx("span",{className:"admin-hint",children:"Select a drive or home folder:"}):i.jsxs(i.Fragment,{children:[i.jsx("button",{type:"button",className:"chat-breadcrumb",onClick:()=>void Yi(),children:"🏠"}),Za.map((j,z)=>i.jsxs("span",{children:[i.jsx("span",{className:"chat-breadcrumb-sep",children:"/"}),i.jsx("button",{type:"button",className:"chat-breadcrumb",onClick:()=>void Fl(j.path),children:j.name})]},j.path))]})})]}),Dn.length>0&&!_n?i.jsx("div",{className:"chat-browse-drives",children:Dn.map(j=>i.jsx("button",{type:"button",className:"chat-browse-drive",onClick:()=>void Fl(j.path),children:j.name},j.path))}):null,xa.length>5?i.jsx("div",{className:"chat-browse-search",children:i.jsx("input",{type:"text",className:"chat-browse-filter",placeholder:"🔍 Filter folders…",value:Ja,onChange:j=>Xs(j.target.value),autoFocus:!0})}):null,i.jsx("div",{className:"chat-browse-list",children:Se?i.jsx("span",{className:"admin-hint",children:"Loading…"}):xa.length===0?i.jsx("span",{className:"admin-hint",children:"No subdirectories found"}):xa.filter(j=>!Ja||j.name.toLowerCase().includes(Ja.toLowerCase())).map(j=>i.jsxs("button",{type:"button",className:"chat-browse-entry",onClick:()=>void Fl(j.path),children:[i.jsx("span",{className:"chat-browse-entry-icon",children:"📁"}),i.jsx("span",{className:"chat-browse-entry-name",children:j.name}),j.modified?i.jsx("span",{className:"chat-browse-entry-date",children:new Date(j.modified).toLocaleDateString()}):null]},j.path))}),i.jsxs("div",{className:"chat-browse-foot",children:[i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>void Ul(),title:"Refresh folder list",children:"🔄"}),i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>{Qa(!1),Xn(_n)},disabled:!_n,children:"📁 Select this folder"})]})]}):null]})}),ba&&(!Qe||Qe.path!==ba)?i.jsxs("div",{className:"chat-session-project-banner",children:[i.jsxs("span",{children:["⚠️ This conversation was working in ",i.jsx("code",{children:ba})]}),Qe?i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>void Xn(ba),children:"📁 Switch to it"}):i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>void Xn(ba),children:"📁 Attach it"})]}):null,i.jsxs("div",{className:"chat-layout",children:[on?i.jsxs("div",{className:"chat-sidebar",children:[i.jsxs("div",{className:"chat-sidebar-head",children:[i.jsx("span",{children:"📁 Sessions"}),i.jsxs("div",{className:"chat-sidebar-head-actions",children:[i.jsx("button",{type:"button",className:"chat-mini-action",title:"New chat",onClick:wa,children:"+ New"}),i.jsx("button",{type:"button",className:"chat-mini-action",title:"Collapse history",onClick:()=>ln(!1),children:"▸"})]})]}),i.jsx("input",{className:"chat-session-search",placeholder:"Search conversations…",value:va,onChange:j=>Bl(j.target.value)}),Yn.length===0?i.jsx("div",{className:"chat-sidebar-empty",children:"No past conversations yet."}):i.jsx("div",{className:"chat-sidebar-list",children:sbe(Yn,va).map(({label:j,items:z})=>i.jsxs("div",{className:"chat-session-group",children:[i.jsx("div",{className:"chat-session-group-label",children:j}),z.map(W=>i.jsx("div",{className:`chat-session-item${W.id===Tt.current?" chat-session-active":""}`,children:mn===W.id?i.jsxs("div",{className:"chat-session-rename",children:[i.jsx("input",{autoFocus:!0,value:Ut,onChange:Q=>Ka(Q.target.value),onKeyDown:Q=>{Q.key==="Enter"&&gd(W.id),Q.key==="Escape"&&qr(null)},placeholder:"Session title"}),i.jsx("button",{type:"button",className:"chat-mini-action",onClick:()=>void gd(W.id),children:"✓"})]}):i.jsxs(i.Fragment,{children:[i.jsxs("button",{type:"button",className:"chat-session-main",onClick:()=>void Pm(W.id),title:W.preview||W.title,children:[i.jsx("span",{className:"chat-session-title",children:W.title}),i.jsx("span",{className:"chat-session-preview",children:W.firstUser||W.preview}),i.jsxs("span",{className:"chat-session-meta",children:[W.projectPath?`📁 ${W.projectPath.split("/").pop()} · `:"",W.turnCount," msg",W.turnCount===1?"":"s"," · ",new Date(W.updatedAt).toLocaleString()]})]}),i.jsxs("span",{className:"chat-session-actions",children:[i.jsx("button",{type:"button",className:"chat-mini-action",title:"Rename",onClick:()=>md(W),children:"✏️"}),i.jsx("button",{type:"button",className:"chat-mini-action",title:"Delete",onClick:()=>void vd(W.id),children:"🗑"})]})]})},W.id))]},j))})]}):i.jsx("div",{className:"chat-rail",children:i.jsx("button",{type:"button",className:"chat-rail-btn",onClick:()=>ln(!0),title:"Show history",children:"📁"})}),i.jsxs("div",{className:"chat-main",children:[i.jsxs("div",{className:"chat-thread",ref:zl,role:"log","aria-live":"polite",children:[o.length===0?i.jsxs("div",{className:"empty-state",children:[i.jsx("p",{className:"empty-state-title",children:"Say anything — the agent decides what to do (answer, fix code, plan, run the pipeline)."}),i.jsxs("div",{className:"empty-state-chips",children:[i.jsx("button",{type:"button",className:"chat-chip",onClick:()=>void cn("what's the state of this project?"),children:"📋 assess this project"}),i.jsx("button",{type:"button",className:"chat-chip",onClick:()=>void cn("run the test suite"),children:"🧪 run the tests"}),i.jsx("button",{type:"button",className:"chat-chip",onClick:()=>void cn("stop the gateway"),children:"⏹ stop the gateway"}),i.jsx("button",{type:"button",className:"chat-chip",onClick:()=>void cn("load the code-assessment skill and assess this project"),children:"🧠 load the code-assessment skill"}),i.jsx("button",{type:"button",className:"chat-chip",onClick:()=>void cn("learn the workflow I just did as a skill"),children:"📚 learn a workflow as a skill"}),i.jsx("button",{type:"button",className:"chat-chip",onClick:()=>void cn("publish the current version"),children:"🚀 publish the release"})]})]}):o.map((j,z)=>i.jsxs("div",{className:`chat-bubble chat-${j.role}${j.error?" chat-error":""}`,children:[i.jsx("div",{className:"chat-bubble-role",children:j.role==="user"?"You":"🤖 Agent"}),j.role==="assistant"?i.jsx("div",{className:"chat-bubble-text",children:i.jsx(F_,{text:j.content})}):i.jsx("div",{className:"chat-bubble-text",children:j.content}),j.role==="user"&&j.attachments&&j.attachments.length>0?i.jsxs("details",{className:"chat-steps",open:j.attachments.length===1,children:[i.jsxs("summary",{children:["📎 ",j.attachments.length," attachment",j.attachments.length===1?"":"s",":"," ",j.attachments.map(W=>W.name).join(", ")]}),j.attachments.map((W,Q)=>i.jsxs("div",{className:"chat-attach-content",children:[i.jsxs("div",{className:"admin-hint",children:[W.name," — ",xt(W.content.length)," chars"]}),i.jsx("pre",{children:W.content})]},Q))]}):null,j.role==="assistant"&&j.diff?i.jsxs("details",{className:"chat-steps",open:!0,children:[i.jsxs("summary",{children:["Changes: ",j.diff.summary]}),i.jsx(Ec,{diff:j.diff,selectable:!0,onCommitAccepted:Kl})]}):null,j.role==="assistant"&&j.artifacts&&(j.artifacts.diffs.length>0||j.artifacts.results.length>0||j.artifacts.deploys.length>0)?i.jsxs(Xye,{children:[j.artifacts.diffs.map((W,Q)=>i.jsx("div",{"data-artifact-card":!0,tabIndex:0,role:"group","aria-label":`Diff: ${W.summary}`,className:"chat-artifact-item",children:Qe?i.jsx(Ec,{diff:W,selectable:!0,onCommitAccepted:Kl}):i.jsx(Ec,{diff:W,lockedHint:"Attach a project to review and commit these changes."})},`diff-${Q}`)),j.artifacts.results.map((W,Q)=>i.jsx("div",{"data-artifact-card":!0,tabIndex:0,role:"group","aria-label":`Result: ${W.title}`,className:"chat-artifact-item",children:i.jsx(Vye,{result:W})},`result-${Q}`)),j.artifacts.deploys.map((W,Q)=>i.jsx("div",{"data-artifact-card":!0,tabIndex:0,role:"group","aria-label":`Deployment: ${W.url}`,className:"chat-artifact-item",children:i.jsx(Yye,{deploy:W})},`deploy-${Q}`))]}):null,j.role==="assistant"&&j.draft?i.jsxs("details",{className:"chat-steps",open:!0,children:[i.jsxs("summary",{children:["Skill draft: ",j.draft.name]}),i.jsx(G_,{draft:j.draft,onAccept:Hl,onReject:Gl,onEdit:ql})]}):null,j.role==="assistant"&&j.plan?i.jsxs("details",{className:"chat-steps",open:!0,children:[i.jsxs("summary",{children:["Plan: ",j.plan.goal]}),i.jsx(q_,{plan:j.plan})]}):null,j.role==="assistant"&&j.refused?i.jsx("div",{className:"chat-refused-line",children:"⛔ This turn did not run — the isolation it asked for could not be made. Nothing was written, and the reason is above."}):null,j.role==="assistant"&&j.needsProject?i.jsx("div",{className:"chat-refused-line",children:"📁 Nothing was run — attach a project folder above, then send the message again."}):null,j.role==="assistant"&&j.worktree?i.jsx(nbe,{worktree:j.worktree}):null,j.role==="assistant"&&j.resume?i.jsx(rbe,{resume:j.resume}):null,j.role==="assistant"&&j.turnReport?i.jsx(abe,{report:j.turnReport}):null,j.role==="assistant"&&j.findings&&j.findings.length>0?i.jsx(V_,{findings:j.findings}):null,j.role==="assistant"&&j.tools&&j.tools.length>0?i.jsxs("details",{className:"chat-steps chat-tool-details",children:[i.jsxs("summary",{children:[j.tools.length," tool call",j.tools.length===1?"":"s"]}),i.jsx(K_,{tools:j.tools})]}):null,j.role==="assistant"&&j.steps&&j.steps.length>0?i.jsxs("details",{className:"chat-steps",children:[i.jsxs("summary",{children:[j.steps.length," step",j.steps.length===1?"":"s"]}),i.jsx("div",{className:"chat-step-line",children:j.steps.map((W,Q)=>i.jsx("div",{children:W.trim()},Q))})]}):null]},z)),d?i.jsxs("div",{className:"chat-bubble chat-assistant",children:[i.jsx("div",{className:"chat-bubble-role",children:"🤖 Agent"}),ae?i.jsx(q_,{plan:ae}):null,me?i.jsx(Ec,{diff:me}):null,y&&d?i.jsx("div",{className:"chat-resume-line",children:"🌿 this turn is running in its own git worktree — the diff arrives with the answer"}):null,N&&d?i.jsx("div",{className:"chat-resume-line",children:"↩️ this turn is replaying the recorded steps of this ask that are unchanged — the count arrives with the answer"}):null,re.length>0?i.jsx(V_,{findings:re}):null,J?i.jsx(G_,{draft:J,onAccept:Hl,onReject:Gl,onEdit:ql}):null,H.map(j=>i.jsx(Qye,{request:j,onSave:wd},j.skillName)),xe.map((j,z)=>i.jsx(Zye,{result:j},`${j.skillName}-${z}`)),i.jsx(K_,{tools:F,live:!0}),pt?i.jsx("div",{className:"chat-bubble-text chat-streaming",children:i.jsx(F_,{text:pt})}):null,i.jsx("div",{className:"chat-working",children:T.length>0?i.jsx("span",{className:"chat-working-lines",children:T.map((j,z)=>i.jsx("div",{className:"chat-step-line",children:j.trim()},z))}):i.jsxs(i.Fragment,{children:["💭 thinking… ",i.jsx("span",{className:"chat-dots"})]})})]}):null]}),h?i.jsx("div",{className:"admin-row-msg admin-row-msg-err",children:h}):null,ie&&ut?i.jsxs("div",{className:"admin-row-msg chat-routing-notice",children:["❓ Waiting for ",i.jsx("strong",{children:"your"})," answer — choose one of the options above and the turn continues where it stopped. Nothing is stuck: the server is holding this turn open for you, and the agent has not been told anything yet (its own words: it asked instead of guessing)."]}):ie?i.jsxs("div",{className:"admin-row-msg chat-routing-notice",children:["⏳ Still working on the server — ",Ub(Ft)," elapsed on this turn, counted from when it started (not from when this page stopped waiting for the reply). This is a long-running turn, not a failure: the answer will appear here by itself when it lands, and you can close this page and come back."]}):null,$n?i.jsxs("div",{className:"admin-row-msg chat-routing-notice",children:[i.jsxs("span",{children:["ℹ️ ",$n]})," ",i.jsx("button",{className:"chat-routing-notice-dismiss",type:"button","aria-label":"Dismiss routing notice",onClick:()=>kt(null),children:"✕"})]}):null,It?i.jsxs("div",{className:"admin-row-msg chat-routing-notice",children:[i.jsxs("span",{children:["📁 ",It]})," ",i.jsx("button",{className:"chat-routing-notice-dismiss",type:"button","aria-label":"Dismiss workspace notice",onClick:()=>sn(null),children:"✕"})]}):null,m?i.jsx("div",{className:`admin-row-msg${m.kind==="err"?" admin-row-msg-err":""}`,children:m.text}):null,q&&!d?i.jsxs("div",{className:"chat-retry-row",children:[i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void cn(q),children:"↻ Retry"}),i.jsx("span",{className:"admin-hint",children:"Re-send the last message — the turn failed."})]}):null,ut?i.jsxs("div",{className:"chat-resolve-card chat-question-card",children:[i.jsx("div",{className:"chat-resolve-head",children:i.jsxs("strong",{children:["🤔 ",ut.question]})}),i.jsx("div",{className:"chat-resolve-options",children:ut.choices.map((j,z)=>i.jsxs("button",{type:"button",className:`chat-chip${Nt.has(z)?" chat-chip-selected":""}`,onClick:()=>Sd(z),children:[j.label,j.description?i.jsxs("span",{className:"admin-hint",children:[" — ",j.description]}):null]},`${j.label}-${z}`))}),i.jsx("input",{className:"chat-question-custom",type:"text",placeholder:"✏️ Or type your own answer…",value:Zs,onChange:j=>hd(j.target.value),onKeyDown:j=>{j.key==="Enter"&&!j.shiftKey&&(j.preventDefault(),Vl())}}),i.jsxs("div",{className:"chat-resolve-foot",children:[i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:Vl,children:Zs.trim()?"Send answer":ut.multiSelect?"Submit":"Choose"}),i.jsx("button",{className:"admin-mini-btn",type:"button",onClick:kd,children:"Skip — best judgment"})]})]}):null,Yl.length>0&&!d?i.jsxs("div",{className:"chat-followups",children:[i.jsx("span",{className:"admin-hint",children:"Next steps:"}),Yl.map((j,z)=>i.jsx("button",{className:"chat-chip",type:"button",onClick:()=>void cn(j.prompt),children:j.label||j.prompt},z))]}):null,i.jsxs("form",{className:`chat-composer${qs?" chat-composer-drag":""}`,onSubmit:j=>{j.preventDefault(),cn(c)},onDragOver:j=>{j.preventDefault(),Va(!0)},onDragLeave:()=>Va(!1),onDrop:j=>{var W;j.preventDefault(),Va(!1);const z=Array.from(((W=j.dataTransfer)==null?void 0:W.files)??[]);for(const Q of z.slice(0,10))pd(Q)},children:[_r?i.jsxs("div",{className:"chat-paste-offer",children:[i.jsxs("span",{className:"admin-hint",children:["📄 You pasted ",xt(_r.text.length)," characters. Attach it as a file instead?"]}),i.jsx("button",{type:"button",className:"chat-chip",onClick:Mm,children:"Attach as text"}),i.jsx("button",{type:"button",className:"chat-mini-action",onClick:()=>{Kr(null),Yr.current=null},children:"Keep inline"})]}):null,$t.length>0?i.jsx("div",{className:"chat-attach-row",children:$t.map((j,z)=>i.jsxs("span",{className:"chat-attach-chip",title:j.encoding==="base64"?`${j.name} (${xt(j.content.length)} base64 chars — read on the server)`:`${j.name} (${xt(j.content.length)} chars)`,children:["📎 ",j.name,i.jsx("span",{className:"admin-hint",children:j.encoding==="base64"?`${Math.round(j.content.length*3/4096)} KB`:`${xt(j.content.length)}c`}),i.jsx("button",{type:"button",className:"chat-mini-action",onClick:()=>Rm(z),children:"✕"})]},`${j.name}-${z}`))}):null,i.jsxs("div",{className:"chat-controls",children:[i.jsx("input",{ref:Vr,type:"file",accept:".pdf,.docx,.xlsx,.pptx,.txt,.md,.markdown,.text,.log,.csv,.tsv,.json,.xml,.yaml,.yml,.html,.htm,text/*",style:{display:"none"},onChange:j=>{var W;const z=(W=j.target.files)==null?void 0:W[0];z&&pd(z),j.target.value=""}}),i.jsx("button",{type:"button",className:"chat-attach-btn",title:"Attach a file (up to 300 KB): PDF, DOCX, XLSX, PPTX or text — documents are read on the server",disabled:d||$t.length>=10,onClick:()=>{var j;return(j=Vr.current)==null?void 0:j.click()},children:"📎 attach"}),i.jsx("button",{type:"button",className:"chat-attach-btn","aria-label":"Download support bundle",title:"Download a support bundle for this chat: the session debug log (which backend served each turn) plus the conversation. Needs NUVIRA_DEBUG_LOG=1 in the dashboard process.",onClick:()=>void xd(),children:"🐞 debug"}),i.jsxs("button",{type:"button",className:`chat-attach-btn${y?" chat-attach-btn-on":""}`,"aria-label":"Run turns in an isolated git worktree","aria-pressed":y,title:y?"Turns run in their own git worktree and report the diff — click to run in the project tree again":"Run turns in their own git worktree of the attached project, and report the diff against the base commit. Refuses rather than running in your tree when the directory cannot be isolated. Needs an attached project (or the server's own git working directory).",onClick:()=>{v(j=>!j),g(null)},children:["🌿",y?" isolated":" isolate"]}),i.jsxs("button",{type:"button",className:`chat-attach-btn${N?" chat-attach-btn-on":""}`,"aria-label":"Replay this ask's recorded steps instead of paying for them again","aria-pressed":N,title:N?"Recorded steps whose input is unchanged are replayed instead of paid for — click to run fresh again":"Replay the steps of an earlier run of this same ask whose input is unchanged, instead of paying for them again. The record is keyed by the ask and the directory; name a checkpoint id below to resume a specific one. A step whose input CHANGED is paid for again.",onClick:()=>{S(j=>!j),g(null)},children:["↩️",N?" resuming":" resume"]}),N?i.jsx("input",{className:"chat-resume-input",value:x,onChange:j=>E(j.target.value),placeholder:"checkpoint id (blank = this ask's record)",title:"Resume this specific checkpoint record. Blank resumes the record for this ask in this directory.","aria-label":"Checkpoint id to resume",disabled:d}):null,y?i.jsxs("button",{type:"button",className:`chat-attach-btn${k?" chat-attach-btn-on":""}`,"aria-pressed":k,title:k?"The worktree is KEPT after the turn so you can look inside it":"The worktree is measured and removed after each turn",onClick:()=>w(j=>!j),children:["📌",k?" keep":" drop"]}):null,i.jsxs("select",{className:"chat-model-picker","aria-label":"Model: Auto or a specific routable model",title:A?`Pinned to ${A.provider}/${A.model} for this chat. Choose Auto to let the agent route again.`:"Auto (default): the agent picks the best routable model each turn. Choose one to pin it for this chat.",value:A?`${A.provider}|${A.model}`:"",disabled:d,onChange:j=>{const z=j.target.value;if(!z){D(null);return}const W=z.indexOf("|");D({provider:z.slice(0,W),model:z.slice(W+1)})},children:[i.jsx("option",{value:"",children:"🤖 Auto (agent decides)"}),A&&!L.some(j=>j.provider===A.provider&&j.model===A.model)?i.jsxs("option",{value:`${A.provider}|${A.model}`,children:[A.provider,"/",A.model," · pinned"]}):null,L.map(j=>i.jsxs("option",{value:`${j.provider}|${j.model}`,children:[j.provider,"/",j.model," · ",j.band," (",j.capability.toFixed(2),")"]},`${j.provider}|${j.model}`))]}),A?i.jsx("button",{type:"button",className:`chat-attach-btn${I?" chat-attach-btn-on":""}`,"aria-label":"Strict model pin: use this model only","aria-pressed":I,disabled:d,title:I?`Strict: this chat runs on ${A.provider}/${A.model} only. If it is unavailable the turn stops instead of substituting another model.`:`Auto routing may substitute another model if ${A.provider}/${A.model} is unavailable. Turn on strict mode to work with this model only.`,onClick:()=>M(j=>!j),children:I?"🔒 strict":"🔓 auto-fallback"}):null,i.jsx("button",{type:"button",className:`chat-attach-btn${_==="max"?" chat-attach-btn-on":""}`,"aria-label":"Capability mode: balanced or max","aria-pressed":_==="max",disabled:d,title:_==="max"?"Max capability: every turn routes to a strong model (a reasoning floor — not merely “paid”), cost ceilings are lifted, paid models are always allowed, and the loop gets its longest reasoning budget. Click to return to balanced.":"Balanced (default): the best model for complex/critical work and cheaper models for simple work, escalating when a stall is detected. Click for max capability — cost is not a concern.",onClick:()=>void bd(),children:_==="max"?"⚡ max":"⚖️ balanced"}),C?i.jsx("span",{className:"admin-hint",children:C}):null]}),i.jsxs("div",{className:"chat-input-row",children:[i.jsx("textarea",{className:"chat-input-box",value:c,onChange:j=>u(j.target.value),onPaste:Js,onKeyDown:j=>{j.key==="Enter"&&!j.shiftKey?(j.preventDefault(),cn(c)):j.key==="ArrowUp"&&c===""&&Vn.current&&(j.preventDefault(),u(Vn.current))},placeholder:"Message the agent… (Enter to send · Shift+Enter for a new line · ↑ recalls last · 📎 attach a file or paste a large document)",disabled:d,maxLength:8e3,rows:1,autoFocus:!0}),d?i.jsx("button",{className:"admin-mini-btn chat-cancel-btn",type:"button",onClick:yd,children:"⏹ Cancel"}):null,i.jsx("button",{className:"admin-refresh-btn",type:"submit",disabled:d||!c.trim()&&$t.length===0,children:d?"⏳ Working…":"➤ Send"})]})]}),i.jsxs("p",{className:"admin-hint",children:["Each message runs the full agent loop in the dashboard process (same engine as"," ",i.jsx("code",{children:'nuvira chat "<prompt>"'}),") — the provider API keys must be configured in the dashboard process. Clarifications (",i.jsx("code",{children:"ask_user"}),") appear as a question card here — choose an answer or skip (best judgment)."]})]})]})]}):i.jsx("div",{className:"admin-login-hint",children:i.jsx("p",{children:"Your role can view the dashboard but not chat (requires admin or operator)."})}):i.jsxs("div",{className:"admin-login-hint",children:[i.jsx("p",{children:"Log in (admin or operator) to chat with the agent. Configure the dashboard admin credential first if this is a fresh setup."}),(t==null?void 0:t.configured)===!1?i.jsxs("p",{className:"admin-hint",children:["Run ",i.jsx("code",{children:"nuvira dashboard"})," once, or set ",i.jsx("code",{children:"NUVIRA_DASHBOARD_ADMIN_USER"})," / ",i.jsx("code",{children:"NUVIRA_DASHBOARD_ADMIN_PASSWORD"}),"."]}):null]})]})}const lbe={running:"⏳ running",done:"✅ done",failed:"❌ failed",cancelled:"⏹ cancelled",timeout:"⏰ timed out",error:"💥 error",hung:"🚫 stopped (hung)"},cbe=0;function b$({presets:e,customPlaceholder:t,timeoutMs:n=cbe,hint:r}){const[a,s]=b.useState(null),o=Gr(),[l,c]=b.useState(!1),[u,d]=b.useState(""),[f,h]=b.useState(""),[p,m]=b.useState(null),[g,y]=b.useState([]),[v,k]=b.useState(0),w=b.useRef(null),N=b.useRef(null),S=b.useRef(Date.now());b.useEffect(()=>{K.fetchAdminAuthStatus().then(O=>{s(O?{authenticated:O.authenticated,role:O.role??null}:{authenticated:!1,role:null})})},[o]),b.useEffect(()=>{var O,C;try{(C=(O=w.current)==null?void 0:O.scrollIntoView)==null||C.call(O,{block:"end"})}catch{}},[g]),b.useEffect(()=>()=>{var O;(O=N.current)==null||O.call(N)},[]);const x=(a==null?void 0:a.authenticated)===!0&&(a.role==="admin"||a.role==="operator"),E=b.useCallback(async(O,C)=>{var I;if(l)return;c(!0),d(""),y([]),S.current=Date.now(),k(0);const P=await K.startTask(O,C??n);if(!P.ok||!P.task){d(P.error||"Could not start the command."),c(!1);return}const A=P.task;m(A);const D=await K.getTask(A.id);D!=null&&D.task&&y(D.task.logs.map(M=>({stream:M.stream,text:M.text}))),(I=N.current)==null||I.call(N),N.current=K.subscribeTask(A.id,{onLog:M=>y(L=>[...L,{stream:M.stream,text:M.text}]),onStatus:M=>{m(L=>L&&{...L,status:M}),M!=="running"&&c(!1)}})},[l,n]),_=b.useCallback(async()=>{p&&await K.cancelTask(p.id)},[p]);return b.useEffect(()=>{if(!l)return;const O=setInterval(()=>k(Date.now()-S.current),1e3);return()=>clearInterval(O)},[l]),i.jsxs("div",{className:"ops-console",children:[a!=null&&a.authenticated?x?i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"ops-presets",children:e.map(O=>i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void E(O.args,O.timeoutMs),disabled:l,children:O.label},O.label))}),i.jsxs("div",{className:"ops-custom-row",children:[i.jsx("input",{type:"text",value:f,onChange:O=>h(O.target.value),placeholder:t,disabled:l,maxLength:160}),i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void E(f.trim().split(/\s+/)),disabled:l||!f.trim(),children:"Run"})]}),r?i.jsx("p",{className:"admin-hint",children:r}):null]}):i.jsx("div",{className:"admin-login-hint",children:"Your role can view but not run commands (requires admin or operator)."}):i.jsx("div",{className:"admin-login-hint",children:"Log in (admin or operator) to run commands."}),u?i.jsx("div",{className:"admin-row-msg admin-row-msg-err",children:u}):null,p?i.jsxs("div",{className:"ops-console-box",children:[i.jsxs("div",{className:"ops-console-head",children:[i.jsxs("span",{children:[p.command," · ",i.jsx("span",{className:p.status==="running"?"task-status-running":"",children:lbe[p.status]})," · ",i.jsx("span",{className:"task-elapsed",children:p.status==="running"?Ub(v):Ub(p.durationMs??v)})]}),p.status==="running"?i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void _(),children:"⏹ Cancel"}):null]}),i.jsxs("pre",{className:"ops-console",role:"log",children:[g.length>0?g.map((O,C)=>i.jsx("div",{children:O.text},C)):i.jsx("div",{className:"admin-hint",children:"Waiting for output…"}),i.jsx("div",{ref:w})]})]}):null]})}const ube=[{label:"⚡ Quick smoke",args:["eval","run","--tasks","quick","--format","text"]},{label:"⏱ Medium suite",args:["eval","run","--tasks","medium","--format","text"]},{label:"🐢 Slow suite",args:["eval","run","--tasks","slow","--format","text"]},{label:"🏆 M2B parity",args:["eval","run","--suite","m2b","--format","text"]},{label:"📦 Full suite",args:["eval","run","--suite","full","--format","text"]}];function Y_(e){return typeof e!="number"?"—":`${Math.round(e*100)}%`}function dbe(e){return new Date(e).toLocaleString()}function fbe({data:e}){var n;const t=((n=e==null?void 0:e.evals)==null?void 0:n.runs)??[];return i.jsxs("div",{className:"panel",children:[i.jsx(Te,{icon:"🏆",title:"Evals — run nuvira eval from the GUI"}),i.jsx(b$,{presets:ube,customPlaceholder:"e.g. eval run --tasks my-task --provider groq --model llama",timeoutMs:9e5,hint:i.jsxs(i.Fragment,{children:["Runs the real ",i.jsx("code",{children:"nuvira eval run"})," as an isolated process — same engine, same ledger, same results as the CLI. Long suites can take minutes; you can cancel mid-run."]})}),i.jsx("h2",{className:"section-subtitle",children:"📜 Past runs (auto-refreshes)"}),t.length>0?i.jsx("div",{className:"admin-table-wrapper",children:i.jsxs("table",{className:"admin-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Started"}),i.jsx("th",{children:"Provider"}),i.jsx("th",{children:"Model"}),i.jsx("th",{children:"Tasks"}),i.jsx("th",{children:"Pass"}),i.jsx("th",{children:"Completion"}),i.jsx("th",{children:"Composite"}),i.jsx("th",{children:"Cost"})]})}),i.jsx("tbody",{children:t.map(r=>i.jsxs("tr",{children:[i.jsx("td",{children:dbe(r.startedAt)}),i.jsx("td",{className:"admin-provider-type",children:r.provider}),i.jsx("td",{children:r.model}),i.jsx("td",{children:r.summary.totalTasks}),i.jsxs("td",{children:[r.summary.tasksPassed,"/",r.summary.totalTasks]}),i.jsx("td",{children:Y_(r.summary.completionRate)}),i.jsx("td",{children:Y_(r.summary.avgCompositeScore)}),i.jsxs("td",{children:["$",(r.summary.totalCostUsd??0).toFixed(4)]})]},r.id))})]})}):i.jsx("div",{className:"empty-state",children:"No eval runs yet — start one above (or `nuvira eval run` from the CLI)."})]})}const hbe=[{label:"🌐 Gateway status",args:["gateway","status"]},{label:"📮 Delivery ledger",args:["gateway","delivery"]},{label:"▶️ Start gateway (foreground)",args:["gateway","start","--no-events"],timeoutMs:0},{label:"⏰ Cron jobs",args:["admin","cron","list"]}];function pbe(){return i.jsxs("div",{className:"panel",children:[i.jsx(Te,{icon:"🌐",title:"Gateway ops — run nuvira gateway from the GUI"}),i.jsx(b$,{presets:hbe,customPlaceholder:"e.g. admin cron run nightly or gateway alias add ops email:team@example.com",timeoutMs:0,hint:i.jsxs(i.Fragment,{children:["Each command runs as the real CLI in an isolated process (the P1 task runner) — the same engine as your terminal — and runs ",i.jsx("strong",{children:"until it finishes or you press Cancel"})," (no 5-minute cutoff). The elapsed time is shown beside the status, and work continues after you switch tabs (the process lives on the dashboard server, not the page). The delivery ledger also has its own view in"," ",i.jsx("strong",{children:"Agent Hub → Channels"}),"."]})})]})}const pv={telegram:{icon:"✈️",category:"Chat",steps:["Open Telegram and search for @BotFather","Send /newbot and follow the prompts",'Give your bot a name (e.g. "My Agent Bot")','Give your bot a username ending in "bot"',"BotFather gives you a token — paste it in Step 2","Open your bot in Telegram and send /start"],testTarget:"telegram:"},discord:{icon:"🎮",category:"Chat",steps:["Go to discord.com/developers/applications",'Click "New Application" and give it a name','Go to Bot tab and click "Add Bot"',"Copy the bot token",'Enable "Message Content Intent"',"Invite bot to your server (OAuth2 URL generator)"],testTarget:"discord:"},slack:{icon:"💬",category:"Chat",steps:["Go to api.slack.com/apps","Create New App from scratch","Add Bot Token Scopes: chat:write, im:read, im:write","Install to workspace","Copy the Bot User OAuth Token (xoxb-...)"],testTarget:"slack:"},whatsapp:{icon:"📱",category:"Chat",steps:["Run: nuvira whatsapp pair (or from Gateway tab)","Scan the QR code with WhatsApp","Pairing completes automatically"],testTarget:""},whatsapp_cloud:{icon:"☁️",category:"Chat",steps:["Go to developers.facebook.com","Set up WhatsApp Cloud API","Copy token + Phone ID"],testTarget:"whatsapp_cloud:"},email:{icon:"📧",category:"Chat",steps:["Get SMTP credentials (Gmail, SendGrid, etc.)","For Gmail: use App Password at smtp.gmail.com:587","Paste SMTP host + user below"],testTarget:""},signal:{icon:"🔒",category:"Chat",steps:["Run signal-cli-rest-api Docker container","Register a Signal account","Paste account number below"],testTarget:""},dingtalk:{icon:"🔔",category:"Webhooks",steps:["Open DingTalk and create a group","Add custom robot and copy webhook URL","Paste URL below"],testTarget:""},feishu:{icon:"🐦",category:"Webhooks",steps:["Open Feishu and create a bot","Copy webhook URL and paste below"],testTarget:""},wecom:{icon:"🏢",category:"Webhooks",steps:["Open WeCom and create a group bot","Copy webhook URL and paste below"],testTarget:""},mattermost:{icon:"📋",category:"Webhooks",steps:["Open Mattermost, go to Integrations","Create incoming webhook and copy URL"],testTarget:""},matrix:{icon:"🔗",category:"Chat",steps:["Get your Matrix homeserver URL","Create a bot user and get access token","Paste URL + token below"],testTarget:""},webhook:{icon:"🪝",category:"Webhooks",steps:["Enter your webhook URL","The agent sends outbound webhooks to this URL"],testTarget:""},bluebubbles:{icon:"💙",category:"Chat",steps:["Set up BlueBubbles server","Copy server URL + password"],testTarget:""},ntfy:{icon:"📢",category:"Notifications",steps:["Choose an ntfy topic (or use ntfy.sh)","Paste the topic below"],testTarget:""},teams:{icon:"👥",category:"Webhooks",steps:["Open Microsoft Teams, go to channel","Connectors, Incoming Webhook, create","Copy webhook URL"],testTarget:""},google_chat:{icon:"💬",category:"Webhooks",steps:["Open Google Chat, space settings","Create webhook and copy URL"],testTarget:""},weixin:{icon:"🔴",category:"Chat",steps:["Get Weixin iLink bot token","Paste token below"],testTarget:""},sms:{icon:"📲",category:"Chat",steps:["Get Twilio account SID + auth token","Register a phone number","Paste credentials below"],testTarget:""},irc:{icon:"💻",category:"Chat",steps:["Choose an IRC server (e.g. irc.libera.chat)","Set nickname + channel and paste below"],testTarget:""},simplex:{icon:"📨",category:"Chat",steps:["Run local simplex-chat daemon","Paste WebSocket URL (ws://127.0.0.1:5225)"],testTarget:""},homeassistant:{icon:"🏠",category:"IoT",steps:["Open Home Assistant Profile","Create long-lived access token and paste below"],testTarget:""}};function mbe(){const[e,t]=b.useState(null),[n,r]=b.useState("all"),[a,s]=b.useState(null),[o,l]=b.useState(0),[c,u]=b.useState({}),[d,f]=b.useState(!1),[h,p]=b.useState(null),[m,g]=b.useState({status:"idle"}),[y,v]=b.useState(""),[k,w]=b.useState("Hello from agent-nuvira!"),[N,S]=b.useState(!1),[x,E]=b.useState(null),_=b.useRef(!0),O=b.useCallback(async()=>{const R=await K.getPlatformConfigs();_.current&&t(R)},[]);b.useEffect(()=>(O(),()=>{_.current=!1}),[O]);const C=R=>{s(R),l(0),u(Object.fromEntries(R.envVars.map(T=>[T.varName,T.value]))),p(null),g({status:"idle"});const B=pv[R.platform];v((B==null?void 0:B.testTarget)??""),w("Hello from agent-nuvira!"),E(null)},P=async()=>{if(!a)return;g({status:"checking"});const R=await K.verifyPlatformConfig(a.platform,c);R.ok?(g({status:"ok",info:R.info}),p({kind:"ok",text:"Verified! "+(R.info?"Connected as "+R.info+".":"Token is valid.")})):(g({status:"err",error:R.error}),p({kind:"err",text:R.error||"Verification failed."}))},A=async()=>{if(!a)return;f(!0),p(null);const R=await K.setPlatformConfig(a.platform,c);f(!1),R.ok?(p({kind:"ok",text:"Token saved! Verifying..."}),O(),l(2),P()):p({kind:"err",text:R.error||"Save failed."})},D=async()=>{if(!a||!y)return;S(!0),E(null);const R=await K.sendChannelMessage(y,k);S(!1),R.ok?E({kind:"ok",text:"Message sent via "+R.platform+"! Check your "+a.label+" app."}):E({kind:"err",text:R.error||"Send failed. Make sure the gateway is running (Gateway tab)."})};if(e===null)return i.jsx("div",{className:"empty-state",children:"Loading platforms..."});const I=e.filter(R=>R.configured).length,M=e.filter(R=>n==="configured"?R.configured:n==="unconfigured"?!R.configured:!0),L=a?pv[a.platform]:null;function U(R){return o===R?"wizard-step-dot active":"wizard-step-dot"}return i.jsxs("div",{className:"panel",children:[i.jsx(Te,{icon:"🌐",title:"Platforms — Messaging Gateway Onboarding"}),i.jsxs("div",{className:"platforms-summary",children:[i.jsxs("div",{className:"platforms-summary-stat",children:[i.jsx("span",{className:"platforms-summary-number",children:I}),i.jsx("span",{className:"platforms-summary-label",children:"configured"})]}),i.jsxs("div",{className:"platforms-summary-stat",children:[i.jsx("span",{className:"platforms-summary-number",children:e.length-I}),i.jsx("span",{className:"platforms-summary-label",children:"available"})]}),i.jsx("div",{className:"platforms-summary-filters",children:["all","configured","unconfigured"].map(R=>i.jsx("button",{type:"button",className:n===R?"platforms-filter-btn active":"platforms-filter-btn",onClick:()=>r(R),children:R==="all"?"All":R==="configured"?"Configured":"Not set up"},R))})]}),i.jsx("div",{className:"platforms-grid",children:M.map(R=>{const B=pv[R.platform];return i.jsxs("div",{className:R.configured?"platform-card configured":"platform-card",children:[i.jsxs("div",{className:"platform-card-head",children:[i.jsx("span",{className:"platform-card-icon",children:(B==null?void 0:B.icon)??"🔌"}),i.jsxs("div",{className:"platform-card-info",children:[i.jsx("span",{className:"platform-card-name",children:R.label}),i.jsx("span",{className:"platform-card-category",children:(B==null?void 0:B.category)??"Platform"})]}),i.jsx("span",{className:R.configured?"status-dot connected":"status-dot reconnecting"})]}),i.jsx("div",{className:"platform-card-vars",children:R.envVars.map(T=>i.jsxs("span",{className:T.set?"platform-var-chip set":"platform-var-chip",children:[T.varName," ",T.set?"done":"--"]},T.varName))}),i.jsxs("div",{className:"platform-card-actions",children:[R.configured?i.jsx("span",{className:"platform-card-badge",children:"Active"}):i.jsx("button",{type:"button",className:"wizard-start-btn",onClick:()=>C(R),children:"Setup"}),R.setupUrl?i.jsx("a",{href:R.setupUrl,target:"_blank",rel:"noopener noreferrer",className:"admin-mini-btn platform-docs-link",children:"Docs"}):null]}),!R.configured&&R.setupHint?i.jsx("div",{className:"platform-card-hint",children:R.setupHint}):null]},R.platform)})}),i.jsxs("div",{className:"platforms-cli-hint",children:[i.jsx("span",{className:"admin-hint",children:"Prefer the terminal? "}),i.jsx("code",{children:"nuvira gateway setup telegram"}),i.jsx("span",{className:"admin-hint",children:" — same wizard from your CLI"})]}),a&&L?i.jsx("div",{className:"wizard-overlay",onClick:()=>s(null),children:i.jsxs("div",{className:"wizard-modal",onClick:R=>R.stopPropagation(),children:[i.jsxs("div",{className:"wizard-header",children:[i.jsx("span",{className:"wizard-icon",children:L.icon}),i.jsxs("span",{className:"wizard-title",children:["Getting Started: ",a.label]}),i.jsxs("div",{className:"wizard-steps-indicator",children:[i.jsx("span",{className:U(0),children:"1"}),i.jsx("span",{className:U(1),children:"2"}),i.jsx("span",{className:U(2),children:"3"})]}),i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>s(null),children:"X"})]}),i.jsxs("div",{className:"wizard-body",children:[o===0&&i.jsxs(i.Fragment,{children:[i.jsxs("p",{className:"wizard-section-title",children:["Step 1: Create your bot on ",a.label]}),i.jsx("ol",{className:"wizard-steps",children:L.steps.map((R,B)=>i.jsx("li",{children:R},B))}),i.jsxs("div",{className:"wizard-nav",children:[i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>l(1),children:"I have my token — Step 2"}),a.setupUrl?i.jsx("a",{href:a.setupUrl,target:"_blank",rel:"noopener noreferrer",className:"admin-mini-btn platform-docs-link",children:"Open docs"}):null]})]}),o===1&&i.jsxs(i.Fragment,{children:[i.jsx("p",{className:"wizard-section-title",children:"Step 2: Paste your token"}),a.envVars.map(R=>i.jsxs("label",{className:"hub-send-target",children:[i.jsx("span",{className:"admin-hint",children:R.prompt}),i.jsx("input",{type:R.secret?"password":"text",value:c[R.varName]??"",onChange:B=>u(T=>({...T,[R.varName]:B.target.value})),placeholder:R.secret?"paste your token here":"value",autoComplete:"off",spellCheck:!1,autoFocus:!0})]},R.varName)),h?i.jsx("div",{className:h.kind==="ok"?"admin-row-msg":"admin-row-msg admin-row-msg-err",children:h.text}):null,i.jsxs("div",{className:"wizard-nav",children:[i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>l(0),children:"Back"}),i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>void A(),disabled:d,children:d?"Saving...":"Save & Verify"})]})]}),o===2&&i.jsxs(i.Fragment,{children:[i.jsx("p",{className:"wizard-section-title",children:"Step 3: Verify and test"}),m.status==="checking"&&i.jsx("div",{className:"wizard-verify-status",children:"Verifying token..."}),m.status==="ok"&&i.jsxs("div",{className:"wizard-verify-status ok",children:["Connected as ",m.info]}),m.status==="err"&&i.jsx("div",{className:"wizard-verify-status err",children:m.error}),m.status==="idle"&&(h==null?void 0:h.kind)==="ok"&&i.jsx("div",{className:"wizard-verify-status ok",children:h.text}),y&&i.jsxs("div",{className:"wizard-test-section",children:[i.jsx("p",{className:"wizard-section-title",children:"Send a test message:"}),i.jsx("div",{className:"wizard-test-row",children:i.jsx("input",{className:"wizard-test-input",value:y,onChange:R=>v(R.target.value),placeholder:"telegram:YOUR_CHAT_ID"})}),i.jsxs("div",{className:"wizard-test-row",children:[i.jsx("input",{className:"wizard-test-input",value:k,onChange:R=>w(R.target.value),placeholder:"Hello from agent-nuvira!"}),i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>void D(),disabled:N||!y,children:N?"Sending...":"Send test"})]}),x?i.jsx("div",{className:x.kind==="ok"?"admin-row-msg":"admin-row-msg admin-row-msg-err",children:x.text}):null]}),i.jsxs("div",{className:"wizard-nav",children:[i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>l(1),children:"Edit token"}),i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>s(null),children:"Done"})]}),!y&&i.jsxs("p",{className:"wizard-hint",children:["Token saved! Start the gateway from the Gateway tab, then send a message from your ",a.label," app."]})]})]})]})}):null]})}const gbe=[{value:"us-east-1",label:"us-east-1 (N. Virginia) — most models"},{value:"us-west-2",label:"us-west-2 (Oregon) — most models"},{value:"eu-west-1",label:"eu-west-1 (Ireland) — EU coverage"},{value:"ap-southeast-1",label:"ap-southeast-1 (Singapore)"},{value:"ap-northeast-1",label:"ap-northeast-1 (Tokyo)"}],X_=[{name:"Anthropic Claude",models:["claude-haiku-4.5","claude-sonnet-4.6","claude-fable-5","claude-opus-4.6"],checked:!0},{name:"Meta Llama",models:["llama3-1-8b","llama3-1-70b","llama3-3-70b","llama4-scout","llama4-maverick"],checked:!0},{name:"Mistral AI",models:["mistral-large-3","devstral-2","ministral-3"],checked:!1},{name:"DeepSeek",models:["deepseek-v3.2","deepseek-r1"],checked:!1},{name:"Amazon Nova",models:["nova-pro","nova-lite"],checked:!1},{name:"OpenAI on Bedrock",models:["gpt-5.6-terra","gpt-oss-120b"],checked:!1},{name:"Qwen",models:["qwen3-coder-next","qwen3-32b"],checked:!1},{name:"Google Gemma",models:["gemma-3-12b"],checked:!1},{name:"xAI",models:["grok-4.6"],checked:!1}];function vbe({canWrite:e,sessionExpired:t}){const[n,r]=b.useState(null),[a,s]=b.useState(null),[o,l]=b.useState(!1),[c,u]=b.useState("overview"),d=b.useRef(!0),[f,h]=b.useState("bearer"),[p,m]=b.useState(""),[g,y]=b.useState(""),[v,k]=b.useState(""),[w,N]=b.useState("us-east-1"),[S,x]=b.useState(X_.filter(I=>I.checked).map(I=>I.name)),[E,_]=b.useState(!1),[O,C]=b.useState(null),P=b.useCallback(async()=>{const I=await K.getBedrockStatus();d.current&&r(I)},[]);b.useEffect(()=>(P(),()=>{d.current=!1}),[P]);const A=async()=>{l(!0),s(null);try{const I=await K.probeBedrock((n==null?void 0:n.region)||"us-east-1");if(!d.current)return;I.ok&&I.models&&(s(I.models),u("test"))}catch{}finally{d.current&&l(!1)}},D=async()=>{_(!0),C(null);try{const I={BEDROCK_REGION:w};f==="bearer"&&p?I.AWS_BEARER_TOKEN=p:f==="iam"&&(g&&(I.AWS_ACCESS_KEY_ID=g),v&&(I.AWS_SECRET_ACCESS_KEY=v));const M=await K.setupBedrock(I);if(!d.current)return;M.ok?(C({kind:"ok",text:"✅ Configuration saved! Running connectivity test…"}),u("overview"),await P(),setTimeout(()=>void A(),500)):C({kind:"err",text:M.error||"Save failed"})}catch{d.current&&C({kind:"err",text:"Could not reach the dashboard server."})}finally{d.current&&_(!1)}};return n===null?i.jsx("div",{className:"empty-state",children:"Loading Bedrock status…"}):i.jsxs("div",{className:"bedrock-onboarding",children:[i.jsx(Te,{icon:"🟠",title:"AWS Bedrock"}),i.jsxs("p",{className:"admin-subtitle",children:["Bedrock gives you access to Claude, Llama, Mistral, DeepSeek, and more — all through a single AWS account. Unlike other providers, Bedrock requires a ",i.jsx("strong",{children:"region"}),", ",i.jsx("strong",{children:"AWS credentials"}),", and explicit ",i.jsx("strong",{children:"model access approval"}),"."]}),O?i.jsx("div",{className:`admin-row-msg${O.kind==="ok"?"":" admin-row-msg-err"}`,children:O.text}):null,i.jsxs("div",{className:"bedrock-status-bar",children:[i.jsxs("div",{className:"bedrock-status-item",children:[i.jsx("span",{className:`status-dot ${n.configured?"connected":"reconnecting"}`}),i.jsx("span",{children:n.configured?"Configured":"Not configured"})]}),i.jsxs("div",{className:"bedrock-status-item",children:[i.jsx("span",{className:"bedrock-status-label",children:"Region:"}),i.jsx("code",{children:n.region})]}),i.jsxs("div",{className:"bedrock-status-item",children:[i.jsx("span",{className:"bedrock-status-label",children:"Auth:"}),i.jsx("code",{children:n.authMethod==="bearer"?"API Key":n.authMethod==="iam"?"IAM":"None"})]}),i.jsxs("div",{className:"bedrock-status-actions",children:[e?i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>u(c==="setup"?"overview":"setup"),children:c==="setup"?"✕ Cancel":"⚙ Setup Wizard"}):null,n.configured?i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>void A(),disabled:o,children:o?"⏳ Probing…":"🔍 Test Models"}):null]})]}),c==="setup"&&i.jsxs("div",{className:"bedrock-setup-wizard",children:[i.jsx("h2",{className:"section-subtitle",children:"🚀 Bedrock Setup Wizard"}),i.jsxs("div",{className:"bedrock-wizard-step",children:[i.jsx("h4",{children:"Step 1: Authentication"}),i.jsxs("div",{className:"bedrock-auth-options",children:[i.jsxs("label",{className:`bedrock-auth-option ${f==="bearer"?"selected":""}`,children:[i.jsx("input",{type:"radio",name:"authMethod",checked:f==="bearer",onChange:()=>h("bearer")}),i.jsxs("div",{children:[i.jsx("strong",{children:"Bedrock API Key"}),i.jsx("span",{children:"Simpler — get from Bedrock → Settings → API keys"})]})]}),i.jsxs("label",{className:`bedrock-auth-option ${f==="iam"?"selected":""}`,children:[i.jsx("input",{type:"radio",name:"authMethod",checked:f==="iam",onChange:()=>h("iam")}),i.jsxs("div",{children:[i.jsx("strong",{children:"IAM Credentials"}),i.jsx("span",{children:"Full AWS SDK auth — AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY"})]})]})]}),f==="bearer"?i.jsxs("div",{className:"bedrock-wizard-fields",children:[i.jsxs("div",{className:"bedrock-setup-hint",children:[i.jsx("strong",{children:"How to get a Bedrock API key:"}),i.jsxs("ol",{children:[i.jsxs("li",{children:["Open ",i.jsx("a",{href:"https://console.aws.amazon.com/bedrock/",target:"_blank",rel:"noopener noreferrer",children:"AWS Bedrock Console"})]}),i.jsxs("li",{children:["Go to ",i.jsx("strong",{children:"Settings"})," → ",i.jsx("strong",{children:"API keys"})]}),i.jsx("li",{children:"Create a new key and paste it below"})]})]}),i.jsxs("label",{className:"hub-send-target",children:[i.jsx("span",{className:"admin-hint",children:"Bedrock API Key (Bearer token)"}),i.jsx("input",{type:"password",value:p,onChange:I=>m(I.target.value),placeholder:"••••••••••••",autoComplete:"off",spellCheck:!1})]})]}):i.jsxs("div",{className:"bedrock-wizard-fields",children:[i.jsxs("div",{className:"bedrock-setup-hint",children:[i.jsx("strong",{children:"IAM credentials"})," give full AWS SDK access. Create an IAM user with Bedrock permissions."]}),i.jsxs("label",{className:"hub-send-target",children:[i.jsx("span",{className:"admin-hint",children:"AWS_ACCESS_KEY_ID"}),i.jsx("input",{type:"text",value:g,onChange:I=>y(I.target.value),placeholder:"AKIA...",autoComplete:"off",spellCheck:!1})]}),i.jsxs("label",{className:"hub-send-target",children:[i.jsx("span",{className:"admin-hint",children:"AWS_SECRET_ACCESS_KEY"}),i.jsx("input",{type:"password",value:v,onChange:I=>k(I.target.value),placeholder:"••••••••••••",autoComplete:"off",spellCheck:!1})]})]})]}),i.jsxs("div",{className:"bedrock-wizard-step",children:[i.jsx("h4",{children:"Step 2: AWS Region"}),i.jsxs("p",{className:"admin-hint",children:["Models vary by region. ",i.jsx("strong",{children:"us-east-1"})," and ",i.jsx("strong",{children:"us-west-2"})," have the most models. ⚠️ Do NOT use eu-north-1 unless models are explicitly enabled there."]}),i.jsx("select",{className:"bedrock-region-select",value:w,onChange:I=>N(I.target.value),children:gbe.map(I=>i.jsx("option",{value:I.value,children:I.label},I.value))})]}),i.jsxs("div",{className:"bedrock-wizard-step",children:[i.jsx("h4",{children:"Step 3: Model Access"}),i.jsx("p",{className:"admin-hint",children:"Bedrock requires you to request access for each model family."}),i.jsx("div",{className:"bedrock-model-access-hint",children:i.jsx("a",{href:`https://console.aws.amazon.com/bedrock/home?region=${w}#/modelaccess`,target:"_blank",rel:"noopener noreferrer",className:"admin-mini-btn",children:"📖 Open Model Access in AWS Console"})}),i.jsx("div",{className:"bedrock-family-grid",children:X_.map(I=>i.jsxs("label",{className:`bedrock-family-card ${S.includes(I.name)?"selected":""}`,children:[i.jsx("input",{type:"checkbox",checked:S.includes(I.name),onChange:M=>{M.target.checked?x(L=>[...L,I.name]):x(L=>L.filter(U=>U!==I.name))}}),i.jsxs("div",{children:[i.jsx("strong",{children:I.name}),i.jsxs("span",{children:[I.models.length," model(s)"]})]})]},I.name))}),i.jsx("p",{className:"admin-hint",style:{marginTop:8},children:"In the AWS Console, select the families above and submit. Approval is usually instant for Anthropic and Meta models."})]}),i.jsxs("div",{className:"bedrock-wizard-actions",children:[i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>void D(),disabled:E||f==="bearer"&&!p||f==="iam"&&(!g||!v),children:E?"⏳ Saving…":"💾 Save & Test"}),i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>u("overview"),children:"Cancel"})]})]}),c==="test"&&a&&i.jsxs("div",{className:"bedrock-probe-results",children:[i.jsxs("h2",{className:"section-subtitle",children:["🔍 Model Probe Results (",n.region,")"]}),i.jsx("div",{className:"bedrock-probe-grid",children:a.map(I=>i.jsxs("div",{className:`bedrock-probe-card bedrock-probe-${I.status}`,children:[i.jsx("span",{className:"bedrock-probe-icon",children:I.status==="accessible"?"✅":I.status==="permission-denied"?"🔒":I.status==="not-found"?"⚫":"❌"}),i.jsx("span",{className:"bedrock-probe-id",children:I.modelId}),i.jsx("span",{className:"bedrock-probe-status",children:I.status==="accessible"?"Ready":I.status==="permission-denied"?`Need access (HTTP ${I.httpStatus})`:I.status==="not-found"?"Not in this region":"Error"})]},I.modelId))}),a.some(I=>I.status==="permission-denied")&&i.jsxs("div",{className:"bedrock-probe-action",children:[i.jsxs("p",{children:["Some models exist in ",n.region," but access is not approved."]}),i.jsx("a",{href:`https://console.aws.amazon.com/bedrock/home?region=${n.region}#/modelaccess`,target:"_blank",rel:"noopener noreferrer",className:"admin-mini-btn",children:"🔓 Request Model Access in AWS Console →"})]}),i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>u("overview"),style:{marginTop:12},children:"← Back"})]}),!n.configured&&c==="overview"&&i.jsxs("div",{className:"bedrock-getting-started",children:[i.jsx("h2",{className:"section-subtitle",children:"📋 Getting Started with Bedrock"}),i.jsxs("div",{className:"bedrock-steps",children:[i.jsxs("div",{className:"bedrock-step",children:[i.jsx("span",{className:"bedrock-step-num",children:"1"}),i.jsxs("div",{children:[i.jsx("strong",{children:"Create an AWS account"})," (or use existing)",i.jsxs("span",{children:["New to AWS? Sign up at ",i.jsx("a",{href:"https://aws.amazon.com/",target:"_blank",rel:"noopener noreferrer",children:"aws.amazon.com"})]})]})]}),i.jsxs("div",{className:"bedrock-step",children:[i.jsx("span",{className:"bedrock-step-num",children:"2"}),i.jsxs("div",{children:[i.jsx("strong",{children:"Get Bedrock API key"}),i.jsx("span",{children:"Bedrock → Settings → API keys → Create key"})]})]}),i.jsxs("div",{className:"bedrock-step",children:[i.jsx("span",{className:"bedrock-step-num",children:"3"}),i.jsxs("div",{children:[i.jsx("strong",{children:"Request model access"}),i.jsx("span",{children:"Bedrock → Model access → Select Claude, Llama, etc. → Submit"})]})]}),i.jsxs("div",{className:"bedrock-step",children:[i.jsx("span",{className:"bedrock-step-num",children:"4"}),i.jsxs("div",{children:[i.jsx("strong",{children:"Configure in this wizard"}),i.jsx("span",{children:'Click "Setup Wizard" above to enter your credentials'})]})]})]})]}),n.configured&&c==="overview"&&!a&&i.jsx("div",{className:"bedrock-quick-status",children:i.jsxs("p",{className:"admin-hint",children:["Bedrock is configured. Click ",i.jsx("strong",{children:"🔍 Test Models"})," to verify connectivity and discover which models are accessible in ",n.region,"."]})})]})}const mv=["whatsapp","whatsapp_cloud","telegram","signal","slack","discord","email"];function ybe(){const[e,t]=b.useState([]),[n,r]=b.useState(!0),[a,s]=b.useState("all"),[o,l]=b.useState(null),[c,u]=b.useState(""),[d,f]=b.useState(""),[h,p]=b.useState(null),[m,g]=b.useState({}),[y,v]=b.useState({}),[k,w]=b.useState({}),[N,S]=b.useState(null),[x,E]=b.useState(!1),[_,O]=b.useState(!1),[C,P]=b.useState(!1),[A,D]=b.useState(12e4),I=b.useCallback(async()=>{r(!0);const J=await K.getContacts();J.ok&&J.contacts&&t(J.contacts);const Y=await K.gatewayPolicies();if(Y.ok&&Y.policies){const re={};for(const le of mv){const H=Y.policies[le];H&&(re[le]={...H.outboundSenders!==void 0?{outboundSenders:H.outboundSenders}:{},...H.requireApprovedTarget!==void 0?{requireApprovedTarget:H.requireApprovedTarget}:{}})}g(re),v(re)}O(Y.askUserWait===!0),P(Y.askUserWait===!0),typeof Y.askUserTimeoutMs=="number"&&D(Y.askUserTimeoutMs),r(!1)},[]);b.useEffect(()=>{I()},[I]);const M=e.filter(J=>a==="all"||J.status===a),L=async J=>{p(null);const Y=await K.approveContact(J.platform,J.name);p(Y.ok?{kind:"ok",text:`✅ ${J.name} approved.`}:{kind:"err",text:Y.error||"Failed."}),I()},U=async J=>{p(null);const Y=await K.rejectContact(J.platform,J.name);p(Y.ok?{kind:"ok",text:`🚫 ${J.name} rejected.`}:{kind:"err",text:Y.error||"Failed."}),I()},R=async J=>{p(null);const Y=await K.deleteContact(J.platform,J.name);p(Y.ok?{kind:"ok",text:`🗑️ ${J.name} deleted.`}:{kind:"err",text:Y.error||"Failed."}),I()},B=async()=>{if(!o)return;p(null);const J=await K.updateContact(o.platform,o.id,{name:c,phone:d});p(J.ok?{kind:"ok",text:`✅ ${c} updated.`}:{kind:"err",text:J.error||"Failed."}),l(null),I()},T=J=>J==="approved"?i.jsx("span",{className:"contact-status-badge approved",children:"✅ Approved"}):J==="pending"?i.jsx("span",{className:"contact-status-badge pending",children:"⏳ Pending"}):i.jsx("span",{className:"contact-status-badge rejected",children:"🚫 Rejected"}),Z=J=>({telegram:"✈️",whatsapp:"📱",whatsapp_cloud:"📱",email:"📧",slack:"💬",discord:"🎮"})[J]||"🔌",F=J=>J?new Date(J).toLocaleString():"—",$=J=>{const Y=(k[J]??"").trim();Y&&(g(re=>{var ye;const le={...re[J]??{}},H=le.outboundSenders??((ye=y[J])==null?void 0:ye.outboundSenders)??[];return H.some(xe=>xe.toLowerCase()===Y.toLowerCase())||(le.outboundSenders=[...H,Y]),{...re,[J]:le}}),w(re=>({...re,[J]:""})))},ae=(J,Y)=>{g(re=>{var ye;const le={...re[J]??{}},H=le.outboundSenders??((ye=y[J])==null?void 0:ye.outboundSenders)??[];return le.outboundSenders=H.filter(xe=>xe.toLowerCase()!==Y.toLowerCase()),{...re,[J]:le}})},ue=J=>{g(Y=>{const re={...Y[J]??{}};return re.requireApprovedTarget=re.requireApprovedTarget!==!0,{...Y,[J]:re}})},me=J=>{g(Y=>{const re={...Y[J]??{}};return delete re.outboundSenders,{...Y,[J]:re}})},Ee=async()=>{E(!0),S(null);const J={};for(const le of mv){const H=m[le]??{},ye=y[le]??{};(JSON.stringify(H.outboundSenders??null)!==JSON.stringify(ye.outboundSenders??null)||!!H.requireApprovedTarget!=!!ye.requireApprovedTarget)&&(J[le]={...H.outboundSenders!==void 0?{outboundSenders:H.outboundSenders}:{outboundSenders:null},requireApprovedTarget:!!H.requireApprovedTarget})}const Y=_!==C;if(Object.keys(J).length===0&&!Y){E(!1),S({kind:"ok",text:"No changes to save."});return}const re=await K.saveGatewayPolicies(J,void 0,void 0,{wait:_,timeoutMs:A});re.ok?(S({kind:"ok",text:"✅ Send authority saved."}),I()):S({kind:"err",text:re.error||"Failed to save send authority."}),E(!1)};return i.jsxs("div",{className:"panel contacts-page",children:[i.jsx(Te,{icon:"📇",title:"Contacts — Outbound Messaging Directory",description:"Manage who the bot can send messages to. Users auto-register on first Telegram message."}),h&&i.jsxs("div",{className:`admin-row-msg ${h.kind==="err"?"admin-row-msg-err":""}`,children:[h.text,i.jsx("button",{className:"admin-mini-btn",onClick:()=>p(null),children:"✕"})]}),i.jsxs("div",{className:"contacts-filters",children:[["all","approved","pending","rejected"].map(J=>i.jsx("button",{type:"button",className:a===J?"platforms-filter-btn active":"platforms-filter-btn",onClick:()=>s(J),children:J==="all"?`All (${e.length})`:J==="approved"?`✅ Approved (${e.filter(Y=>Y.status==="approved").length})`:J==="pending"?`⏳ Pending (${e.filter(Y=>Y.status==="pending").length})`:`🚫 Rejected (${e.filter(Y=>Y.status==="rejected").length})`},J)),i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>void I(),children:"🔄 Refresh"})]}),n?i.jsx("div",{className:"empty-state",children:"Loading contacts..."}):M.length===0?i.jsxs("div",{className:"empty-state",children:[i.jsxs("p",{children:["No contacts",a!=="all"?` with status "${a}"`:"","."]}),i.jsx("p",{className:"admin-hint",children:'Contacts auto-register when users message the bot on Telegram. They appear here as "Pending" until you approve them.'})]}):i.jsx("div",{className:"contacts-table-wrapper",children:i.jsxs("table",{className:"contacts-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Platform"}),i.jsx("th",{children:"Name"}),i.jsx("th",{children:"ID"}),i.jsx("th",{children:"Phone"}),i.jsx("th",{children:"Status"}),i.jsx("th",{children:"Registered"}),i.jsx("th",{children:"Actions"})]})}),i.jsx("tbody",{children:M.map(J=>i.jsxs("tr",{className:`contact-row status-${J.status}`,children:[i.jsxs("td",{children:[Z(J.platform)," ",J.platform]}),i.jsx("td",{className:"contact-name",children:J.name}),i.jsx("td",{className:"contact-id",children:i.jsx("code",{children:J.id})}),i.jsx("td",{className:"contact-phone",children:J.phone||"—"}),i.jsx("td",{children:T(J.status)}),i.jsx("td",{className:"contact-date",children:F(J.registeredAt||J.addedAt)}),i.jsxs("td",{className:"contact-actions",children:[J.status!=="approved"&&i.jsx("button",{className:"admin-mini-btn contact-approve-btn",onClick:()=>void L(J),children:"✅ Approve"}),J.status!=="rejected"&&i.jsx("button",{className:"admin-mini-btn contact-reject-btn",onClick:()=>void U(J),children:"🚫 Reject"}),i.jsx("button",{className:"admin-mini-btn",onClick:()=>{l(J),u(J.name),f(J.phone||"")},children:"✏️ Edit"}),i.jsx("button",{className:"admin-mini-btn contact-delete-btn",onClick:()=>void R(J),children:"🗑️"})]})]},`${J.platform}:${J.id}`))})]})}),i.jsxs("div",{className:"panel-header",style:{marginTop:28},children:[i.jsx("h2",{children:"🔐 Send authority — who may message others"}),i.jsxs("p",{className:"admin-hint",children:["Controls who can ask the agent to send a message to ",i.jsx("strong",{children:"someone else"})," through the gateway (e.g. “send this poem to my brother on WhatsApp”). This is separate from a contact’s approval status above, which only gates sending ",i.jsx("em",{children:"to"})," that person. Left empty, a platform ",i.jsx("strong",{children:"inherits"})," its allowed-users list (open). Add ",i.jsx("code",{children:"Allow-All"})," to allow everyone, or list specific senders to restrict it."]})]}),N&&i.jsxs("div",{className:`admin-row-msg ${N.kind==="err"?"admin-row-msg-err":""}`,children:[N.text,i.jsx("button",{className:"admin-mini-btn",onClick:()=>S(null),children:"✕"})]}),i.jsx("div",{className:"hub-permissions",children:mv.map(J=>{const Y=m[J]??{},re=Y.outboundSenders??[],le=Y.outboundSenders===void 0;return i.jsxs("div",{className:"hub-card",children:[i.jsxs("div",{className:"hub-card-top",children:[i.jsxs("span",{className:"hub-chip",children:[Z(J)," ",J]}),le?i.jsx("span",{className:"hub-chip",children:"open"}):i.jsx("span",{className:"hub-chip",children:"restricted"})]}),i.jsx("div",{className:"hub-alias-list",children:le?i.jsx("span",{className:"admin-hint",children:"Open — anyone who can trigger the agent may send to others."}):re.length===0?i.jsx("span",{className:"admin-hint",children:"(empty — nobody may send to others)"}):re.map(H=>i.jsxs("div",{className:"hub-alias-row",children:[i.jsx("span",{className:"hub-chip",children:H}),i.jsx("button",{className:"admin-refresh-btn",disabled:x,onClick:()=>ae(J,H),children:"✕"})]},`sa-${J}-${H}`))}),i.jsxs("div",{className:"hub-send-form",children:[i.jsx("input",{type:"text","aria-label":`Allowed sender for ${J}`,value:k[J]??"",onChange:H=>w(ye=>({...ye,[J]:H.target.value})),placeholder:"sender id, or Allow-All",disabled:x}),i.jsx("button",{className:"admin-refresh-btn",disabled:x||!(k[J]??"").trim(),onClick:()=>$(J),children:"+ Sender"}),le?null:i.jsx("button",{className:"admin-refresh-btn",disabled:x,onClick:()=>me(J),children:"↺ Reset to open"})]}),i.jsxs("label",{style:{display:"inline-flex",alignItems:"center",gap:6,marginTop:6},children:[i.jsx("input",{type:"checkbox",checked:!!Y.requireApprovedTarget,disabled:x,onChange:()=>ue(J)}),i.jsx("span",{className:"admin-hint",children:"Require approved recipients"})]})]},`sa-${J}`)})}),i.jsxs("div",{className:"hub-card",style:{marginTop:16},children:[i.jsxs("div",{className:"hub-card-top",children:[i.jsx("span",{className:"hub-chip",children:"🧠 Clarifying questions"}),_?i.jsx("span",{className:"hub-chip",children:"wait for reply"}):i.jsx("span",{className:"hub-chip",children:"assume option 1"}),_!==C?i.jsx("span",{className:"hub-chip",children:"· unsaved"}):null]}),i.jsxs("label",{style:{display:"inline-flex",alignItems:"center",gap:6,marginTop:6},children:[i.jsx("input",{type:"checkbox",checked:_,disabled:x,onChange:()=>O(J=>!J)}),i.jsxs("span",{className:"admin-hint",children:["When the agent asks a question on a channel, ",i.jsx("strong",{children:"wait for the sender's reply"})," before acting. Off (default): the question is sent and the ",i.jsx("em",{children:"first"})," option is assumed immediately — so a reply typed afterwards arrives too late to change anything."]})]}),_?i.jsxs("label",{style:{display:"inline-flex",alignItems:"center",gap:6,marginTop:6},children:[i.jsx("span",{className:"admin-hint",children:"Reply window (seconds)"}),i.jsx("input",{type:"number",min:5,max:600,value:Math.round(A/1e3),disabled:x,onChange:J=>D(Math.max(5,Math.min(600,Number(J.target.value)||120))*1e3),style:{width:90}}),i.jsx("span",{className:"admin-hint",children:"then the first option is used, and the timeout is logged."})]}):null]}),i.jsx("div",{style:{marginTop:12},children:i.jsx("button",{className:"admin-refresh-btn",disabled:x,onClick:()=>void Ee(),children:"💾 Save send authority"})}),o&&i.jsx("div",{className:"wizard-overlay",onClick:()=>l(null),children:i.jsxs("div",{className:"wizard-modal",onClick:J=>J.stopPropagation(),children:[i.jsxs("div",{className:"wizard-header",children:[i.jsx("span",{className:"wizard-icon",children:"✏️"}),i.jsxs("span",{className:"wizard-title",children:["Edit Contact: ",o.name]}),i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>l(null),children:"✕"})]}),i.jsxs("div",{className:"wizard-body",children:[i.jsxs("label",{className:"hub-send-target",children:[i.jsx("span",{className:"admin-hint",children:"Name"}),i.jsx("input",{type:"text",value:c,onChange:J=>u(J.target.value)})]}),i.jsxs("label",{className:"hub-send-target",children:[i.jsx("span",{className:"admin-hint",children:"Phone (optional, for flexible lookup)"}),i.jsx("input",{type:"text",value:d,onChange:J=>f(J.target.value),placeholder:"+918800123456"})]}),i.jsxs("p",{className:"admin-hint",children:["Platform: ",i.jsx("strong",{children:o.platform})," | ID: ",i.jsx("code",{children:o.id})]}),i.jsxs("div",{className:"wizard-nav",children:[i.jsx("button",{type:"button",className:"admin-mini-btn",onClick:()=>l(null),children:"Cancel"}),i.jsx("button",{type:"button",className:"admin-refresh-btn",onClick:()=>void B(),children:"Save"})]})]})]})})]})}const Q_=["proven-dead","proof-expired","parked","never-verified"];function Uo(e){if(e<=0)return"never";const t=Math.floor(e/1e3),n=Math.floor(t/60),r=Math.floor(n/60),a=Math.floor(r/24);return a>30?`${a}d ago`:a>0?`${a}d ${r%24}h ago`:r>0?`${r}h ${n%60}m ago`:n>0?`${n}m ago`:`${t}s ago`}function bbe(e){if(e<=0)return"never";const t=(Date.now()-e)/(24*60*60*1e3);return t<1?`${(t*24).toFixed(1)}h`:`${t.toFixed(2)}d`}function xbe({entry:e}){const t=Date.now(),n=t-e.lastProbedAt,r=t-e.lastVerifiedAt,a=t-e.lastUsedAt,s=Math.min(100,n/(30*24*60*60*1e3)*100),o=e.lastVerifiedAt>0?Math.min(100,r/(30*24*60*60*1e3)*100):-1,l=e.lastUsedAt>0?Math.min(100,a/(30*24*60*60*1e3)*100):-1;return i.jsxs("div",{className:"timeline-bar-container",children:[i.jsx("div",{className:"timeline-bar",title:`Last probed: ${Uo(n)}`,children:i.jsx("div",{className:"timeline-bar-fill probe",style:{width:`${s}%`}})}),o>=0&&i.jsx("div",{className:"timeline-bar small",title:`Last verified: ${Uo(r)}`,children:i.jsx("div",{className:"timeline-bar-fill verify",style:{width:`${o}%`}})}),l>=0&&i.jsx("div",{className:"timeline-bar small",title:`Last used: ${Uo(a)}`,children:i.jsx("div",{className:"timeline-bar-fill use",style:{width:`${l}%`}})})]})}function Z_(e){return{fontSize:11,padding:"2px 8px",borderRadius:4,background:`${e}20`,color:e,border:`1px solid ${e}40`,whiteSpace:"nowrap"}}function wbe(){const[e,t]=b.useState(null),[n,r]=b.useState(!0),[a,s]=b.useState(null),[o,l]=b.useState("all"),[c,u]=b.useState("provider"),d=b.useRef(!0),f=u0(),h=b.useCallback(async()=>{try{const B=await fetch("/api/model-timeline");if(!B.ok)throw new Error("Failed to fetch timeline data");const T=await B.json();d.current&&(t(T),s(null))}catch(B){d.current&&s(B instanceof Error?B.message:"Failed to load timeline")}finally{d.current&&r(!1)}},[]),[p,m]=b.useState(null),[g,y]=b.useState(10),[v,k]=b.useState(!1),[w,N]=b.useState(null),S=b.useRef(!1),x=b.useCallback(async()=>{const B=await K.fetchVerifyBacklog();if(!d.current)return;m(B);const T=(B==null?void 0:B.status)==="running";S.current&&!T&&h(),S.current=T},[h]);b.useEffect(()=>{d.current=!0,h(),x();const B=setInterval(()=>void h(),3e4);return()=>{d.current=!1,clearInterval(B)}},[h,x]);const E=(p==null?void 0:p.status)==="running";b.useEffect(()=>{if(!E)return;const B=setInterval(()=>void x(),1e3);return()=>clearInterval(B)},[E,x]);const _=b.useCallback(async()=>{k(!0),N(null);const B=await K.startVerifyBacklog(g);if(d.current){if(B.state&&m(B.state),!B.ok){const T=B.refusal??B.error??"Could not start the run.";N({text:T,kind:B.refusal?"info":"error"})}k(!1)}},[g]);if(n)return i.jsxs("div",{className:"admin-header",children:[i.jsx(Te,{icon:"📅",title:"Model Discovery Timeline"}),i.jsxs("div",{className:"loading-state",children:[i.jsx("div",{className:"loading-spinner"}),i.jsx("p",{children:"Loading timeline..."})]})]});if(a)return i.jsxs("div",{className:"admin-header",children:[i.jsx(Te,{icon:"📅",title:"Model Discovery Timeline"}),i.jsx("div",{className:"admin-row-msg admin-row-msg-err",children:a})]});if(e&&!e.counts)return i.jsxs("div",{className:"admin-header",children:[i.jsx(Te,{icon:"📅",title:"Model Discovery Timeline"}),i.jsxs("div",{className:"admin-row-msg admin-row-msg-err",children:["This dashboard server predates the reachability view. Restart it (",i.jsx("code",{children:"nuvira dashboard stop"}),", then start it again) and reload this page."]})]});const O=(e==null?void 0:e.entries)??[],C=e==null?void 0:e.counts,P=e==null?void 0:e.reachabilityCopy,A=e==null?void 0:e.freshnessCopy,D=C?Q_.reduce((B,T)=>B+(C[T]??0),0):0,I=[{key:"tracked-models",icon:"🧠",value:Je((e==null?void 0:e.totalModels)??0),label:"Tracked models (registry)",tone:"accent"},{key:"tracked-providers",icon:"🏢",value:Je((f==null?void 0:f.trackedProviders)??0),label:"Tracked providers (registry)",tone:"accent"}];f&&I.push({key:"listed-models",icon:"📡",value:Je(f.listedModels),label:"Listed models (live probe)",tone:"warn"},{key:"listed-providers",icon:"🛰️",value:Je(f.listedProviders),label:"Listed providers (live probe)",tone:"warn"}),I.push({key:"routable",icon:"✅",value:Je((C==null?void 0:C.routable)??0),label:"Routable now",tone:"ok"},{key:"not-routable",icon:"🚫",value:Je(D),label:"Not routable",tone:"danger"});const M=O.filter(B=>o==="routable"?B.reachability==="routable":o==="not-routable"?B.reachability!=="routable":!0),L=[...M].sort((B,T)=>c==="provider"?B.provider.localeCompare(T.provider)||B.model.localeCompare(T.model):T.lastProbedAt-B.lastProbedAt),U=new Map;for(const B of L){const T=U.get(B.provider);T?T.push(B):U.set(B.provider,[B])}const R=B=>({background:B?"var(--accent-green)":"var(--bg-hover)",border:`1px solid ${B?"var(--accent-green)":"var(--border)"}`,padding:"4px 12px",fontSize:12,cursor:"pointer"});return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"📅",title:"Model Discovery Timeline"}),i.jsxs("p",{className:"section-description",children:["The registry's age profile: when each tracked model was last probed, last ",i.jsx("em",{children:"verified"}),", and last used — and which ones routing can actually reach. The Models page answers “is it usable right now”; this one answers “what is ageing out”."]}),i.jsx(Ui,{tiles:I}),C?i.jsx("div",{style:{display:"flex",gap:14,flexWrap:"wrap",marginBottom:14,fontSize:11},children:Q_.map(B=>{const T=P==null?void 0:P[B];return i.jsxs("span",{title:T==null?void 0:T.blurb,children:[i.jsx("span",{style:{color:(T==null?void 0:T.color)??"var(--text-secondary)"},children:"■"})," ",i.jsxs("span",{style:{color:"var(--text-secondary)"},children:[(T==null?void 0:T.label)??B,": ",i.jsx("strong",{style:{color:"var(--text-primary)"},children:C[B]??0})]})]},B)})}):null,p?i.jsxs("div",{style:{background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:8,padding:"12px 14px",marginBottom:16},"data-testid":"verify-backlog-panel",children:[i.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[i.jsx("span",{style:{fontWeight:600,color:"var(--text-primary)"},children:"Work the backlog down"}),i.jsxs("span",{style:{fontSize:11,color:"var(--text-secondary)",flex:1,minWidth:260},children:["Each check is a real 1-token generation against one of your provider keys — not a listing lookup. A never-verified model is an ",i.jsx("em",{children:"unknown"}),", not a broken one: a check either proves it routable or marks it proven dead. Runs are bounded and one at a time."]}),i.jsxs("label",{style:{fontSize:11,color:"var(--text-secondary)",display:"flex",alignItems:"center",gap:6},children:["How many",i.jsx("input",{type:"number",min:1,max:p.maxCount??25,value:g,disabled:v||E,"aria-label":"how many models to verify",onChange:B=>y(Number(B.target.value)),style:{width:64,background:"var(--bg-primary)",color:"var(--text-primary)",border:"1px solid var(--border)",borderRadius:4,padding:"3px 6px",fontSize:12}})]}),i.jsx("button",{className:"admin-refresh-btn",type:"button",disabled:v||E||!(g>0),onClick:()=>void _(),style:{background:"var(--accent-green)",border:"1px solid var(--accent-green)",padding:"4px 12px",fontSize:12,cursor:v||E?"default":"pointer"},"data-testid":"verify-backlog-start",children:E?"⏳ Verifying…":v?"Starting…":`▶ Verify next ${g} now`})]}),E?i.jsxs("div",{className:"env-var-notice","data-testid":"verify-backlog-progress",children:["Probing"," ",i.jsx("code",{children:p.current?`${p.current.provider}/${p.current.model}`:"…"})," ","— ",p.processed,"/",p.planned," done · ",p.verified," verified · ",p.unavailable," proven dead"]}):null,!E&&p.status==="done"?i.jsxs("div",{className:"env-var-notice","data-testid":"verify-backlog-summary",children:["✅ ",p.verified," verified · ⛔ ",p.unavailable," proven unavailable · ⚠️ ",p.errored," errored · ⏭"," ",p.skipped," skipped",p.remaining!==null?` — ${p.remaining} still never verified`:""]}):null,(p.results??[]).length>0?i.jsx("div",{style:{display:"flex",gap:10,flexWrap:"wrap",marginTop:8},children:(p.results??[]).map(B=>i.jsxs("span",{style:{fontSize:11,color:"var(--text-secondary)"},title:B.outcome==="verified"?"Proven routable — a 1-token call succeeded":B.outcome==="unavailable"?"Proven dead — the provider refused it (403/404), re-probing will not help":B.outcome==="skipped"?"Skipped — verified recently enough":"Errored — transient, still unknown, will be retried next run",children:[B.outcome==="verified"?"✅":B.outcome==="unavailable"?"⛔":B.outcome==="skipped"?"⏭":"⚠️"," ",i.jsxs("code",{children:[B.provider,"/",B.model]})]},`${B.provider}:${B.model}`))}):null,w?i.jsx("div",{className:`env-var-notice${w.kind==="error"?" env-var-notice-error":""}`,"data-testid":"verify-backlog-message",children:w.text}):p.status==="idle"&&p.refusal?i.jsx("div",{className:"env-var-notice","data-testid":"verify-backlog-message",children:p.refusal}):null]}):null,i.jsxs("div",{style:{display:"flex",gap:8,marginBottom:16,flexWrap:"wrap"},children:[i.jsx("div",{style:{display:"flex",gap:4},children:["all","routable","not-routable"].map(B=>i.jsx("button",{className:`admin-refresh-btn ${o===B?"active":""}`,onClick:()=>l(B),style:R(o===B),children:B==="all"?"All":B==="routable"?"Routable":"Not routable"},B))}),i.jsx("div",{style:{display:"flex",gap:4},children:["provider","lastProbed"].map(B=>i.jsxs("button",{className:`admin-refresh-btn ${c===B?"active":""}`,onClick:()=>u(B),style:R(c===B),children:["Sort: ",B==="lastProbed"?"Last seen":"Provider"]},B))}),i.jsx("button",{className:"admin-refresh-btn",onClick:()=>void h(),style:{background:"var(--bg-hover)",border:"1px solid var(--border)",padding:"4px 12px",fontSize:12,cursor:"pointer"},children:"🔄 Refresh"})]}),i.jsxs("div",{style:{display:"flex",gap:16,marginBottom:4,fontSize:11,color:"var(--text-secondary)",flexWrap:"wrap"},children:[i.jsxs("span",{children:[i.jsx("span",{style:{color:"var(--accent-blue)"},children:"■"})," Probe (last seen in the provider's catalog)"]}),i.jsxs("span",{children:[i.jsx("span",{style:{color:"var(--accent-green)"},children:"■"})," Verified (last success)"]}),i.jsxs("span",{children:[i.jsx("span",{style:{color:"var(--accent-yellow)"},children:"■"})," Used (last invocation)"]})]}),i.jsxs("div",{style:{marginBottom:12,fontSize:11,color:"var(--text-secondary)"},children:[i.jsx("strong",{style:{color:"var(--text-primary)"},children:"Fresh"})," means the provider still lists it."," ",i.jsx("strong",{style:{color:"var(--text-primary)"},children:"Routable"})," means a turn has been proven to work on it within"," ",(e==null?void 0:e.freshDays)??7," days. A fresh model that was never verified is an unknown, not a failure — background spot-checks work through those a few at a time."]}),i.jsx("div",{style:{display:"flex",flexDirection:"column",gap:8},children:Array.from(U.entries()).map(([B,T])=>{const Z=T.filter(F=>F.reachability==="routable").length;return i.jsxs("div",{style:{background:"var(--bg-card)",borderRadius:8,border:"1px solid var(--border)",overflow:"hidden"},children:[i.jsxs("div",{style:{padding:"10px 14px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",gap:8},children:[i.jsx("span",{style:{fontSize:16},children:B==="groq"?"⚡":B==="gemini"?"🌀":B==="local"?"💻":"🤖"}),i.jsx("span",{style:{fontWeight:600,color:"var(--text-primary)"},children:B}),i.jsxs("span",{style:{fontSize:12,color:"var(--text-secondary)"},children:["(",T.length," shown · ",Z," routable)"]})]}),i.jsx("div",{style:{padding:"8px 14px"},children:T.map(F=>{const $=Date.now(),ae=P==null?void 0:P[F.reachability],ue=A==null?void 0:A[F.freshness],me=(ae==null?void 0:ae.color)??"var(--text-secondary)";return i.jsxs("div",{"data-testid":`timeline-row-${F.provider}-${F.model}`,style:{display:"flex",alignItems:"center",gap:12,padding:"6px 0",borderBottom:"1px solid var(--border-light)"},children:[i.jsxs("div",{style:{flex:1,minWidth:0},children:[i.jsx("div",{style:{fontSize:13,color:"var(--text-primary)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:F.model}),i.jsxs("div",{style:{fontSize:11,color:"var(--text-secondary)",display:"flex",gap:12,flexWrap:"wrap"},children:[i.jsxs("span",{children:["Probed: ",Uo($-F.lastProbedAt)]}),i.jsxs("span",{children:["Verified: ",F.lastVerifiedAt>0?Uo($-F.lastVerifiedAt):"never"]}),F.lastUsedAt>0&&i.jsxs("span",{children:["Used: ",Uo($-F.lastUsedAt)]}),F.latencyMs!==void 0&&i.jsxs("span",{children:[F.latencyMs,"ms"]}),F.errorRate>0&&i.jsxs("span",{style:{color:F.errorRate>.5?"var(--accent-red)":"var(--accent-yellow)"},children:["err ",(F.errorRate*100).toFixed(0),"%"]}),F.daysSinceVerify!==null&&F.daysSinceVerify>7&&i.jsxs("span",{style:{color:"var(--accent-yellow)"},children:["proof ",bbe(F.lastVerifiedAt)," old"]})]})]}),i.jsx(xbe,{entry:F}),ue&&i.jsx("span",{style:Z_(ue.color),title:ue.blurb,children:ue.label}),i.jsx("span",{style:Z_(me),title:(ae==null?void 0:ae.blurb)??F.reachability,"data-testid":`reachability-${F.provider}-${F.model}`,children:((ae==null?void 0:ae.label)??F.reachability).toUpperCase()})]},F.model)})})]},B)})}),M.length===0&&i.jsx("div",{style:{textAlign:"center",padding:"40px 20px",color:"var(--text-secondary)"},children:o==="routable"&&O.length>0?"No model is routable right now — every tracked model is unverified, parked, expired or dead. The Models page shows what each provider would offer live.":"No models match the current filter"})]})}const J_=7*24*60*60*1e3;function eC(e){const t=Math.max(0,Math.round((Date.now()-e)/6e4));if(t<1)return"just now";if(t<60)return`${t}m ago`;const n=Math.round(t/60);return n<24?`${n}h ago`:`${Math.round(n/24)}d ago`}function tC(e){return(e||"").split(/[\\/]/).filter(Boolean).slice(-2).join("/")||e}function kbe(){const[e,t]=b.useState(null),[n,r]=b.useState(!1),[a,s]=b.useState(!1),[o,l]=b.useState(null),c=b.useCallback(async()=>{const p=await K.fetchContinuity();t(p),r(!0)},[]);b.useEffect(()=>{let p=!0;return K.fetchContinuity().then(m=>{p&&(t(m),r(!0))}),()=>{p=!1}},[]);const u=b.useCallback(async(p,m,g)=>{s(!0),l(null);const y=await K.clearContinuity(p,m,g);y.ok?l(`Removed ${y.removed??0} record(s).`):l(y.error||"Could not clear that."),await c(),s(!1)},[c]);if(!n)return i.jsxs(i.Fragment,{children:[i.jsx("h2",{className:"section-subtitle",children:"🔗 Continuity"}),i.jsx("div",{className:"loading-state",children:i.jsx("p",{children:"Loading continuity data…"})})]});const d=e===null,f=(e==null?void 0:e.sessions)??[],h=(e==null?void 0:e.recall)??[];return i.jsxs(i.Fragment,{children:[i.jsx("h2",{className:"section-subtitle",children:"🔗 Continuity"}),i.jsx("p",{className:"memory-namespace-note",children:"The conversation snapshots that let a crashed or killed turn be resumed, and the index of past asks used for semantic recall. Both are history — they never decide that work is done. Turn the switches on or off on the Process Environment page."}),d?i.jsxs("p",{className:"memory-namespace-note",children:["Continuity data is unavailable — this dashboard server has no ",i.jsx("code",{children:"/api/continuity"})," endpoint."]}):i.jsxs(i.Fragment,{children:[i.jsxs("p",{className:"memory-backend",children:["Session store: ",i.jsx("code",{children:e.toggles.sessionStore?"ON":"OFF"})," · ","Semantic recall: ",i.jsx("code",{children:e.toggles.sessionRecall?"ON":"OFF"})]}),o?i.jsx("div",{className:"env-var-notice",children:o}):null,i.jsxs("h3",{className:"section-subtitle",children:["Stored sessions (",f.length,")"]}),f.length===0?i.jsx("p",{className:"memory-namespace-note",children:"No session snapshots yet."}):i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"memory-list",children:f.map(p=>i.jsxs("div",{className:"memory-item",children:[i.jsxs("span",{className:"memory-project",children:[p.open?"↩️ OPEN":"✓ closed"," · ",p.goal]}),i.jsxs("span",{className:"memory-count",children:[tC(p.cwd)," · ",p.steps," step(s) · ",eC(p.savedAt)]}),i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",disabled:a,"aria-label":`Forget session ${p.goal}`,onClick:()=>void u("session",p.id),children:"🗑️ Forget"})]},p.id))}),i.jsxs("div",{className:"admin-row-actions",children:[i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",disabled:a,title:"Delete only session snapshots saved more than 7 days ago",onClick:()=>void u("sessions",void 0,J_),children:"🗑️ Forget older than a week"}),i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",disabled:a||f.length===0,onClick:()=>void u("sessions"),children:"🗑️ Forget all sessions"})]})]}),i.jsxs("h3",{className:"section-subtitle",children:["Recalled past asks (",h.length,")"]}),h.length===0?i.jsx("p",{className:"memory-namespace-note",children:"Nothing indexed for recall yet."}):i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"memory-list",children:h.map(p=>i.jsxs("div",{className:"memory-item",children:[i.jsxs("span",{className:"memory-project",children:[p.outcome,": ",p.goal]}),i.jsxs("span",{className:"memory-count",children:[tC(p.projectPath)," · ",eC(p.savedAt)]}),i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",disabled:a,"aria-label":`Forget recall entry ${p.goal}`,onClick:()=>void u("recall-entry",p.id),children:"🗑️ Forget"})]},p.id))}),i.jsxs("div",{className:"admin-row-actions",children:[i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",disabled:a,title:"Delete only recall entries indexed more than 7 days ago",onClick:()=>void u("recall",void 0,J_),children:"🗑️ Forget older than a week"}),i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",disabled:a||h.length===0,onClick:()=>void u("recall"),children:"🗑️ Forget all recall entries"})]})]})]})]})}function es(e){return e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":xt(e)}function Sbe(e){return e==null?"0%":(e*100).toFixed(1)+"%"}const nC={"faiss-native":"native FAISS","faiss-ivf":"FAISS-style IVF-flat ANN",json:"exact flat cosine (JSON)"};function jbe({data:e}){var c,u;if(!e)return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"💾",title:"Memory Store"}),i.jsx("div",{className:"loading-state",children:i.jsx("p",{children:"Loading memory data..."})})]});const{memory:t,health:n}=e,r=Object.entries(t.byFingerprint||{}).sort(([,d],[,f])=>f-d),a=Object.entries(((c=t.facts)==null?void 0:c.byProject)||{}).sort(([,d],[,f])=>f-d),s=[...t.vectorNamespaces||[]].sort((d,f)=>f.entries-d.entries),o=t.recall||{total:0,today:0,last7d:0},l=[{key:"trajectories",icon:"🧭",value:es(t.total),label:"Trajectories",tone:"accent"},{key:"avg-score",icon:"⭐",value:Sbe(t.avgScore),label:"Avg Score",tone:"ok"},{key:"facts",icon:"📌",value:es((u=t.facts)==null?void 0:u.total),label:"Facts",tone:"warn"},{key:"recall",icon:"🔁",value:es(o.total),label:"Recall Hits",tone:"ok"},{key:"patterns",icon:"🧩",value:es(n==null?void 0:n.patterns),label:"Coding Patterns",tone:"warn"},{key:"feedback",icon:"👍",value:es(n==null?void 0:n.feedback),label:"Feedback Ratings",tone:"ok"}];return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"💾",title:"Memory Store"}),i.jsx(Ui,{tiles:l}),i.jsxs("p",{className:"memory-backend",children:["Memory tier: ",i.jsx("code",{children:t.backend||"local"})," · ","Vector index: ",i.jsx("code",{children:t.vectorBackend||"unknown"}),t.vectorBackend&&nC[t.vectorBackend]?` (${nC[t.vectorBackend]})`:"",o.last7d>0?` · ${es(o.last7d)} recall(s) this week, ${es(o.today)} today`:" · no recalls yet"]}),i.jsx(kbe,{}),r.length>0&&i.jsxs(i.Fragment,{children:[i.jsx("h2",{className:"section-subtitle",children:"By Project Type"}),i.jsx("div",{className:"memory-list",children:r.map(([d,f])=>i.jsxs("div",{className:"memory-item",children:[i.jsx("span",{className:"memory-project",children:d}),i.jsxs("span",{className:"memory-count",children:[f," trajectory(ies)"]})]},d))})]}),a.length>0&&i.jsxs(i.Fragment,{children:[i.jsx("h2",{className:"section-subtitle",children:"Facts by Project"}),i.jsx("div",{className:"memory-list",children:a.map(([d,f])=>i.jsxs("div",{className:"memory-item",children:[i.jsx("span",{className:"memory-project",children:d}),i.jsxs("span",{className:"memory-count",children:[f," fact(s)"]})]},d))})]}),s.length>0&&i.jsxs(i.Fragment,{children:[i.jsx("h2",{className:"section-subtitle",children:"Vector Index by Namespace"}),i.jsxs("p",{className:"memory-namespace-note",children:["Each namespace is its own index file. ",i.jsx("code",{children:"default"})," holds only successful trajectories and indexed sessions — facts, repo chunks and the model registry have their own namespaces — so a small ",i.jsx("code",{children:"default"})," count is corpus size, not a broken index."]}),i.jsx("div",{className:"memory-list",children:s.map(d=>i.jsxs("div",{className:"memory-item",children:[i.jsx("span",{className:"memory-project",children:d.name}),i.jsxs("span",{className:"memory-count",children:[d.entries," vector(s)"]})]},d.name))})]})]})}function gv(e){const t=e.replace(/[\\/]+$/,""),n=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return n>=0?t.slice(n+1):t}function Nbe(){const[e,t]=b.useState({configured:!1,authenticated:!1,role:null}),n=Gr(),[r,a]=b.useState(null),[s,o]=b.useState(null),[l,c]=b.useState(null),[u,d]=b.useState(""),[f,h]=b.useState(""),[p,m]=b.useState(!1),[g,y]=b.useState(""),[v,k]=b.useState(""),[w,N]=b.useState(null),[S,x]=b.useState(!1),E=e.authenticated&&(e.role==="admin"||e.role==="operator"),_=b.useCallback(async()=>{const A=await K.fetchKnowledge();a(A)},[]);b.useEffect(()=>{K.fetchAdminAuthStatus().then(A=>{t(A?{configured:A.configured,authenticated:A.authenticated,role:A.role??null}:{configured:!1,authenticated:!1,role:null})}),_()},[_,n]);const O=b.useCallback(async()=>{var D;o(null),c(null);const A=f.split(`
|
|
206
|
+
`).map(I=>I.trim()).filter(Boolean);if(!u.trim()||A.length===0){o("A tag and at least one file or folder path are required.");return}m(!0);try{const I=await K.knowledgeIngest(u,A);if(!I.ok)o(I.error||"Ingest failed.");else{const M=(D=I.skipped)!=null&&D.length?` Skipped: ${I.skipped.map(L=>`${gv(L.path)} (${L.reason})`).join("; ")}`:"";c(`Ingested ${I.files??0} document(s) / ${I.chunks??0} chunk(s) under '${I.tag}'.${M}`),h(""),await _()}}finally{m(!1)}},[u,f,_]),C=b.useCallback(async()=>{if(o(null),N(null),!g.trim()||!v.trim()){o("A tag and a question are required.");return}x(!0);try{const A=await K.knowledgeQuery(g,v);A.ok?N(A.hits??[]):o(A.error||"Query failed.")}finally{x(!1)}},[g,v]),P=b.useCallback(async A=>{o(null),c(null);const D=await K.knowledgeForget(A);D.ok?c(`Removed knowledge tag '${A}'.`):o(D.error||`Could not remove '${A}'.`),await _()},[_]);return i.jsxs("div",{children:[i.jsx(Te,{icon:"📚",title:"Knowledge Base",description:"Tag your own documents once; answer questions scoped to a tag. The data part comes from your documents, the general part from the model."}),i.jsxs("div",{className:"env-var-header",children:[i.jsx("span",{className:"env-var-title",children:"Documents and vectors live in ~/.nuvira/memory — never in a repository or package."}),i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void _(),children:"↻ Refresh"})]}),e.authenticated?null:i.jsx("div",{className:"admin-hint",children:e.configured?"Log in to view or manage knowledge tags.":"Set up an admin account to manage knowledge tags."}),s?i.jsx("div",{className:"admin-error",children:s}):null,l?i.jsx("div",{className:"admin-hint",children:l}):null,i.jsx("h2",{className:"section-title",children:"Tags"}),r&&r.length===0?i.jsx("div",{className:"admin-hint",children:"No knowledge tags yet. Ingest a document below to create one."}):null,r&&r.length>0?i.jsx("div",{className:"admin-table-wrapper",children:i.jsxs("table",{className:"admin-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Tag"}),i.jsx("th",{children:"Chunks"}),i.jsx("th",{children:"Documents"}),E?i.jsx("th",{}):null]})}),i.jsx("tbody",{children:r.map(A=>i.jsxs("tr",{children:[i.jsx("td",{children:A.tag}),i.jsx("td",{children:A.chunkCount}),i.jsx("td",{children:A.documents.map(D=>i.jsxs("div",{title:D.path,children:[gv(D.path)," (",D.chunks," chunk",D.chunks===1?"":"s",")"]},D.path))}),E?i.jsx("td",{children:i.jsx("button",{className:"admin-mini-danger",type:"button",onClick:()=>void P(A.tag),"aria-label":`Remove knowledge tag ${A.tag}`,children:"Forget"})}):null]},A.tag))})]})}):null,E?i.jsxs(i.Fragment,{children:[i.jsx("h2",{className:"section-title",children:"Ingest under a tag"}),i.jsx("div",{className:"admin-hint",children:"One file or folder path per line (PDF, DOCX, XLSX, PPTX, Markdown, CSV, JSON, plain text). Tags are normalized: “Dheeraj Health Report” becomes “dheeraj-health-report”."}),i.jsxs("div",{className:"admin-gate-form",children:[i.jsx("input",{className:"admin-input",type:"text",placeholder:"tag (e.g. dheeraj-health-report)",value:u,onChange:A=>d(A.target.value),"aria-label":"Knowledge tag"}),i.jsx("textarea",{className:"admin-input",rows:3,placeholder:`/path/to/labs.pdf
|
|
207
|
+
/path/to/notes/`,value:f,onChange:A=>h(A.target.value),"aria-label":"Paths to ingest"}),i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void O(),disabled:p,children:p?"Ingesting…":"Ingest"})]})]}):null,i.jsx("h2",{className:"section-title",children:"Ask a tagged knowledge base"}),i.jsxs("div",{className:"admin-gate-form",children:[i.jsx("input",{className:"admin-input",type:"text",placeholder:"tag",list:"knowledge-tags",value:g,onChange:A=>y(A.target.value),"aria-label":"Tag to query"}),i.jsx("datalist",{id:"knowledge-tags",children:(r??[]).map(A=>i.jsx("option",{value:A.tag},A.tag))}),i.jsx("input",{className:"admin-input",type:"text",placeholder:"what is my LDL and how do I lower it",value:v,onChange:A=>k(A.target.value),"aria-label":"Question"}),i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void C(),disabled:S,children:S?"Searching…":"Query"})]}),w&&w.length===0?i.jsx("div",{className:"admin-hint",children:"No passages matched that tag — check the tag name, or ingest documents first."}):null,w&&w.length>0?i.jsx("div",{children:w.map((A,D)=>i.jsxs("div",{className:"admin-summary-card",children:[i.jsxs("div",{className:"admin-summary-label",children:[gv(A.sourcePath)," · chunk ",A.chunkIndex+1," · sim ",A.similarity.toFixed(3)]}),i.jsx("div",{className:"admin-summary-value",style:{whiteSpace:"pre-wrap",fontWeight:400},children:A.text.slice(0,600)})]},`${A.sourcePath}-${A.chunkIndex}-${D}`))}):null]})}const Ebe=7*24*60*60*1e3;function _be(e){return new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function Cbe({data:e}){const[t,n]=b.useState(null),[r,a]=b.useState(!1),[s,o]=b.useState(null),l=t??(e==null?void 0:e.history),c=b.useCallback(async(d,f={})=>{a(!0),o(null);const h=await K.clearHistory(d,f);h.ok?o(d==="all"?`Removed ${h.removed??0} conversation(s).`:d==="older"?h.removed?`Removed ${h.removed} conversation(s) older than a week.`:"Nothing older than a week — nothing removed.":`Removed ${h.removed?h.removed:0} conversation(s).`):o(h.error||"Could not delete that.");const p=await K.fetchHistory();p&&n(p),a(!1)},[]);if(!l)return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"📝",title:"Conversation History"}),i.jsx("div",{className:"loading-state",children:i.jsx("p",{children:"Loading history..."})})]});const u=l.recent||[];return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"📝",title:"Conversation History"}),i.jsxs("div",{className:"history-stats",children:[i.jsxs("span",{className:"history-count",children:["Total: ",i.jsx("strong",{children:l.total})," sessions"]}),i.jsxs("div",{className:"admin-row-actions",children:[i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",disabled:r,title:"Delete only conversations started more than 7 days ago",onClick:()=>void c("older",{olderThanMs:Ebe}),children:"🗑️ Forget older than a week"}),i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",disabled:r||l.total===0,onClick:()=>{window.confirm("Delete ALL stored conversations? This cannot be undone.")&&c("all")},children:"🗑️ Clear all history"})]})]}),s?i.jsx("div",{className:"env-var-notice",children:s}):null,i.jsx("div",{className:"history-list",children:u.length===0?i.jsx("div",{className:"empty-state",children:"No conversations recorded yet."}):u.map(d=>i.jsxs("div",{className:"history-item",children:[i.jsx("div",{className:"history-summary",children:d.summary||"Untitled"}),i.jsxs("div",{className:"history-meta",children:[i.jsxs("span",{children:["📅 ",_be(d.startedAt)]}),i.jsxs("span",{children:["🤖 ",d.provider||"--"]}),i.jsxs("span",{children:["💬 ",d.messageCount||0," msgs"]}),d.tags&&d.tags.length>0&&i.jsxs("span",{children:["🏷️ ",d.tags.map(f=>i.jsx("span",{className:"history-tag",children:f},f))]}),i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",disabled:r,"aria-label":`Forget conversation ${d.summary||d.id}`,onClick:()=>void c("session",{id:d.id}),children:"🗑️ Forget"})]})]},d.id))})]})}function Abe(e){const t=Math.max(0,Math.round((Date.now()-e)/6e4));if(t<1)return"just now";if(t<60)return`${t}m ago`;const n=Math.round(t/60);return n<24?`${n}h ago`:`${Math.round(n/24)}d ago`}function Tbe(){const[e,t]=b.useState([]),[n,r]=b.useState(""),[a,s]=b.useState(""),[o,l]=b.useState(null),[c,u]=b.useState(!1),[d,f]=b.useState(!1),[h,p]=b.useState(null),[m,g]=b.useState(null),[y,v]=b.useState(""),[k,w]=b.useState(""),N=b.useCallback(async(_,O)=>{const C=await K.fetchDecisions(_,O);l(C),u(!0)},[]);b.useEffect(()=>{let _=!0;return K.listProjects().then(O=>{var P,A;if(!_)return;t(O);const C=((P=O.find(D=>D.kind==="cwd"))==null?void 0:P.path)??((A=O[0])==null?void 0:A.path)??"";r(C),N(C)}),()=>{_=!1}},[N]);const S=b.useCallback(()=>{n&&N(n,a.trim()||void 0)},[n,a,N]),x=b.useCallback(async _=>{if(!n||!y.trim())return;f(!0),p(null),await K.reviseDecision(n,_,y.trim(),k.trim()||void 0)?(p(`Revised ${_} — the previous answer is kept in its history.`),g(null),v(""),w(""),await N(n,a.trim()||void 0)):p("Could not revise that decision — it may no longer exist."),f(!1)},[n,y,k,a,N]),E=(o==null?void 0:o.decisions)??[];return i.jsxs(i.Fragment,{children:[i.jsx(Te,{icon:"🧭",title:"Decisions",description:"The choices the agent asked YOU to make (ask_user), kept so you can refer back and revise them. Written to the project's .nuvira/decisions.jsonl — never a substitute for asking."}),c?o===null?i.jsxs("p",{className:"memory-namespace-note",children:["Decision data is unavailable — this dashboard server has no ",i.jsx("code",{children:"/api/decisions"})," endpoint."]}):i.jsxs(i.Fragment,{children:[i.jsx("h2",{className:"section-subtitle",children:"Workspace"}),e.length>1?i.jsxs("label",{className:"memory-backend",children:["Project:"," ",i.jsx("select",{value:n,onChange:_=>{r(_.target.value),N(_.target.value,a.trim()||void 0)},children:e.map(_=>i.jsxs("option",{value:_.path,children:[_.name," (",_.kind,")"]},_.path))})]}):i.jsx("p",{className:"memory-backend",children:i.jsx("code",{children:o.dir})}),i.jsxs("div",{className:"admin-row-actions",children:[i.jsx("input",{type:"search",value:a,placeholder:"Find decisions relevant to an ask…","aria-label":"Search decisions relevant to an ask",onChange:_=>s(_.target.value),onKeyDown:_=>{_.key==="Enter"&&S()}}),i.jsx("button",{className:"admin-mini-btn",type:"button",disabled:!n,onClick:S,children:"🔎 Search"}),o.relevant?i.jsx("button",{className:"admin-mini-btn",type:"button",disabled:!n,onClick:()=>{s(""),N(n)},children:"✕ Clear"}):null]}),h?i.jsx("div",{className:"env-var-notice",children:h}):null,i.jsx("h2",{className:"section-subtitle",children:o.relevant?`Relevant decisions (${E.length})`:`Recorded decisions (${E.length})`}),E.length===0?i.jsx("p",{className:"memory-namespace-note",children:o.relevant?"No recorded decision matches that ask.":"None yet — a decision is recorded when the agent has to ask you one."}):i.jsx("div",{className:"memory-list",children:E.map(_=>{var O;return i.jsxs("div",{className:"memory-item",children:[i.jsxs("div",{children:[i.jsxs("span",{className:"memory-project",children:[_.status==="revised"?"✏️":"✅"," ",_.question]}),i.jsxs("div",{className:"memory-count",children:["→ ",_.answer||"(none)"," · ",Abe(_.at)," · ",_.source," · ",_.id,_.status==="revised"?` · revised ${((O=_.revisions)==null?void 0:O.length)??0}×`:""]}),_.choices&&_.choices.length>0?i.jsxs("div",{className:"memory-count",children:["offered: ",_.choices.join(" | ")]}):null]}),m===_.id?i.jsxs("div",{children:[i.jsx("input",{type:"text",value:y,placeholder:"New answer","aria-label":`New answer for ${_.question}`,onChange:C=>v(C.target.value)}),i.jsx("input",{type:"text",value:k,placeholder:"Why it changed (optional)","aria-label":`Note for ${_.question}`,onChange:C=>w(C.target.value)}),i.jsx("button",{className:"admin-mini-btn",type:"button",disabled:d||!y.trim(),onClick:()=>void x(_.id),children:"💾 Save"}),i.jsx("button",{className:"admin-mini-btn",type:"button",disabled:d,onClick:()=>{g(null),v(""),w("")},children:"✕ Cancel"})]}):i.jsx("button",{className:"admin-mini-btn",type:"button",onClick:()=>{g(_.id),v(_.answer),w("")},children:"✏️ Revise"})]},_.id)})})]}):i.jsx("div",{className:"loading-state",children:i.jsx("p",{children:"Loading decisions…"})})]})}function Obe({onFetch:e,onClear:t,onExport:n}){const[r,a]=b.useState([]),[s,o]=b.useState(!1),[l,c]=b.useState(""),[u,d]=b.useState(""),[f,h]=b.useState(null),[p,m]=b.useState(null);b.useEffect(()=>{g()},[l,u]);const g=async()=>{o(!0);try{const N=await e({skillName:l||void 0,status:u||void 0,limit:100});a(N);const S=N.length,x=N.filter(O=>O.status==="success").length,E=N.filter(O=>O.status==="failure").length,_=S>0?Math.round(N.reduce((O,C)=>O+C.durationMs,0)/S):0;m({total:S,success:x,failure:E,avgDuration:_})}catch(N){console.error("Failed to fetch execution history:",N)}finally{o(!1)}},y=async N=>{if(n)try{const S=await n(N),x=new Blob([S],{type:N==="json"?"application/json":"text/csv"}),E=URL.createObjectURL(x),_=document.createElement("a");_.href=E,_.download=`execution-history.${N}`,_.click(),URL.revokeObjectURL(E)}catch(S){console.error("Failed to export history:",S)}},v=async()=>{if(t&&confirm("Are you sure you want to clear all execution history?"))try{await t(),a([]),m(null)}catch(N){console.error("Failed to clear history:",N)}},k=N=>{switch(N){case"success":return"✅";case"failure":return"❌";case"timeout":return"⏰";case"rejected":return"🚫";case"error":return"💥";default:return"❓"}},w=N=>{switch(N){case"python":return"🐍";case"node":return"🟢";case"shell":return"🖥️";case"ruby":return"💎";case"go":return"🔵";case"rust":return"🦀";default:return"📜"}};return i.jsxs("div",{className:"execution-history",children:[i.jsx(Te,{icon:"📜",title:"Execution History",actions:i.jsxs("div",{className:"execution-history-actions",children:[i.jsx("button",{className:"admin-mini-btn",type:"button",onClick:()=>y("json"),children:"📥 Export JSON"}),i.jsx("button",{className:"admin-mini-btn",type:"button",onClick:()=>y("csv"),children:"📥 Export CSV"}),t&&i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",onClick:v,children:"🗑️ Clear"})]})}),p&&i.jsxs("div",{className:"execution-history-stats",children:[i.jsxs("div",{className:"stat-item",children:[i.jsx("span",{className:"stat-value",children:p.total}),i.jsx("span",{className:"stat-label",children:"Total"})]}),i.jsxs("div",{className:"stat-item stat-success",children:[i.jsx("span",{className:"stat-value",children:p.success}),i.jsx("span",{className:"stat-label",children:"Success"})]}),i.jsxs("div",{className:"stat-item stat-failure",children:[i.jsx("span",{className:"stat-value",children:p.failure}),i.jsx("span",{className:"stat-label",children:"Failed"})]}),i.jsxs("div",{className:"stat-item",children:[i.jsxs("span",{className:"stat-value",children:[p.avgDuration,"ms"]}),i.jsx("span",{className:"stat-label",children:"Avg Duration"})]})]}),i.jsxs("div",{className:"execution-history-filters",children:[i.jsx("input",{className:"env-var-input",type:"text","aria-label":"Filter by skill name",placeholder:"Filter by skill name...",value:l,onChange:N=>c(N.target.value)}),i.jsxs("select",{className:"env-var-input","aria-label":"Filter by status",value:u,onChange:N=>d(N.target.value),children:[i.jsx("option",{value:"",children:"All statuses"}),i.jsx("option",{value:"success",children:"Success"}),i.jsx("option",{value:"failure",children:"Failure"}),i.jsx("option",{value:"timeout",children:"Timeout"}),i.jsx("option",{value:"rejected",children:"Rejected"}),i.jsx("option",{value:"error",children:"Error"})]})]}),i.jsx("div",{className:"execution-history-list",children:s?i.jsx("div",{className:"execution-history-empty",children:"Loading..."}):r.length===0?i.jsx("div",{className:"execution-history-empty",children:"No execution history found. Execute a skill to see results here."}):r.map(N=>i.jsxs("div",{className:`execution-history-entry ${N.status}`,onClick:()=>h((f==null?void 0:f.id)===N.id?null:N),children:[i.jsxs("div",{className:"entry-header",children:[i.jsx("span",{className:"entry-icon",children:k(N.status)}),i.jsx("span",{className:"entry-skill",children:N.skillName}),i.jsxs("span",{className:"entry-runtime",children:[w(N.runtime)," ",N.runtime]}),i.jsxs("span",{className:"entry-duration",children:[N.durationMs,"ms"]}),i.jsx("span",{className:"entry-time",children:new Date(N.timestamp).toLocaleString()}),i.jsx("span",{className:"entry-expand",children:(f==null?void 0:f.id)===N.id?"▼":"▶"})]}),(f==null?void 0:f.id)===N.id&&i.jsxs("div",{className:"entry-details",children:[i.jsxs("div",{className:"entry-detail-row",children:[i.jsx("span",{className:"detail-label",children:"Status:"}),i.jsx("span",{className:"detail-value",children:N.status})]}),i.jsxs("div",{className:"entry-detail-row",children:[i.jsx("span",{className:"detail-label",children:"Runtime:"}),i.jsx("span",{className:"detail-value",children:N.runtime})]}),i.jsxs("div",{className:"entry-detail-row",children:[i.jsx("span",{className:"detail-label",children:"Duration:"}),i.jsxs("span",{className:"detail-value",children:[N.durationMs,"ms"]})]}),N.exitCode!==void 0&&i.jsxs("div",{className:"entry-detail-row",children:[i.jsx("span",{className:"detail-label",children:"Exit Code:"}),i.jsx("span",{className:"detail-value",children:N.exitCode})]}),N.error&&i.jsxs("div",{className:"entry-detail-row",children:[i.jsx("span",{className:"detail-label",children:"Error:"}),i.jsx("span",{className:"detail-value entry-error",children:N.error})]}),N.command&&i.jsxs("div",{className:"entry-detail-row",children:[i.jsx("span",{className:"detail-label",children:"Command:"}),i.jsx("code",{className:"detail-value",children:N.command})]})]})]},N.id))})]})}function Pbe({envVars:e,onSave:t,onDelete:n,onTest:r,readOnly:a=!1}){const[s,o]=b.useState(null),[l,c]=b.useState(""),[u,d]=b.useState(!1),[f,h]=b.useState(""),[p,m]=b.useState(""),[g,y]=b.useState(null),[v,k]=b.useState({}),w=[...e].sort((E,_)=>E.requiredBy&&!_.requiredBy?-1:!E.requiredBy&&_.requiredBy?1:E.name.localeCompare(_.name)),N=E=>{t(E,l),o(null),c("")},S=()=>{f&&p&&(t(f,p),h(""),m(""),d(!1))},x=async E=>{if(r){y(E);try{const _=await r(E);k(O=>({...O,[E]:_}))}catch{k(_=>({..._,[E]:!1}))}finally{y(null)}}};return i.jsxs("div",{className:"env-var-editor",children:[i.jsxs("div",{className:"env-var-header",children:[i.jsx("h2",{className:"env-var-title",children:"🔐 Environment Variables"}),!a&&i.jsx("button",{className:"admin-mini-btn",type:"button",onClick:()=>d(!u),children:u?"✕ Cancel":"+ Add Variable"})]}),u&&!a&&i.jsxs("div",{className:"env-var-add-form",children:[i.jsx("input",{className:"env-var-input",type:"text",placeholder:"Variable name (e.g., MY_API_KEY)",value:f,onChange:E=>h(E.target.value)}),i.jsx("input",{className:"env-var-input",type:"password",placeholder:"Value",value:p,onChange:E=>m(E.target.value)}),i.jsx("button",{className:"admin-refresh-btn",type:"button",disabled:!f||!p,onClick:S,children:"💾 Save"})]}),i.jsx("div",{className:"env-var-list",children:w.length===0?i.jsx("div",{className:"env-var-empty",children:"No environment variables configured. Add one to get started."}):w.map(E=>i.jsxs("div",{className:`env-var-row ${E.isSet?"env-var-set":"env-var-missing"} ${E.isProviderCredential?"env-var-blocked":""}`,children:[i.jsxs("div",{className:"env-var-row-header",children:[i.jsxs("span",{className:"env-var-name",children:[E.name,E.requiredBy&&i.jsxs("span",{className:"env-var-required-badge",children:["required by ",E.requiredBy]}),E.isProviderCredential&&i.jsx("span",{className:"env-var-blocked-badge",children:"🔒 provider credential (blocked)"})]}),i.jsx("span",{className:"env-var-status",children:E.isSet?"✅ Set":"❌ Not set"})]}),E.description&&i.jsx("div",{className:"env-var-description",children:E.description}),s===E.name?i.jsxs("div",{className:"env-var-edit",children:[i.jsx("input",{className:"env-var-input",type:"password",value:l,onChange:_=>c(_.target.value),placeholder:"Enter new value..."}),i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>N(E.name),children:"💾 Save"}),i.jsx("button",{className:"admin-mini-btn",type:"button",onClick:()=>o(null),children:"Cancel"})]}):i.jsxs("div",{className:"env-var-actions",children:[!a&&!E.isProviderCredential&&i.jsx("button",{className:"admin-mini-btn",type:"button",onClick:()=>{o(E.name),c("")},children:"✏️ Edit"}),r&&i.jsx("button",{className:"admin-mini-btn",type:"button",disabled:g===E.name,onClick:()=>x(E.name),children:g===E.name?"⏳ Testing...":"🧪 Test"}),!a&&i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",onClick:()=>n(E.name),children:"🗑️ Delete"}),v[E.name]!==void 0&&i.jsx("span",{className:`env-var-test-result ${v[E.name]?"env-var-test-pass":"env-var-test-fail"}`,children:v[E.name]?"✅ Valid":"❌ Invalid"})]})]},E.name))}),i.jsx("div",{className:"env-var-help",children:i.jsxs("p",{children:[i.jsx("strong",{children:"Tip:"})," Environment variables are stored in ",i.jsx("code",{children:"~/.nuvira/.env"})," and injected into skill executions. Provider credentials (ANTHROPIC_API_KEY, OPENAI_API_KEY, etc.) are automatically blocked from skill execution for security."]})})]})}function Rbe(){const[e,t]=b.useState({configured:!1,authenticated:!1,role:null}),n=Gr(),[r,a]=b.useState([]),[s,o]=b.useState(!0),[l,c]=b.useState(null),[u,d]=b.useState(null),f=e.authenticated&&(e.role==="admin"||e.role==="operator"),h=b.useCallback(async()=>{o(!0);const y=await K.fetchSkillEnv();a(y),o(!1)},[]);b.useEffect(()=>{K.fetchAdminAuthStatus().then(y=>{t(y?{configured:y.configured,authenticated:y.authenticated,role:y.role??null}:{configured:!1,authenticated:!1,role:null})}),h()},[h,n]);const p=b.useCallback(async(y,v)=>{var N;c(null),d(null);const k=await K.saveSecrets({[y]:v}),w=(N=k.refused)==null?void 0:N.find(S=>S.name===y);!k.ok||w?c(w?Mbe(y,w.reason):k.error||`Could not save ${y}.`):d(`Saved ${y}.`),await h()},[h]),m=b.useCallback(async y=>{c(null),d(null);const v=await K.deleteSkillEnvVar(y);v.ok?d(v.removed?`Deleted ${y}.`:`${y} was not stored in the env file.`):c(v.error||`Could not delete ${y}.`),await h()},[h]),g=b.useCallback(async y=>{const v=await K.testSkillEnvVar(y);return v.ok?(c(null),d(v.detail||`${y}: ${v.usable?"usable by skills":"not usable by skills"}`),v.usable===!0):(c(v.error||`Could not test ${y}.`),!1)},[]);return i.jsxs("div",{children:[i.jsx(Te,{icon:"🔐",title:"Skill Environment Variables"}),i.jsxs("div",{className:"env-var-header",children:[i.jsx("span",{className:"env-var-title",children:"Values are masked; only names and set/unset state are shown."}),i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void h(),children:"↻ Refresh"})]}),i.jsxs("div",{className:"admin-hint",children:["Secrets here are injected into skill executions that declare them (",i.jsx("code",{children:"required_environment_variables"}),"). Provider credentials are listed but locked — they belong to provider setup, and skills never receive them."]}),e.authenticated?null:i.jsx("div",{className:"admin-hint",children:e.configured?"Log in to view or edit skill secrets.":"Set up an admin account to manage skill secrets."}),e.authenticated&&!f?i.jsx("div",{className:"admin-hint",children:"Read-only — admins and operators can change these values."}):null,l?i.jsx("div",{className:"env-var-notice env-var-notice-error",children:l}):null,u?i.jsx("div",{className:"env-var-notice",children:u}):null,s?i.jsx("div",{className:"loading-state",children:"Loading…"}):i.jsx(Pbe,{envVars:r,onSave:(y,v)=>void p(y,v),onDelete:y=>void m(y),onTest:g,readOnly:!f})]})}function Mbe(e,t){switch(t){case"provider-credential":return`${e} is a provider credential — configure it in provider setup instead. Skills never receive it.`;case"invalid-name":return`${e} is not a valid environment variable name.`;case"write-failed":return`${e} could not be written to the env file.`;default:return`${e} was not saved (${t}).`}}const Ibe=[{id:"turn",title:"Turn behaviour",blurb:"How each turn runs. Unset means nobody has asked for anything, which is not the same as asking for no."},{id:"observability",title:"Observability",blurb:"What a run records about itself. Both are off by default and off unless asked for."},{id:"hooks",title:"Tool hooks",blurb:"A command run around every tool call, with the call on stdin as JSON. For a phase, a value here REPLACES the hooks declared in tools.hooks."}];function $be(){const[e,t]=b.useState({configured:!1,authenticated:!1,role:null}),n=Gr(),[r,a]=b.useState([]),[s,o]=b.useState(!0),[l,c]=b.useState(null),[u,d]=b.useState(null),[f,h]=b.useState({}),[p,m]=b.useState(null),g=e.authenticated&&(e.role==="admin"||e.role==="operator"),y=b.useCallback(async()=>{o(!0),a(await K.fetchProcessEnv()),o(!1)},[]);b.useEffect(()=>{K.fetchAdminAuthStatus().then(w=>{t(w?{configured:w.configured,authenticated:w.authenticated,role:w.role??null}:{configured:!1,authenticated:!1,role:null})}),y()},[y,n]);const v=b.useCallback(async(w,N)=>{m(w),c(null),d(null);const S=await K.saveProcessEnvVar(w,N);if(!S.ok||!S.row)c(S.error||`Could not set ${w}.`);else{const x=S.row;a(E=>E.map(_=>_.name===x.name?x:_)),h(E=>({...E,[w]:""})),d(`${w} = ${x.fileValue}. Takes effect on the next turn; the dashboard picked it up immediately.`)}m(null)},[]),k=b.useCallback(async w=>{m(w),c(null),d(null);const N=await K.deleteProcessEnvVar(w);if(!N.ok||!N.row)c(N.error||`Could not unset ${w}.`);else{const S=N.row;a(x=>x.map(E=>E.name===S.name?S:E)),h(x=>({...x,[w]:""})),d(N.removed?`${w} removed from the env file. ${S.unsetMeans}`:`${w} had no line in the env file. ${S.unsetMeans}`)}m(null)},[]);return i.jsxs("div",{children:[i.jsx(Te,{icon:"🌱",title:"Process Environment"}),i.jsxs("div",{className:"env-var-header",children:[i.jsx("span",{className:"env-var-title",children:"These are the switches Agent-Nuvira reads for how a run behaves. Values are written to the credential env file and are not masked — do not put a secret in a hook command."}),i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void y(),children:"↻ Refresh"})]}),i.jsxs("div",{className:"admin-hint",children:["A value exported in your shell ",i.jsx("strong",{children:"wins over this file"}),", for the dashboard and for every CLI run in that shell. A row that says ",i.jsx("em",{children:"shell value wins"})," is reporting exactly that, and writes here will not change it."]}),e.authenticated?null:i.jsx("div",{className:"admin-hint",children:e.configured?"Log in to view or change the process environment.":"Set up an admin account to change the process environment."}),e.authenticated&&!g?i.jsx("div",{className:"admin-hint",children:"Read-only — admins and operators can change these values."}):null,l?i.jsx("div",{className:"env-var-notice env-var-notice-error",children:l}):null,u?i.jsx("div",{className:"env-var-notice",children:u}):null,s?i.jsx("div",{className:"loading-state",children:"Loading…"}):Ibe.map(w=>{const N=r.filter(S=>S.group===w.id);return N.length===0?null:i.jsxs("section",{className:"process-env-group",children:[i.jsx("h3",{className:"process-env-group-title",children:w.title}),i.jsx("p",{className:"process-env-group-blurb",children:w.blurb}),i.jsx("div",{className:"env-var-list",children:N.map(S=>i.jsx(Lbe,{row:S,draft:f[S.name]??"",busy:p===S.name,readOnly:!g,onDraft:x=>h(E=>({...E,[S.name]:x})),onSet:x=>void v(S.name,x),onUnset:()=>void k(S.name)},S.name))})]},w.id)})]})}function Lbe({row:e,draft:t,busy:n,readOnly:r,onDraft:a,onSet:s,onUnset:o}){const l=e.state==="on",c=e.state!=="unset",u=f=>`admin-mini-btn${f?" process-env-active":""}`,d=e.kind==="flag"&&e.fileValue!==null&&e.fileValue!=="1"&&e.fileValue!=="0"?e.fileValue:null;return i.jsxs("div",{className:`env-var-row ${c?"env-var-set":"env-var-missing"}`,"data-testid":`process-env-row-${e.name}`,children:[i.jsxs("div",{className:"env-var-row-header",children:[i.jsxs("span",{className:"env-var-name",children:[e.name,e.shadowed?i.jsxs("span",{className:"env-var-blocked-badge",children:["⚠️ shell value wins: ",e.processValue]}):null]}),i.jsxs("span",{className:"env-var-status",children:[e.kind==="flag"?l?"✅ On":c?"⭕ Off":"➖ Unset":c?"✅ Set":"➖ Unset",d?` (${d})`:""]})]}),i.jsxs("div",{className:"env-var-description",children:[i.jsx("strong",{children:e.label})," — ",e.description]}),i.jsxs("div",{className:"env-var-description",children:["Unset: ",e.unsetMeans]}),e.cliEquivalent?i.jsxs("div",{className:"env-var-description",children:["Same switch: ",i.jsx("code",{children:e.cliEquivalent})]}):null,e.warning?i.jsxs("div",{className:"env-var-warning",children:["⚠️ ",e.warning]}):null,r?null:i.jsxs("div",{className:"env-var-actions",children:[e.kind==="flag"?i.jsxs(i.Fragment,{children:[i.jsx("button",{className:u(l),type:"button",disabled:n,onClick:()=>s("1"),children:"On"}),i.jsx("button",{className:u(c&&!l),type:"button",disabled:n,onClick:()=>s("0"),children:"Off"}),i.jsx("button",{className:u(!c),type:"button",disabled:n,onClick:o,children:"Unset"})]}):null,e.kind==="text"||e.acceptsValue?i.jsxs(i.Fragment,{children:[i.jsx("input",{className:"env-var-input",type:"text",value:t,placeholder:e.placeholder,disabled:n,onChange:f=>a(f.target.value),"aria-label":`${e.name} value`}),i.jsxs("button",{className:"admin-mini-btn",type:"button",disabled:n||t.trim()==="",onClick:()=>s(t),children:["💾 ",e.valueLabel??"Save"]})]}):null,e.kind==="text"?i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",disabled:n,onClick:o,children:"🗑️ Unset"}):null]})]})}const rC={before_tool_call:"🛑",after_tool_call:"✅",failed_tool_call:"❌",on_session_end:"🏁"};function aC(e){const t={};for(const n of e.split(`
|
|
208
|
+
`)){const r=n.trim();if(!r)continue;const a=r.indexOf("=");if(a<=0)continue;const s=r.slice(0,a).trim(),o=r.slice(a+1).trim();s&&o&&(t[s]=o)}return Object.keys(t).length>0?t:void 0}function Dbe(e){const t=e.when??{},n=[];if(t.tool&&n.push(`tool ${t.tool}`),t.surface&&n.push(`surface ${t.surface}`),t.cwdPrefix&&n.push(`cwd ${t.cwdPrefix}*`),t.argsMatch)for(const[a,s]of Object.entries(t.argsMatch))n.push(`${a}=${s}`);const r=n.length>0?n.join(" · "):"every call";switch(e.action.kind){case"deny":return`${r} → deny${e.action.reason?`: ${e.action.reason}`:""}`;case"notify":return`${r} → notify: ${e.action.message}`;case"scan-args":return`${r} → scan args for secrets${e.action.denyOnHit?" (deny on hit)":""}`}}function Bbe(){const e=Gr(),[t,n]=b.useState({configured:!1,authenticated:!1,role:null}),[r,a]=b.useState(null),[s,o]=b.useState(!0),[l,c]=b.useState(null),[u,d]=b.useState(null),[f,h]=b.useState(!1),[p,m]=b.useState([]),[g,y]=b.useState(""),[v,k]=b.useState(""),[w,N]=b.useState("before_tool_call"),[S,x]=b.useState("deny"),[E,_]=b.useState(""),[O,C]=b.useState(""),[P,A]=b.useState(""),[D,I]=b.useState(""),[M,L]=b.useState(""),[U,R]=b.useState("hook fired: {tool}"),[B,T]=b.useState(!1),Z=t.authenticated&&(t.role==="admin"||t.role==="operator"),F=b.useCallback(async()=>{o(!0);const H=await K.fetchHooks();H?(a(H),m(H.hooks)):c("Could not load hooks — the dashboard server may be older than this bundle."),o(!1)},[]);b.useEffect(()=>{K.fetchAdminAuthStatus().then(H=>{n(H?{configured:H.configured,authenticated:H.authenticated,role:H.role??null}:{configured:!1,authenticated:!1,role:null})}),F()},[F,e]);const $=(r==null?void 0:r.events)??["before_tool_call","after_tool_call","failed_tool_call","on_session_end"],ae=(r==null?void 0:r.eventDescriptions)??{},ue=(r==null?void 0:r.actionKinds)??["deny","notify","scan-args"],me=(r==null?void 0:r.actionDescriptions)??{},Ee=b.useMemo(()=>p.some(H=>H.id===g.trim()),[p,g]),J=/^[a-z0-9][a-z0-9-]{0,63}$/.test(g.trim()),Y=J&&!Ee&&v.trim().length>0,re=b.useCallback(()=>{c(null),d(null);const H={...E.trim()?{tool:E.trim()}:{},...O.trim()?{surface:O.trim()}:{},...P.trim()?{cwdPrefix:P.trim()}:{},...aC(D)?{argsMatch:aC(D)}:{}},ye=S==="deny"?{kind:"deny",...M.trim()?{reason:M.trim()}:{}}:S==="notify"?{kind:"notify",message:U.trim()||"hook fired: {tool}"}:{kind:"scan-args",denyOnHit:B,...M.trim()?{reason:M.trim()}:{}},xe={id:g.trim(),label:v.trim(),event:w,enabled:!0,...Object.keys(H).length>0?{when:H}:{},action:ye,source:"user",updatedAt:Date.now()};m(Oe=>[...Oe,xe]),y(""),k(""),_(""),C(""),A(""),I(""),L(""),T(!1)},[g,v,w,S,E,O,P,D,M,U,B]),le=b.useCallback(async()=>{h(!0),c(null),d(null);const H=await K.saveHooks(p);H.ok?(m(H.hooks??p),d(`Saved ${(H.hooks??p).length} hook(s). They are in force on the next tool call.`)):c(H.error||"Could not save hooks."),h(!1)},[p]);return i.jsxs("div",{children:[i.jsx(Te,{icon:"🪝",title:"Hooks",description:"Declarative lifecycle rules bound to nuvira's own seams. A hook is DATA, not code: its only possible actions are deny, notify and secret-scan. There is no run-command action and no third-party script — nothing here executes."}),i.jsxs("div",{className:"env-var-header",children:[i.jsxs("span",{className:"env-var-title",children:[p.length," declared · ",p.filter(H=>H.enabled).length," enabled",r!=null&&r.file?i.jsxs(i.Fragment,{children:[" · stored at ",i.jsx("code",{children:r.file})]}):null]}),i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void F(),children:"↻ Refresh"}),Z?i.jsxs("button",{className:"admin-refresh-btn",type:"button",disabled:f,onClick:()=>void le(),children:["💾 ",f?"Saving…":"Save hooks"]}):null]}),t.authenticated?null:i.jsx("div",{className:"admin-hint",children:t.configured?"Log in to view or change hooks.":"Set up an admin account to change hooks."}),t.authenticated&&!Z?i.jsx("div",{className:"admin-hint",children:"Read-only — admins and operators can change hooks."}):null,l?i.jsx("div",{className:"env-var-notice env-var-notice-error",children:l}):null,u?i.jsx("div",{className:"env-var-notice",children:u}):null,i.jsxs("section",{className:"panel",children:[i.jsx("h2",{className:"section-title",children:"How it works"}),i.jsxs("p",{className:"admin-hint",children:["When a seam fires, nuvira tests each enabled hook whose event matches, in order, and the FIRST ",i.jsx("code",{children:"deny"})," ","wins. Every action is implemented natively, so a bad hook can at worst block a call or print a line — it can never run code, reach the network, or read a credential."]}),i.jsxs("table",{className:"chat-plan-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Seam"}),i.jsx("th",{children:"When it fires"})]})}),i.jsx("tbody",{children:$.map(H=>i.jsxs("tr",{children:[i.jsxs("td",{children:[rC[H]," ",i.jsx("code",{children:H})]}),i.jsx("td",{children:ae[H]??""})]},H))})]}),i.jsxs("table",{className:"chat-plan-table",children:[i.jsx("thead",{children:i.jsxs("tr",{children:[i.jsx("th",{children:"Action"}),i.jsx("th",{children:"What it can do"})]})}),i.jsx("tbody",{children:ue.map(H=>i.jsxs("tr",{children:[i.jsx("td",{children:i.jsx("code",{children:H})}),i.jsx("td",{children:me[H]??""})]},H))})]})]}),i.jsxs("section",{className:"panel",children:[i.jsx("h2",{className:"section-title",children:"Declared hooks"}),s?i.jsx("div",{className:"loading-state",children:"Loading…"}):p.length===0?i.jsx("div",{className:"admin-hint",children:"No hooks declared. Add one below — it stays a draft until you Save."}):i.jsx("div",{className:"env-var-list",children:p.map(H=>i.jsxs("div",{className:`env-var-row ${H.enabled?"env-var-set":"env-var-missing"}`,"data-testid":`hook-row-${H.id}`,children:[i.jsxs("div",{className:"env-var-row-header",children:[i.jsxs("span",{className:"env-var-name",children:[rC[H.event]," ",i.jsx("code",{children:H.id})," — ",H.label,H.source==="builtin"?i.jsx("span",{className:"hub-chip",children:"builtin"}):null]}),i.jsx("span",{className:"env-var-status",children:H.event})]}),i.jsx("div",{className:"env-var-description",children:Dbe(H)}),Z?i.jsxs("div",{className:"env-var-actions",children:[i.jsx("button",{className:`admin-mini-btn${H.enabled?" process-env-active":""}`,type:"button",onClick:()=>m(ye=>ye.map(xe=>xe.id===H.id?{...xe,enabled:!xe.enabled}:xe)),children:H.enabled?"✅ Enabled":"⭕ Disabled"}),H.source==="builtin"?i.jsx("span",{className:"admin-hint",children:"Built-in default — disable it to switch it off; it cannot be deleted."}):i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",onClick:()=>m(ye=>ye.filter(xe=>xe.id!==H.id)),children:"🗑️ Remove"})]}):null]},H.id))})]}),Z?i.jsxs("section",{className:"panel",children:[i.jsx("h2",{className:"section-title",children:"Add a hook"}),i.jsxs("div",{className:"env-var-row",children:[i.jsx("div",{className:"env-var-row-header",children:i.jsxs("span",{className:"env-var-name",children:[i.jsx("input",{className:"env-var-input",type:"text",value:g,placeholder:"id (e.g. block-rm-rf)","aria-label":"Hook id",onChange:H=>y(H.target.value)}),i.jsx("input",{className:"env-var-input",type:"text",value:v,placeholder:"label","aria-label":"Hook label",onChange:H=>k(H.target.value)})]})}),g.trim()&&!J?i.jsx("div",{className:"env-var-warning",children:"⚠️ id must be lowercase letters, digits and hyphens."}):null,Ee?i.jsx("div",{className:"env-var-warning",children:"⚠️ that id is already declared."}):null,i.jsxs("div",{className:"env-var-description",children:[i.jsxs("label",{children:["Seam:"," ",i.jsx("select",{value:w,"aria-label":"Hook event",onChange:H=>N(H.target.value),children:$.map(H=>i.jsx("option",{value:H,children:H},H))})]})," ",i.jsxs("label",{children:["Action:"," ",i.jsx("select",{value:S,"aria-label":"Hook action",onChange:H=>x(H.target.value),children:ue.map(H=>i.jsx("option",{value:H,disabled:H==="deny"&&w!=="before_tool_call",children:H},H))})]})]}),i.jsxs("div",{className:"env-var-description",children:["Match (blank = every call):"," ",i.jsx("input",{className:"env-var-input",type:"text",value:E,placeholder:"tool glob (run_*)","aria-label":"Tool glob",onChange:H=>_(H.target.value)})," ",i.jsx("input",{className:"env-var-input",type:"text",value:O,placeholder:"surface glob","aria-label":"Surface glob",onChange:H=>C(H.target.value)})," ",i.jsx("input",{className:"env-var-input",type:"text",value:P,placeholder:"cwd prefix","aria-label":"Cwd prefix",onChange:H=>A(H.target.value)})]}),i.jsxs("div",{className:"env-var-description",children:["Arg match (one ",i.jsx("code",{children:"key=glob"})," per line, optional):"," ",i.jsx("textarea",{className:"env-var-input",value:D,placeholder:"command=rm -rf*","aria-label":"Arg match",onChange:H=>I(H.target.value)})]}),S==="notify"?i.jsxs("div",{className:"env-var-description",children:["Message:"," ",i.jsx("input",{className:"env-var-input",type:"text",value:U,"aria-label":"Notify message",onChange:H=>R(H.target.value)})," ",i.jsxs("span",{className:"admin-hint",children:["{tool} {surface} {event}"," are interpolated."]})]}):i.jsxs("div",{className:"env-var-description",children:[S==="deny"?"Reason":"Reason (when denied)",":"," ",i.jsx("input",{className:"env-var-input",type:"text",value:M,"aria-label":"Reason",onChange:H=>L(H.target.value)})]}),S==="scan-args"&&w==="before_tool_call"?i.jsxs("label",{className:"env-var-description",children:[i.jsx("input",{type:"checkbox",checked:B,onChange:H=>T(H.target.checked)})," Block the call when a secret shape is found"]}):null,i.jsxs("div",{className:"env-var-actions",children:[i.jsx("button",{className:"admin-refresh-btn",type:"button",disabled:!Y,onClick:re,children:"➕ Add to draft"}),i.jsx("span",{className:"admin-hint",children:"Nothing is in force until you press Save hooks."})]})]})]}):null]})}const zbe={read:{label:"read",className:"cap-effect-read"},"local-write":{label:"local write",className:"cap-effect-local"},"local-state":{label:"machine state",className:"cap-effect-local"},external:{label:"off-machine",className:"cap-effect-external"},destructive:{label:"destructive",className:"cap-effect-destructive"}};function Fbe(e){return zbe[e]??{label:e,className:"cap-effect-local"}}function Ube(){const[e,t]=b.useState(null),[n,r]=b.useState([]),[a,s]=b.useState({authenticated:!1,role:null}),o=Gr(),[l,c]=b.useState(!0),[u,d]=b.useState(null),[f,h]=b.useState(null),[p,m]=b.useState(null),[g,y]=b.useState(""),[v,k]=b.useState(""),[w,N]=b.useState(""),S=a.authenticated&&(a.role==="admin"||a.role==="operator"),x=b.useCallback(async()=>{c(!0);const[M,L]=await Promise.all([K.fetchCapabilities(),K.fetchSessionGrants()]);d(M?null:"Could not read capabilities from the server."),t(M),r(L??[]),c(!1)},[]);b.useEffect(()=>{K.fetchAdminAuthStatus().then(M=>{s(M?{authenticated:M.authenticated,role:M.role??null}:{authenticated:!1,role:null})}),x()},[x,o]);const E=b.useCallback(async M=>{m(M),d(null),await K.revokeSessionGrant(M)?r(U=>U.filter(R=>R.sessionId!==M)):d(`Could not end the grant for ${M}.`),m(null)},[]),_=b.useCallback(M=>{M&&t(L=>L&&{...L,learnedCommands:M})},[]),O=b.useCallback(async()=>{const M=g.trim(),L=v.trim();if(!M||!L)return;m("__save__"),d(null),h(null);const U=await K.saveLearnedCommand(M,L,w.trim()||void 0);U.ok?(_(U.commands),y(""),k(""),N(""),h(`Learned "${M}" for this machine.`)):d(U.error||"Could not save the command."),m(null)},[g,v,w,_]),C=b.useCallback(async M=>{m(M),d(null),h(null);const L=await K.forgetLearnedCommand(M);L.ok?(_(L.commands),h(`Forgot "${M}" on this machine.`)):d(L.error||`Could not forget "${M}".`),m(null)},[_]),P=(e==null?void 0:e.readyCount)??0,A=(e==null?void 0:e.blockedCount)??0,D=(e==null?void 0:e.missingExecutables)??[],I=(e==null?void 0:e.learnedCommands)??[];return i.jsxs("div",{children:[i.jsx(Te,{icon:"🧰",title:"Capabilities"}),i.jsxs("div",{className:"env-var-header",children:[i.jsx("span",{className:"env-var-title",children:"What the agent can do on this machine, read from the same declarations the model discovers. A missing executable blocks a verb; a credential that is not an environment variable does not — it may live in the vault."}),i.jsx("button",{className:"admin-refresh-btn",type:"button",onClick:()=>void x(),children:"↻ Refresh"})]}),u?i.jsx("div",{className:"env-var-notice env-var-notice-error",children:u}):null,f?i.jsx("div",{className:"env-var-notice",children:f}):null,l?i.jsx("div",{className:"loading-state",children:"Loading…"}):e?i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"cap-summary","data-testid":"cap-summary",children:[i.jsxs("span",{className:"cap-tile cap-tile-ok","data-testid":"cap-tile-ready",children:[i.jsx("strong",{children:P})," ready"]}),i.jsxs("span",{className:`cap-tile${A>0?" cap-tile-blocked":""}`,"data-testid":"cap-tile-blocked",children:[i.jsx("strong",{children:A})," blocked"]}),i.jsxs("span",{className:`cap-tile${D.length>0?" cap-tile-blocked":""}`,"data-testid":"cap-tile-missing",children:[i.jsx("strong",{children:D.length})," missing executable",D.length===1?"":"s"]}),i.jsxs("span",{className:"cap-tile","data-testid":"cap-tile-grants",children:[i.jsx("strong",{children:n.length})," live session grant",n.length===1?"":"s"]})]}),i.jsxs("section",{className:"cap-section","data-testid":"cap-missing",children:[i.jsx("h3",{className:"cap-section-title",children:"Missing executables"}),D.length===0?i.jsx("p",{className:"cap-empty",children:"Every executable the curated verbs need is on PATH."}):i.jsx("ul",{className:"cap-missing-list",children:D.map(M=>i.jsxs("li",{className:"cap-missing-row",children:[i.jsx("code",{className:"cap-missing-bins",children:M.anyOf.join(" or ")}),i.jsxs("span",{className:"cap-missing-for",children:["needed by ",M.forRefs.join(", ")]}),i.jsx("span",{className:"cap-missing-remedy",children:M.remedy})]},M.anyOf.join("|")))})]}),i.jsxs("section",{className:"cap-section","data-testid":"cap-verbs",children:[i.jsx("h3",{className:"cap-section-title",children:"Curated verbs"}),i.jsx("div",{className:"cap-verb-list",children:e.verbs.map(M=>i.jsx(Wbe,{verb:M},M.id))})]}),i.jsxs("section",{className:"cap-section","data-testid":"cap-learned",children:[i.jsxs("h3",{className:"cap-section-title",children:["Learned commands (",I.length,")"]}),i.jsx("p",{className:"cap-section-blurb",children:"Commands derived for this machine, keyed by what they do — recorded by the model or observed from a labelled run. They are HINTS: the agent still checks presence before running one. Add or replace one with the same verb below."}),I.length===0?i.jsx("p",{className:"cap-empty",children:"Nothing learned yet — the agent records a command when it derives one, or when a labelled run succeeds."}):i.jsx("ul",{className:"cap-learned-list",children:I.map(M=>i.jsxs("li",{className:"cap-learned-row","data-testid":`cap-learned-${M.verb}`,children:[i.jsx("span",{className:"cap-learned-verb",children:M.verb}),i.jsx("span",{className:"cap-badge cap-effect-local",children:M.os}),i.jsx("span",{className:"cap-badge cap-effect-read",children:M.source}),i.jsx("code",{className:"cap-learned-cmd",children:M.command}),M.note?i.jsx("span",{className:"cap-learned-note",children:M.note}):null,S?i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",disabled:p===M.verb,onClick:()=>void C(M.verb),children:"Forget"}):null]},`${M.verb}|${M.os}`))}),S?i.jsxs("div",{className:"cap-learned-form",children:[i.jsx("input",{className:"env-var-input",type:"text","aria-label":"learned verb",placeholder:"verb (e.g. install java)",value:g,disabled:p==="__save__",onChange:M=>y(M.target.value)}),i.jsx("input",{className:"env-var-input",type:"text","aria-label":"learned command",placeholder:"command (e.g. brew install openjdk)",value:v,disabled:p==="__save__",onChange:M=>k(M.target.value)}),i.jsx("input",{className:"env-var-input",type:"text","aria-label":"learned note",placeholder:"note (optional)",value:w,disabled:p==="__save__",onChange:M=>N(M.target.value)}),i.jsx("button",{className:"admin-mini-btn",type:"button",disabled:!g.trim()||!v.trim()||p==="__save__",onClick:()=>void O(),children:"💾 Learn"})]}):i.jsx("div",{className:"admin-hint",children:"Read-only — admins and operators can add or remove learned commands."})]}),i.jsxs("section",{className:"cap-section","data-testid":"cap-grants",children:[i.jsx("h3",{className:"cap-section-title",children:"Live session grants"}),n.length===0?i.jsx("p",{className:"cap-empty",children:"No live session grants — off-machine actions will ask."}):i.jsx("ul",{className:"cap-grant-list",children:n.map(M=>i.jsxs("li",{className:"cap-grant-row","data-testid":`cap-grant-${M.sessionId}`,children:[i.jsx("code",{className:"cap-grant-id",children:M.sessionId}),i.jsx("span",{className:"cap-grant-cats",children:M.categories.join(", ")||"(no categories)"}),i.jsx("button",{className:"admin-mini-btn admin-mini-btn-danger",type:"button",disabled:p===M.sessionId,onClick:()=>void E(M.sessionId),children:"End"})]},M.sessionId))})]})]}):i.jsx("div",{className:"admin-hint",children:"Capabilities are unavailable right now."})]})}function Wbe({verb:e}){const t=Fbe(e.effect);return i.jsxs("div",{className:`cap-verb${e.ready?" cap-verb-ready":" cap-verb-blocked"}`,"data-testid":`cap-verb-${e.ref}`,children:[i.jsxs("div",{className:"cap-verb-header",children:[i.jsx("span",{className:"cap-verb-name",children:e.name}),i.jsx("span",{className:`cap-badge ${t.className}`,children:t.label}),i.jsx("span",{className:`cap-badge ${e.ready?"cap-effect-read":"cap-effect-destructive"}`,children:e.ready?"✅ ready":"⛔ blocked"}),e.grantable?i.jsxs("span",{className:"cap-badge cap-effect-local",children:["grantable: ",e.grantable]}):null]}),i.jsx("div",{className:"cap-verb-does",children:e.does}),e.gaps.length>0?i.jsx("ul",{className:"cap-verb-gaps",children:e.gaps.map(n=>i.jsx("li",{children:n},n))}):null,e.ask.length>0?i.jsxs("div",{className:"cap-verb-ask",children:["Will ask for: ",e.ask.join(", ")]}):null,e.onThisMachine?i.jsxs("div",{className:"cap-verb-cmd",children:["On this machine: ",i.jsx("code",{children:e.onThisMachine.command}),e.onThisMachine.note?i.jsxs("span",{className:"cap-verb-note",children:[" — ",e.onThisMachine.note]}):null]}):null,e.undo?i.jsxs("div",{className:"cap-verb-undo",children:["Undo: ",e.undo]}):null]})}function Hbe(e){const t={};for(const n of e.split(`
|
|
209
|
+
`)){const r=n.trim();if(!r||r.startsWith("#"))continue;const a=r.indexOf("=");if(a<=0)continue;const s=r.slice(0,a).trim(),o=r.slice(a+1).trim();!s||!o||(t[s]=o)}return t}function Gbe(e){const t={};for(const n of e.split(`
|
|
210
|
+
`)){const r=n.trim();if(!r||r.startsWith("#"))continue;const a=r.indexOf(":");if(a<=0)continue;const s=r.slice(0,a).trim(),o=r.slice(a+1).trim();!s||!o||(t[s]=o)}return t}function qbe(e){return e.split(",").map(t=>t.trim()).filter(Boolean)}const vv={name:"",transport:"stdio",command:"",args:"",url:"",env:"",headers:"",overwrite:!1};function Kbe(e){return{name:e.name,transport:e.transport==="sse"?"sse":"stdio",command:e.command??"",args:e.args.join(", "),url:e.url??"",env:e.envKeys.map(t=>`${t}=`).join(`
|
|
211
|
+
`),headers:e.headerKeys.map(t=>`${t}: `).join(`
|
|
212
|
+
`),overwrite:!0}}function fo({label:e,hint:t,value:n,onSave:r,disabled:a}){const[s,o]=b.useState(n),[l,c]=b.useState(!1),[u,d]=b.useState(null);b.useEffect(()=>o(n),[n]);const f=async()=>{c(!0);const h=await r(s);c(!1),d(h)};return i.jsxs("div",{className:"mcp-setting-row",children:[i.jsxs("div",{className:"mcp-setting-main",children:[i.jsx("label",{className:"mcp-setting-label",children:e}),i.jsx("span",{className:"mcp-setting-hint",children:t})]}),i.jsx("input",{className:"mcp-input",value:s,disabled:a||l,onChange:h=>o(h.target.value),onKeyDown:h=>{h.key==="Enter"&&s!==n&&f()}}),i.jsx("button",{className:"mcp-btn",disabled:a||l||s===n,onClick:()=>void f(),children:l?"…":"Save"}),u&&i.jsx("div",{className:"mcp-error",children:u}),i.jsx("style",{children:`
|
|
213
|
+
.mcp-setting-row { display: grid; grid-template-columns: 1fr 180px 72px; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--border-light); }
|
|
214
|
+
.mcp-setting-main { display: flex; flex-direction: column; }
|
|
215
|
+
.mcp-setting-label { font-weight: 600; font-size: 13px; }
|
|
216
|
+
.mcp-setting-hint { font-size: 11px; color: var(--text-muted); }
|
|
217
|
+
.mcp-input { background: var(--bg-input); color: var(--text-primary); border: 1px solid var(--border-light); border-radius: 6px; padding: 6px 8px; font-size: 13px; }
|
|
218
|
+
.mcp-btn { background: var(--accent-blue); color: var(--text-on-accent); border: 0; border-radius: 6px; padding: 6px 10px; font-size: 12px; cursor: pointer; }
|
|
219
|
+
.mcp-btn:disabled { opacity: .4; cursor: not-allowed; }
|
|
220
|
+
.mcp-btn.secondary { background: transparent; border: 1px solid var(--border-light); color: var(--text-primary); }
|
|
221
|
+
.mcp-error { grid-column: 1 / -1; color: var(--accent-red); font-size: 12px; white-space: pre-wrap; }
|
|
222
|
+
.mcp-card { border: 1px solid var(--border-light); border-radius: 10px; padding: 14px 16px; margin-bottom: 14px; }
|
|
223
|
+
.mcp-card h3 { margin: 0 0 4px; font-size: 14px; }
|
|
224
|
+
.mcp-muted { color: var(--text-muted); font-size: 12px; }
|
|
225
|
+
.mcp-variant { border-top: 1px dashed var(--border-light); padding: 8px 0; font-size: 12px; }
|
|
226
|
+
.mcp-badge { display: inline-block; border-radius: 999px; padding: 1px 8px; font-size: 11px; margin-left: 6px; border: 1px solid var(--border-light); }
|
|
227
|
+
.mcp-badge.ok { color: var(--accent-green); }
|
|
228
|
+
.mcp-badge.bad { color: var(--accent-red); }
|
|
229
|
+
.mcp-problem { color: var(--accent-yellow); }
|
|
230
|
+
.mcp-offers { margin: 4px 0 8px 16px; padding: 0; font-size: 12px; }
|
|
231
|
+
`})]})}function Vbe(){var O;const[e,t]=b.useState(null),[n,r]=b.useState(!0),[a,s]=b.useState(null),[o,l]=b.useState(null),[c,u]=b.useState(null),[d,f]=b.useState({}),[h,p]=b.useState({}),[m,g]=b.useState({}),[y,v]=b.useState(vv),k=b.useCallback(async(C=!1)=>{const P=await cB(C);if(!P){l("Could not reach the dashboard server, or the MCP API is unavailable (an older server?)."),r(!1);return}t(P),l(null),r(!1)},[]);b.useEffect(()=>{k(!1)},[k]);const w=async(C,P)=>{const A=await uB([{key:C,value:P}]);return A.ok?(t(D=>D&&A.settings?{...D,settings:A.settings}:D),u(`Saved ${C}`),l(null),null):(l(A.error??"The server refused that value."),A.error??"refused")},N=async C=>{var L;const P=h[C.name],D=(C.variants.find(U=>U.id===(P??""))??C.variants.find(U=>!U.optIn)??C.variants[0]).requires.filter(U=>U.kind==="env"),I={};for(const U of D){const R=d[`${C.name}:${U.name}`];R&&R.trim()&&(I[U.name]=R.trim())}s(C.name);const M=await dB({name:C.name,...P?{variant:P}:{},...Object.keys(I).length>0?{env:I}:{},...(L=m[C.name])!=null&&L.trim()?{runtime:m[C.name].trim()}:{}});if(s(null),!M.ok){l(M.reason??M.error??"Install refused."),u(null);return}f(U=>{const R={...U};for(const B of Object.keys(R))B.startsWith(`${C.name}:`)&&delete R[B];return R}),u(`Installed ${C.name} (${M.variantId}) → ${M.path}`),l(null),await k((e==null?void 0:e.deep)===!0)},S=async()=>{var A;const C=y.name.trim();if(!C){l("A server name is required — it becomes the config filename.");return}s("__custom__");const P=await fB({name:C,transport:y.transport,...y.transport==="stdio"?{...y.command.trim()?{command:y.command.trim()}:{},args:qbe(y.args),env:Hbe(y.env)}:{...y.url.trim()?{url:y.url.trim()}:{},headers:Gbe(y.headers)},...y.overwrite?{overwrite:!0}:{}});if(s(null),!P.ok){l(P.reason??P.error??"Could not save that server."),u(null);return}u(`${P.overwrote?"Updated":"Added"} ${C}${P.path?` → ${P.path}`:""}`+((A=P.warnings)!=null&&A.length?`
|
|
232
|
+
${P.warnings.join(`
|
|
233
|
+
`)}`:"")),l(null),v(vv),await k((e==null?void 0:e.deep)===!0)},x=async C=>{s(C);const P=await hB(C);if(s(null),!P.ok){l(P.reason??"Could not remove that server.");return}u(`Removed ${C}`),await k((e==null?void 0:e.deep)===!0)},E=(e==null?void 0:e.canWrite)??!1,_=(e==null?void 0:e.servers)??[];return i.jsxs("div",{className:"page",children:[i.jsx(Te,{icon:"🔌",title:"MCP",description:"External MCP servers — configured once here and used by the agent on every surface. These controls write the same mcp.* config the CLI does."}),i.jsxs("div",{className:"mcp-card",children:[i.jsxs("div",{className:"mcp-muted",children:["Config file: ",i.jsx("code",{children:(e==null?void 0:e.configDir)??"…"})," — these controls write the same"," ",i.jsx("code",{children:"mcp.*"})," keys as ",i.jsx("code",{children:"nuvira config set mcp.*"}),", so the terminal and this page can never disagree."]}),i.jsxs("div",{style:{marginTop:10},children:[i.jsx("button",{className:"mcp-btn secondary",onClick:()=>void k(!0),disabled:n,children:"Check dependencies"}),i.jsx("span",{className:"mcp-muted",style:{marginLeft:8},children:e!=null&&e.deep?"service checks ran (e.g. docker daemon)":"service checks skipped on page load — press to probe them"})]})]}),o&&i.jsx("div",{className:"mcp-card mcp-problem",style:{whiteSpace:"pre-wrap"},children:o}),c&&i.jsx("div",{className:"mcp-card mcp-muted",children:c}),n&&i.jsx("div",{className:"mcp-card mcp-muted",children:"Loading MCP configuration…"}),e&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"mcp-card",children:[i.jsx("h3",{children:"Settings"}),i.jsx("div",{className:"mcp-muted",children:"Applies to every MCP server on every surface."}),i.jsx(fo,{label:"Enabled",hint:"Master switch — false makes MCP inert everywhere (true/false)",value:String(e.settings.enabled),disabled:!E,onSave:C=>w("mcp.enabled",C)}),i.jsx(fo,{label:"Auto-connect",hint:"Connect configured servers at the start of a turn (bounded, never fatal)",value:String(e.settings.autoConnect),disabled:!E,onSave:C=>w("mcp.autoConnect",C)}),i.jsx(fo,{label:"Connect timeout (ms)",hint:"Wall-clock budget for the connect step; exceeding it proceeds without MCP",value:String(e.settings.connectTimeoutMs),disabled:!E,onSave:C=>w("mcp.connectTimeoutMs",C)}),i.jsx(fo,{label:"Tools per server",hint:"Per-server eager-schema cap — stored and reported; enforcement is not wired yet (nothing is truncated today)",value:String(e.settings.maxToolsPerServer),disabled:!E,onSave:C=>w("mcp.maxToolsPerServer",C)}),i.jsx(fo,{label:"Tools in total",hint:"Cross-server ceiling — stored and reported; enforcement is not wired yet (nothing is truncated today)",value:String(e.settings.maxToolsTotal),disabled:!E,onSave:C=>w("mcp.maxToolsTotal",C)}),i.jsx(fo,{label:"Subagents inherit",hint:"conservative = only when the parent had MCP AND the child's allowance covers it; full = pass the parent's whole MCP set down (reach, never approval)",value:e.settings.subagentInheritance,disabled:!E,onSave:C=>w("mcp.subagent.inherit",C)}),((O=e.settings.warnings)==null?void 0:O.length)>0&&i.jsx("div",{className:"mcp-error",children:e.settings.warnings.join(`
|
|
234
|
+
`)})]}),i.jsxs("div",{className:"mcp-card",children:[i.jsxs("h3",{children:["Configured servers (",_.length,")"]}),_.length===0&&i.jsx("div",{className:"mcp-muted",children:"None yet. Add one by hand below (any server), install one from the catalog, or drop a JSON file into the config directory."}),_.map(C=>{const P=e.settings.servers[C.name]??{};return i.jsxs("div",{className:"mcp-variant",children:[i.jsxs("div",{children:[i.jsx("strong",{children:C.name}),i.jsx("span",{className:"mcp-badge",children:C.transport}),C.variant&&i.jsxs("span",{className:"mcp-badge",children:["variant ",C.variant]}),i.jsx("span",{className:`mcp-badge ${C.enabled?"ok":"bad"}`,children:C.enabled?"enabled":"disabled"}),C.connected&&i.jsx("span",{className:"mcp-badge ok",children:"connected"})]}),i.jsxs("div",{className:"mcp-muted",children:[C.command?`${C.command} ${C.args.join(" ")}`:C.url,C.runtime?` (runtime: ${[C.runtime.command,...C.runtime.args??[]].join(" ")})`:"",C.envKeys.length>0?` · credentials: ${C.envKeys.join(", ")}`:"",C.headerKeys.length>0?` · headers: ${C.headerKeys.join(", ")}`:""]}),i.jsxs("div",{style:{marginTop:6,display:"flex",gap:8,flexWrap:"wrap"},children:[i.jsx("button",{className:"mcp-btn secondary",disabled:!E,onClick:()=>v(Kbe(C)),children:"Edit"}),i.jsx("button",{className:"mcp-btn secondary",disabled:!E||a===C.name,onClick:()=>void w(`mcp.servers.${C.name}.enabled`,C.enabled?"false":"true"),children:C.enabled?"Disable":"Enable"}),i.jsx("input",{className:"mcp-input",style:{minWidth:260},placeholder:"runtime override, e.g. /opt/node20/bin/node /usr/local/bin/npx",defaultValue:P.runtime?[P.runtime.command,...P.runtime.args??[]].join(" "):"",disabled:!E,onKeyDown:A=>{A.key==="Enter"&&w(`mcp.servers.${C.name}.runtime.command`,A.target.value)}}),i.jsx("button",{className:"mcp-btn secondary",disabled:!E,onClick:()=>void w(`mcp.servers.${C.name}.runtime.command`,""),children:"Clear runtime"}),i.jsx("button",{className:"mcp-btn secondary",disabled:!E||a===C.name,onClick:()=>void x(C.name),children:"Uninstall"})]})]},C.name)})]}),i.jsxs("div",{className:"mcp-card",children:[i.jsx("h3",{children:"Add a server"}),i.jsxs("div",{className:"mcp-muted",children:["Any MCP server — a local command or a remote endpoint — not only the ones in the catalog below. This writes ",i.jsxs("code",{children:[e.configDir,"/<name>.json"]}),", the same file"," ",i.jsx("code",{children:"nuvira mcp add"})," writes, so the agent uses it on the next turn: no code, no release. Use ",i.jsx("strong",{children:"Edit"})," on a configured server to change it."]}),i.jsxs("div",{style:{display:"grid",gridTemplateColumns:"180px 1fr",gap:10,alignItems:"center",marginTop:10},children:[i.jsx("label",{className:"mcp-setting-label",children:"Name"}),i.jsx("input",{className:"mcp-input",placeholder:"my-server",value:y.name,disabled:!E||a==="__custom__",onChange:C=>v({...y,name:C.target.value})}),i.jsx("label",{className:"mcp-setting-label",children:"Transport"}),i.jsxs("div",{children:[i.jsxs("label",{className:"mcp-muted",style:{marginRight:12},children:[i.jsx("input",{type:"radio",name:"custom-transport",checked:y.transport==="stdio",disabled:!E,onChange:()=>v({...y,transport:"stdio"})})," ","stdio (a local process)"]}),i.jsxs("label",{className:"mcp-muted",children:[i.jsx("input",{type:"radio",name:"custom-transport",checked:y.transport==="sse",disabled:!E,onChange:()=>v({...y,transport:"sse"})})," ","remote (Streamable HTTP)"]})]}),y.transport==="stdio"?i.jsxs(i.Fragment,{children:[i.jsx("label",{className:"mcp-setting-label",children:"Command"}),i.jsx("input",{className:"mcp-input",placeholder:"npx",value:y.command,disabled:!E||a==="__custom__",onChange:C=>v({...y,command:C.target.value})}),i.jsx("label",{className:"mcp-setting-label",children:"Arguments"}),i.jsx("input",{className:"mcp-input",placeholder:"-y, @modelcontextprotocol/server-filesystem, /path/to/dir",value:y.args,disabled:!E||a==="__custom__",onChange:C=>v({...y,args:C.target.value})}),i.jsx("label",{className:"mcp-setting-label",children:"Environment"}),i.jsx("textarea",{className:"mcp-input",rows:3,placeholder:`TOKEN=…
|
|
235
|
+
ANOTHER=…`,value:y.env,disabled:!E||a==="__custom__",onChange:C=>v({...y,env:C.target.value})})]}):i.jsxs(i.Fragment,{children:[i.jsx("label",{className:"mcp-setting-label",children:"URL"}),i.jsx("input",{className:"mcp-input",placeholder:"https://example.com/mcp",value:y.url,disabled:!E||a==="__custom__",onChange:C=>v({...y,url:C.target.value})}),i.jsx("label",{className:"mcp-setting-label",children:"Headers"}),i.jsx("textarea",{className:"mcp-input",rows:3,placeholder:"Authorization: Bearer …",value:y.headers,disabled:!E||a==="__custom__",onChange:C=>v({...y,headers:C.target.value})})]})]}),i.jsxs("div",{style:{display:"flex",gap:8,alignItems:"center",marginTop:10,flexWrap:"wrap"},children:[i.jsxs("label",{className:"mcp-muted",children:[i.jsx("input",{type:"checkbox",checked:y.overwrite,disabled:!E||a==="__custom__",onChange:C=>v({...y,overwrite:C.target.checked})})," ","Replace the existing config for this name"]}),i.jsx("button",{className:"mcp-btn",disabled:!E||a==="__custom__",onClick:()=>void S(),children:a==="__custom__"?"Saving…":y.overwrite?"Save server":"Add server"}),i.jsx("button",{className:"mcp-btn secondary",disabled:a==="__custom__",onClick:()=>v(vv),children:"Clear"})]}),i.jsx("div",{className:"mcp-muted",style:{marginTop:8},children:"Credentials typed here go into the config file (mode 0600) and are never sent back to this page — editing an existing server keeps the secrets it already has unless you type a new value over them."})]}),i.jsxs("div",{className:"mcp-card",children:[i.jsxs("h3",{children:["Catalog (",e.catalog.length," capabilities)"]}),i.jsx("div",{className:"mcp-muted",children:"Each capability lists every way it can run on THIS machine, what that way needs, and what you get. A dependency that is missing (install it) is different from a service that is down (start it)."}),e.catalog.map(C=>i.jsxs("div",{className:"mcp-variant",children:[i.jsxs("div",{children:[i.jsx("strong",{children:C.name}),C.installed&&i.jsx("span",{className:"mcp-badge ok",children:"installed"}),i.jsxs("span",{className:"mcp-muted",children:[" — ",C.description]})]}),i.jsx("ul",{className:"mcp-offers",children:C.offers.map(P=>i.jsx("li",{children:P},P))}),C.supersedes&&i.jsxs("div",{className:"mcp-muted",children:["supersedes: ",C.supersedes]}),C.variants.map(P=>i.jsxs("div",{className:"mcp-muted",style:{marginLeft:12},children:[i.jsxs("label",{children:[i.jsx("input",{type:"radio",name:`variant-${C.name}`,checked:(h[C.name]??"")===P.id,disabled:P.optIn===!1&&h[C.name]!==P.id?!1:!E,onChange:()=>p(A=>({...A,[C.name]:P.id}))})," ",i.jsx("strong",{children:P.id})," — ",P.label," ",i.jsx("span",{className:`mcp-badge ${P.status.ok?"ok":"bad"}`,children:P.status.ok?"runnable":"cannot run yet"}),P.optIn&&i.jsx("span",{className:"mcp-badge",children:"opt-in"}),i.jsx("span",{className:"mcp-badge",children:P.trust})]}),i.jsx("div",{children:P.command?`${P.command} ${P.args.join(" ")}`:P.url}),P.status.problems.map(A=>i.jsxs("div",{className:"mcp-problem",children:["⚠ ",A]},A)),P.status.unverified.map(A=>i.jsxs("div",{children:["note: ",A]},A)),P.note&&i.jsxs("div",{children:["caveat: ",P.note]})]},P.id)),i.jsxs("div",{style:{marginTop:6,display:"flex",gap:8,flexWrap:"wrap"},children:[(C.variants.find(A=>A.id===h[C.name])??C.variants.find(A=>!A.optIn)??C.variants[0]).requires.filter(A=>A.kind==="env").map(A=>i.jsx("input",{className:"mcp-input",style:{minWidth:280},type:"password",placeholder:`${A.name} (${A.hint})`,disabled:!E,value:d[`${C.name}:${A.name}`]??"",onChange:D=>f(I=>({...I,[`${C.name}:${A.name}`]:D.target.value}))},A.name)),i.jsx("input",{className:"mcp-input",placeholder:"runtime override (optional)",disabled:!E,value:m[C.name]??"",onChange:P=>g(A=>({...A,[C.name]:P.target.value}))}),i.jsx("button",{className:"mcp-btn",disabled:!E||a===C.name||C.installed,onClick:()=>void N(C),children:a===C.name?"Installing…":C.installed?"Installed":"Install"})]})]},C.name))]})]})]})}function Ybe(){const[e,t]=b.useState(null),[n,r]=b.useState(!1),[a,s]=b.useState("--"),[o,l]=b.useState(!1),u=$i().pathname==="/chat",[d,f]=b.useState(u);b.useEffect(()=>{u&&f(!0)},[u]);const h=b.useCallback(g=>{t(g),s(new Date().toLocaleTimeString())},[]),p=b.useCallback(g=>{r(g)},[]),m=b.useCallback(async()=>{l(!0);try{const g=await K.fetchAll();g&&h(g)}finally{l(!1)}},[h]);return b.useEffect(()=>{K.fetchAll().then(v=>{v&&h(v)});const g=K.subscribe(h),y=K.onConnectionChange(p);return K.connect(),()=>{g(),y(),K.disconnect()}},[h,p]),i.jsxs(NB,{connected:n,lastUpdated:a,onRefresh:m,refreshing:o,children:[d&&i.jsx("div",{style:{display:u?void 0:"none"},children:i.jsx(obe,{})}),i.jsx("div",{style:{display:u?"none":void 0},children:i.jsxs(z2,{children:[i.jsx(Ue,{path:"/",element:i.jsx(tS,{to:"/overview",replace:!0})}),i.jsx(Ue,{path:"/overview",element:i.jsx(ise,{data:e,onRefresh:m,refreshing:o})}),i.jsx(Ue,{path:"/chat",element:null}),i.jsx(Ue,{path:"/dag",element:i.jsx(gse,{data:e})}),i.jsx(Ue,{path:"/costs",element:i.jsx(vse,{data:e})}),i.jsx(Ue,{path:"/benchmarks",element:i.jsx(bse,{data:e})}),i.jsx(Ue,{path:"/models",element:i.jsx(loe,{})}),i.jsx(Ue,{path:"/models/timeline",element:i.jsx(wbe,{})}),i.jsx(Ue,{path:"/routing",element:i.jsx(Woe,{data:e})}),i.jsx(Ue,{path:"/requests",element:i.jsx(Yoe,{data:e})}),i.jsx(Ue,{path:"/traces",element:i.jsx(ole,{})}),i.jsx(Ue,{path:"/hub",element:i.jsx(jle,{})}),i.jsx(Ue,{path:"/capabilities",element:i.jsx(Ube,{})}),i.jsx(Ue,{path:"/tasks",element:i.jsx(Ple,{})}),i.jsx(Ue,{path:"/evals",element:i.jsx(fbe,{data:e})}),i.jsx(Ue,{path:"/platforms",element:i.jsx(mbe,{})}),i.jsx(Ue,{path:"/mcp",element:i.jsx(Vbe,{})}),i.jsx(Ue,{path:"/bedrock",element:i.jsx(vbe,{canWrite:!0,sessionExpired:g=>console.error(g)})}),i.jsx(Ue,{path:"/contacts",element:i.jsx(ybe,{})}),i.jsx(Ue,{path:"/gateway",element:i.jsx(pbe,{})}),i.jsx(Ue,{path:"/env",element:i.jsx(Rbe,{})}),i.jsx(Ue,{path:"/process-env",element:i.jsx($be,{})}),i.jsx(Ue,{path:"/hooks",element:i.jsx(Bbe,{})}),i.jsx(Ue,{path:"/memory",element:i.jsx(jbe,{data:e})}),i.jsx(Ue,{path:"/knowledge",element:i.jsx(Nbe,{})}),i.jsx(Ue,{path:"/history",element:i.jsx(Cbe,{data:e})}),i.jsx(Ue,{path:"/decisions",element:i.jsx(Tbe,{})}),i.jsx(Ue,{path:"/executions",element:i.jsx(Obe,{onFetch:g=>K.fetchExecutionAudit(g)})}),i.jsx(Ue,{path:"/system",element:i.jsx(jse,{data:e,connected:n,lastUpdated:a})}),i.jsx(Ue,{path:"/admin",element:i.jsx(hle,{})}),i.jsx(Ue,{path:"/help",element:i.jsx(sse,{})}),i.jsx(Ue,{path:"*",element:i.jsx(tS,{to:"/overview",replace:!0})})]})})]})}nw(PT());vT(document.getElementById("root")).render(i.jsx(b.StrictMode,{children:i.jsx(V2,{children:i.jsx(Ybe,{})})}));
|
|
236
|
+
//# sourceMappingURL=index-Do_O67Kv.js.map
|