niceeval 0.13.4-canary.49 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/INDEX.md +3 -3
  2. package/dist/inspection/overview.cjs +20 -4
  3. package/dist/inspection/overview.cjs.map +1 -1
  4. package/dist/inspection/overview.d.cts +5 -0
  5. package/dist/inspection/overview.d.mts +5 -0
  6. package/dist/inspection/overview.d.ts +5 -0
  7. package/dist/inspection/protocol.d.cts +238 -0
  8. package/dist/inspection/protocol.d.mts +238 -0
  9. package/dist/inspection/protocol.d.ts +238 -0
  10. package/dist/inspection/public.mjs +19 -16
  11. package/dist/inspection/results.cjs +11 -10
  12. package/dist/inspection/results.cjs.map +1 -1
  13. package/dist/inspection/results.d.cts +34 -0
  14. package/dist/inspection/results.d.mts +34 -0
  15. package/dist/inspection/results.d.ts +34 -0
  16. package/dist/show/contribution.cjs +11 -2
  17. package/dist/show/contribution.cjs.map +1 -1
  18. package/dist/show/contribution.d.cts +7 -0
  19. package/dist/show/contribution.d.mts +7 -0
  20. package/dist/show/contribution.d.ts +7 -0
  21. package/dist/show/model.cjs +1 -0
  22. package/dist/show/model.cjs.map +1 -1
  23. package/dist/show/model.d.cts +2 -0
  24. package/dist/show/model.d.mts +2 -0
  25. package/dist/show/model.d.ts +2 -0
  26. package/dist/show/render.cjs +149 -81
  27. package/dist/show/render.cjs.map +1 -1
  28. package/dist/show/render.d.cts +3 -1
  29. package/dist/show/render.d.mts +3 -1
  30. package/dist/show/render.d.ts +3 -1
  31. package/dist/view/app-dist/.vite/manifest.json +18 -18
  32. package/dist/view/app-dist/assets/{AttemptDialog-zlgkBA66.js → AttemptDialog-76dX1VQq.js} +1 -1
  33. package/dist/view/app-dist/assets/{AttemptRoute-DN6R4719.js → AttemptRoute-DRHVh2JA.js} +1 -1
  34. package/dist/view/app-dist/assets/{ResultsPage-BfH9vA6y.js → ResultsPage-9CSI8dvZ.js} +2 -2
  35. package/dist/view/app-dist/assets/{RunPage-XiJvNLB-.js → RunPage-BUF0REv7.js} +1 -1
  36. package/dist/view/app-dist/assets/{TableContentView-V8MYLnmk.js → TableContentView-_Sbg5wDr.js} +1 -1
  37. package/dist/view/app-dist/assets/index-BGr_6pGY.js +19 -0
  38. package/dist/view/app-dist/assets/{quality-cost-scatter-Bxyj_9oc.js → quality-cost-scatter-B5wDa_F1.js} +1 -1
  39. package/dist/view/app-dist/assets/useSuspenseQuery-D3W8Uy33.js +1 -0
  40. package/dist/view/app-dist/index.html +1 -1
  41. package/dist/view/function-runtime.mjs +35 -20
  42. package/docs-site/zh/examples/ai-agent-application.mdx +1 -1
  43. package/docs-site/zh/examples/index.mdx +1 -3
  44. package/docs-site/zh/explanation/evals.mdx +1 -1
  45. package/docs-site/zh/explanation/experiment.mdx +3 -1
  46. package/docs-site/zh/explanation/overview.mdx +6 -4
  47. package/docs-site/zh/explanation/record.mdx +9 -5
  48. package/docs-site/zh/explanation/runner.mdx +3 -3
  49. package/docs-site/zh/index.mdx +4 -8
  50. package/docs-site/zh/introduction.mdx +2 -2
  51. package/docs-site/zh/reference/cli.mdx +8 -7
  52. package/docs-site/zh/troubleshooting/debug-sandbox.mdx +5 -5
  53. package/docs-site/zh/troubleshooting/debugging.mdx +8 -8
  54. package/docs-site/zh/troubleshooting/recover-after-kill.mdx +35 -55
  55. package/docs-site/zh/tutorials/accept-results.mdx +4 -4
  56. package/docs-site/zh/tutorials/agent-onboarding.mdx +2 -2
  57. package/docs-site/zh/tutorials/authoring.mdx +1 -1
  58. package/docs-site/zh/tutorials/compare-runs.mdx +3 -3
  59. package/docs-site/zh/tutorials/concurrency.mdx +6 -6
  60. package/docs-site/zh/tutorials/connect-your-agent.mdx +2 -2
  61. package/docs-site/zh/tutorials/docker-in-docker.mdx +1 -1
  62. package/docs-site/zh/tutorials/experiments.mdx +1 -1
  63. package/docs-site/zh/tutorials/install-custom-sandbox-agent.mdx +1 -1
  64. package/docs-site/zh/tutorials/quickstart.mdx +2 -2
  65. package/docs-site/zh/tutorials/reporters.mdx +3 -3
  66. package/docs-site/zh/tutorials/sandbox-agent.mdx +2 -2
  67. package/docs-site/zh/tutorials/sandbox-reuse.mdx +3 -3
  68. package/docs-site/zh/tutorials/viewing-results.mdx +10 -11
  69. package/package.json +1 -1
  70. package/dist/view/app-dist/assets/index-BSJP_UAR.js +0 -19
  71. package/dist/view/app-dist/assets/useSuspenseQuery-Bdi9nQF1.js +0 -1
@@ -1,4 +1,4 @@
1
- import{a as e,c as t,i as n,n as r,o as i,s as a,t as o}from"./jsx-runtime-BnHLaUks.js";import{N as s}from"./index-BSJP_UAR.js";function c(e,t=1){let n=[],r=Math.floor(t),i=(e,t)=>{for(let a=0;a<e.length;a++){let o=e[a];Array.isArray(o)&&t<r?i(o,t+1):n.push(o)}};return i(e,0),n}function l(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}function u(e){return Number.isSafeInteger(e)&&e>=0}function d(e){return e!=null&&typeof e!=`function`&&u(e.length)}function f(e){return e!==null&&(typeof e==`object`||typeof e==`function`)}var p=/^(?:0|[1-9]\d*)$/;function m(e,t=2**53-1){switch(typeof e){case`number`:return Number.isInteger(e)&&e>=0&&e<t;case`symbol`:return!1;case`string`:return p.test(e)}}function h(e,t,n){return f(n)&&(typeof t==`number`&&d(n)&&m(t)&&t<n.length||typeof t==`string`&&t in n)?l(n[t],e):!1}function g(e){return typeof e==`string`||typeof e==`symbol`?e:Object.is(e?.valueOf?.(),-0)?`-0`:String(e)}function _(e){return e==null?``:v(e)}function v(e){if(typeof e==`string`)return e;if(Array.isArray(e))return e.map(v).join(`,`);let t=String(e);return t===`0`&&Object.is(Number(e),-0)?`-0`:t}function y(e){if(Array.isArray(e))return e.map(g);if(typeof e==`symbol`)return[e];e=_(e);let t=[],n=e.length;if(n===0)return t;let r=0,i=``,a=``,o=!1,s=!1,c=/^-?\d+(?:\.\d+)?$/;for(e.charCodeAt(0)===46&&t.push(``);r<n;){let l=e[r];if(a)l===`\\`&&r+1<n?(r++,i+=e[r]):l===a?a=``:i+=l;else if(o)if(l===`"`||l===`'`)a=l,s=!0;else if(l===`]`){if(o=!1,!s&&i.includes(`.`)&&!c.test(i)){let e=i.split(`.`);for(let n=0;n<e.length;n++)e[n]!==``&&t.push(e[n])}else t.push(i);i=``}else i+=l;else if(l===`[`)o=!0,s=!1,i&&=(t.push(i),``);else if(l===`.`){i&&=(t.push(i),``);let n=e[r+1];(n===void 0||n===`.`)&&t.push(``)}else i+=l;r++}return i&&t.push(i),t}function b(e){return typeof e==`symbol`?1:e===null?2:e===void 0?3:e===e?0:4}var x=(e,t,n)=>{if(e!==t){let r=b(e),i=b(t);if(r===i&&r===0){if(e<t)return n===`desc`?1:-1;if(e>t)return n===`desc`?-1:1}return n===`desc`?i-r:r-i}return 0};function S(e){return typeof e==`symbol`||e instanceof Symbol}var C=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,w=/^\w*$/;function T(e,t){return Array.isArray(e)?!1:typeof e==`number`||typeof e==`boolean`||e==null||S(e)?!0:typeof e==`string`&&(w.test(e)||!C.test(e))||t!=null&&Object.hasOwn(t,e)}function E(e,t,n,r){if(e==null)return[];n=r?void 0:n,Array.isArray(e)||(e=d(e)?Array.from(e):Object.values(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(n)||(n=n==null?[]:[n]),n=n.map(e=>String(e));let i=(e,t)=>{let n=e,r=0;for(;r<t.length&&n!=null;++r)n=n[t[r]];return r>0&&r===t.length?n:void 0},a=(e,t)=>{if(e==null)return t;if(t!=null)return typeof e==`object`&&`key`in e?Object.hasOwn(t,e.key)?t[e.key]:i(t,e.path):typeof e==`function`?e(t):Array.isArray(e)?i(t,e):t[e]},o=t.map(e=>(Array.isArray(e)&&e.length===1&&(e=e[0]),e==null||typeof e==`function`||Array.isArray(e)||T(e)?e:{key:e,path:y(e)}));return e.map(e=>({original:e,criteria:o.map(t=>a(t,e))})).slice().sort((e,t)=>{for(let r=0;r<o.length;r++){let i=x(e.criteria[r],t.criteria[r],n[r]);if(i!==0)return i}return 0}).map(e=>e.original)}function D(e,...t){let n=t.length;return n>1&&h(e,t[0],t[1])?t=[]:n>2&&h(t[0],t[1],t[2])&&(t=[t[0]]),E(e,c(t),[`asc`])}function O(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=O(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function k(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=O(e))&&(r&&(r+=` `),r+=t);return r}function A(e){return e===`__proto__`}var j=/\.|(\[(?:[^[\]]*|(["'])(?:(?!\2)[^\\]|\\.)*?\2)\])/;function M(e){switch(typeof e){case`number`:case`symbol`:return!1;case`string`:return e===``||e.startsWith(`.`)||e.endsWith(`.`)?!1:j.test(e);default:return!1}}function N(e,t,n){if(e==null)return n;switch(typeof t){case`string`:{if(A(t))return n;let r=e[t];return r===void 0?M(t)&&!Object.hasOwn(e,t)?N(e,y(t),n):n:r}case`number`:case`symbol`:{typeof t==`number`&&(t=g(t));let r=e[t];return r===void 0?n:r}default:{if(Array.isArray(t))return ee(e,t,n);if(t=Object.is(t?.valueOf(),-0)?`-0`:String(t),A(t))return n;let r=e[t];return r===void 0?n:r}}}function ee(e,t,n){if(t.length===0)return n;let r=e;for(let e=0;e<t.length;e++){if(r==null||A(t[e]))return n;r=r[t[e]]}return r===void 0?n:r}var te=4;function ne(e){var t=10**(arguments.length>1&&arguments[1]!==void 0?arguments[1]:te),n=Math.round(e*t)/t;return Object.is(n,-0)?0:n}function P(e){var t=[...arguments].slice(1);return e.reduce((e,n,r)=>{var i=t[r-1];return typeof i==`string`?e+i+n:i===void 0?e+n:e+ne(i)+n},``)}var re=e=>e===0?0:e>0?1:-1,ie=e=>typeof e==`number`&&e!=+e,ae=e=>typeof e==`string`&&e.length>1&&e.indexOf(`%`)===e.length-1,F=e=>(typeof e==`number`||e instanceof Number)&&!ie(e),oe=e=>F(e)||typeof e==`string`,se=0,ce=e=>{var t=++se;return`${e||``}${t}`},le=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!F(e)&&typeof e!=`string`)return n;var i;if(ae(e)){if(t==null)return n;var a=e.indexOf(`%`);i=t*parseFloat(e.slice(0,a))/100}else i=+e;return ie(i)&&(i=n),r&&t!=null&&i>t&&(i=t),i},ue=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,n={},r=0;r<t;r++)if(!n[String(e[r])])n[String(e[r])]=!0;else return!0;return!1};function de(e,t,n){return F(e)&&F(t)?ne(e+n*(t-e)):t}function fe(e,t,n){if(!(!e||!e.length))return e.find(e=>e&&(typeof t==`function`?t(e):N(e,t))===n)}var pe=e=>{for(var t=e.length,n=0,r=0,i=0,a=0,o=1/0,s=-1/0,c=0,l=0,u=0;u<t;u++)c=e[u]?.cx||0,l=e[u]?.cy||0,n+=c,r+=l,i+=c*l,a+=c*c,o=Math.min(o,c),s=Math.max(s,c);var d=t*a===n*n?0:(t*i-n*r)/(t*a-n*n);return{xmin:o,xmax:s,a:d,b:(r-d*n)/t}},I=e=>e==null,me=e=>I(e)?e:`${e.charAt(0).toUpperCase()}${e.slice(1)}`;function he(e){return e!=null}function ge(){}var L=t(e());function _e(){return _e=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},_e.apply(null,arguments)}function ve(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ye(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?ve(Object(n),!0).forEach(function(t){be(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ve(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function be(e,t,n){return(t=xe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function xe(e){var t=Se(e,`string`);return typeof t==`symbol`?t:t+``}function Se(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Ce(e,t){return Oe(e)||De(e,t)||Te(e,t)||we()}function we(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
1
+ import{a as e,c as t,i as n,n as r,o as i,s as a,t as o}from"./jsx-runtime-BnHLaUks.js";import{N as s}from"./index-BGr_6pGY.js";function c(e,t=1){let n=[],r=Math.floor(t),i=(e,t)=>{for(let a=0;a<e.length;a++){let o=e[a];Array.isArray(o)&&t<r?i(o,t+1):n.push(o)}};return i(e,0),n}function l(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}function u(e){return Number.isSafeInteger(e)&&e>=0}function d(e){return e!=null&&typeof e!=`function`&&u(e.length)}function f(e){return e!==null&&(typeof e==`object`||typeof e==`function`)}var p=/^(?:0|[1-9]\d*)$/;function m(e,t=2**53-1){switch(typeof e){case`number`:return Number.isInteger(e)&&e>=0&&e<t;case`symbol`:return!1;case`string`:return p.test(e)}}function h(e,t,n){return f(n)&&(typeof t==`number`&&d(n)&&m(t)&&t<n.length||typeof t==`string`&&t in n)?l(n[t],e):!1}function g(e){return typeof e==`string`||typeof e==`symbol`?e:Object.is(e?.valueOf?.(),-0)?`-0`:String(e)}function _(e){return e==null?``:v(e)}function v(e){if(typeof e==`string`)return e;if(Array.isArray(e))return e.map(v).join(`,`);let t=String(e);return t===`0`&&Object.is(Number(e),-0)?`-0`:t}function y(e){if(Array.isArray(e))return e.map(g);if(typeof e==`symbol`)return[e];e=_(e);let t=[],n=e.length;if(n===0)return t;let r=0,i=``,a=``,o=!1,s=!1,c=/^-?\d+(?:\.\d+)?$/;for(e.charCodeAt(0)===46&&t.push(``);r<n;){let l=e[r];if(a)l===`\\`&&r+1<n?(r++,i+=e[r]):l===a?a=``:i+=l;else if(o)if(l===`"`||l===`'`)a=l,s=!0;else if(l===`]`){if(o=!1,!s&&i.includes(`.`)&&!c.test(i)){let e=i.split(`.`);for(let n=0;n<e.length;n++)e[n]!==``&&t.push(e[n])}else t.push(i);i=``}else i+=l;else if(l===`[`)o=!0,s=!1,i&&=(t.push(i),``);else if(l===`.`){i&&=(t.push(i),``);let n=e[r+1];(n===void 0||n===`.`)&&t.push(``)}else i+=l;r++}return i&&t.push(i),t}function b(e){return typeof e==`symbol`?1:e===null?2:e===void 0?3:e===e?0:4}var x=(e,t,n)=>{if(e!==t){let r=b(e),i=b(t);if(r===i&&r===0){if(e<t)return n===`desc`?1:-1;if(e>t)return n===`desc`?-1:1}return n===`desc`?i-r:r-i}return 0};function S(e){return typeof e==`symbol`||e instanceof Symbol}var C=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,w=/^\w*$/;function T(e,t){return Array.isArray(e)?!1:typeof e==`number`||typeof e==`boolean`||e==null||S(e)?!0:typeof e==`string`&&(w.test(e)||!C.test(e))||t!=null&&Object.hasOwn(t,e)}function E(e,t,n,r){if(e==null)return[];n=r?void 0:n,Array.isArray(e)||(e=d(e)?Array.from(e):Object.values(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(n)||(n=n==null?[]:[n]),n=n.map(e=>String(e));let i=(e,t)=>{let n=e,r=0;for(;r<t.length&&n!=null;++r)n=n[t[r]];return r>0&&r===t.length?n:void 0},a=(e,t)=>{if(e==null)return t;if(t!=null)return typeof e==`object`&&`key`in e?Object.hasOwn(t,e.key)?t[e.key]:i(t,e.path):typeof e==`function`?e(t):Array.isArray(e)?i(t,e):t[e]},o=t.map(e=>(Array.isArray(e)&&e.length===1&&(e=e[0]),e==null||typeof e==`function`||Array.isArray(e)||T(e)?e:{key:e,path:y(e)}));return e.map(e=>({original:e,criteria:o.map(t=>a(t,e))})).slice().sort((e,t)=>{for(let r=0;r<o.length;r++){let i=x(e.criteria[r],t.criteria[r],n[r]);if(i!==0)return i}return 0}).map(e=>e.original)}function D(e,...t){let n=t.length;return n>1&&h(e,t[0],t[1])?t=[]:n>2&&h(t[0],t[1],t[2])&&(t=[t[0]]),E(e,c(t),[`asc`])}function O(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=O(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function k(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=O(e))&&(r&&(r+=` `),r+=t);return r}function A(e){return e===`__proto__`}var j=/\.|(\[(?:[^[\]]*|(["'])(?:(?!\2)[^\\]|\\.)*?\2)\])/;function M(e){switch(typeof e){case`number`:case`symbol`:return!1;case`string`:return e===``||e.startsWith(`.`)||e.endsWith(`.`)?!1:j.test(e);default:return!1}}function N(e,t,n){if(e==null)return n;switch(typeof t){case`string`:{if(A(t))return n;let r=e[t];return r===void 0?M(t)&&!Object.hasOwn(e,t)?N(e,y(t),n):n:r}case`number`:case`symbol`:{typeof t==`number`&&(t=g(t));let r=e[t];return r===void 0?n:r}default:{if(Array.isArray(t))return ee(e,t,n);if(t=Object.is(t?.valueOf(),-0)?`-0`:String(t),A(t))return n;let r=e[t];return r===void 0?n:r}}}function ee(e,t,n){if(t.length===0)return n;let r=e;for(let e=0;e<t.length;e++){if(r==null||A(t[e]))return n;r=r[t[e]]}return r===void 0?n:r}var te=4;function ne(e){var t=10**(arguments.length>1&&arguments[1]!==void 0?arguments[1]:te),n=Math.round(e*t)/t;return Object.is(n,-0)?0:n}function P(e){var t=[...arguments].slice(1);return e.reduce((e,n,r)=>{var i=t[r-1];return typeof i==`string`?e+i+n:i===void 0?e+n:e+ne(i)+n},``)}var re=e=>e===0?0:e>0?1:-1,ie=e=>typeof e==`number`&&e!=+e,ae=e=>typeof e==`string`&&e.length>1&&e.indexOf(`%`)===e.length-1,F=e=>(typeof e==`number`||e instanceof Number)&&!ie(e),oe=e=>F(e)||typeof e==`string`,se=0,ce=e=>{var t=++se;return`${e||``}${t}`},le=function(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!F(e)&&typeof e!=`string`)return n;var i;if(ae(e)){if(t==null)return n;var a=e.indexOf(`%`);i=t*parseFloat(e.slice(0,a))/100}else i=+e;return ie(i)&&(i=n),r&&t!=null&&i>t&&(i=t),i},ue=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,n={},r=0;r<t;r++)if(!n[String(e[r])])n[String(e[r])]=!0;else return!0;return!1};function de(e,t,n){return F(e)&&F(t)?ne(e+n*(t-e)):t}function fe(e,t,n){if(!(!e||!e.length))return e.find(e=>e&&(typeof t==`function`?t(e):N(e,t))===n)}var pe=e=>{for(var t=e.length,n=0,r=0,i=0,a=0,o=1/0,s=-1/0,c=0,l=0,u=0;u<t;u++)c=e[u]?.cx||0,l=e[u]?.cy||0,n+=c,r+=l,i+=c*l,a+=c*c,o=Math.min(o,c),s=Math.max(s,c);var d=t*a===n*n?0:(t*i-n*r)/(t*a-n*n);return{xmin:o,xmax:s,a:d,b:(r-d*n)/t}},I=e=>e==null,me=e=>I(e)?e:`${e.charAt(0).toUpperCase()}${e.slice(1)}`;function he(e){return e!=null}function ge(){}var L=t(e());function _e(){return _e=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},_e.apply(null,arguments)}function ve(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ye(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?ve(Object(n),!0).forEach(function(t){be(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ve(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function be(e,t,n){return(t=xe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function xe(e){var t=Se(e,`string`);return typeof t==`symbol`?t:t+``}function Se(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Ce(e,t){return Oe(e)||De(e,t)||Te(e,t)||we()}function we(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
2
2
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Te(e,t){if(e){if(typeof e==`string`)return Ee(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ee(e,t):void 0}}function Ee(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function De(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function Oe(e){if(Array.isArray(e))return e}function ke(e){return Array.isArray(e)&&oe(e[0])&&oe(e[1])?e.join(` ~ `):e}var Ae={separator:` : `,contentStyle:{margin:0,padding:10,backgroundColor:`#fff`,border:`1px solid #ccc`,whiteSpace:`nowrap`},itemStyle:{display:`block`,paddingTop:4,paddingBottom:4,color:`#000`},labelStyle:{},accessibilityLayer:!1};function je(e,t){return t==null?e:D(e,t)}var Me=e=>{var t=e.separator,n=t===void 0?Ae.separator:t,r=e.contentStyle,i=e.itemStyle,a=e.labelStyle,o=a===void 0?Ae.labelStyle:a,s=e.payload,c=e.formatter,l=e.itemSorter,u=e.wrapperClassName,d=e.labelClassName,f=e.label,p=e.labelFormatter,m=e.accessibilityLayer,h=m===void 0?Ae.accessibilityLayer:m,g=()=>{if(s&&s.length){var e={padding:0,margin:0},t=je(s,l).map((e,t)=>{if(!e||e.type===`none`)return null;var r=e.formatter||c||ke,a=e.value,o=e.name,l=a,u=o;if(r){var d=r(a,o,e,t,s);if(Array.isArray(d)){var f=Ce(d,2);l=f[0],u=f[1]}else if(d!=null)l=d;else return null}var p=ye(ye({},Ae.itemStyle),{},{color:e.color||Ae.itemStyle.color},i);return L.createElement(`li`,{className:`recharts-tooltip-item`,key:`tooltip-item-${t}`,style:p},oe(u)?L.createElement(`span`,{className:`recharts-tooltip-item-name`},u):null,oe(u)?L.createElement(`span`,{className:`recharts-tooltip-item-separator`},n):null,L.createElement(`span`,{className:`recharts-tooltip-item-value`},l),L.createElement(`span`,{className:`recharts-tooltip-item-unit`},e.unit||``))});return L.createElement(`ul`,{className:`recharts-tooltip-item-list`,style:e},t)}return null},_=ye(ye({},Ae.contentStyle),r),v=ye({margin:0},o),y=!I(f),b=y?f:``,x=k(`recharts-default-tooltip`,u),S=k(`recharts-tooltip-label`,d);y&&p&&s!=null&&(b=p(f,s));var C=h?{role:`status`,"aria-live":`assertive`}:{};return L.createElement(`div`,_e({className:x,style:_},C),L.createElement(`p`,{className:S,style:v},L.isValidElement(b)?b:`${b}`),g())},Ne=`recharts-tooltip-wrapper`,Pe={visibility:`hidden`};function Fe(e){var t=e.coordinate,n=e.translateX,r=e.translateY;return k(Ne,{[`${Ne}-right`]:F(n)&&t&&F(t.x)&&n>=t.x,[`${Ne}-left`]:F(n)&&t&&F(t.x)&&n<t.x,[`${Ne}-bottom`]:F(r)&&t&&F(t.y)&&r>=t.y,[`${Ne}-top`]:F(r)&&t&&F(t.y)&&r<t.y})}function Ie(e){var t=e.allowEscapeViewBox,n=e.coordinate,r=e.key,i=e.offset,a=e.position,o=e.reverseDirection,s=e.tooltipDimension,c=e.viewBox,l=e.viewBoxDimension;if(a&&F(a[r]))return a[r];var u=n[r]-s-(i>0?i:0),d=n[r]+i;if(t[r])return o[r]?u:d;var f=c[r];return f==null?0:o[r]?Math.max(u<f?d:u,f):l==null?0:d+s>f+l?Math.max(u,f):Math.max(d,f)}function Le(e){var t=e.translateX,n=e.translateY;return{transform:e.useTranslate3d?`translate3d(${t}px, ${n}px, 0)`:`translate(${t}px, ${n}px)`}}function Re(e){var t=e.allowEscapeViewBox,n=e.coordinate,r=e.offsetTop,i=e.offsetLeft,a=e.position,o=e.reverseDirection,s=e.tooltipBox,c=e.useTranslate3d,l=e.viewBox,u,d,f;return s&&s.height>0&&s.width>0&&n?(d=Ie({allowEscapeViewBox:t,coordinate:n,key:`x`,offset:i,position:a,reverseDirection:o,tooltipDimension:s.width,viewBox:l,viewBoxDimension:l.width}),f=Ie({allowEscapeViewBox:t,coordinate:n,key:`y`,offset:r,position:a,reverseDirection:o,tooltipDimension:s.height,viewBox:l,viewBoxDimension:l.height}),u=Le({translateX:d,translateY:f,useTranslate3d:c})):u=Pe,{cssProperties:u,cssClasses:Fe({translateX:d,translateY:f,coordinate:n})}}var ze={devToolsEnabled:!0,isSsr:!(typeof window<`u`&&window.document&&window.document.createElement&&window.setTimeout)};function Be(e,t){return Ge(e)||We(e,t)||He(e,t)||Ve()}function Ve(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
3
3
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function He(e,t){if(e){if(typeof e==`string`)return Ue(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ue(e,t):void 0}}function Ue(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function We(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function Ge(e){if(Array.isArray(e))return e}function Ke(){var e=Be((0,L.useState)(()=>ze.isSsr||!window.matchMedia?!1:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches),2),t=e[0],n=e[1];return(0,L.useEffect)(()=>{if(window.matchMedia){var e=window.matchMedia(`(prefers-reduced-motion: reduce)`),t=()=>{n(e.matches)};return e.addEventListener(`change`,t),()=>{e.removeEventListener(`change`,t)}}},[]),t}function qe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Je(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?qe(Object(n),!0).forEach(function(t){Ye(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):qe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ye(e,t,n){return(t=Xe(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Xe(e){var t=Ze(e,`string`);return typeof t==`symbol`?t:t+``}function Ze(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Qe(e,t){return rt(e)||nt(e,t)||et(e,t)||$e()}function $e(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
4
4
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function et(e,t){if(e){if(typeof e==`string`)return tt(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?tt(e,t):void 0}}function tt(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function nt(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function rt(e){if(Array.isArray(e))return e}function it(e){if(!(e.prefersReducedMotion&&e.isAnimationActive===`auto`)&&e.isAnimationActive&&e.active){var t=typeof e.animationEasing==`string`?e.animationEasing:`ease`;return`transform ${e.animationDuration}ms ${t}`}}function at(e){var t=Ke(),n=Qe(L.useState(()=>({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}})),2),r=n[0],i=n[1];L.useEffect(()=>{var t=t=>{t.key===`Escape`&&i({dismissed:!0,dismissedAtCoordinate:{x:e.coordinate?.x??0,y:e.coordinate?.y??0}})};return document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`keydown`,t)}},[e.coordinate?.x,e.coordinate?.y]),r.dismissed&&((e.coordinate?.x??0)!==r.dismissedAtCoordinate.x||(e.coordinate?.y??0)!==r.dismissedAtCoordinate.y)&&i(Je(Je({},r),{},{dismissed:!1}));var a=Re({allowEscapeViewBox:e.allowEscapeViewBox,coordinate:e.coordinate,offsetLeft:typeof e.offset==`number`?e.offset:e.offset.x,offsetTop:typeof e.offset==`number`?e.offset:e.offset.y,position:e.position,reverseDirection:e.reverseDirection,tooltipBox:e.lastBoundingBox,useTranslate3d:e.useTranslate3d,viewBox:e.viewBox}),o=a.cssClasses,s=a.cssProperties,c=Je(Je({},e.hasPortalFromProps?{}:Je(Je({transition:it({prefersReducedMotion:t,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},s),{},{pointerEvents:`none`,position:`absolute`,top:0,left:0})),{},{visibility:!r.dismissed&&e.active&&e.hasPayload?`visible`:`hidden`},e.wrapperStyle);return L.createElement(`div`,{xmlns:`http://www.w3.org/1999/xhtml`,tabIndex:-1,className:o,style:c,ref:e.innerRef},e.children)}var ot=L.memo(at);function st(e,t){let n=new Map;for(let r=0;r<e.length;r++){let i=e[r],a=t(i,r,e);n.has(a)||n.set(a,i)}return Array.from(n.values())}function ct(e,t){return function(...n){return e.apply(this,n.slice(0,t))}}function lt(e){return e}function ut(e){return function(t){return N(t,e)}}function dt(e){return e==null||typeof e!=`object`&&typeof e!=`function`}function ft(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function pt(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function mt(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var ht=`[object RegExp]`,gt=`[object String]`,_t=`[object Number]`,vt=`[object Boolean]`,yt=`[object Arguments]`,bt=`[object Symbol]`,xt=`[object Date]`,St=`[object Map]`,Ct=`[object Set]`,wt=`[object Array]`,Tt=`[object Function]`,Et=`[object ArrayBuffer]`,Dt=`[object Object]`,Ot=`[object Error]`,kt=`[object DataView]`,At=`[object Uint8Array]`,jt=`[object Uint8ClampedArray]`,Mt=`[object Uint16Array]`,Nt=`[object Uint32Array]`,Pt=`[object BigUint64Array]`,Ft=`[object Int8Array]`,It=`[object Int16Array]`,Lt=`[object Int32Array]`,Rt=`[object BigInt64Array]`,zt=`[object Float32Array]`,Bt=`[object Float64Array]`,Vt=typeof globalThis==`object`&&globalThis||typeof window==`object`&&window||typeof self==`object`&&self||typeof global==`object`&&global||(function(){return this})();function Ht(e){return Vt.Buffer!==void 0&&Vt.Buffer.isBuffer(e)}function Ut(e,t){return Wt(e,void 0,e,new Map,t)}function Wt(e,t,n,r=new Map,i=void 0){let a=i?.(e,t,n,r);if(a!==void 0)return a;if(dt(e))return e;if(r.has(e))return r.get(e);if(Array.isArray(e)){let t=Array(e.length);r.set(e,t);for(let a=0;a<e.length;a++)t[a]=Wt(e[a],a,n,r,i);return Object.hasOwn(e,`index`)&&(t.index=e.index),Object.hasOwn(e,`input`)&&(t.input=e.input),t}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){let t=new RegExp(e.source,e.flags);return t.lastIndex=e.lastIndex,t}if(e instanceof Map){let t=new Map;r.set(e,t);for(let[a,o]of e)t.set(a,Wt(o,a,n,r,i));return t}if(e instanceof Set){let t=new Set;r.set(e,t);for(let a of e)t.add(Wt(a,void 0,n,r,i));return t}if(Ht(e))return e.subarray();if(ft(e)){let t=new(Object.getPrototypeOf(e)).constructor(e.length);r.set(e,t);for(let a=0;a<e.length;a++)t[a]=Wt(e[a],a,n,r,i);return t}if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){let t=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return r.set(e,t),Gt(t,e,n,r,i),t}if(typeof File<`u`&&e instanceof File){let t=new File([e],e.name,{type:e.type});return r.set(e,t),Gt(t,e,n,r,i),t}if(typeof Blob<`u`&&e instanceof Blob){let t=new Blob([e],{type:e.type});return r.set(e,t),Gt(t,e,n,r,i),t}if(e instanceof Error){let t=structuredClone(e);return r.set(e,t),t.message=e.message,t.name=e.name,t.stack=e.stack,t.cause=e.cause,t.constructor=e.constructor,Gt(t,e,n,r,i),t}if(e instanceof Boolean){let t=new Boolean(e.valueOf());return r.set(e,t),Gt(t,e,n,r,i),t}if(e instanceof Number){let t=new Number(e.valueOf());return r.set(e,t),Gt(t,e,n,r,i),t}if(e instanceof String){let t=new String(e.valueOf());return r.set(e,t),Gt(t,e,n,r,i),t}if(typeof e==`object`&&Kt(e)){let t=Object.create(Object.getPrototypeOf(e));return r.set(e,t),Gt(t,e,n,r,i),t}return e}function Gt(e,t,n=e,r,i){let a=[...Object.keys(t),...pt(t)];for(let o=0;o<a.length;o++){let s=a[o],c=Object.getOwnPropertyDescriptor(e,s);(c==null||c.writable)&&(e[s]=Wt(t[s],s,n,r,i))}}function Kt(e){switch(mt(e)){case yt:case wt:case Et:case kt:case vt:case xt:case zt:case Bt:case Ft:case It:case Lt:case St:case _t:case Dt:case ht:case Ct:case gt:case bt:case At:case jt:case Mt:case Nt:return!0;default:return!1}}function qt(e){return Wt(e,void 0,e,new Map,void 0)}function Jt(e,t,n){return typeof n==`function`?Yt(e,t,function e(t,r,i,a,o,s){let c=n(t,r,i,a,o,s);return c===void 0?Yt(t,r,e,s,!1):!!c},new Map,!0):Jt(e,t,()=>void 0)}function Yt(e,t,n,r,i=!1){if(t===e)return!0;switch(typeof t){case`object`:return Xt(e,t,n,r,i);case`function`:return Object.keys(t).length>0?Yt(e,{...t},n,r,i):l(e,t);default:return f(e)&&i?typeof t==`string`?t===``:!0:l(e,t)}}function Xt(e,t,n,r,i=!1){if(t==null)return!0;if(Array.isArray(t))return Qt(e,t,n,r);if(t instanceof Map)return Zt(e,t,n,r);if(t instanceof Set)return $t(e,t,n,r);let a=Object.keys(t);if(e==null)return i&&a.length===0;if(i)dt(e)&&(e=Object(e));else{let t=mt(e);if(t!==`[object Object]`&&t!==`[object Arguments]`)return!1}if(a.length===0)return!0;if(r?.has(t))return r.get(t)===e;r?.set(t,e);try{for(let i=0;i<a.length;i++){let o=a[i];if(!(o in e)||t[o]===void 0&&e[o]!==void 0||t[o]===null&&e[o]!==null||!n(e[o],t[o],o,e,t,r))return!1}return!0}finally{r?.delete(t)}}function Zt(e,t,n,r){if(t.size===0)return!0;if(!(e instanceof Map))return!1;for(let[i,a]of t.entries())if(n(e.get(i),a,i,e,t,r)===!1)return!1;return!0}function Qt(e,t,n,r){if(t.length===0)return!0;if(!Array.isArray(e))return!1;let i=new Set;for(let a=0;a<t.length;a++){let o=t[a],s=!1;for(let c=0;c<e.length;c++){if(i.has(c))continue;let l=e[c],u=!1;if(n(l,o,a,e,t,r)&&(u=!0),u){i.add(c),s=!0;break}}if(!s)return!1}return!0}function $t(e,t,n,r){return t.size===0?!0:e instanceof Set?Qt([...e],[...t],n,r):!1}function en(e,t){return Jt(e,t,()=>void 0)}function tn(e){return e=qt(e),t=>en(t,e)}function nn(e,t){return Ut(e,(n,r,i,a)=>{let o=t?.(n,r,i,a);if(o!==void 0)return o;if(typeof e==`object`){if(mt(e)===`[object Object]`&&typeof e.constructor!=`function`){let t={};return a.set(e,t),Gt(t,e,i,a),t}switch(Object.prototype.toString.call(e)){case _t:case gt:case vt:{let t=new e.constructor(e?.valueOf());return Gt(t,e),t}case yt:{let t={};return Gt(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}default:return}}})}function rn(e){return nn(e)}function an(e){return typeof e==`object`&&!!e&&mt(e)===`[object Arguments]`}function on(e,t){let n;if(n=Array.isArray(t)?t:typeof t==`string`&&M(t)&&!(t in Object(e))?y(t):[t],n.length===0)return!1;let r=e;for(let e=0;e<n.length;e++){let t=n[e];if((r==null||!Object.hasOwn(r,t))&&!((Array.isArray(r)||an(r))&&m(t)&&t<r.length))return!1;r=r[t]}return!0}function sn(e,t){switch(typeof e){case`object`:Object.is(e?.valueOf(),-0)&&(e=`-0`);break;case`number`:e=g(e);break}return t=rn(t),function(n){let r=N(n,e);return r===void 0?on(n,e):t===void 0?r===void 0:en(r,t)}}function cn(e){if(e==null)return lt;switch(typeof e){case`function`:return e;case`object`:return Array.isArray(e)&&e.length===2?sn(e[0],e[1]):tn(e);default:return ut(e)}}function ln(e){return e===0?0:e}function un(e,t=lt){return d(e)?st(Array.from(e),ct(cn(t),1)).map(ln):[]}function dn(e,t,n){return t===!0?un(e,n):typeof t==`function`?un(e,t):e}var fn=i((t=>{var r=e(),i=n();function a(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var o=typeof Object.is==`function`?Object.is:a,s=i.useSyncExternalStore,c=r.useRef,l=r.useEffect,u=r.useMemo,d=r.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var a=c(null);if(a.current===null){var f={hasValue:!1,value:null};a.current=f}else f=a.current;a=u(function(){function e(e){if(!a){if(a=!0,s=e,e=r(e),i!==void 0&&f.hasValue){var t=f.value;if(i(t,e))return c=t}return c=e}if(t=c,o(s,e))return t;var n=r(e);return i!==void 0&&i(t,n)?(s=e,t):(s=e,c=n)}var a=!1,s,c,l=n===void 0?null:n;return[function(){return e(t())},l===null?void 0:function(){return e(l())}]},[t,n,r,i]);var p=s(e,a[0],a[1]);return l(function(){f.hasValue=!0,f.value=p},[p]),d(p),p}})),pn=i(((e,t)=>{t.exports=fn()})),mn=(0,L.createContext)(null),hn=pn(),gn=e=>e,R=()=>{var e=(0,L.useContext)(mn);return e?e.store.dispatch:gn},_n=()=>{},vn=()=>_n,yn=(e,t)=>e===t;function z(e){var t=(0,L.useContext)(mn),n=(0,L.useMemo)(()=>t?t=>{if(t!=null)return e(t)}:_n,[t,e]);return(0,hn.useSyncExternalStoreWithSelector)(t?t.subscription.addNestedSub:vn,t?t.store.getState:_n,t?t.store.getState:_n,n,yn)}function bn(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var xn=typeof Symbol==`function`&&Symbol.observable||`@@observable`,Sn=()=>Math.random().toString(36).substring(7).split(``).join(`.`),Cn={INIT:`@@redux/INIT${Sn()}`,REPLACE:`@@redux/REPLACE${Sn()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${Sn()}`};function wn(e){if(typeof e!=`object`||!e)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function Tn(e,t,n){if(typeof e!=`function`)throw Error(bn(2));if(typeof t==`function`&&typeof n==`function`||typeof n==`function`&&typeof arguments[3]==`function`)throw Error(bn(0));if(typeof t==`function`&&n===void 0&&(n=t,t=void 0),n!==void 0){if(typeof n!=`function`)throw Error(bn(1));return n(Tn)(e,t)}let r=e,i=t,a=new Map,o=a,s=0,c=!1;function l(){o===a&&(o=new Map,a.forEach((e,t)=>{o.set(t,e)}))}function u(){if(c)throw Error(bn(3));return i}function d(e){if(typeof e!=`function`)throw Error(bn(4));if(c)throw Error(bn(5));let t=!0;l();let n=s++;return o.set(n,e),function(){if(t){if(c)throw Error(bn(6));t=!1,l(),o.delete(n),a=null}}}function f(e){if(!wn(e))throw Error(bn(7));if(e.type===void 0)throw Error(bn(8));if(typeof e.type!=`string`)throw Error(bn(17));if(c)throw Error(bn(9));try{c=!0,i=r(i,e)}finally{c=!1}return(a=o).forEach(e=>{e()}),e}function p(e){if(typeof e!=`function`)throw Error(bn(10));r=e,f({type:Cn.REPLACE})}function m(){let e=d;return{subscribe(t){if(typeof t!=`object`||!t)throw Error(bn(11));function n(){let e=t;e.next&&e.next(u())}return n(),{unsubscribe:e(n)}},[xn](){return this}}}return f({type:Cn.INIT}),{dispatch:f,subscribe:d,getState:u,replaceReducer:p,[xn]:m}}function En(e){Object.keys(e).forEach(t=>{let n=e[t];if(n(void 0,{type:Cn.INIT})===void 0)throw Error(bn(12));if(n(void 0,{type:Cn.PROBE_UNKNOWN_ACTION()})===void 0)throw Error(bn(13))})}function Dn(e){let t=Object.keys(e),n={};for(let r=0;r<t.length;r++){let i=t[r];typeof e[i]==`function`&&(n[i]=e[i])}let r=Object.keys(n),i;try{En(n)}catch(e){i=e}return function(e={},t){if(i)throw i;let a=!1,o={};for(let i=0;i<r.length;i++){let s=r[i],c=n[s],l=e[s],u=c(l,t);if(u===void 0)throw t&&t.type,Error(bn(14));o[s]=u,a||=u!==l}return a||=r.length!==Object.keys(e).length,a?o:e}}function On(...e){return e.length===0?e=>e:e.length===1?e[0]:e.reduce((e,t)=>(...n)=>e(t(...n)))}function kn(...e){return t=>(n,r)=>{let i=t(n,r),a=()=>{throw Error(bn(15))},o={getState:i.getState,dispatch:(e,...t)=>a(e,...t)};return a=On(...e.map(e=>e(o)))(i.dispatch),{...i,dispatch:a}}}function An(e){return wn(e)&&`type`in e&&typeof e.type==`string`}var jn=Symbol.for(`immer-nothing`),Mn=Symbol.for(`immer-draftable`),Nn=Symbol.for(`immer-state`);function Pn(e,...t){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Fn=Object,In=Fn.getPrototypeOf,Ln=`constructor`,Rn=`prototype`,zn=`configurable`,Bn=`enumerable`,Vn=`writable`,Hn=`value`,Un=e=>!!e&&!!e[Nn];function Wn(e){return e?qn(e)||er(e)||!!e[Mn]||!!e[Ln]?.[Mn]||tr(e)||nr(e):!1}var Gn=Fn[Rn][Ln].toString(),Kn=new WeakMap;function qn(e){if(!e||!rr(e))return!1;let t=In(e);if(t===null||t===Fn[Rn])return!0;let n=Fn.hasOwnProperty.call(t,Ln)&&t[Ln];if(n===Object)return!0;if(!ir(n))return!1;let r=Kn.get(n);return r===void 0&&(r=Function.toString.call(n),Kn.set(n,r)),r===Gn}function Jn(e,t,n=!0){Yn(e)===0?(n?Reflect.ownKeys(e):Fn.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function Yn(e){let t=e[Nn];return t?t.type_:er(e)?1:tr(e)?2:nr(e)?3:0}var Xn=(e,t,n=Yn(e))=>n===2?e.has(t):Fn[Rn].hasOwnProperty.call(e,t),Zn=(e,t,n=Yn(e))=>n===2?e.get(t):e[t],Qn=(e,t,n,r=Yn(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function $n(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var er=Array.isArray,tr=e=>e instanceof Map,nr=e=>e instanceof Set,rr=e=>typeof e==`object`,ir=e=>typeof e==`function`,ar=e=>typeof e==`boolean`;function or(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var sr=e=>e.copy_||e.base_,cr=e=>e.modified_?e.copy_:e.base_;function lr(e,t){if(tr(e))return new Map(e);if(nr(e))return new Set(e);if(er(e))return Array[Rn].slice.call(e);let n=qn(e);if(t===!0||t===`class_only`&&!n){let t=Fn.getOwnPropertyDescriptors(e);delete t[Nn];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){let i=n[r],a=t[i];a[Vn]===!1&&(a[Vn]=!0,a[zn]=!0),(a.get||a.set)&&(t[i]={[zn]:!0,[Vn]:!0,[Bn]:a[Bn],[Hn]:e[i]})}return Fn.create(In(e),t)}else{let t=In(e);if(t!==null&&n)return{...e};let r=Fn.create(t);return Fn.assign(r,e)}}function ur(e,t=!1){return pr(e)||Un(e)||!Wn(e)?e:(Yn(e)>1&&Fn.defineProperties(e,{set:fr,add:fr,clear:fr,delete:fr}),Fn.freeze(e),t&&Jn(e,(e,t)=>{ur(t,!0)},!1),e)}function dr(){Pn(2)}var fr={[Hn]:dr};function pr(e){return e===null||!rr(e)?!0:Fn.isFrozen(e)}var mr=`MapSet`,hr=`Patches`,gr=`ArrayMethods`,_r={};function vr(e){let t=_r[e];return t||Pn(0,e),t}var yr=e=>!!_r[e],br,xr=()=>br,Sr=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:yr(mr)?vr(mr):void 0,arrayMethodsPlugin_:yr(gr)?vr(gr):void 0});function Cr(e,t){t&&(e.patchPlugin_=vr(hr),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function wr(e){Tr(e),e.drafts_.forEach(Dr),e.drafts_=null}function Tr(e){e===br&&(br=e.parent_)}var Er=e=>br=Sr(br,e);function Dr(e){let t=e[Nn];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function Or(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[Nn].modified_&&(wr(t),Pn(4)),Wn(e)&&(e=kr(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[Nn].base_,e,t)}else e=kr(t,n);return Ar(t,e,!0),wr(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===jn?void 0:e}function kr(e,t){if(pr(t))return t;let n=t[Nn];if(!n)return Rr(t,e.handledSet_,e);if(!Mr(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);Ir(n,e)}return n.copy_}function Ar(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&ur(t,n)}function jr(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var Mr=(e,t)=>e.scope_===t,Nr=[];function Pr(e,t,n,r){let i=sr(e),a=e.type_;if(r!==void 0&&Zn(i,r,a)===t){Qn(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;Jn(i,(e,n)=>{if(Un(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??Nr;for(let e of o)Qn(i,e,n,a)}function Fr(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!Mr(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=cr(i);Pr(e,i.draft_??i,a,n),Ir(i,r)})}function Ir(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}jr(e)}}function Lr(e,t,n){let{scope_:r}=e;if(Un(n)){let i=n[Nn];Mr(i,r)&&i.callbacks_.push(function(){qr(e),Pr(e,n,cr(i),t)})}else Wn(n)&&e.callbacks_.push(function(){let i=sr(e);e.type_===3?i.has(n)&&Rr(n,r.handledSet_,r):Zn(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Rr(Zn(e.copy_,t,e.type_),r.handledSet_,r)})}function Rr(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||Un(e)||t.has(e)||!Wn(e)||pr(e)?e:(t.add(e),Jn(e,(r,i)=>{if(Un(i)){let t=i[Nn];Mr(t,n)&&(Qn(e,r,cr(t),e.type_),jr(t))}else Wn(i)&&Rr(i,t,n)}),e)}function zr(e,t){let n=er(e),r={type_:+!!n,scope_:t?t.scope_:xr(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=Br;n&&(i=[r],a=Vr);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var Br={get(e,t){if(t===Nn)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=sr(e);if(!Xn(i,t,e.type_))return Wr(e,i,t);let a=i[t];if(e.finalized_||!Wn(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&or(t))return a;if(a===Hr(e.base_,t)||Ur(e,t,a)){qr(e);let n=e.type_===1?+t:t,r=Yr(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in sr(e)},ownKeys(e){return Reflect.ownKeys(sr(e))},set(e,t,n){let r=Gr(sr(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=Hr(sr(e),t),i=r?.[Nn];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if($n(n,r)&&(n!==void 0||Xn(e.base_,t,e.type_)))return!0;qr(e),Kr(e)}return e.copy_[t]===n&&(n!==void 0||Xn(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_.set(t,!0),Lr(e,t,n),!0)},deleteProperty(e,t){return qr(e),Hr(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),Kr(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=sr(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[Vn]:!0,[zn]:e.type_!==1||t!==`length`,[Bn]:r[Bn],[Hn]:n[t]}},defineProperty(){Pn(11)},getPrototypeOf(e){return In(e.base_)},setPrototypeOf(){Pn(12)}},Vr={};for(let e in Br){let t=Br[e];Vr[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}Vr.deleteProperty=function(e,t){return Vr.set.call(this,e,t,void 0)},Vr.set=function(e,t,n){return Br.set.call(this,e[0],t,n,e[0])};function Hr(e,t){let n=e[Nn];return(n?sr(n):e)[t]}function Ur(e,t,n){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!Wn(n)||n[Nn]?!1:e.baseRefs_.has(n)}function Wr(e,t,n){let r=Gr(t,n);return r?Hn in r?r[Hn]:r.get?.call(e.draft_):void 0}function Gr(e,t){if(!(t in e))return;let n=In(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=In(n)}}function Kr(e){e.modified_||(e.modified_=!0,e.parent_&&Kr(e.parent_))}function qr(e){e.copy_||=(e.assigned_=new Map,lr(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var Jr=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(ir(e)&&!ir(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}ir(t)||Pn(6),n!==void 0&&!ir(n)&&Pn(7);let r;if(Wn(e)){let i=Er(this),a=Yr(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?wr(i):Tr(i)}return Cr(i,n),Or(r,i)}else if(!e||!rr(e)){if(r=t(e),r===void 0&&(r=e),r===jn&&(r=void 0),this.autoFreeze_&&ur(r,!0),n){let t=[],i=[];vr(hr).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}else Pn(1,e)},this.produceWithPatches=(e,t)=>{if(ir(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},ar(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),ar(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),ar(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){Wn(e)||Pn(8),Un(e)&&(e=Xr(e));let t=Er(this),n=Yr(t,e,void 0);return n[Nn].isManual_=!0,Tr(t),n}finishDraft(e,t){let n=e&&e[Nn];(!n||!n.isManual_)&&Pn(9);let{scope_:r}=n;return Cr(r,t),Or(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=vr(hr).applyPatches_;return Un(e)?r(e,t):this.produce(e,e=>r(e,t))}};function Yr(e,t,n,r){let[i,a]=tr(t)?vr(mr).proxyMap_(t,n):nr(t)?vr(mr).proxySet_(t,n):zr(t,n);return(n?.scope_??xr()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?Fr(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function Xr(e){return Un(e)||Pn(10,e),Zr(e)}function Zr(e){if(!Wn(e)||pr(e))return e;let t=e[Nn],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=lr(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=lr(e,!0);return Jn(n,(e,t)=>{Qn(n,e,Zr(t))},r),t&&(t.finalized_=!1),n}globalThis.Iterator?.from;var Qr=new Jr().produce,B=e=>e;function $r(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!=`function`)throw TypeError(t)}function ei(e,t=`expected all items to be functions, instead received the following types: `){if(!e.every(e=>typeof e==`function`)){let n=e.map(e=>typeof e==`function`?`function ${e.name||`unnamed`}()`:typeof e).join(`, `);throw TypeError(`${t}[${n}]`)}}var ti=e=>Array.isArray(e)?e:[e];function ni(e){let t=Array.isArray(e[0])?e[0]:e;return ei(t,`createSelector expects all input-selectors to be functions, but received the following types: `),t}function ri(e,t){let n=[],{length:r}=e;for(let i=0;i<r;i++)n.push(e[i].apply(null,t));return n}var ii=class{constructor(e){this.value=e}deref(){return this.value}},ai=typeof WeakRef>`u`?ii:WeakRef,oi=0,si=1;function ci(){return{s:oi,v:void 0,o:null,p:null}}function li(e){return e instanceof ai?e.deref():e}function ui(e,t={}){let n=ci(),{resultEqualityCheck:r}=t,i,a=0;function o(){let t=n,{length:o}=arguments;for(let e=0,n=o;e<n;e++){let n=arguments[e];if(typeof n==`function`||typeof n==`object`&&n){let e=t.o;e===null&&(t.o=e=new WeakMap);let r=e.get(n);r===void 0?(t=ci(),e.set(n,t)):t=r}else{let e=t.p;e===null&&(t.p=e=new Map);let r=e.get(n);r===void 0?(t=ci(),e.set(n,t)):t=r}}let s=t,c;if(t.s===si)c=t.v;else if(c=e.apply(null,arguments),a++,r){let e=li(i);e!=null&&r(e,c)&&(c=e,a!==0&&a--),i=typeof c==`object`&&c||typeof c==`function`?new ai(c):c}return s.s=si,s.v=c,c}return o.clearCache=()=>{n=ci(),o.resetResultsCount()},o.resultsCount=()=>a,o.resetResultsCount=()=>{a=0},o}function di(e,...t){let n=typeof e==`function`?{memoize:e,memoizeOptions:t}:e,r=(...e)=>{let t=0,r=0,i,a={},o=e.pop();typeof o==`object`&&(a=o,o=e.pop()),$r(o,`createSelector expects an output function after the inputs, but received: [${typeof o}]`);let{memoize:s,memoizeOptions:c=[],argsMemoize:l=ui,argsMemoizeOptions:u=[]}={...n,...a},d=ti(c),f=ti(u),p=ni(e),m=s(function(){return t++,o.apply(null,arguments)},...d),h=l(function(){r++;let e=ri(p,arguments);return i=m.apply(null,e),i},...f);return Object.assign(h,{resultFunc:o,memoizedResultFunc:m,dependencies:p,dependencyRecomputations:()=>r,resetDependencyRecomputations:()=>{r=0},lastResult:()=>i,recomputations:()=>t,resetRecomputations:()=>{t=0},memoize:s,argsMemoize:l})};return Object.assign(r,{withTypes:()=>r}),r}var V=di(ui);function fi(e){return({dispatch:t,getState:n})=>r=>i=>typeof i==`function`?i(t,n,e):r(i)}var pi=fi(),mi=fi,hi=typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]==`object`?On:On.apply(null,arguments)};typeof window<`u`&&window.__REDUX_DEVTOOLS_EXTENSION__&&window.__REDUX_DEVTOOLS_EXTENSION__;function gi(e,t){function n(...n){if(t){let r=t(...n);if(!r)throw Error(wa(0));return{type:e,payload:r.payload,...`meta`in r&&{meta:r.meta},...`error`in r&&{error:r.error}}}return{type:e,payload:n[0]}}return n.toString=()=>`${e}`,n.type=e,n.match=t=>An(t)&&t.type===e,n}var _i=class e extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,e.prototype)}static get[Symbol.species](){return e}concat(...e){return super.concat.apply(this,e)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new e(...t[0].concat(this)):new e(...t.concat(this))}};function vi(e){return Wn(e)?Qr(e,()=>{}):e}function yi(e,t,n){return e.has(t)?e.get(t):e.set(t,n(t)).get(t)}function bi(e){return typeof e==`boolean`}var xi=()=>function(e){let{thunk:t=!0,immutableCheck:n=!0,serializableCheck:r=!0,actionCreatorCheck:i=!0}=e??{},a=new _i;return t&&(bi(t)?a.push(pi):a.push(mi(t.extraArgument))),a},Si=`RTK_autoBatch`,H=()=>e=>({payload:e,meta:{[Si]:!0}}),Ci=e=>t=>{setTimeout(t,e)},wi=(e,t)=>n=>{let r=!1,i=()=>{r||(r=!0,cancelAnimationFrame(a),clearTimeout(o),n())},a=e(i),o=setTimeout(i,t)},Ti=(e={type:`raf`})=>t=>(...n)=>{let r=t(...n),i=!0,a=!1,o=!1,s=new Set,c=e.type===`tick`?queueMicrotask:e.type===`raf`?typeof window<`u`&&window.requestAnimationFrame?wi(window.requestAnimationFrame,100):Ci(10):e.type===`callback`?e.queueNotification:Ci(e.timeout),l=()=>{o=!1,a&&(a=!1,s.forEach(e=>e()))};return Object.assign({},r,{subscribe(e){let t=r.subscribe(()=>i&&e());return s.add(e),()=>{t(),s.delete(e)}},dispatch(e){try{return i=!e?.meta?.[Si],a=!i,a&&(o||(o=!0,c(l))),r.dispatch(e)}finally{i=!0}}})},Ei=e=>function(t){let{autoBatch:n=!0}=t??{},r=new _i(e);return n&&r.push(Ti(typeof n==`object`?n:void 0)),r};function Di(e){let t=xi(),{reducer:n=void 0,middleware:r,devTools:i=!0,duplicateMiddlewareCheck:a=!0,preloadedState:o=void 0,enhancers:s=void 0}=e||{},c;if(typeof n==`function`)c=n;else if(wn(n))c=Dn(n);else throw Error(wa(1));let l;l=typeof r==`function`?r(t):t();let u=On;i&&(u=hi({trace:!1,...typeof i==`object`&&i}));let d=Ei(kn(...l)),f=typeof s==`function`?s(d):d(),p=u(...f);return Tn(c,o,p)}function Oi(e){let t={},n=[],r,i={addCase(e,n){let r=typeof e==`string`?e:e.type;if(!r)throw Error(wa(28));if(r in t)throw Error(wa(29));return t[r]=n,i},addAsyncThunk(e,r){return r.pending&&(t[e.pending.type]=r.pending),r.rejected&&(t[e.rejected.type]=r.rejected),r.fulfilled&&(t[e.fulfilled.type]=r.fulfilled),r.settled&&n.push({matcher:e.settled,reducer:r.settled}),i},addMatcher(e,t){return n.push({matcher:e,reducer:t}),i},addDefaultCase(e){return r=e,i}};return e(i),[t,n,r]}function ki(e){return typeof e==`function`}function Ai(e,t){let[n,r,i]=Oi(t),a;if(ki(e))a=()=>vi(e());else{let t=vi(e);a=()=>t}function o(e=a(),t){let o=[n[t.type],...r.filter(({matcher:e})=>e(t)).map(({reducer:e})=>e)];return o.filter(e=>!!e).length===0&&(o=[i]),o.reduce((e,n)=>{if(n)if(Un(e)){let r=n(e,t);return r===void 0?e:r}else if(Wn(e))return Qr(e,e=>n(e,t));else{let r=n(e,t);if(r===void 0){if(e===null)return e;throw Error(`A case reducer on a non-draftable value must not return undefined`)}return r}return e},e)}return o.getInitialState=a,o}var ji=`ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW`,Mi=(e=21)=>{let t=``,n=e;for(;n--;)t+=ji[Math.random()*64|0];return t},Ni=Symbol.for(`rtk-slice-createasyncthunk`);function Pi(e,t){return`${e}/${t}`}function Fi({creators:e}={}){let t=e?.asyncThunk?.[Ni];return function(e){let{name:n,reducerPath:r=n}=e;if(!n)throw Error(wa(11));let i=(typeof e.reducers==`function`?e.reducers(Ri()):e.reducers)||{},a=Object.keys(i),o={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},s={addCase(e,t){let n=typeof e==`string`?e:e.type;if(!n)throw Error(wa(12));if(n in o.sliceCaseReducersByType)throw Error(wa(13));return o.sliceCaseReducersByType[n]=t,s},addMatcher(e,t){return o.sliceMatchers.push({matcher:e,reducer:t}),s},exposeAction(e,t){return o.actionCreators[e]=t,s},exposeCaseReducer(e,t){return o.sliceCaseReducersByName[e]=t,s}};a.forEach(r=>{let a=i[r],o={reducerName:r,type:Pi(n,r),createNotation:typeof e.reducers==`function`};Bi(a)?Hi(o,a,s,t):zi(o,a,s)});function c(){let[t={},n=[],r=void 0]=typeof e.extraReducers==`function`?Oi(e.extraReducers):[e.extraReducers],i={...t,...o.sliceCaseReducersByType};return Ai(e.initialState,e=>{for(let t in i)e.addCase(t,i[t]);for(let t of o.sliceMatchers)e.addMatcher(t.matcher,t.reducer);for(let t of n)e.addMatcher(t.matcher,t.reducer);r&&e.addDefaultCase(r)})}let l=e=>e,u=new Map,d=new WeakMap,f;function p(e,t){return f||=c(),f(e,t)}function m(){return f||=c(),f.getInitialState()}function h(t,n=!1){function r(e){let i=e[t];return i===void 0&&n&&(i=yi(d,r,m)),i}function i(t=l){return yi(yi(u,n,()=>new WeakMap),t,()=>{let r={};for(let[i,a]of Object.entries(e.selectors??{}))r[i]=Ii(a,t,()=>yi(d,t,m),n);return r})}return{reducerPath:t,getSelectors:i,get selectors(){return i(r)},selectSlice:r}}let g={name:n,reducer:p,actions:o.actionCreators,caseReducers:o.sliceCaseReducersByName,getInitialState:m,...h(r),injectInto(e,{reducerPath:t,...n}={}){let i=t??r;return e.inject({reducerPath:i,reducer:p},n),{...g,...h(i,!0)}}};return g}}function Ii(e,t,n,r){function i(i,...a){let o=t(i);return o===void 0&&r&&(o=n()),e(o,...a)}return i.unwrapped=e,i}var Li=Fi();function Ri(){function e(e,t){return{_reducerDefinitionType:`asyncThunk`,payloadCreator:e,...t}}return e.withTypes=()=>e,{reducer(e){return Object.assign({[e.name](...t){return e(...t)}}[e.name],{_reducerDefinitionType:`reducer`})},preparedReducer(e,t){return{_reducerDefinitionType:`reducerWithPrepare`,prepare:e,reducer:t}},asyncThunk:e}}function zi({type:e,reducerName:t,createNotation:n},r,i){let a,o;if(`reducer`in r){if(n&&!Vi(r))throw Error(wa(17));a=r.reducer,o=r.prepare}else a=r;i.addCase(e,a).exposeCaseReducer(t,a).exposeAction(t,o?gi(e,o):gi(e))}function Bi(e){return e._reducerDefinitionType===`asyncThunk`}function Vi(e){return e._reducerDefinitionType===`reducerWithPrepare`}function Hi({type:e,reducerName:t},n,r,i){if(!i)throw Error(wa(18));let{payloadCreator:a,fulfilled:o,pending:s,rejected:c,settled:l,options:u}=n,d=i(e,a,u);r.exposeAction(t,d),o&&r.addCase(d.fulfilled,o),s&&r.addCase(d.pending,s),c&&r.addCase(d.rejected,c),l&&r.addMatcher(d.settled,l),r.exposeCaseReducer(t,{fulfilled:o||Ui,pending:s||Ui,rejected:c||Ui,settled:l||Ui})}function Ui(){}var Wi=`task`,Gi=`listener`,Ki=`completed`,qi=`cancelled`,Ji=`task-${qi}`,Yi=`task-${Ki}`,Xi=`${Gi}-${qi}`,Zi=`${Gi}-${Ki}`,Qi=class{constructor(e){this.code=e,this.message=`${Wi} ${qi} (reason: ${e})`}code;name=`TaskAbortError`;message},$i=(e,t)=>{if(typeof e!=`function`)throw TypeError(wa(32))},ea=()=>{},ta=(e,t=ea)=>(e.catch(t),e),na=(e,t)=>(e.addEventListener(`abort`,t,{once:!0}),()=>e.removeEventListener(`abort`,t)),ra=e=>{if(e.aborted)throw new Qi(e.reason)};function ia(e,t){let n=ea;return new Promise((r,i)=>{let a=()=>i(new Qi(e.reason));if(e.aborted){a();return}n=na(e,a),t.finally(()=>n()).then(r,i)}).finally(()=>{n=ea})}var aa=async(e,t)=>{try{return await Promise.resolve(),{status:`ok`,value:await e()}}catch(e){return{status:e instanceof Qi?`cancelled`:`rejected`,error:e}}finally{t?.()}},oa=e=>t=>ta(ia(e,t).then(t=>(ra(e),t))),sa=e=>{let t=oa(e);return e=>t(new Promise(t=>setTimeout(t,e)))},{assign:ca}=Object,la={},ua=`listenerMiddleware`,da=(e,t)=>{let n=t=>na(e,()=>t.abort(e.reason));return(r,i)=>{$i(r,`taskExecutor`);let a=new AbortController;n(a);let o=aa(async()=>{ra(e),ra(a.signal);let t=await r({pause:oa(a.signal),delay:sa(a.signal),signal:a.signal});return ra(a.signal),t},()=>a.abort(Yi));return i?.autoJoin&&t.push(o.catch(ea)),{result:oa(e)(o),cancel(){a.abort(Ji)}}}},fa=(e,t)=>{let n=async(n,r)=>{ra(t);let i=()=>{},a=[new Promise((t,r)=>{let a=e({predicate:n,effect:(e,n)=>{n.unsubscribe(),t([e,n.getState(),n.getOriginalState()])}});i=()=>{a(),r()}})];r!=null&&a.push(new Promise(e=>setTimeout(e,r,null)));try{let e=await ia(t,Promise.race(a));return ra(t),e}finally{i()}};return((e,t)=>ta(n(e,t)))},pa=e=>{let{type:t,actionCreator:n,matcher:r,predicate:i,effect:a}=e;if(t)i=gi(t).match;else if(n)t=n.type,i=n.match;else if(r)i=r;else if(!i)throw Error(wa(21));return $i(a,`options.listener`),{predicate:i,type:t,effect:a}},ma=ca(e=>{let{type:t,predicate:n,effect:r}=pa(e);return{id:Mi(),effect:r,type:t,predicate:n,pending:new Set,unsubscribe:()=>{throw Error(wa(22))}}},{withTypes:()=>ma}),ha=(e,t)=>{let{type:n,effect:r,predicate:i}=pa(t);return Array.from(e.values()).find(e=>(typeof n==`string`?e.type===n:e.predicate===i)&&e.effect===r)},ga=e=>{e.pending.forEach(e=>{e.abort(Xi)})},_a=(e,t)=>()=>{for(let e of t.keys())ga(e);e.clear()},va=(e,t,n)=>{try{e(t,n)}catch(e){setTimeout(()=>{throw e},0)}},ya=ca(gi(`${ua}/add`),{withTypes:()=>ya}),ba=gi(`${ua}/removeAll`),xa=ca(gi(`${ua}/remove`),{withTypes:()=>xa}),Sa=(...e)=>{console.error(`${ua}/error`,...e)},Ca=(e={})=>{let t=new Map,n=new Map,r=e=>{let t=n.get(e)??0;n.set(e,t+1)},i=e=>{let t=n.get(e)??1;t===1?n.delete(e):n.set(e,t-1)},{extra:a,onError:o=Sa}=e;$i(o,`onError`);let s=e=>(e.unsubscribe=()=>t.delete(e.id),t.set(e.id,e),t=>{e.unsubscribe(),t?.cancelActive&&ga(e)}),c=(e=>s(ha(t,e)??ma(e)));ca(c,{withTypes:()=>c});let l=e=>{let n=ha(t,e);return n&&(n.unsubscribe(),e.cancelActive&&ga(n)),!!n};ca(l,{withTypes:()=>l});let u=async(e,n,s,l)=>{let u=new AbortController,d=fa(c,u.signal),f=[];try{e.pending.add(u),r(e),await Promise.resolve(e.effect(n,ca({},s,{getOriginalState:l,condition:(e,t)=>d(e,t).then(Boolean),take:d,delay:sa(u.signal),pause:oa(u.signal),extra:a,signal:u.signal,fork:da(u.signal,f),unsubscribe:e.unsubscribe,subscribe:()=>{t.set(e.id,e)},cancelActiveListeners:()=>{e.pending.forEach((e,t,n)=>{e!==u&&(e.abort(Xi),n.delete(e))})},cancel:()=>{u.abort(Xi),e.pending.delete(u)},throwIfCancelled:()=>{ra(u.signal)}})))}catch(e){e instanceof Qi||va(o,e,{raisedBy:`effect`})}finally{await Promise.all(f),u.abort(Zi),i(e),e.pending.delete(u)}},d=_a(t,n);return{middleware:e=>n=>r=>{if(!An(r))return n(r);if(ya.match(r))return c(r.payload);if(ba.match(r)){d();return}if(xa.match(r))return l(r.payload);let i=e.getState(),a=()=>{if(i===la)throw Error(wa(23));return i},s;try{if(s=n(r),t.size>0){let n=e.getState(),s=Array.from(t.values());for(let t of s){let s=!1;try{s=t.predicate(r,n,i)}catch(e){s=!1,va(o,e,{raisedBy:`predicate`})}s&&u(t,r,e,a)}}}finally{i=la}return s},startListening:c,stopListening:l,clearListeners:d}};function wa(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var Ta=Li({name:`chartLayout`,initialState:{layoutType:`horizontal`,width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},reducers:{setLayout(e,t){e.layoutType=t.payload},setChartSize(e,t){e.width=t.payload.width,e.height=t.payload.height},setMargin(e,t){e.margin.top=t.payload.top??0,e.margin.right=t.payload.right??0,e.margin.bottom=t.payload.bottom??0,e.margin.left=t.payload.left??0},setScale(e,t){e.scale=t.payload}}}),Ea=Ta.actions,Da=Ea.setMargin,Oa=Ea.setLayout,ka=Ea.setChartSize,Aa=Ea.setScale,ja=Ta.reducer,Ma=e=>e.legend.settings,Na=e=>e.legend.size;V([e=>e.legend.payload,Ma],(e,t)=>{var n=t.itemSorter,r=e.flat(1);return n?D(r,n):r});function U(e){return function(){return e}}var Pa=Math.cos,Fa=Math.sin,Ia=Math.sqrt,La=Math.PI;La/2;var Ra=2*La,za=Math.PI,Ba=2*za,Va=1e-6,Ha=Ba-Va;function Ua(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function Wa(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return Ua;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=Math.round(arguments[t]*n)/n+e[t]}}var Ga=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?Ua:Wa(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,n,r){this._append`Q${+e},${+t},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(e,t,n,r,i,a){this._append`C${+e},${+t},${+n},${+r},${this._x1=+i},${this._y1=+a}`}arcTo(e,t,n,r,i){if(e=+e,t=+t,n=+n,r=+r,i=+i,i<0)throw Error(`negative radius: ${i}`);let a=this._x1,o=this._y1,s=n-e,c=r-t,l=a-e,u=o-t,d=l*l+u*u;if(this._x1===null)this._append`M${this._x1=e},${this._y1=t}`;else if(d>Va)if(!(Math.abs(u*s-c*l)>Va)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((za-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>Va&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>Va||Math.abs(this._y1-l)>Va)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%Ba+Ba),d>Ha?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>Va&&this._append`A${n},${n},0,${+(d>=za)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};function Ka(){return new Ga}Ka.prototype=Ga.prototype;function qa(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new Ga(t)}Array.prototype.slice;function Ja(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function Ya(e){this._context=e}Ya.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 Xa(e){return new Ya(e)}function Za(e){return e[0]}function Qa(e){return e[1]}function $a(e,t){var n=U(!0),r=null,i=Xa,a=null,o=qa(s);e=typeof e==`function`?e:e===void 0?Za:U(e),t=typeof t==`function`?t:t===void 0?Qa:U(t);function s(s){var c,l=(s=Ja(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c<l&&n(u=s[c],c,s))===d&&((d=!d)?a.lineStart():a.lineEnd()),d&&a.point(+e(u,c,s),+t(u,c,s));if(f)return a=null,f+``||null}return s.x=function(t){return arguments.length?(e=typeof t==`function`?t:U(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:U(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:U(!!e),s):n},s.curve=function(e){return arguments.length?(i=e,r!=null&&(a=i(r)),s):i},s.context=function(e){return arguments.length?(e==null?r=a=null:a=i(r=e),s):r},s}function eo(e,t,n){var r=null,i=U(!0),a=null,o=Xa,s=null,c=qa(l);e=typeof e==`function`?e:e===void 0?Za:U(+e),t=typeof t==`function`?t:U(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?Qa:U(+n);function l(l){var u,d,f,p=(l=Ja(l)).length,m,h=!1,g,_=Array(p),v=Array(p);for(a??(s=o(g=c())),u=0;u<=p;++u){if(!(u<p&&i(m=l[u],u,l))===h)if(h=!h)d=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=u-1;f>=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return $a().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:U(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:U(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:U(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:U(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:U(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:U(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:U(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}var to=class{constructor(e,t){this._context=e,this._x=t}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(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._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,t,e,t):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+t)/2,e,this._y0,e,t);break}this._x0=e,this._y0=t}};function no(e){return new to(e,!0)}function ro(e){return new to(e,!1)}var io={draw(e,t){let n=Ia(t/La);e.moveTo(n,0),e.arc(0,0,n,0,Ra)}},ao={draw(e,t){let n=Ia(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()}},oo=Ia(1/3),so=oo*2,co={draw(e,t){let n=Ia(t/so),r=n*oo;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},lo={draw(e,t){let n=Ia(t),r=-n/2;e.rect(r,r,n,n)}},uo=.8908130915292852,fo=Fa(La/10)/Fa(7*La/10),po=Fa(Ra/10)*fo,mo=-Pa(Ra/10)*fo,ho={draw(e,t){let n=Ia(t*uo),r=po*n,i=mo*n;e.moveTo(0,-n),e.lineTo(r,i);for(let t=1;t<5;++t){let a=Ra*t/5,o=Pa(a),s=Fa(a);e.lineTo(s*n,-o*n),e.lineTo(o*r-s*i,s*r+o*i)}e.closePath()}},go=Ia(3),_o={draw(e,t){let n=-Ia(t/(go*3));e.moveTo(0,n*2),e.lineTo(-go*n,-n),e.lineTo(go*n,-n),e.closePath()}},vo=-.5,yo=Ia(3)/2,bo=1/Ia(12),xo=(bo/2+1)*3,So={draw(e,t){let n=Ia(t/xo),r=n/2,i=n*bo,a=r,o=n*bo+n,s=-a,c=o;e.moveTo(r,i),e.lineTo(a,o),e.lineTo(s,c),e.lineTo(vo*r-yo*i,yo*r+vo*i),e.lineTo(vo*a-yo*o,yo*a+vo*o),e.lineTo(vo*s-yo*c,yo*s+vo*c),e.lineTo(vo*r+yo*i,vo*i-yo*r),e.lineTo(vo*a+yo*o,vo*o-yo*a),e.lineTo(vo*s+yo*c,vo*c-yo*s),e.closePath()}};function Co(e,t){let n=null,r=qa(i);e=typeof e==`function`?e:U(e||io),t=typeof t==`function`?t:U(t===void 0?64:+t);function i(){let i;if(n||=i=r(),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),i)return n=null,i+``||null}return i.type=function(t){return arguments.length?(e=typeof t==`function`?t:U(t),i):e},i.size=function(e){return arguments.length?(t=typeof e==`function`?e:U(+e),i):t},i.context=function(e){return arguments.length?(n=e??null,i):n},i}function wo(){}function To(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 Eo(e){this._context=e}Eo.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:To(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:To(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Do(e){return new Eo(e)}function Oo(e){this._context=e}Oo.prototype={areaStart:wo,areaEnd:wo,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:To(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function ko(e){return new Oo(e)}function Ao(e){this._context=e}Ao.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:To(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function jo(e){return new Ao(e)}function Mo(e){this._context=e}Mo.prototype={areaStart:wo,areaEnd:wo,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 No(e){return new Mo(e)}function Po(e){return e<0?-1:1}function Fo(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(Po(a)+Po(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function Io(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function Lo(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function Ro(e){this._context=e}Ro.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:Lo(this,this._t0,Io(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,Lo(this,Io(this,n=Fo(this,e,t)),n);break;default:Lo(this,this._t0,n=Fo(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function zo(e){this._context=new Bo(e)}(zo.prototype=Object.create(Ro.prototype)).point=function(e,t){Ro.prototype.point.call(this,t,e)};function Bo(e){this._context=e}Bo.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,i,a){this._context.bezierCurveTo(t,e,r,n,a,i)}};function Vo(e){return new Ro(e)}function Ho(e){return new zo(e)}function Uo(e){this._context=e}Uo.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=Wo(e),i=Wo(t),a=0,o=1;o<n;++a,++o)this._context.bezierCurveTo(r[0][a],i[0][a],r[1][a],i[1][a],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 Wo(e){var t,n=e.length-1,r,i=Array(n),a=Array(n),o=Array(n);for(i[0]=0,a[0]=2,o[0]=e[0]+2*e[1],t=1;t<n-1;++t)i[t]=1,a[t]=4,o[t]=4*e[t]+2*e[t+1];for(i[n-1]=2,a[n-1]=7,o[n-1]=8*e[n-1]+e[n],t=1;t<n;++t)r=i[t]/a[t-1],a[t]-=r,o[t]-=r*o[t-1];for(i[n-1]=o[n-1]/a[n-1],t=n-2;t>=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(a[n-1]=(e[n]+i[n-1])/2,t=0;t<n-1;++t)a[t]=2*e[t+1]-i[t+1];return[i,a]}function Go(e){return new Uo(e)}function Ko(e,t){this._context=e,this._t=t}Ko.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 qo(e){return new Ko(e,.5)}function Jo(e){return new Ko(e,0)}function Yo(e){return new Ko(e,1)}function Xo(e,t){if((o=e.length)>1)for(var n=1,r,i,a=e[t[0]],o,s=a.length;n<o;++n)for(i=a,a=e[t[n]],r=0;r<s;++r)a[r][1]+=a[r][0]=isNaN(i[r][1])?i[r][0]:i[r][1]}function Zo(e){for(var t=e.length,n=Array(t);--t>=0;)n[t]=t;return n}function Qo(e,t){return e[t]}function $o(e){let t=[];return t.key=e,t}function es(){var e=U([]),t=Zo,n=Xo,r=Qo;function i(i){var a=Array.from(e.apply(this,arguments),$o),o,s=a.length,c=-1,l;for(let e of i)for(o=0,++c;o<s;++o)(a[o][c]=[0,+r(e,a[o].key,c,i)]).data=e;for(o=0,l=Ja(t(a));o<s;++o)a[l[o]].index=o;return n(a,l),a}return i.keys=function(t){return arguments.length?(e=typeof t==`function`?t:U(Array.from(t)),i):e},i.value=function(e){return arguments.length?(r=typeof e==`function`?e:U(+e),i):r},i.order=function(e){return arguments.length?(t=e==null?Zo:typeof e==`function`?e:U(Array.from(e)),i):t},i.offset=function(e){return arguments.length?(n=e??Xo,i):n},i}function ts(e,t){if((r=e.length)>0){for(var n,r,i=0,a=e[0].length,o;i<a;++i){for(o=n=0;n<r;++n)o+=e[n][i][1]||0;if(o)for(n=0;n<r;++n)e[n][i][1]/=o}Xo(e,t)}}function ns(e,t){if((i=e.length)>0){for(var n=0,r=e[t[0]],i,a=r.length;n<a;++n){for(var o=0,s=0;o<i;++o)s+=e[o][n][1]||0;r[n][1]+=r[n][0]=-s/2}Xo(e,t)}}function rs(e,t){if(!(!((o=e.length)>0)||!((a=(i=e[t[0]]).length)>0))){for(var n=0,r=1,i,a,o;r<a;++r){for(var s=0,c=0,l=0;s<o;++s){for(var u=e[t[s]],d=u[r][1]||0,f=(d-(u[r-1][1]||0))/2,p=0;p<s;++p){var m=e[t[p]],h=m[r][1]||0,g=m[r-1][1]||0;f+=h-g}c+=d,l+=f*d}i[r-1][1]+=i[r-1][0]=n,c&&(n-=l/c)}i[r-1][1]+=i[r-1][0]=n,Xo(e,t)}}function is(e,t,n){return Array.isArray(e)&&e&&t+n!==0?e.slice(t,n+1):e}function W(e){return Number.isFinite(e)}function as(e){return typeof e==`number`&&e>0&&Number.isFinite(e)}function os(e){if(e)return{x:e.x,y:e.y,upperWidth:`upperWidth`in e?e.upperWidth:e.width,lowerWidth:`lowerWidth`in e?e.lowerWidth:e.width,width:e.width,height:e.height}}function ss(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function cs(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?ss(Object(n),!0).forEach(function(t){ls(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ss(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function ls(e,t,n){return(t=us(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function us(e){var t=ds(e,`string`);return typeof t==`symbol`?t:t+``}function ds(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var fs=e=>{var t=e.viewBox,n=e.position,r=e.offset,i=r===void 0?0:r,a=e.parentViewBox,o=e.clamp,s=os(t),c=s.x,l=s.y,u=s.height,d=s.upperWidth,f=s.lowerWidth,p=c,m=c+(d-f)/2,h=(p+m)/2,g=(d+f)/2,_=p+d/2,v=u>=0?1:-1,y=v*i,b=v>0?`end`:`start`,x=v>0?`start`:`end`,S=d>=0?1:-1,C=S*i,w=S>0?`end`:`start`,T=S>0?`start`:`end`,E=a;if(n===`top`){var D={x:p+d/2,y:l-y,horizontalAnchor:`middle`,verticalAnchor:b};return o&&E&&(D.height=Math.max(l-E.y,0),D.width=d),D}if(n===`bottom`){var O={x:m+f/2,y:l+u+y,horizontalAnchor:`middle`,verticalAnchor:x};return o&&E&&(O.height=Math.max(E.y+E.height-(l+u),0),O.width=f),O}if(n===`left`){var k={x:h-C,y:l+u/2,horizontalAnchor:w,verticalAnchor:`middle`};return o&&E&&(k.width=Math.max(k.x-E.x,0),k.height=u),k}if(n===`right`){var A={x:h+g+C,y:l+u/2,horizontalAnchor:T,verticalAnchor:`middle`};return o&&E&&(A.width=Math.max(E.x+E.width-A.x,0),A.height=u),A}var j=o&&E?{width:g,height:u}:{};return n===`insideLeft`?cs({x:h+C,y:l+u/2,horizontalAnchor:T,verticalAnchor:`middle`},j):n===`insideRight`?cs({x:h+g-C,y:l+u/2,horizontalAnchor:w,verticalAnchor:`middle`},j):n===`insideTop`?cs({x:p+d/2,y:l+y,horizontalAnchor:`middle`,verticalAnchor:x},j):n===`insideBottom`?cs({x:m+f/2,y:l+u-y,horizontalAnchor:`middle`,verticalAnchor:b},j):n===`insideTopLeft`?cs({x:p+C,y:l+y,horizontalAnchor:T,verticalAnchor:x},j):n===`insideTopRight`?cs({x:p+d-C,y:l+y,horizontalAnchor:w,verticalAnchor:x},j):n===`insideBottomLeft`?cs({x:m+C,y:l+u-y,horizontalAnchor:T,verticalAnchor:b},j):n===`insideBottomRight`?cs({x:m+f-C,y:l+u-y,horizontalAnchor:w,verticalAnchor:b},j):n&&typeof n==`object`&&(F(n.x)||ae(n.x))&&(F(n.y)||ae(n.y))?cs({x:c+le(n.x,g),y:l+le(n.y,u),horizontalAnchor:`end`,verticalAnchor:`end`},j):cs({x:_,y:l+u/2,horizontalAnchor:`middle`,verticalAnchor:`middle`},j)},ps=[`top`,`left`,`right`,`bottom`];function ms(e){return e==null?!1:typeof e==`object`?!0:ps.includes(e)}function hs(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function gs(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?hs(Object(n),!0).forEach(function(t){_s(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):hs(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _s(e,t,n){return(t=vs(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function vs(e){var t=ys(e,`string`);return typeof t==`symbol`?t:t+``}function ys(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function G(e,t,n){return I(e)||I(t)?n:oe(t)?N(e,t,n):typeof t==`function`?t(e):n}var bs=(e,t,n)=>{if(t&&n){var r=n.width,i=n.height,a=t.align,o=t.verticalAlign,s=t.layout,c=t.position,l=t.offset,u=l===void 0?0:l;if(c!=null){if(ms(c)){if(c===`top`&&F(e.top))return gs(gs({},e),{},{top:e.top+(i||0)+u});if(c===`bottom`&&F(e.bottom))return gs(gs({},e),{},{bottom:e.bottom+(i||0)+u});if(c===`left`&&F(e.left))return gs(gs({},e),{},{left:e.left+(r||0)+u});if(c===`right`&&F(e.right))return gs(gs({},e),{},{right:e.right+(r||0)+u})}return e}if((s===`vertical`||s===`horizontal`&&o===`middle`)&&a!==`center`&&F(e[a]))return gs(gs({},e),{},{[a]:e[a]+(r||0)});if((s===`horizontal`||s===`vertical`&&a===`center`)&&o!==`middle`&&F(e[o]))return gs(gs({},e),{},{[o]:e[o]+(i||0)})}return e},xs=(e,t)=>e===`horizontal`&&t===`xAxis`||e===`vertical`&&t===`yAxis`||e===`centric`&&t===`angleAxis`||e===`radial`&&t===`radiusAxis`,Ss=(e,t,n,r)=>{if(r)return e.map(e=>e.coordinate);var i,a,o=e.map(e=>(e.coordinate===t&&(i=!0),e.coordinate===n&&(a=!0),e.coordinate));return i||o.push(t),a||o.push(n),o},Cs=(e,t,n)=>{if(!e)return null;var r=e.duplicateDomain,i=e.type,a=e.range,o=e.scale,s=e.realScaleType,c=e.isCategorical,l=e.categoricalDomain,u=e.tickCount,d=e.ticks,f=e.niceTicks,p=e.axisType;if(!o)return null;var m=s===`scaleBand`&&o.bandwidth?o.bandwidth()/2:2,h=(t||n)&&i===`category`&&o.bandwidth?o.bandwidth()/m:0;return h=p===`angleAxis`&&a&&a.length>=2?re(a[0]-a[1])*2*h:h,t&&(d||f)?(d||f||[]).map((e,t)=>{var n=r?r.indexOf(e):e,i=o.map(n);return W(i)?{coordinate:i+h,value:e,offset:h,index:t}:null}).filter(he):c&&l?l.map((e,t)=>{var n=o.map(e);return W(n)?{coordinate:n+h,value:e,index:t,offset:h}:null}).filter(he):o.ticks&&!n&&u!=null?o.ticks(u).map((e,t)=>{var n=o.map(e);return W(n)?{coordinate:n+h,value:e,index:t,offset:h}:null}).filter(he):o.domain().map((e,t)=>{var n=o.map(e);return W(n)?{coordinate:n+h,value:r?r[e]:e,index:t,offset:h}:null}).filter(he)},ws={sign:e=>{var t=e.length;if(!(t<=0)){var n=e[0]?.length;if(!(n==null||n<=0))for(var r=0;r<n;++r)for(var i=0,a=0,o=0;o<t;++o){var s=e[o]?.[r];if(s!=null){var c=s[1],l=s[0],u=ie(c)?l:c;u>=0?(s[0]=i,i+=u,s[1]=i):(s[0]=a,a+=u,s[1]=a)}}}},expand:ts,none:Xo,silhouette:ns,wiggle:rs,positive:e=>{var t=e.length;if(!(t<=0)){var n=e[0]?.length;if(!(n==null||n<=0))for(var r=0;r<n;++r)for(var i=0,a=0;a<t;++a){var o=e[a]?.[r];if(o!=null){var s=ie(o[1])?o[0]:o[1];s>=0?(o[0]=i,i+=s,o[1]=i):(o[0]=0,o[1]=0)}}}}},Ts=(e,t,n)=>{var r=ws[n]??Xo,i=es().keys(t).value((e,t)=>Number(G(e,t,0))).order(Zo).offset(r)(e);return i.forEach((n,r)=>{n.forEach((n,i)=>{var a=G(e[i],t[r],0);Array.isArray(a)&&a.length===2&&F(a[0])&&F(a[1])&&(n[0]=a[0],n[1]=a[1])})}),i};function Es(e){var t=e.axis,n=e.ticks,r=e.bandSize,i=e.entry,a=e.index,o=e.dataKey;if(t.type===`category`){if(!t.allowDuplicatedCategory&&t.dataKey&&!I(i[t.dataKey])){var s=fe(n,`value`,i[t.dataKey]);if(s)return s.coordinate+r/2}return n!=null&&n[a]?n[a].coordinate+r/2:null}var c=G(i,I(o)?t.dataKey:o),l=t.scale.map(c);return F(l)?l:null}var Ds=e=>{var t=e.flat(2).filter(F);return[Math.min(...t),Math.max(...t)]},Os=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],ks=(e,t,n)=>{if(!(e==null||Object.keys(e).length===0))return Os(Object.keys(e).reduce((r,i)=>{var a=e[i];if(!a)return r;var o=a.stackedData.reduce((e,r)=>{var i=Ds(is(r,t,n));return!W(i[0])||!W(i[1])?e:[Math.min(e[0],i[0]),Math.max(e[1],i[1])]},[1/0,-1/0]);return[Math.min(o[0],r[0]),Math.max(o[1],r[1])]},[1/0,-1/0]))},As=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,js=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Ms=(e,t,n)=>{if(e&&e.scale&&e.scale.bandwidth){var r=e.scale.bandwidth();if(!n||r>0)return r}if(e&&t&&t.length>=2){for(var i=D(t,e=>e.coordinate),a=[],o=0,s=1,c=i.length;s<c;s++){var l=(i[s]?.coordinate||0)-(i[s-1]?.coordinate||0);a.push(l),o=Math.max(l,o)}var u=o*1e-4,d=1/0;for(var f of a)f>u&&(d=Math.min(f,d));return d===1/0?0:d}return n?void 0:0};function Ns(e){var t=e.tooltipEntrySettings,n=e.dataKey,r=e.payload,i=e.value,a=e.name;return gs(gs({},t),{},{dataKey:n,payload:r,value:i,name:a})}function Ps(e,t){if(e!=null)return String(e);if(typeof t==`string`)return t}var Fs=(e,t)=>{if(t===`horizontal`)return e.relativeX;if(t===`vertical`)return e.relativeY},Is=(e,t)=>t===`centric`?e.angle:e.radius,Ls=e=>e.layout.width,Rs=e=>e.layout.height,zs=e=>e.layout.scale,Bs=e=>e.layout.margin,Vs=V(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),Hs=V(e=>e.cartesianAxis.yAxis,e=>Object.values(e)),Us=`data-recharts-item-index`,Ws=`data-recharts-item-id`;function Gs(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Ks(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Gs(Object(n),!0).forEach(function(t){qs(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Gs(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function qs(e,t,n){return(t=Js(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Js(e){var t=Ys(e,`string`);return typeof t==`symbol`?t:t+``}function Ys(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}var Xs=e=>e.brush.height;function Zs(e){return Hs(e).reduce((e,t)=>t.orientation===`left`&&!t.mirror&&!t.hide?e+(typeof t.width==`number`?t.width:60):e,0)}function Qs(e){return Hs(e).reduce((e,t)=>t.orientation===`right`&&!t.mirror&&!t.hide?e+(typeof t.width==`number`?t.width:60):e,0)}function $s(e){return Vs(e).reduce((e,t)=>t.orientation===`top`&&!t.mirror&&!t.hide?e+(typeof t.height==`number`?t.height:30):e,0)}function ec(e){return Vs(e).reduce((e,t)=>t.orientation===`bottom`&&!t.mirror&&!t.hide?e+(typeof t.height==`number`?t.height:30):e,0)}var tc=V([Ls,Rs,Bs,Xs,Zs,Qs,$s,ec,Ma,Na],(e,t,n,r,i,a,o,s,c,l)=>{var u={left:(n.left||0)+i,right:(n.right||0)+a},d=Ks(Ks({},{top:(n.top||0)+o,bottom:(n.bottom||0)+s}),u),f=d.bottom;d.bottom+=r,d=bs(d,c,l);var p=e-d.left-d.right,m=t-d.top-d.bottom;return Ks(Ks({brushBottom:f},d),{},{width:Math.max(p,0),height:Math.max(m,0)})}),nc=V(tc,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),rc=V(Ls,Rs,(e,t)=>({x:0,y:0,width:e,height:t})),ic=(0,L.createContext)(null),ac=()=>(0,L.useContext)(ic)!=null,oc=e=>e.brush,sc=V([oc,tc,Bs],(e,t,n)=>({height:e.height,x:F(e.x)?e.x:t.left,y:F(e.y)?e.y:t.top+t.height+t.brushBottom-(n?.bottom||0),width:F(e.width)?e.width:t.width}));function cc(e,t,{signal:n,edges:r}={}){let i,a=null,o=r!=null&&r.includes(`leading`),s=r==null||r.includes(`trailing`),c=()=>{a!==null&&(e.apply(i,a),i=void 0,a=null)},l=()=>{s&&c(),p()},u=null,d=()=>{u!=null&&clearTimeout(u),u=setTimeout(()=>{u=null,l()},t)},f=()=>{u!==null&&(clearTimeout(u),u=null)},p=()=>{f(),i=void 0,a=null},m=()=>{c()},h=function(...e){if(n?.aborted)return;i=this,a=e;let t=u==null;d(),o&&t&&c()};return h.schedule=d,h.cancel=p,h.flush=m,n?.addEventListener(`abort`,p,{once:!0}),h}function lc(e,t=0,n={}){typeof n!=`object`&&(n={});let{leading:r=!1,trailing:i=!0,maxWait:a}=n,o=[,,];r&&(o[0]=`leading`),i&&(o[1]=`trailing`);let s,c=null,l=cc(function(...t){s=e.apply(this,t),c=null},t,{edges:o}),u=function(...t){return a!=null&&(c===null&&(c=Date.now()),Date.now()-c>=a)?(s=e.apply(this,t),c=Date.now(),l.cancel(),l.schedule(),s):(l.apply(this,t),s)};return u.cancel=l.cancel,u.flush=()=>(l.flush(),s),u}function uc(e,t=0,n={}){let{leading:r=!0,trailing:i=!0}=n;return lc(e,t,{leading:r,maxWait:t,trailing:i})}var dc=function(e,t){var n=[...arguments].slice(2);if(typeof console<`u`&&console.warn&&(t===void 0&&console.warn(`LogUtils requires an error message argument`),!e))if(t===void 0)console.warn(`Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.`);else{var r=0;console.warn(t.replace(/%s/g,()=>n[r++]))}},fc={width:`100%`,height:`100%`,debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},pc=(e,t,n)=>{var r=n.width,i=r===void 0?fc.width:r,a=n.height,o=a===void 0?fc.height:a,s=n.aspect,c=n.maxHeight,l=ae(i)?e:Number(i),u=ae(o)?t:Number(o);return s&&s>0&&(l?u=l/s:u&&(l=u*s),c&&u!=null&&u>c&&(u=c)),{calculatedWidth:l,calculatedHeight:u}},mc={width:0,height:0,overflow:`visible`},hc={width:0,overflowX:`visible`},gc={height:0,overflowY:`visible`},_c={},vc=e=>{var t=e.width,n=e.height,r=ae(t),i=ae(n);return r&&i?mc:r?hc:i?gc:_c};function yc(e){var t=e.width,n=e.height,r=e.aspect,i=t,a=n;return i===void 0&&a===void 0?(i=fc.width,a=fc.height):i===void 0?i=r&&r>0?void 0:fc.width:a===void 0&&(a=r&&r>0?void 0:fc.height),{width:i,height:a}}var bc=[`aspect`,`initialDimension`,`width`,`height`,`minWidth`,`minHeight`,`maxHeight`,`children`,`debounce`,`id`,`className`,`onResize`,`style`];function xc(){return xc=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},xc.apply(null,arguments)}function Sc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Cc(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Sc(Object(n),!0).forEach(function(t){wc(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Sc(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function wc(e,t,n){return(t=Tc(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Tc(e){var t=Ec(e,`string`);return typeof t==`symbol`?t:t+``}function Ec(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Dc(e,t){return Mc(e)||jc(e,t)||kc(e,t)||Oc()}function Oc(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
@@ -0,0 +1 @@
1
+ import{d as e,f as t,y as n}from"./index-BGr_6pGY.js";function r(r,i){return e({...r,enabled:!0,suspense:!0,throwOnError:t,placeholderData:void 0},n,i)}export{r as t};
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <meta name="referrer" content="no-referrer" />
7
7
  <title>NiceEval Insight</title>
8
- <script type="module" crossorigin src="/assets/index-BSJP_UAR.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-BGr_6pGY.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/jsx-runtime-BnHLaUks.js">
10
10
  <link rel="stylesheet" crossorigin href="/assets/index-pLVwj9I4.css">
11
11
  </head>
@@ -4959,16 +4959,32 @@ var AggregateFields = {
4959
4959
  };
4960
4960
  var OverviewPublishedMemberSchema = Schema.Struct({
4961
4961
  ...RunPublishedPublicationSchema.fields,
4962
+ verdict: Schema.NullOr(Schema.Literals([
4963
+ "passed",
4964
+ "failed",
4965
+ "errored",
4966
+ "skipped"
4967
+ ])),
4962
4968
  score: MetricSchema,
4963
4969
  costUSD: CostMetricSchema,
4964
4970
  durationMs: MetricSchema,
4965
4971
  tokens: MetricSchema
4966
4972
  });
4973
+ var InspectionExecutionValueSchema = Schema.Union([
4974
+ Schema.Struct({
4975
+ state: Schema.Literal("available"),
4976
+ value: Schema.String
4977
+ }),
4978
+ Schema.Struct({ state: Schema.Literal("mixed") }),
4979
+ Schema.Struct({ state: Schema.Literal("unavailable") })
4980
+ ]);
4981
+ var InspectionLabelsSchema = Schema.Record(Schema.String, InspectionExecutionValueSchema);
4967
4982
  var OverviewMemberSchema = Schema.Struct({
4968
4983
  runId: Schema.String,
4969
4984
  slotId: Schema.String,
4970
4985
  evalId: Schema.String,
4971
4986
  attemptOrdinal: Schema.Number,
4987
+ labels: InspectionLabelsSchema,
4972
4988
  publication: Schema.Union([
4973
4989
  RunPendingPublicationSchema,
4974
4990
  OverviewPublishedMemberSchema,
@@ -4981,22 +4997,9 @@ var OverviewGroupSchema = Schema.Struct({
4981
4997
  });
4982
4998
  var OverviewExperimentSchema = Schema.Struct({
4983
4999
  experimentId: Schema.String,
4984
- agent: Schema.Union([
4985
- Schema.Struct({
4986
- state: Schema.Literal("available"),
4987
- value: Schema.String
4988
- }),
4989
- Schema.Struct({ state: Schema.Literal("mixed") }),
4990
- Schema.Struct({ state: Schema.Literal("unavailable") })
4991
- ]),
4992
- model: Schema.Union([
4993
- Schema.Struct({
4994
- state: Schema.Literal("available"),
4995
- value: Schema.String
4996
- }),
4997
- Schema.Struct({ state: Schema.Literal("mixed") }),
4998
- Schema.Struct({ state: Schema.Literal("unavailable") })
4999
- ]),
5000
+ agent: InspectionExecutionValueSchema,
5001
+ model: InspectionExecutionValueSchema,
5002
+ labels: InspectionLabelsSchema,
5000
5003
  groups: Schema.Array(OverviewGroupSchema),
5001
5004
  ...AggregateFields
5002
5005
  });
@@ -11817,8 +11820,8 @@ function jsonByteLength$1(value) {
11817
11820
  function selectInspectionOverview(facts, supportingRuns) {
11818
11821
  const runs = isLoadedInspectionRuns(facts) ? facts : loadInspectionRuns(facts);
11819
11822
  const selected = selectLatestSlots(runs, supportingRuns ?? runs);
11820
- const cells = groupSelectedSlots(selected, ({ target, slot }) => `${target.run.experimentId}\u0000${slot.evalId}`).map((slots) => makeCell(slots));
11821
- const experiments = groupSelectedSlots(selected, ({ target }) => target.run.experimentId).map((slots) => makeExperiment(slots, cells.filter(({ experimentId }) => experimentId === slots[0]?.target.run.experimentId)));
11823
+ const cells = groupSelectedSlots(selected, ({ target, slot }) => `${target.run.experimentId}\u0000${slot.evalId}`).map((slots) => makeCell(slots, inspectionLabelKeys(selected.filter(({ target }) => target.run.experimentId === slots[0]?.target.run.experimentId))));
11824
+ const experiments = groupSelectedSlots(selected, ({ target }) => target.run.experimentId).map((slots) => makeExperiment(slots, cells.filter(({ experimentId }) => experimentId === slots[0]?.target.run.experimentId), inspectionLabelKeys(slots)));
11822
11825
  return closeOverview({
11823
11826
  totals: aggregate(selected, scoreFromCells(cells)),
11824
11827
  experiments,
@@ -11941,7 +11944,7 @@ function analyzeAttempt(resolved, target, member, slot) {
11941
11944
  ref
11942
11945
  });
11943
11946
  }
11944
- function makeCell(slots) {
11947
+ function makeCell(slots, labelKeys) {
11945
11948
  const first = slots[0];
11946
11949
  if (first === void 0) throw new Error("Overview cell cannot be empty");
11947
11950
  return Object.freeze({
@@ -11956,12 +11959,13 @@ function makeCell(slots) {
11956
11959
  slotId: selected.slot.slotId,
11957
11960
  evalId: selected.slot.evalId,
11958
11961
  attemptOrdinal: selected.slot.attemptOrdinal,
11962
+ labels: inspectionLabels([selected], labelKeys),
11959
11963
  publication: overviewPublication(selected)
11960
11964
  });
11961
11965
  }))
11962
11966
  });
11963
11967
  }
11964
- function makeExperiment(slots, cells) {
11968
+ function makeExperiment(slots, cells, labelKeys) {
11965
11969
  const first = slots[0];
11966
11970
  if (first === void 0) throw new Error("Overview Experiment cannot be empty");
11967
11971
  const prefixes = /* @__PURE__ */ new Map();
@@ -11982,6 +11986,7 @@ function makeExperiment(slots, cells) {
11982
11986
  experimentId: first.target.run.experimentId,
11983
11987
  agent: executionValue(slots.map(({ target }) => target.run.context.execution.agentId)),
11984
11988
  model: executionValue(slots.map(({ target }) => target.run.context.execution.model)),
11989
+ labels: inspectionLabels(slots, labelKeys),
11985
11990
  ...aggregate(slots, scoreFromCells(cells)),
11986
11991
  groups: Object.freeze(groups)
11987
11992
  });
@@ -12066,6 +12071,7 @@ function overviewPublication(selected) {
12066
12071
  attemptLocator: resolved.locator,
12067
12072
  originRunId: member.attempt.originRunId,
12068
12073
  originSlotId: resolved.attempt.slotId,
12074
+ verdict: selected.analysis.verdict,
12069
12075
  score: scoreForMember(selected),
12070
12076
  costUSD: costForSlots([selected]),
12071
12077
  durationMs: metricForSlots([selected], "durationMs", "ms", "average"),
@@ -12080,6 +12086,15 @@ function executionValue(values) {
12080
12086
  value
12081
12087
  });
12082
12088
  }
12089
+ function inspectionLabelKeys(slots) {
12090
+ return Object.freeze([...new Set(slots.flatMap(({ target }) => Object.keys(target.run.context.labels)))].sort(compareText));
12091
+ }
12092
+ function inspectionLabels(slots, keys) {
12093
+ const targets = /* @__PURE__ */ new Map();
12094
+ for (const { target } of slots) targets.set(target.run.runId, target);
12095
+ const runs = [...targets.values()];
12096
+ return Object.freeze(Object.fromEntries(keys.map((key) => [key, executionValue(runs.map(({ run }) => run.context.labels[key] ?? null))])));
12097
+ }
12083
12098
  function costUSDOf(resolved) {
12084
12099
  const attachment = attemptAttachment(resolved, NiceEvalRecordAttachments.attemptCost.family);
12085
12100
  if (attachment === void 0 || attachment.physical.familyRevision !== NiceEvalCurrentRecordAttachments.attemptCost.revision) return unavailableAttemptCost();
@@ -51,7 +51,7 @@ pnpm dev
51
51
 
52
52
  ```bash
53
53
  cd examples/zh/ai-sdk
54
- pnpm exec niceeval list
54
+ pnpm exec niceeval run list
55
55
  pnpm exec niceeval exp compare-models weather-tool
56
56
  pnpm exec niceeval view
57
57
  ```
@@ -20,7 +20,7 @@ description: "按被测对象选择可运行的 NiceEval 示例:Agent Framewor
20
20
  | [pi-agent-core](/zh/examples/integrations/pi-sdk) | `createPiAgentEventStream` | 原生事件流、多轮、工具、HITL。SDK 没有 OTel |
21
21
  | [LangGraph](/zh/examples/integrations/langgraph) | 手写自定义 SSE 帧映射 | Python 应用、多轮、工具、HITL |
22
22
 
23
- 每组源码都位于 [`examples/zh/origin/`](https://github.com/CorrectRoadH/niceeval/tree/main/examples/zh/origin) 和 [`examples/zh/tier1/`](https://github.com/CorrectRoadH/niceeval/tree/main/examples/zh/tier1)。需要 OTel 或 Experiment Flags 时,再沿相同项目进入 `tier2/` 和 `tier3/`。
23
+ 每组源码都位于 [`examples/zh/origin/`](https://github.com/CorrectRoadH/niceeval/tree/main/examples/zh/origin) 和 [`examples/zh/tier1/`](https://github.com/CorrectRoadH/niceeval/tree/main/examples/zh/tier1)。需要 OTel 或 Experiment Flags 时,再沿相同项目进入 `tier2/` 和 `tier3/`。每次运行的结果从项目本机的 `niceeval show`、`query` 或 `view` 审阅。
24
24
 
25
25
  ## 完整评测项目
26
26
 
@@ -39,14 +39,12 @@ description: "按被测对象选择可运行的 NiceEval 示例:Agent Framewor
39
39
 
40
40
  [coding-agent-memory-evals](https://github.com/CorrectRoadH/coding-agent-memory-evals) 用同一批开发任务和同一个模型,对比 Coding Agent 是否带持久记忆时的任务成功率、成本、耗时和行为差异。
41
41
 
42
- - [查看在线报告](https://niceeval.com/showcase/memory)
43
42
  - [查看项目源码](https://github.com/CorrectRoadH/coding-agent-memory-evals)
44
43
 
45
44
  ### Terminal-Bench
46
45
 
47
46
  [terminal-bench](https://github.com/NiceEval/terminal-bench) 用 NiceEval 跑经过审核的 Harbor Terminal-Bench 题包,判分仍走原版 `run-tests.sh`,并把各 coding agent 与模型并排比较。
48
47
 
49
- - [查看在线报告](https://niceeval.com/showcase/terminal-bench)
50
48
  - [查看项目源码](https://github.com/NiceEval/terminal-bench)
51
49
 
52
50
  ## Examples 的收录边界
@@ -69,7 +69,7 @@ npx niceeval exp local weather/brooklyn
69
69
  通过制评估把断言结果折叠成最终 Verdict;计分制评估累计正式 score。
70
70
  </Step>
71
71
  <Step title="Report">
72
- 控制台和 reporters 输出结果,事实同时提交进 `.niceeval/` Record 根。
72
+ 控制台和 reporters 输出结果;Run 与已发布 Attempt 的事实写入唯一的 `.niceeval/record.sqlite`。
73
73
  </Step>
74
74
  </Steps>
75
75
 
@@ -35,7 +35,9 @@ Experiment 还有一对实验级 Hook `setup` / `teardown`:整个实验只跑
35
35
 
36
36
  ## 矩阵对比
37
37
 
38
- 要比较的每个变体写一个 experiment 文件:两个模型就是两个文件,只差 `model` 一行。prompt A/B 就是只差一个参数。同一批评估用例在多个 experiment 下各跑一遍,pass rate、成本、延迟就有了可比的横截面——`niceeval view` 里叠着看。适合比什么、结果怎么读,见[实验矩阵](/zh/tutorials/experiments)。
38
+ 要比较的每个变体写一个 experiment 文件:两个模型就是两个文件,只差 `model` 一行。prompt A/B 就是只差一个参数。同一批评估用例在多个 experiment 下各跑一遍,固定 Inspection operation 在同一 `PublicationCutoff` 中比较已发布 Attempt;每个 Experiment 保留自己的评估用例集合与分母,不伪造共同交集。适合比什么、结果怎么读,见[实验矩阵](/zh/tutorials/experiments)。
39
+
40
+ 只用于报告归类、不会改变 Attempt 里发生什么的值写进 `labels`。它们是 Run 的不可变配置上下文,不会透传给 Adapter 或评估用例。改变 `labels` 后再次运行会建立带新标注的 Run,并可按当次 policy 引用既有 Attempt;历史 Run 保留当时的 `labels`。
39
41
 
40
42
  ## 相关阅读
41
43
 
@@ -4,10 +4,10 @@ sidebarTitle: "架构概览"
4
4
  description: "理解 Record、固定 Inspection operation、Query、Show 和 View 的职责边界。"
5
5
  ---
6
6
 
7
- NiceEval 将运行后的数据分成三层。Record 保存封口后的运行事实。Inspection operation 关闭读取语义。三个 consumer 各自交付结果。
7
+ NiceEval 将运行后的数据分成三层。Record 保存 Run 与已发布 Attempt 的运行事实。Inspection operation 关闭读取语义。三个 consumer 各自交付结果。
8
8
 
9
9
  ```text
10
- sealed Record facts
10
+ published Run and Attempt facts
11
11
  ↓
12
12
  fixed Inspection operations
13
13
  ↓
@@ -16,7 +16,9 @@ machine Query | terminal Show | browser View
16
16
 
17
17
  ## Record 保存事实
18
18
 
19
- 每个 Run 发布到项目的 `.niceeval/record.sqlite`。已发布事实不可修改。这个 canonical SQLite 文件本身即可复制或归档;`--record <file>` 会完整校验外部副本后只读打开。
19
+ 每个项目只有一个 canonical `.niceeval/record.sqlite`。Runner 创建 Run 时冻结预期 slot;每个 Attempt 在自己的原子发布事务完成后立即成为可读事实,即使 origin Run 仍是 `active`。已发布 Attempt 和终态 Run 都不可修改。
20
+
21
+ 一次 Invocation 完整收尾并通过 portable gate 后,canonical 文件本身即可复制或归档。`query` 和 `show` 的 `--record <file>` 会完整校验外部副本后只读打开。
20
22
 
21
23
  ## Inspection 关闭读取语义
22
24
 
@@ -28,7 +30,7 @@ Inspection operation 在返回前决定 source、selector、sealed cutoff、数
28
30
 
29
31
  - `niceeval query` 是 machine Query,面向 AI、脚本和 CI。它输出 `niceeval.query/v1` JSON document。
30
32
  - `niceeval show` 是 terminal Show,面向人在终端快速审阅和下钻。
31
- - `niceeval view` 是 browser View,面向人在 loopback 浏览器使用固定第一方 Insight。
33
+ - `niceeval view` 是 browser View,面向人在受保护的 loopback 浏览器使用固定第一方 Insight。
32
34
 
33
35
  三个 consumer 共享同一个固定 Inspection result。它们各自负责 JSON protocol、终端文字布局或浏览器界面,不共享 formatter、路由、组件、主题或呈现 schema,也不重选成员或重算业务结果。
34
36
 
@@ -4,24 +4,28 @@ sidebarTitle: "Record"
4
4
  description: "了解 canonical SQLite Record 的写入、携带与读取边界。"
5
5
  ---
6
6
 
7
- Record 保存 Run、Attempt、Attachment、Content 和 Seal。项目里的 canonical SQLite 文件位于 `.niceeval/record.sqlite`,可同时包含正在写入和已经发布的运行事实。
7
+ Record 是项目唯一的持久事实集。canonical SQLite 文件位于 `.niceeval/record.sqlite`。
8
8
 
9
- 只有 sealed Run 可供 Inspection、`query` 和 `view` 读取。发布后的事实不可修改。缓存、凭据、协调状态和 OS-user Service state 不属于 Record。
9
+ Run create、运行中的聚合、已发布 Attempt、Attachment、Content、协调状态和 Invocation Session 都是同一份 ProjectDatabase 的 rows。
10
+
11
+ Run 创建后立即可发现。Attempt 完成原子发布后,就能在固定 `PublicationCutoff` 中被读取;Run 不必先收口。
12
+
13
+ Inspection、`query`、`show` 和 `view` 都遵守这条边界。发布后的 Attempt closure 不可修改。缓存、凭据和 OS-user Service state 不属于 Record。
10
14
 
11
15
  ## 携带 Record
12
16
 
13
17
  ```sh
14
18
  cp .niceeval/record.sqlite ./baseline.record.sqlite
15
19
  niceeval query explain --record ./baseline.record.sqlite --request request.json
16
- niceeval view --record ./baseline.record.sqlite
20
+ niceeval show --record ./baseline.record.sqlite
17
21
  ```
18
22
 
19
23
  canonical 文件本身即可复制或归档。不要复制 WAL、checkpoint 或 staging 文件,也不要在复制后修改 SQLite 内容。
20
24
 
21
- `query`、`show` 与 `view` 把 `--record` 指定的文件当 hostile input。只有精确 current schema、SQLite integrity 和领域不变量全部成立时才读取;命令不会迁移、修补或部分读取。Record 仍可能包含敏感业务内容;分享者负责权限、脱敏和保留策略。
25
+ `query` 与 `show` 把 `--record` 指定的文件当 hostile input。只有精确 current schema、SQLite integrity 和领域不变量全部成立时才读取;命令不会迁移、修补或部分读取。Record 仍可能包含敏感业务内容;分享者负责权限、脱敏和保留策略。
22
26
 
23
27
  ## 读取边界
24
28
 
25
- Record 不负责统计、比较或页面。固定 Inspection operation 读取封口事实后,才把闭合的结果交给 `query` 或第一方 `view`。读取路径不能把数据库、reader、Content handle 或 SQL 能力交给外部代码。
29
+ Record 不负责统计、比较或页面。固定 Inspection operation 在一个 `PublicationCutoff` 读取已发布事实,再把闭合结果交给 `query`、`show` 或第一方 `view`。读取路径不能把数据库、reader、Content handle 或 SQL 能力交给外部代码。
26
30
 
27
31
  查看 [CLI](/zh/reference/cli) 选择读取方式。
@@ -4,10 +4,10 @@ sidebarTitle: "运行器"
4
4
  description: "了解 Runner 如何发布 Run,以及读取路径为什么只看已封口事实。"
5
5
  ---
6
6
 
7
- Runner 执行 Experiment,写入 Attempt 事实,并在完整 Run 达到封口条件后原子发布。执行中断、I/O 失败或尚未完成的运行不会成为可读取的业务结果。
7
+ Runner 为选中的 Experiment 创建 Run,并在创建事务中冻结 `runId`、`invocationId` 与全部 expected slots。每个 Attempt 完成自己的 closure 后独立原子发布;已发布 Attempt 即使其 Run 仍为 `active`,也能被读取、比较、沿用或显式采用。尚未发布的聚合和晚到写入不对读取面可见。
8
8
 
9
- 命令完成后的 receipt 会给出 `runIds`。把它们作为稳定的运行边界:人用 `niceeval view --run <run-id>` 审阅,AI、脚本和 CI 先从 `niceeval query discover` 获取可用 operation,再运行对应 request。
9
+ 命令结束后的 receipt 给出 `createdRunIds` 与 `publicationCutoff`。把它们作为稳定的运行边界:人用 `niceeval view --run <run-id>` 审阅,AI、脚本和 CI 先从 `niceeval query discover` 获取可用 operation,再运行对应 request。
10
10
 
11
- 同一个项目的 operational View 只读取当前 sealed cutoff。新 Run 发布后,用户确认才会 refresh。Snapshot View 固定 exact Seal,不会刷新。
11
+ View 在一个固定 `PublicationCutoff` 中读取事实。新 publication 出现后,页面提示用户刷新;用户确认后才切换到新的 cutoff。
12
12
 
13
13
  Runner 不把数据库、执行工作目录或未封口记录交给读取路径。运行后查看的 selector、缺口、Evidence 与 comparison 由固定 Inspection operation 决定。
@@ -19,7 +19,7 @@ import { DirectMode } from '/snippets/diagram-direct-mode.jsx';
19
19
 
20
20
  它也框架无关、足够通用:可以用来评估给 Claude Code / Codex 写的 Coding Agent 插件、Hook 和 Skill,也可以评估你自己的 AI Agent 应用。无论你的应用基于 AI SDK、LangGraph、Pi,还是自研 Agent loop,都可以通过 Adapter 接入。
21
21
 
22
- 评估运行完成后,[NiceEval](https://niceeval.com/) 会生成易读报告和结构化 Artifact,让你能查看 Agent 的行为细节,调试失败原因,并持续优化通过率、成本和延迟。
22
+ Run 会持续发布已完成的 Attempt 到项目内唯一的 Record。你可以用 `niceeval show` 快速审阅,用 `query` 交给自动化,并在 `niceeval view` 中查看同一批事实的详情、通过率、成本和延迟。
23
23
 
24
24
  <CardGroup cols={3}>
25
25
  <Card title="Agent Framework 接入" icon="code-branch" href="/zh/examples">
@@ -49,7 +49,7 @@ import { DirectMode } from '/snippets/diagram-direct-mode.jsx';
49
49
 
50
50
  <DirectMode />
51
51
 
52
- - **[NiceEval](https://niceeval.com/) 核心** 负责发现评估用例、调度运行、打分、生成报告与 artifacts。
52
+ - **NiceEval runner** 负责发现评估用例、调度运行、打分并发布 Run 与 Attempt 事实。
53
53
  - **Agent 适配器** 是开放边界:你决定如何调用被测系统,以及如何把输出映射成标准事件流。
54
54
  - **Sandbox** 负责文件系统隔离:需要真实 workspace 的 coding agent 使用 Docker 或云端 Sandbox。自有 Web Agent 可以直连,无需 Docker。
55
55
 
@@ -117,11 +117,7 @@ pnpm exec niceeval view # 在网页中审阅结果
117
117
 
118
118
  ## 快速开始
119
119
 
120
- 如果你想让 Coding Agent 直接帮项目接入 [NiceEval](https://niceeval.com/),让它先读安装入口:
121
-
122
- ```text
123
- READ https://niceeval.com/INIT.md and set up niceeval for this repo: install it, integrate it with this project, and run the first eval end to end.
124
- ```
120
+ 先从[快速开始](/zh/tutorials/quickstart)完成第一次运行。接入现有应用时,按[接入你的 Agent](/zh/tutorials/connect-your-agent)选择 Adapter 和 Experiment。
125
121
 
126
122
  <CardGroup cols={3}>
127
123
  <Card title="浏览所有可运行示例" icon="grid-2" href="/zh/examples">
@@ -139,7 +135,7 @@ READ https://niceeval.com/INIT.md and set up niceeval for this repo: install it,
139
135
 
140
136
  <AccordionGroup>
141
137
  <Accordion title="需要注册账号吗?">
142
- 不需要。跑评估用例和 `niceeval view` 看报告全在本地完成。只有被测对象本身是需要隔离工作区的 coding agent 时,才会用到 Docker 或 E2B 这类 Sandbox provider。
138
+ 不需要。跑评估用例和 `niceeval view` 审阅结果都在本地完成。只有被测对象本身需要隔离工作区时,才会用到 Docker 或 E2B 这类 Sandbox Provider。
143
139
  </Accordion>
144
140
  <Accordion title="我的 Agent 不是用 TypeScript / JavaScript 写的,能接吗?">
145
141
  能。Adapter 只是对着应用本来暴露的接口(HTTP、gRPC、WebSocket 都行)收发。应用本身用什么语言写、部署在哪里,[NiceEval](https://niceeval.com/) 不关心,见 [Adapter](/zh/explanation/adapter)。
@@ -9,7 +9,7 @@ import { DirectMode } from '/snippets/diagram-direct-mode.jsx';
9
9
 
10
10
  [NiceEval](https://niceeval.com/) 是一个 Agent 评估工具,帮助团队衡量、评估并改进生产环境中的 AI。借助 NiceEval,团队可以比较模型、迭代 Agent、发现回归问题,并利用真实用户数据持续改进 AI 应用。
11
11
 
12
- NiceEval 以本地优先为核心:你的评估在你自己的环境中运行。团队可用固定的 `query` 交给自动化流程,并用本地 `view` 审阅已封口事实。
12
+ NiceEval 以本地优先为核心:你的评估在你自己的环境中运行。已发布的 Attempt 进入项目内唯一的 Record;团队可用固定的 `query` 交给自动化流程,并用本地 `view` 审阅同一批事实。
13
13
 
14
14
  它既能评估用于 Claude Code / Codex 的 Plugins、Hook 和 Skill,也能直接评你自己的 AI Agent 应用。无论你的 Agent 基于 AI SDK、LangGraph、Pi 还是自研 Agent SDK,都可以通过 Adapter 接入同一套评估体系。
15
15
 
@@ -110,4 +110,4 @@ NiceEval 是一个 Agent-Native 的评估工具。Dataset / golden 那一套「
110
110
 
111
111
  ## 接下来读什么
112
112
 
113
- [快速开始](/zh/tutorials/quickstart) 会带你安装 [NiceEval](https://niceeval.com/)、构建评估用例、得到评估报告。
113
+ [快速开始](/zh/tutorials/quickstart) 会带你安装 NiceEval、构建评估用例,并审阅首次运行发布的结果。