@dendelion/paper-camp 0.27.0 → 0.28.2

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 (86) hide show
  1. package/README.md +26 -9
  2. package/dist/chunks/{phase-progress.DoB5EhtE.js → daemon-state.CI9RArUn.js} +1394 -1301
  3. package/dist/chunks/daemon-state.CI9RArUn.js.map +1 -0
  4. package/dist/chunks/dev-port.BGjGddjm.js +43 -0
  5. package/dist/chunks/dev-port.BGjGddjm.js.map +1 -0
  6. package/dist/cli/index.js +7403 -7012
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/core/daemon-state/daemon-state.d.ts +26 -0
  9. package/dist/core/daemon-state/daemon-state.d.ts.map +1 -0
  10. package/dist/core/daemon-state/daemon-state.test.d.ts +2 -0
  11. package/dist/core/daemon-state/daemon-state.test.d.ts.map +1 -0
  12. package/dist/core/daemon-state/index.d.ts +2 -0
  13. package/dist/core/daemon-state/index.d.ts.map +1 -0
  14. package/dist/core/git-log.d.ts.map +1 -1
  15. package/dist/core/hosted-client.d.ts +2 -0
  16. package/dist/core/hosted-client.d.ts.map +1 -0
  17. package/dist/core/index.d.ts +1 -0
  18. package/dist/core/index.d.ts.map +1 -1
  19. package/dist/core/index.js +139 -129
  20. package/dist/core/issues.d.ts.map +1 -1
  21. package/dist/core/machine-registry/machine-registry.d.ts +3 -0
  22. package/dist/core/machine-registry/machine-registry.d.ts.map +1 -1
  23. package/dist/core/parse/parser.d.ts +6 -2
  24. package/dist/core/parse/parser.d.ts.map +1 -1
  25. package/dist/core/parse/schemas.d.ts +3 -0
  26. package/dist/core/parse/schemas.d.ts.map +1 -1
  27. package/dist/core/phase-progress.d.ts.map +1 -1
  28. package/dist/core/run-filters.d.ts +26 -0
  29. package/dist/core/run-filters.d.ts.map +1 -0
  30. package/dist/core/run-filters.test.d.ts +2 -0
  31. package/dist/core/run-filters.test.d.ts.map +1 -0
  32. package/dist/core/run-rows.d.ts +16 -0
  33. package/dist/core/run-rows.d.ts.map +1 -0
  34. package/dist/core/run-rows.test.d.ts +2 -0
  35. package/dist/core/run-rows.test.d.ts.map +1 -0
  36. package/dist/core/run-stats.d.ts +10 -0
  37. package/dist/core/run-stats.d.ts.map +1 -0
  38. package/dist/core/run-stats.test.d.ts +2 -0
  39. package/dist/core/run-stats.test.d.ts.map +1 -0
  40. package/dist/toolbar/toolbar.js +12065 -0
  41. package/dist/toolbar/toolbar.js.map +1 -0
  42. package/dist/types/index.d.ts +58 -5
  43. package/dist/types/index.d.ts.map +1 -1
  44. package/dist/types/index.js.map +1 -1
  45. package/dist/vite/index.js +51 -44
  46. package/dist/vite/index.js.map +1 -1
  47. package/package.json +22 -13
  48. package/dist/app/assets/index-BEeox2IM.js +0 -3
  49. package/dist/app/assets/index-BEeox2IM.js.map +0 -1
  50. package/dist/app/assets/index-BW-jiFHN.js +0 -4
  51. package/dist/app/assets/index-BW-jiFHN.js.map +0 -1
  52. package/dist/app/assets/index-BhD5WS8p.js +0 -2
  53. package/dist/app/assets/index-BhD5WS8p.js.map +0 -1
  54. package/dist/app/assets/index-C1zPjxRZ.js +0 -2
  55. package/dist/app/assets/index-C1zPjxRZ.js.map +0 -1
  56. package/dist/app/assets/index-C2q1JS1i.js +0 -7
  57. package/dist/app/assets/index-C2q1JS1i.js.map +0 -1
  58. package/dist/app/assets/index-CHcj_gHq.js +0 -6
  59. package/dist/app/assets/index-CHcj_gHq.js.map +0 -1
  60. package/dist/app/assets/index-DN8Ti3Ov.js +0 -2
  61. package/dist/app/assets/index-DN8Ti3Ov.js.map +0 -1
  62. package/dist/app/assets/index-DX3JeGXT.js +0 -2
  63. package/dist/app/assets/index-DX3JeGXT.js.map +0 -1
  64. package/dist/app/assets/main-BZd2c99C.css +0 -1
  65. package/dist/app/assets/main-DCzV1FeH.js +0 -425
  66. package/dist/app/assets/main-DCzV1FeH.js.map +0 -1
  67. package/dist/app/assets/sidebar-section-CFrPSdM0.js +0 -2
  68. package/dist/app/assets/sidebar-section-CFrPSdM0.js.map +0 -1
  69. package/dist/app/fonts/Luminari-Regular.woff +0 -0
  70. package/dist/app/img/paper-logo.png +0 -0
  71. package/dist/app/img/paper-logo.svg +0 -7
  72. package/dist/app/index.html +0 -22
  73. package/dist/app/manifest.json +0 -13
  74. package/dist/app/toolbar.js +0 -20351
  75. package/dist/app/toolbar.js.map +0 -1
  76. package/dist/chunks/dev-port.BHJn90Pm.js +0 -52
  77. package/dist/chunks/dev-port.BHJn90Pm.js.map +0 -1
  78. package/dist/chunks/phase-progress.DoB5EhtE.js.map +0 -1
  79. package/dist/cli.d.ts +0 -1
  80. package/dist/core.d.ts +0 -2
  81. package/dist/fonts/Luminari-Regular.woff +0 -0
  82. package/dist/img/paper-logo.png +0 -0
  83. package/dist/img/paper-logo.svg +0 -7
  84. package/dist/manifest.json +0 -13
  85. package/dist/types.d.ts +0 -2
  86. package/dist/vite.d.ts +0 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolbar.js","sources":["../../src/toolbar/route-attribute.ts","../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js","../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js","../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.production.min.js","../../node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js","../../src/app/services/api-base.ts","../../node_modules/.pnpm/@dendelion+paper-ui@0.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@dendelion/paper-ui/dist/index.css?raw","../../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/cjs/scheduler.production.min.js","../../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/index.js","../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js","../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/index.js","../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/client.js","../../src/app/features/plans/helpers/helpers.ts","../../src/app/features/plans/helpers/plan-list-selector.ts","../../src/app/services/activity-stream.ts","../../src/app/services/content/docs-api.ts","../../src/app/services/content/ideas-api.ts","../../src/app/services/content/notifications-api.ts","../../src/app/services/content/parked-questions-api.ts","../../src/app/services/content/plans-api.ts","../../src/app/hooks/use-focus-client.ts","../../src/app/hooks/use-scout-client.ts","../../src/app/services/agent-api.ts","../../src/app/services/git-api.ts","../../src/app/services/system/capabilities-api.ts","../../src/app/services/system/config-api.ts","../../src/app/hooks/use-status-client.ts","../../src/app/services/pairing-api.ts","../../src/app/components/icons.tsx","../../node_modules/.pnpm/use-sync-external-store@1.6.0_react@18.3.1/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../../node_modules/.pnpm/use-sync-external-store@1.6.0_react@18.3.1/node_modules/use-sync-external-store/shim/index.js","../../node_modules/.pnpm/use-sync-external-store@1.6.0_react@18.3.1/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js","../../node_modules/.pnpm/use-sync-external-store@1.6.0_react@18.3.1/node_modules/use-sync-external-store/shim/with-selector.js","../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","../../node_modules/.pnpm/tailwind-merge@2.6.1/node_modules/tailwind-merge/dist/bundle-mjs.mjs","../../node_modules/.pnpm/roughjs@4.6.6/node_modules/roughjs/bundled/rough.esm.js","../../node_modules/.pnpm/@dendelion+paper-ui@0.18.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@dendelion/paper-ui/dist/index.mjs","../../node_modules/.pnpm/zustand@4.5.7_@types+react@18.3.28_react@18.3.1/node_modules/zustand/esm/vanilla.mjs","../../node_modules/.pnpm/zustand@4.5.7_@types+react@18.3.28_react@18.3.1/node_modules/zustand/esm/index.mjs","../../src/app/services/checks-api.ts","../../src/app/stores/slices/slice-helpers.ts","../../src/app/stores/slices/agent-slice.ts","../../src/app/services/system/capacity-api.ts","../../src/app/stores/slices/capacity-slice.ts","../../src/app/stores/slices/diff-slice.ts","../../src/app/services/release-notes-api.ts","../../src/app/stores/slices/docs-slice.ts","../../src/app/stores/slices/ideas-slice.ts","../../src/app/stores/slices/notifications-slice.ts","../../src/app/stores/slices/parked-questions-slice.ts","../../src/app/utils/local-draft-store.ts","../../src/app/stores/slices/plans-slice.ts","../../src/app/features/roadmap/helpers/roadmap-filters.ts","../../src/app/stores/slices/roadmap-slice.ts","../../src/app/services/hub.ts","../../src/app/services/mount.ts","../../src/app/services/project-registry.ts","../../src/app/services/runtime-connection.ts","../../src/app/stores/slices/runtime-slice.ts","../../src/app/services/status-api.ts","../../src/app/stores/slices/status-slice.ts","../../src/app/stores/slices/suggestions-slice.ts","../../src/app/stores/slices/task-log-slice.ts","../../src/app/stores/app-store.ts","../../src/app/utils/error-summary.ts","../../src/app/features/plans/hooks/use-send-feedback-message.ts","../../src/app/features/plans/constants.ts","../../src/app/features/plans/components/progress-bar.tsx","../../src/toolbar/scout/scout-thread.tsx","../../src/toolbar/scout/scout-card.tsx","../../src/toolbar/scout/paper-logo.tsx","../../src/toolbar/scout/use-scout-reveal.ts","../../src/toolbar/scout/scout-trigger.tsx","../../src/toolbar/toolbar.tsx","../../src/toolbar/toolbar-element.tsx","../../src/toolbar/index.ts"],"sourcesContent":["export const TOOLBAR_SCRIPT_ID = 'paper-camp-toolbar-script';\nexport const ROUTE_ATTRIBUTE = 'data-route';\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};function X(){throw Error(\"act(...) is not supported in production builds of React.\");}\nexports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;exports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;exports.act=X;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=X;exports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};\nexports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};exports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};\nexports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};exports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.3.1\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import { PAIRING_TOKEN_HEADER } from '@/types/index';\n\nlet base = '';\nlet pairingToken: string | null = null;\n\nexport function setApiBase(value: string): void {\n base = value;\n}\n\nexport function setApiPairingToken(value: string | null): void {\n pairingToken = value;\n}\n\nexport function apiUrl(path: string): string {\n return `${base}${path}`;\n}\n\n/** A trusted host reached over a non-loopback origin (LAN, tunnel) can't rely on\n * Origin alone — browsers omit it on same-origin GETs — so every request carries\n * the pairing token whenever this client holds one; isForbiddenRequest ignores\n * the header once Origin or loopback already established trust. */\nexport function apiFetch(url: string, init: RequestInit = {}): Promise<Response> {\n if (!pairingToken) return fetch(url, init);\n const headers = new Headers(init.headers);\n headers.set(PAIRING_TOKEN_HEADER, pairingToken);\n return fetch(url, { ...init, headers });\n}\n","export default \"@charset \\\"UTF-8\\\";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: \\\"\\\"}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\",Segoe UI Symbol,\\\"Noto Color Emoji\\\";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-1\\\\/4{bottom:25%}.left-1\\\\/2{left:50%}.left-1\\\\/4{left:25%}.right-1\\\\/4{right:25%}.top-0{top:0}.top-1\\\\/2{top:50%}.top-1\\\\/4{top:25%}.top-28{top:7rem}.z-10{z-index:10}.z-50{z-index:50}.m-2{margin:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.list-item{display:list-item}.hidden{display:none}.h-1\\\\.5{height:.375rem}.h-10{height:2.5rem}.h-14{height:3.5rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-96{height:24rem}.h-\\\\[600px\\\\]{height:600px}.h-full{height:100%}.max-h-\\\\[calc\\\\(100vh-10rem\\\\)\\\\]{max-height:calc(100vh - 10rem)}.min-h-\\\\[140px\\\\]{min-height:140px}.min-h-\\\\[calc\\\\(100vh-80px\\\\)\\\\]{min-height:calc(100vh - 80px)}.min-h-screen{min-height:100vh}.w-1\\\\.5{width:.375rem}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-3{width:.75rem}.w-32{width:8rem}.w-72{width:18rem}.w-96{width:24rem}.w-\\\\[600px\\\\]{width:600px}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.max-w-2xl{max-width:42rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-x-1\\\\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\\\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.scroll-mt-24{scroll-margin-top:6rem}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\\\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-20>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-ink-100{--tw-border-opacity: 1;border-color:rgb(229 227 223 / var(--tw-border-opacity))}.bg-canvas-200{--tw-bg-opacity: 1;background-color:rgb(240 234 216 / var(--tw-bg-opacity))}.bg-paper-100{--tw-bg-opacity: 1;background-color:rgb(250 248 240 / var(--tw-bg-opacity))}.bg-paper-50{--tw-bg-opacity: 1;background-color:rgb(253 252 248 / var(--tw-bg-opacity))}.bg-canvas-weave{background-image:url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='cv'%3E%3CfeTurbulence type='turbulence' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.62 0 0 0 0 0.60 0 0 0 0 0.52 0 0 0 0.42 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23cv)' opacity='1'/%3E%3C/svg%3E\\\")}.bg-kraft-texture{background-image:url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='k'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.50 0 0 0 0 0.35 0 0 0 0 0.20 0 0 0 0.55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23k)' opacity='1'/%3E%3C/svg%3E\\\")}.bg-paper-texture{background-image:url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.04'/%3E%3C/svg%3E\\\")}.bg-parchment-texture{background-image:url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='5' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.55 0 0 0 0 0.48 0 0 0 0 0.35 0 0 0 0.45 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='1'/%3E%3C/svg%3E\\\")}.bg-speckle-texture{background-image:url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='speckle'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.4' numOctaves='1' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23speckle)' opacity='0.14'/%3E%3C/svg%3E\\\")}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1\\\\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-24{padding-bottom:6rem}.pb-40{padding-bottom:10rem}.pr-5{padding-right:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-display{font-family:Luminari,Cormorant Garamond,Georgia,serif}.font-handwritten{font-family:Caveat,cursive}.font-mono{font-family:JetBrains Mono,monospace}.font-serif{font-family:Cormorant Garamond,Georgia,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-black\\\\/60{color:#0009}.text-black\\\\/80{color:#000c}.text-ink-600{--tw-text-opacity: 1;color:rgb(80 76 70 / var(--tw-text-opacity))}.text-ink-900{--tw-text-opacity: 1;color:rgb(26 25 23 / var(--tw-text-opacity))}.text-watercolor-rose{--tw-text-opacity: 1;color:rgb(201 139 139 / var(--tw-text-opacity))}.text-white\\\\/60{color:#fff9}.text-white\\\\/80{color:#fffc}.underline{text-decoration-line:underline}.accent-\\\\[\\\\#8FB996\\\\]{accent-color:#8FB996}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-ink-sm{--tw-shadow: 0 1px 2px rgba(26, 25, 23, .12);--tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-paper-lg{--tw-shadow: 0 10px 15px rgba(61, 53, 43, .1), 0 4px 6px rgba(61, 53, 43, .08);--tw-shadow-colored: 0 10px 15px var(--tw-shadow-color), 0 4px 6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-paper-md{--tw-shadow: 0 4px 6px rgba(61, 53, 43, .08), 0 2px 4px rgba(61, 53, 43, .06);--tw-shadow-colored: 0 4px 6px var(--tw-shadow-color), 0 2px 4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-paper-sm{--tw-shadow: 0 1px 2px rgba(61, 53, 43, .08), 0 1px 1px rgba(61, 53, 43, .06);--tw-shadow-colored: 0 1px 2px var(--tw-shadow-color), 0 1px 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-pressed{--tw-shadow: inset 0 2px 4px rgba(61, 53, 43, .15);--tw-shadow-colored: inset 0 2px 4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur-3xl{--tw-blur: blur(64px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}:root{--pui-bg-base: #FDFCF8;--pui-bg-surface: #FAF8F0;--pui-bg-elevated: #F5F1E6;--pui-text-primary: #1A1917;--pui-text-secondary: #68635C;--pui-sketch-stroke: rgba(61, 53, 43, .32)}body{font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);background-color:#fdfcf8;color:#1a1917;background-image:url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.04'/%3E%3C/svg%3E\\\");background-repeat:repeat;background-size:200px 200px}@font-face{font-family:Luminari;src:url(/fonts/Luminari-Regular.woff) format(\\\"woff\\\");font-weight:400;font-style:normal;font-display:swap;size-adjust:88%}button{font-family:var(--paper-button-font, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif)}input,select,textarea{font-family:Cormorant Garamond,Georgia,serif}code,pre{font-family:JetBrains Mono,monospace}html,body,#root{height:100%}html{scroll-behavior:smooth}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:inset 0 0 0px 1000px #F5F1E6!important;-webkit-text-fill-color:#1A1917!important;border:1px solid rgba(61,53,43,.08)!important;border-radius:.75rem!important;-webkit-transition:background-color 5000s ease-in-out 0s!important;transition:background-color 5000s ease-in-out 0s!important}input:-moz-autofill{background-color:#f5f1e6!important;color:#1a1917!important;border:1px solid rgba(61,53,43,.08)!important}input:-webkit-autofill:first-line{color:#1a1917!important;font-family:inherit!important;font-size:inherit!important}.last\\\\:border-0:last-child{border-width:0px}.hover\\\\:opacity-80:hover{opacity:.8}.hover\\\\:shadow-paper-lg:hover{--tw-shadow: 0 10px 15px rgba(61, 53, 43, .1), 0 4px 6px rgba(61, 53, 43, .08);--tw-shadow-colored: 0 10px 15px var(--tw-shadow-color), 0 4px 6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media (min-width: 640px){.sm\\\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\\\\:flex-row{flex-direction:row}.sm\\\\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\\\\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\\\\:text-6xl{font-size:3.75rem;line-height:1}}@media (min-width: 768px){.md\\\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\\\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\\\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\\\\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\\\\:text-7xl{font-size:4.5rem;line-height:1}}@media (min-width: 1024px){.lg\\\\:block{display:block}.lg\\\\:flex{display:flex}.lg\\\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\\\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\\\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width: 1280px){.xl\\\\:grid-cols-\\\\[1fr_330px\\\\]{grid-template-columns:1fr 330px}}.button-module__button___Z331g{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;cursor:pointer;font-family:var(--paper-button-font, var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif));font-weight:600;letter-spacing:.01em;line-height:1.2;color:#1a1917;transition:color .25s ease,filter .25s ease;overflow:visible;background:transparent}.button-module__button___Z331g:focus-visible{outline:2px solid #8A9BA8;outline-offset:2px}.button-module__button___Z331g:disabled{opacity:.5;cursor:not-allowed;filter:none}.button-module__blobBg___QQFzf{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.button-module__blobFill___XwLjV{transition:fill .25s ease}.button-module__blobRing___567UW{fill:none;stroke:#3d352b59;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .35s ease 50ms}.button-module__button___Z331g:hover:not(:disabled) .button-module__blobRing___567UW{opacity:1}.button-module__button___Z331g:active:not(:disabled) .button-module__blobRing___567UW{stroke:#3d352b8c}.button-module__isActive___FXNSJ .button-module__blobRing___567UW{opacity:1}.button-module__primary___ppbyq .button-module__blobFill___XwLjV{fill:var(--pui-btn-primary, rgba(143, 185, 150, .25))}.button-module__primary___ppbyq:hover:not(:disabled) .button-module__blobFill___XwLjV{fill:var(--pui-btn-primary-hover, rgba(143, 185, 150, .3))}.button-module__primary___ppbyq:active:not(:disabled) .button-module__blobFill___XwLjV{fill:var(--pui-btn-primary-active, rgba(143, 185, 150, .34))}.button-module__isActive___FXNSJ.button-module__primary___ppbyq .button-module__blobFill___XwLjV{fill:var(--pui-btn-primary-hover, rgba(143, 185, 150, .3))}.button-module__isActive___FXNSJ.button-module__primary___ppbyq:hover .button-module__blobFill___XwLjV{fill:var(--pui-btn-primary-active, rgba(143, 185, 150, .34))}.button-module__secondary___esy5L .button-module__blobFill___XwLjV{fill:var(--pui-btn-secondary, rgba(61, 53, 43, .1))}.button-module__secondary___esy5L:hover:not(:disabled) .button-module__blobFill___XwLjV{fill:var(--pui-btn-secondary-hover, rgba(61, 53, 43, .14))}.button-module__secondary___esy5L:active:not(:disabled) .button-module__blobFill___XwLjV{fill:var(--pui-btn-secondary-active, rgba(61, 53, 43, .18))}.button-module__isActive___FXNSJ.button-module__secondary___esy5L .button-module__blobFill___XwLjV{fill:var(--pui-btn-secondary-hover, rgba(61, 53, 43, .14))}.button-module__isActive___FXNSJ.button-module__secondary___esy5L:hover .button-module__blobFill___XwLjV{fill:var(--pui-btn-secondary-active, rgba(61, 53, 43, .18))}.button-module__ghost___NisA0{color:#68635c}.button-module__ghost___NisA0 .button-module__blobFill___XwLjV{fill:transparent}.button-module__ghost___NisA0:hover:not(:disabled) .button-module__blobFill___XwLjV{fill:#8fb9961f}.button-module__ghost___NisA0:active:not(:disabled) .button-module__blobFill___XwLjV{fill:#8fb99633}.button-module__ghost___NisA0 .button-module__blobRing___567UW{stroke:#3d352b38}.button-module__isActive___FXNSJ.button-module__ghost___NisA0 .button-module__blobFill___XwLjV{fill:#8fb99640}.button-module__isActive___FXNSJ.button-module__ghost___NisA0:hover .button-module__blobFill___XwLjV{fill:#8fb9964d}.button-module__danger___Wnvuq{color:#9e5e5e}.button-module__danger___Wnvuq .button-module__blobFill___XwLjV{fill:#f0ead8}.button-module__danger___Wnvuq:hover:not(:disabled) .button-module__blobFill___XwLjV{fill:#e8d4d4}.button-module__danger___Wnvuq:active:not(:disabled) .button-module__blobFill___XwLjV{fill:#dec4c4}.button-module__isActive___FXNSJ.button-module__danger___Wnvuq .button-module__blobFill___XwLjV{fill:#e8d4d4}.button-module__isActive___FXNSJ.button-module__danger___Wnvuq:hover .button-module__blobFill___XwLjV{fill:#dec4c4}.button-module__chalkboard___d3Nqb{color:#d4e8cb}.button-module__chalkboard___d3Nqb .button-module__blobFill___XwLjV{display:none}.button-module__chalkboard___d3Nqb .button-module__blobRing___567UW{stroke:#c8d2c373;stroke-width:2.2}.button-module__chalkboard___d3Nqb:active:not(:disabled) .button-module__blobRing___567UW{stroke:#c8d2c3a6}.button-module__chalkboard___d3Nqb.button-module__ghost___NisA0 .button-module__blobRing___567UW{stroke:#c8d2c359}.button-module__chalkboard___d3Nqb.button-module__danger___Wnvuq{color:#e8a0a0}.button-module__tiny___8ZZ7A{padding:.25rem .75rem;font-size:.75rem}.button-module__small___u7y8a{padding:.5rem 1rem;font-size:1.125rem}.button-module__medium___HBIAj{padding:.75rem 1.5rem;font-size:1.5rem}.button-module__large___RPzNy{padding:1rem 2rem;font-size:1.875rem}.button-module__fullWidth___H0P0F{width:100%}.button-module__iconLeft___s60SZ,.button-module__iconRight___75eFu{display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1}.button-module__label___pXAyM{position:relative;z-index:1}.sketch-border-module__svg___whV4x{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:2}.sketch-border-module__behind___lgdYV{z-index:0}.sketch-border-module__stroke___vAm-v{fill:none;stroke:var(--sketch-stroke, var(--pui-sketch-stroke, rgba(61, 53, 43, .32)));stroke-linecap:round;stroke-linejoin:round;transition:stroke .15s ease-out}.sketch-border-module__fill___zlpd6{stroke:none;fill:var(--sketch-fill, transparent);transition:fill .15s ease-out}.page-module__page___-uHnG{position:relative;display:flex;flex-direction:column;height:100%;max-width:800px;margin:0 auto;filter:drop-shadow(0 4px 6px rgba(61,53,43,.1)) drop-shadow(0 1px 2px rgba(61,53,43,.06));--sketch-stroke: transparent}.page-module__outlined___Wwtyg{--sketch-stroke: rgba(61, 53, 43, .32)}.page-module__surface___sWfI6{position:relative;z-index:1;flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-gutter:stable;padding:2rem;font-size:1.125rem;line-height:32px;background-color:#fdfcf8;border-radius:11.1537229896px 13.7854247627px 13.6533607293px 9.0913251698px;clip-path:var(--sketch-clip)}.page-module__surface___sWfI6>*+*{margin-top:2rem}.page-module__surface___sWfI6 h1,.page-module__surface___sWfI6 h2,.page-module__surface___sWfI6 h3,.page-module__surface___sWfI6 h4,.page-module__surface___sWfI6 h5,.page-module__surface___sWfI6 h6{line-height:32px}.page-module__flat___HlOaY .page-module__surface___sWfI6{border-radius:12px}.page-module__withAccent___lsv-m:before{content:\\\"\\\";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;clip-path:var(--sketch-clip);mix-blend-mode:multiply;pointer-events:none;opacity:.08}.page-module__accentBlue___XxbMV:before{background:radial-gradient(300px 300px at calc(100% + 80px) -80px,#AFC6E0 0%,transparent 70%)}.page-module__accentGreen___Ne6Q8:before{background:radial-gradient(300px 300px at calc(100% + 80px) -80px,#B5D4BA 0%,transparent 70%)}.page-module__accentAmber___kLAwa:before{background:radial-gradient(300px 300px at calc(100% + 80px) -80px,#E4C9A8 0%,transparent 70%)}.page-module__accentRose___O9ZbZ:before{background:radial-gradient(300px 300px at calc(100% + 80px) -80px,#DEB5B5 0%,transparent 70%)}.page-module__accentSlate___xCB66:before{background:radial-gradient(300px 300px at calc(100% + 80px) -80px,#B0BEC8 0%,transparent 70%)}.layout-module__layout___O1aWi{display:flex;flex-direction:column;height:100vh;width:100%;overflow:hidden}.layout-module__header___I-kxe{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 1.5rem;background-color:#faf8f0;background-image:url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='speckle'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.4' numOctaves='1' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23speckle)' opacity='0.14'/%3E%3C/svg%3E\\\");background-repeat:repeat;background-size:200px 200px;border-bottom:1px solid rgba(61,53,43,.12);box-shadow:0 1px 2px #3d352b14,0 1px 1px #3d352b0f;flex-shrink:0;position:relative;z-index:200}.layout-module__headerLeft___JChJQ,.layout-module__headerTitles___aqSUG{display:flex;align-items:baseline;gap:.75rem}.layout-module__headerTitle___wvr39{font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);font-size:1.25rem;font-weight:600;color:#1a1917;margin:0;line-height:1;white-space:nowrap}.layout-module__headerSubtitle___6f5BD{font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);font-size:1rem;font-weight:400;color:#a8a399;margin:0;line-height:1;white-space:nowrap}.layout-module__headerActions___adC12{display:flex;align-items:center;gap:.75rem}.layout-module__mobileToggle___4WpVG{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:transparent;border:none;color:#68635c;cursor:pointer;transition:all .15s ease-out}.layout-module__mobileToggle___4WpVG:hover{background-color:#0000000a;color:#1a1917}@media (min-width: 768px){.layout-module__mobileToggle___4WpVG{display:none}}.layout-module__body___tywNf{display:flex;flex:1;min-width:0;position:relative;overflow:hidden}.layout-module__mobileOverlay___tzbBC{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;border:none;background:#1a191766;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:default;z-index:250}.layout-module__sidebar___8VKGq{width:240px;flex-shrink:0;padding:32px;position:sticky;top:0;align-self:stretch;height:100%;overflow-y:auto}@media (max-width: 767px){.layout-module__sidebar___8VKGq{position:fixed;top:0;left:0;width:280px;height:100vh;padding:32px;background-color:#fdfcf8;background-image:url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.04'/%3E%3C/svg%3E\\\");background-repeat:repeat;background-size:200px 200px;box-shadow:0 10px 15px #3d352b1a,0 4px 6px #3d352b14;transform:translate(-100%);transition:transform .3s ease-out;z-index:300}}.layout-module__sidebarOpen___47rtr{transform:translate(0)}.layout-module__sidebarInner___tq2X6{display:flex;flex-direction:column;height:100%}.layout-module__logoArea___RLnC0{height:32px;display:flex;align-items:center;margin-bottom:0;padding-bottom:0}.layout-module__logoText___pAmfV{font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);font-size:1.25rem;font-weight:700;color:#1a1917;letter-spacing:.02em;line-height:32px}.layout-module__nav___FxcrZ{display:flex;flex-direction:column;gap:0;flex:1;margin-top:32px}.layout-module__main___9z7bu{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.layout-module__navIslandFixed___H4TwP{position:fixed;bottom:1.5rem;left:50%;z-index:100;transform:translate(-50%);pointer-events:none}.layout-module__navIslandFixed___H4TwP>*{pointer-events:auto}.layout-module__content___jL-VB{flex:1;min-height:0;overflow:hidden;padding:32px;line-height:32px}.layout-module__contentWithPage___vVdfN{flex:1;min-height:0;overflow:hidden;padding:24px 32px;line-height:32px}.layout-module__footer___LyakU{padding:20px 32px;background-color:#faf8f0;background-image:url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.04'/%3E%3C/svg%3E\\\");background-repeat:repeat;background-size:200px 200px;border-top:1px solid rgba(61,53,43,.12);text-align:center;flex-shrink:0}.layout-module__footerText___8BYxc{font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);color:#a8a399;margin:0}.island-module__island___Yd2ej{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:50;display:inline-flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;border-radius:28px;background-color:#e5dbc4;background-image:url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='k'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.50 0 0 0 0 0.35 0 0 0 0 0.20 0 0 0 0.55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23k)' opacity='1'/%3E%3C/svg%3E\\\");background-repeat:repeat;background-size:200px 200px;border:1px solid rgba(61,53,43,.12);box-shadow:0 10px 15px #3d352b1a,0 4px 6px #3d352b14,inset 0 1px #ffffff80}.island-module__chalkboard___yK6AH{border-color:#c8d2c333;box-shadow:0 10px 15px #00000040,0 4px 6px #0003,inset 0 1px #c8d2c31a}.checkbox-module__wrapper___uLYMI{display:flex;align-items:center;gap:1rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-module__wrapper___uLYMI:hover .checkbox-module__blobFill___mPJSR{fill:#7c9cc02e}.checkbox-module__wrapper___uLYMI:hover .checkbox-module__input___Ptgt7:checked~.checkbox-module__blobBg___bw3sn .checkbox-module__blobFill___mPJSR,.checkbox-module__wrapper___uLYMI:hover .checkbox-module__input___Ptgt7:indeterminate~.checkbox-module__blobBg___bw3sn .checkbox-module__blobFill___mPJSR{fill:#e8dec8}.checkbox-module__labelLeft___-vAmH{flex-direction:row-reverse}.checkbox-module__input___Ptgt7{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.checkbox-module__input___Ptgt7:focus-visible~.checkbox-module__box___yAh-r{outline:2px dotted #A8A399;outline-offset:2px}.checkbox-module__input___Ptgt7:checked~.checkbox-module__box___yAh-r,.checkbox-module__input___Ptgt7:indeterminate~.checkbox-module__box___yAh-r{--sketch-stroke: rgba(61, 53, 43, .7)}.checkbox-module__input___Ptgt7:checked~.checkbox-module__box___yAh-r .checkbox-module__checkmark___tTyBz,.checkbox-module__input___Ptgt7:indeterminate~.checkbox-module__box___yAh-r .checkbox-module__checkmark___tTyBz{stroke-dashoffset:0}.checkbox-module__input___Ptgt7:checked~.checkbox-module__box___yAh-r .checkbox-module__indeterminateLine___IosI-,.checkbox-module__input___Ptgt7:indeterminate~.checkbox-module__box___yAh-r .checkbox-module__indeterminateLine___IosI-{stroke-dashoffset:0}.checkbox-module__input___Ptgt7:checked~.checkbox-module__blobBg___bw3sn .checkbox-module__blobFill___mPJSR,.checkbox-module__input___Ptgt7:indeterminate~.checkbox-module__blobBg___bw3sn .checkbox-module__blobFill___mPJSR{fill:#f0ead8}.checkbox-module__input___Ptgt7:disabled~.checkbox-module__box___yAh-r{opacity:.4;cursor:not-allowed}.checkbox-module__boxWrapper___byjoS{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.checkbox-module__blobBg___bw3sn{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.checkbox-module__blobFill___mPJSR{transition:fill .25s ease;fill:transparent}.checkbox-module__box___yAh-r{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background-color:transparent;position:relative;z-index:1;border-radius:6px;--sketch-stroke: rgba(61, 53, 43, .42)}.checkbox-module__box___yAh-r:hover{--sketch-stroke: rgba(61, 53, 43, .6)}.checkbox-module__icon___RO-yn{width:20px;height:20px;color:#1a1917}.checkbox-module__checkmark___tTyBz{stroke-dasharray:36;stroke-dashoffset:36;transition:stroke-dashoffset .2s ease-out}.checkbox-module__indeterminateLine___IosI-{stroke-dasharray:20;stroke-dashoffset:20;transition:stroke-dashoffset .2s ease-out}.checkbox-module__labelText___bAnLr{font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);font-size:1.125rem;font-weight:400;color:#68635c;line-height:1.5}.checkbox-module__chalkboard___sv6SL .checkbox-module__labelText___bAnLr{color:#a8b5a0}.checkbox-module__chalkboard___sv6SL .checkbox-module__box___yAh-r{--sketch-stroke: rgba(200, 210, 195, .5)}.checkbox-module__chalkboard___sv6SL .checkbox-module__box___yAh-r:hover{--sketch-stroke: #d4e8cb}.checkbox-module__chalkboard___sv6SL .checkbox-module__icon___RO-yn{color:#d4e8cb}.checkbox-module__chalkboard___sv6SL .checkbox-module__blobFill___mPJSR{display:none}.checkbox-module__chalkboard___sv6SL .checkbox-module__input___Ptgt7:focus-visible~.checkbox-module__box___yAh-r{outline-color:#d4e8cb}.checkbox-module__chalkboard___sv6SL .checkbox-module__input___Ptgt7:checked~.checkbox-module__box___yAh-r,.checkbox-module__chalkboard___sv6SL .checkbox-module__input___Ptgt7:indeterminate~.checkbox-module__box___yAh-r{--sketch-stroke: #d4e8cb}.icon-button-module__iconButton___avg6i{position:relative;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;color:#1a1917;transition:color .25s ease,filter .25s ease;flex-shrink:0;overflow:visible;background:transparent}.icon-button-module__iconButton___avg6i:focus-visible{outline:2px solid #8A9BA8;outline-offset:2px}.icon-button-module__iconButton___avg6i:disabled{opacity:.5;cursor:not-allowed;filter:none}.icon-button-module__blobBg___466Vy{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.icon-button-module__blobFill___FTN1g{transition:fill .25s ease}.icon-button-module__blobRing___hRdQb{fill:none;stroke:#3d352b59;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .35s ease 50ms}.icon-button-module__iconButton___avg6i:hover:not(:disabled) .icon-button-module__blobRing___hRdQb{opacity:1}.icon-button-module__iconButton___avg6i:active:not(:disabled) .icon-button-module__blobRing___hRdQb{stroke:#3d352b8c}.icon-button-module__isActive___XlvtM .icon-button-module__blobRing___hRdQb{opacity:1}.icon-button-module__icon___h204x{position:relative;z-index:1;display:flex;align-items:center;justify-content:center}.icon-button-module__default___9frNR .icon-button-module__blobFill___FTN1g{fill:#f0ead8}.icon-button-module__default___9frNR:hover:not(:disabled) .icon-button-module__blobFill___FTN1g{fill:#e8dec8}.icon-button-module__default___9frNR:active:not(:disabled) .icon-button-module__blobFill___FTN1g{fill:#ddd2b8}.icon-button-module__isActive___XlvtM.icon-button-module__default___9frNR .icon-button-module__blobFill___FTN1g{fill:#e8dec8}.icon-button-module__isActive___XlvtM.icon-button-module__default___9frNR:hover .icon-button-module__blobFill___FTN1g{fill:#ddd2b8}.icon-button-module__ghost___Wbxog{color:#68635c}.icon-button-module__ghost___Wbxog .icon-button-module__blobFill___FTN1g{fill:transparent}.icon-button-module__ghost___Wbxog:hover:not(:disabled) .icon-button-module__blobFill___FTN1g{fill:#8fb9961f}.icon-button-module__ghost___Wbxog:active:not(:disabled) .icon-button-module__blobFill___FTN1g{fill:#8fb99633}.icon-button-module__ghost___Wbxog .icon-button-module__blobRing___hRdQb{stroke:#3d352b38}.icon-button-module__isActive___XlvtM.icon-button-module__ghost___Wbxog .icon-button-module__blobFill___FTN1g{fill:#8fb99640}.icon-button-module__isActive___XlvtM.icon-button-module__ghost___Wbxog:hover .icon-button-module__blobFill___FTN1g{fill:#8fb9964d}.icon-button-module__danger___p0Xz5{color:#9e5e5e}.icon-button-module__danger___p0Xz5 .icon-button-module__blobFill___FTN1g{fill:#f0ead8}.icon-button-module__danger___p0Xz5:hover:not(:disabled) .icon-button-module__blobFill___FTN1g{fill:#e8d4d4}.icon-button-module__danger___p0Xz5:active:not(:disabled) .icon-button-module__blobFill___FTN1g{fill:#dec4c4}.icon-button-module__isActive___XlvtM.icon-button-module__danger___p0Xz5 .icon-button-module__blobFill___FTN1g{fill:#e8d4d4}.icon-button-module__isActive___XlvtM.icon-button-module__danger___p0Xz5:hover .icon-button-module__blobFill___FTN1g{fill:#dec4c4}.icon-button-module__tiny___4WYvA{width:32px;height:32px}.icon-button-module__tiny___4WYvA .icon-button-module__icon___h204x{width:16px;height:16px}.icon-button-module__small___bPnCU{width:40px;height:40px}.icon-button-module__small___bPnCU .icon-button-module__icon___h204x{width:20px;height:20px}.icon-button-module__medium___nOxPf{width:48px;height:48px}.icon-button-module__medium___nOxPf .icon-button-module__icon___h204x{width:24px;height:24px}.icon-button-module__large___UBU5z{width:56px;height:56px}.icon-button-module__large___UBU5z .icon-button-module__icon___h204x{width:28px;height:28px}.icon-button-module__chalkboard___mi0sQ{color:#d4e8cb}.icon-button-module__chalkboard___mi0sQ .icon-button-module__blobFill___FTN1g{display:none}.icon-button-module__chalkboard___mi0sQ .icon-button-module__blobRing___hRdQb{stroke:#c8d2c373;stroke-width:2.2}.icon-button-module__chalkboard___mi0sQ:active:not(:disabled) .icon-button-module__blobRing___hRdQb{stroke:#c8d2c3a6}.icon-button-module__chalkboard___mi0sQ.icon-button-module__ghost___Wbxog .icon-button-module__blobRing___hRdQb{stroke:#c8d2c359}.icon-button-module__chalkboard___mi0sQ.icon-button-module__danger___p0Xz5{color:#e8a0a0}.stamp-module__stamp___5qaNY{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.25rem;font-family:Caveat,cursive;font-weight:500;line-height:1.2}.stamp-module__small___BBlBg{padding:.25rem .75rem;font-size:1.125rem}.stamp-module__medium___HG2YD{padding:.5rem 1rem;font-size:1.5rem}.stamp-module__large___aUT0I{padding:.75rem 1.25rem;font-size:1.875rem}.stamp-module__blobBg___Mdrdd{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.stamp-module__blobFill___QyCeB{transition:fill .25s ease}.stamp-module__blobRing___EUDx7{fill:none;stroke-width:1.8}.stamp-module__dot___qZyCR{position:relative;z-index:1;width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.stamp-module__label___T89iH{position:relative;z-index:1;white-space:nowrap}.stamp-module__chalkboard___syI4T{color:#d4e8cb}.copy-button-module__copyButton___-hTo4{font-family:JetBrains Mono,monospace;font-size:.75rem;padding:.125rem .5rem;border-radius:.375rem;transition:background-color .15s ease,color .15s ease;background-color:#3d352b0f;color:#68635c;border:1px solid rgba(61,53,43,.12);cursor:pointer}.copy-button-module__copyButton___-hTo4:hover{color:#1a1917;border-color:#3d352b33}.copy-button-module__copyButton___-hTo4:focus-visible{outline:2px solid #8A9BA8;outline-offset:2px}.copy-button-module__dark___O45N-{background-color:#ffffff1a;color:#a8a399;border-color:#ffffff26}.copy-button-module__chalkboard___hW4aw{background-color:#c8dcc31f;color:#a8b5a0;border-color:#c8d2c333;font-family:Courier Prime,monospace;letter-spacing:.02em}.copy-button-module__chalkboard___hW4aw:hover{background-color:#c8dcc333;color:#d4e8cb}.copy-button-module__copied___XlHFr{background-color:#8fb99640;color:#51719b}.code-block-module__codeBlock___dq28o{border-radius:.75rem;overflow:hidden;border:1px solid rgba(61,53,43,.12);width:100%}.code-block-module__header___42Fek{padding:.625rem 1.25rem;font-size:.75rem;font-family:JetBrains Mono,monospace;border-bottom:1px solid rgba(61,53,43,.12);background-color:#f5f1e6;color:#68635c;display:flex;align-items:center;justify-content:space-between}.code-block-module__relative___oO-zy{position:relative}.code-block-module__copyOverlay___PjAuq{position:absolute;top:.5rem;right:.5rem;z-index:10}.code-block-module__pre___zXzLZ{padding:1.25rem;font-size:.875rem;line-height:1.625;overflow-x:auto;background-color:#2b2926;color:#faf8f0;font-family:JetBrains Mono,monospace;white-space:pre;word-wrap:normal}.code-block-module__chalkboard___bdo9J{border-color:#c8d2c333;border-radius:.5rem}.code-block-module__chalkboardHeader___3RiVd{background-color:#142e22;border-bottom-color:#c8d2c333;color:#5e7a68;font-family:Courier Prime,monospace;font-size:.875rem;letter-spacing:.04em}.code-block-module__chalkboardPre___iRBFR{background-color:#142e22;color:#d4e8cb;font-family:Courier Prime,monospace;font-size:1rem;line-height:1.7;padding:1.25rem 1.5rem;opacity:.92}.table-module__tableFrame___KP-90{position:relative;filter:drop-shadow(0 8px 14px rgba(61,53,43,.14));--sketch-stroke: rgba(61, 53, 43, .32)}.table-module__tableWrapper___gc3Y3{position:relative;border-radius:12px;overflow:hidden;clip-path:var(--sketch-clip)}.table-module__toolbar___zhCel{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:64px;padding:0 2rem;background-color:var(--pui-texture-shade, #F5F1E6);background-image:var(--pui-texture-image, url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.04'/%3E%3C/svg%3E\\\"));background-repeat:repeat;background-size:200px 200px;box-sizing:border-box;position:relative}.table-module__toolbar___zhCel:after{content:\\\"\\\";position:absolute;left:0;right:0;bottom:-1.5px;height:3px;background:url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='3' preserveAspectRatio='none' viewBox='0 0 64 3'%3E%3Cpath d='M0 1.6 C 8 0.7 14 2.3 22 1.5 C 30 0.8 38 2.2 46 1.5 C 54 0.9 60 2.1 64 1.5' fill='none' stroke='%233d352b' stroke-opacity='0.3' stroke-width='1' stroke-linecap='round'/%3E%3C/svg%3E\\\") repeat-x left center;background-size:64px 3px;pointer-events:none}.table-module__toolbarTitle___D8oH-{display:flex;align-items:center;min-width:0}.table-module__panelFooter___lCCKo{padding:1rem 2rem 1.5rem;background-color:var(--pui-texture-shade, #F5F1E6);background-image:var(--pui-texture-image, url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.04'/%3E%3C/svg%3E\\\"));background-repeat:repeat;background-size:200px 200px;box-sizing:border-box;position:relative}.table-module__panelFooter___lCCKo:before{content:\\\"\\\";position:absolute;left:0;right:0;top:-1.5px;height:3px;background:url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='3' preserveAspectRatio='none' viewBox='0 0 64 3'%3E%3Cpath d='M0 1.6 C 8 0.7 14 2.3 22 1.5 C 30 0.8 38 2.2 46 1.5 C 54 0.9 60 2.1 64 1.5' fill='none' stroke='%233d352b' stroke-opacity='0.3' stroke-width='1' stroke-linecap='round'/%3E%3C/svg%3E\\\") repeat-x left center;background-size:64px 3px;pointer-events:none}.table-module__compact___mG-2Y .table-module__toolbar___zhCel{height:48px;padding:0 1rem}.table-module__compact___mG-2Y .table-module__panelFooter___lCCKo{padding:.75rem 1rem 1rem}.table-module__compact___mG-2Y .table-module__toolbarActions___EX6qS button{font-size:.875rem}.table-module__search___zIBk2{position:relative;display:flex;align-items:center;flex:1;max-width:280px;--sketch-fill: #FBF9F4;--sketch-stroke: rgba(61, 53, 43, .32)}.table-module__search___zIBk2:focus-within{--sketch-stroke: rgba(138, 155, 168, .45)}.table-module__searchIcon___ayhK8{position:absolute;left:.75rem;color:#a8a399;pointer-events:none;z-index:1}.table-module__searchInput___PqsEG{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;z-index:1;width:100%;padding:.5rem .75rem .5rem 2rem;color:#1a1917;font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);font-size:1rem;font-weight:500;line-height:1.2;border:none;outline:none;background:transparent}.table-module__searchInput___PqsEG::-moz-placeholder{color:#a8a399;font-weight:400;font-family:Caveat,cursive;font-size:1.125rem}.table-module__searchInput___PqsEG::placeholder{color:#a8a399;font-weight:400;font-family:Caveat,cursive;font-size:1.125rem}.table-module__searchInput___PqsEG:focus{outline:2px dotted #A8A399;outline-offset:2px}.table-module__toolbarActions___EX6qS{display:flex;align-items:center;gap:.5rem}.table-module__tableScroll___1gvc4{overflow-x:auto}.table-module__tableWrapper___gc3Y3>.table-module__tableScroll___1gvc4:first-child{padding-top:.25rem}.table-module__tableWrapper___gc3Y3>.table-module__tableScroll___1gvc4:last-child{padding-bottom:.25rem}.table-module__table___tdU5g{width:100%;table-layout:fixed;border-collapse:collapse;font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);font-size:1rem;color:#1a1917}.table-module__compact___mG-2Y .table-module__th___GQbKk,.table-module__compact___mG-2Y .table-module__td___WktB5,.table-module__compact___mG-2Y .table-module__footerCell___bM-jv{padding-left:1rem;padding-right:1rem}.table-module__th___GQbKk{text-align:left;font-weight:700;color:#1a1917;letter-spacing:.03em;white-space:nowrap;padding:0 2rem;height:52px;box-sizing:border-box;vertical-align:middle;line-height:32px;background-color:var(--pui-texture-shade, #F5F1E6);background-image:var(--pui-texture-image, url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.04'/%3E%3C/svg%3E\\\"));background-repeat:repeat;background-size:200px 200px;position:relative}.table-module__th___GQbKk:after{content:\\\"\\\";position:absolute;left:0;right:0;bottom:-1.5px;height:3px;background:url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='3' preserveAspectRatio='none' viewBox='0 0 64 3'%3E%3Cpath d='M0 1.6 C 8 0.7 14 2.3 22 1.5 C 30 0.8 38 2.2 46 1.5 C 54 0.9 60 2.1 64 1.5' fill='none' stroke='%233d352b' stroke-opacity='0.3' stroke-width='1' stroke-linecap='round'/%3E%3C/svg%3E\\\") repeat-x left center;background-size:64px 3px;pointer-events:none}.table-module__td___WktB5{font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);color:#68635c;padding:0 2rem;height:40px;box-sizing:border-box;vertical-align:middle;line-height:32px;position:relative}.table-module__td___WktB5:after{content:\\\"\\\";position:absolute;left:0;right:0;bottom:-1.5px;height:3px;background:url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='3' preserveAspectRatio='none' viewBox='0 0 64 3'%3E%3Cpath d='M0 1.6 C 8 0.7 14 2.3 22 1.5 C 30 0.8 38 2.2 46 1.5 C 54 0.9 60 2.1 64 1.5' fill='none' stroke='%233d352b' stroke-opacity='0.3' stroke-width='1' stroke-linecap='round'/%3E%3C/svg%3E\\\") repeat-x left center;background-size:64px 3px;pointer-events:none}.table-module__tr___xeZno:last-child .table-module__td___WktB5:after{display:none}.table-module__expandTh___uxkR4,.table-module__expandTd___VoBRC{width:48px;text-align:center;padding:0}.table-module__expandIcon___8V45X{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:transparent;font-size:.65em;color:#68635c;cursor:pointer}.table-module__expandable___R7o2l{cursor:pointer}.table-module__expandable___R7o2l:hover .table-module__td___WktB5{background-color:#00000008}.table-module__footerRow___ik1DH .table-module__footerCell___bM-jv{padding:0 2rem;background-color:var(--pui-texture-shade, #F5F1E6);background-image:var(--pui-texture-image, url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.04'/%3E%3C/svg%3E\\\"));background-repeat:repeat;background-size:200px 200px;color:#68635c;font-family:JetBrains Mono,monospace;font-size:.75rem;line-height:1.5;position:relative}.table-module__footerRow___ik1DH .table-module__footerCell___bM-jv:after{content:\\\"\\\";position:absolute;left:0;right:0;bottom:-1.5px;height:3px;background:url(\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='3' preserveAspectRatio='none' viewBox='0 0 64 3'%3E%3Cpath d='M0 1.6 C 8 0.7 14 2.3 22 1.5 C 30 0.8 38 2.2 46 1.5 C 54 0.9 60 2.1 64 1.5' fill='none' stroke='%233d352b' stroke-opacity='0.3' stroke-width='1' stroke-linecap='round'/%3E%3C/svg%3E\\\") repeat-x left center;background-size:64px 3px;pointer-events:none}.table-module__expandedRow___1TbTQ .table-module__expandedCell___sKAaD{padding:1rem 2rem;background-color:#e5dbc4;background-image:url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='k'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.50 0 0 0 0 0.35 0 0 0 0 0.20 0 0 0 0.55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23k)' opacity='1'/%3E%3C/svg%3E\\\");background-repeat:repeat;background-size:200px 200px;color:#1a1917;font-family:Caveat,cursive;font-size:1.125rem;line-height:1.5;border-bottom:1px solid rgba(61,53,43,.12)}.table-module__boardScroll___Y1yqm{overflow-x:auto}.table-module__board___kFAI-{display:flex;align-items:flex-start}.table-module__boardColumn___-W9bP{flex:1 0 280px;display:flex;flex-direction:column}.table-module__boardColumn___-W9bP+.table-module__boardColumn___-W9bP{border-left:1px solid rgba(61,53,43,.08)}.table-module__boardColumnHeader___kY3Fj{display:flex;align-items:center;justify-content:space-between;gap:.75rem;height:64px;padding:0 1.5rem;box-sizing:border-box;background-color:#f5f1e6;background-image:url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.04'/%3E%3C/svg%3E\\\");background-repeat:repeat;background-size:200px 200px;border-bottom:1px solid rgba(61,53,43,.12)}.table-module__boardColumnHeader___kY3Fj.table-module__accentBlue___PEJ1V{border-bottom-color:#51719b}.table-module__boardColumnHeader___kY3Fj.table-module__accentGreen___wJ53r{border-bottom-color:#8fb996}.table-module__boardColumnHeader___kY3Fj.table-module__accentAmber___Iezjv{border-bottom-color:#a67b4f}.table-module__boardColumnHeader___kY3Fj.table-module__accentRose___W8zxc{border-bottom-color:#9e5e5e}.table-module__boardColumnHeader___kY3Fj.table-module__accentSlate___oUZCX{border-bottom-color:#5e7080}.table-module__boardColumnLabel___JBEed{font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);font-weight:700;font-size:1rem;letter-spacing:.03em;text-transform:uppercase;color:#1a1917}.table-module__boardColumnCount___Pkpiq{display:flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 .25rem;border-radius:9999px;background-color:#faf8f0;border:1px solid rgba(61,53,43,.12);font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);font-size:.875rem;color:#68635c}.table-module__boardColumnBody___uAgRF{flex:1;display:flex;flex-direction:column;min-height:96px}.table-module__boardRow___C1P60{padding:.75rem 1.5rem;border-bottom:1px solid rgba(61,53,43,.08)}.table-module__boardRow___C1P60:last-child{border-bottom:none}.table-module__boardEmpty___IKv2W{padding:1rem 1.5rem;text-align:center;font-family:Caveat,cursive;font-size:1.125rem;color:#a8a399;font-style:italic}.table-module__chalkboardFrame___xB3N5{filter:drop-shadow(0 8px 14px rgba(0,0,0,.3));--sketch-stroke: rgba(200, 210, 195, .3)}.table-module__chalkboardWrapper___KjY5r .table-module__toolbar___zhCel{background-color:#1e3a2d;background-image:url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='c'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.15 0 0 0 0 0.28 0 0 0 0 0.20 0 0 0 0.08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23c)' opacity='1'/%3E%3C/svg%3E\\\")}.table-module__chalkboardWrapper___KjY5r .table-module__panelFooter___lCCKo{background-color:#1e3a2d;background-image:url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='c'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.15 0 0 0 0 0.28 0 0 0 0 0.20 0 0 0 0.08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23c)' opacity='1'/%3E%3C/svg%3E\\\")}.table-module__chalkboardWrapper___KjY5r .table-module__searchIcon___ayhK8{color:#a8b5a0}.table-module__chalkboardWrapper___KjY5r .table-module__searchInput___PqsEG{color:#d4e8cb;font-family:JetBrains Mono,monospace;font-size:.875rem;background-color:#142e2266;background-image:none;border:1px solid rgba(200,210,195,.2);border-radius:8px;box-shadow:1px 1px 2px #00000026}.table-module__chalkboardWrapper___KjY5r .table-module__searchInput___PqsEG::-moz-placeholder{color:#a8b5a0;font-family:Caveat,cursive}.table-module__chalkboardWrapper___KjY5r .table-module__searchInput___PqsEG::placeholder{color:#a8b5a0;font-family:Caveat,cursive}.table-module__chalkboardWrapper___KjY5r .table-module__searchInput___PqsEG:focus{outline:2px dotted #d4e8cb;outline-offset:2px}.table-module__chalkboard___v0m3A{color:#e8e4d9}.table-module__chalkboard___v0m3A .table-module__th___GQbKk{font-family:Caveat,cursive;font-weight:600;font-size:1.125rem;text-transform:uppercase;letter-spacing:.06em;color:#d4e8cb;background-color:#1e3a2d;background-image:url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='c'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.15 0 0 0 0 0.28 0 0 0 0 0.20 0 0 0 0.08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23c)' opacity='1'/%3E%3C/svg%3E\\\");border-bottom-color:#c8d2c333}.table-module__chalkboard___v0m3A .table-module__td___WktB5{color:#e8e4d9;border-bottom-color:#c8d2c333}.table-module__boardColumnHeader___kY3Fj.table-module__chalkboard___v0m3A{font-family:Caveat,cursive;color:#d4e8cb;background-color:#1e3a2d;background-image:url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='c'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.15 0 0 0 0 0.28 0 0 0 0 0.20 0 0 0 0.08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23c)' opacity='1'/%3E%3C/svg%3E\\\");border-bottom-color:#c8d2c333}.table-module__boardRow___C1P60.table-module__chalkboard___v0m3A{color:#e8e4d9;border-bottom-color:#c8d2c333}.table-module__expandIcon___8V45X svg{transition:transform .15s ease-out}.table-module__expandIcon___8V45X[aria-expanded=true] svg{transform:rotate(90deg)}.cells-module__cell___x7DuX{position:relative}.cells-module__toggle___U6zvr{font-family:JetBrains Mono,monospace;font-size:.75rem;padding:2px 10px;border-radius:4px;border:1px solid rgba(61,53,43,.15);background:#3d352b0a;color:#a8a399;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.cells-module__toggle___U6zvr:hover{background:#3d352b14}.cells-module__toggleActive___B5U1p{background:#8fb99626;border-color:#8fb9964d;color:#3d5a42}.cells-module__chalkToggle___mGnxj{font-size:.75rem;border-color:#c8d2c326;background:#c8d2c30f;color:#a8b5a0}.cells-module__chalkToggleActive___40QxK{background:#d4e8cb1f;border-color:#d4e8cb40;color:#d4e8cb}.cells-module__input___6FtwV{font-family:JetBrains Mono,monospace;font-size:.75rem;padding:2px 8px;border-radius:4px;border:1px solid rgba(61,53,43,.15);background:#faf8f099;color:#1a1917;width:100%;max-width:180px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.cells-module__input___6FtwV::-moz-placeholder{color:#a8a399}.cells-module__input___6FtwV::placeholder{color:#a8a399}.cells-module__input___6FtwV:focus{border-color:#8fb99680;box-shadow:0 0 0 2px #8fb99626}.cells-module__input___6FtwV[type=number]{max-width:100px}.cells-module__chalkInput___T8jRO{font-size:.75rem;border-color:#c8d2c333;background:#142e2299;color:#d4e8cb}.cells-module__chalkInput___T8jRO::-moz-placeholder{color:#a8b5a0}.cells-module__chalkInput___T8jRO::placeholder{color:#a8b5a0}.cells-module__chalkInput___T8jRO:focus{border-color:#d4e8cb66;box-shadow:0 0 0 2px #d4e8cb1a}.cells-module__dropdownToggle___OPFkY{display:inline-flex;align-items:center;gap:6px;font-family:JetBrains Mono,monospace;font-size:.75rem;color:#8c7d56;background:#8c7d5614;border:1px solid rgba(140,125,86,.2);border-radius:4px;padding:2px 8px 2px 10px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.cells-module__dropdownToggle___OPFkY:hover{background:#8c7d5624;border-color:#8c7d5659}.cells-module__chevron___LosSi{flex-shrink:0;stroke:currentColor;transition:transform .15s ease}.cells-module__chevronOpen___sM4y0{transform:rotate(180deg)}.cells-module__dropdown___8Ov5L{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;background:#faf8f0;border:1px solid rgba(61,53,43,.12);border-radius:6px;box-shadow:0 4px 12px #3d352b1f;z-index:20;padding:4px 0;animation:cells-module__fadeIn___ha0fT .12s ease}@keyframes cells-module__fadeIn___ha0fT{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cells-module__dropdownItem___3iLvf{font-family:JetBrains Mono,monospace;font-size:.75rem;color:#68635c;padding:6px 12px;cursor:default}.cells-module__dropdownItem___3iLvf:hover{background:#8fb9961f;color:#1a1917}.cells-module__chalkDropdownToggle___o9LTb{font-size:.75rem;color:#d4e8cb;background:#c8d2c314;border-color:#c8d2c326}.cells-module__chalkDropdownToggle___o9LTb:hover{background:#c8d2c326;border-color:#c8d2c340}.cells-module__chalkDropdown___E1y9a{background-color:#1e3a2d;border-color:#c8d2c333;box-shadow:0 4px 16px #0006}.cells-module__chalkDropdownItem___cW122{font-size:.75rem;color:#e8e4d9}.cells-module__chalkDropdownItem___cW122:hover{background:#c8d2c31f;color:#d4e8cb}.prop-table-module__wrapper___AufwJ.prop-table-module__wrapper___AufwJ{overflow:visible}.prop-table-module__codeName___Sa7rq{font-family:JetBrains Mono,monospace;font-size:.875rem;color:#51719b}.prop-table-module__required___4C7Pm{color:#9e5e5e;margin-left:2px}.prop-table-module__desc___QNNO7{font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);color:#68635c;font-size:1rem;line-height:1.5;display:block}.prop-table-module__chalkCodeName___Erzq6{color:#d4e8cb}.prop-table-module__chalkRequired___3Mh-y{color:#e8a0a0}.prop-table-module__chalkDesc___46JCK{color:#e8e4d9}.swatch-module__swatch___Kvyl1{border-radius:.75rem;border:2px solid rgba(61,53,43,.12);transition:all .2s ease;flex-shrink:0;cursor:pointer;background:transparent;padding:0}.swatch-module__active___4ydAA{border-color:#7c9cc0;box-shadow:0 4px 6px #3d352b14;transform:scale(1.1)}.swatch-module__disabled___t3NKC{opacity:.35;filter:grayscale(100%);cursor:not-allowed}.swatch-module__chalkboard___0IL0r{border-color:#c8d2c333}.swatch-module__chalkboard___0IL0r.swatch-module__active___4ydAA{border-color:#d4e8cb;box-shadow:0 4px 6px #00000040}.card-module__borderLayer___WSpJq{position:relative;display:flex;flex-direction:column;overflow:hidden;border-radius:10.6828449006px 13.8312045525px 12.6752985547px 10.0746310688px;--sketch-stroke: rgba(61, 53, 43, .32)}.card-module__default___glPy-{filter:drop-shadow(0 1px 2px rgba(61,53,43,.09))}.card-module__elevated___uhWj9{filter:drop-shadow(0 4px 6px rgba(61,53,43,.1)) drop-shadow(0 1px 2px rgba(61,53,43,.06))}.card-module__textureLayer___Kcofz{position:relative;z-index:1;flex:1 1 auto;padding:2rem;font-size:1.125rem;line-height:32px;background-color:#faf8f0;border-radius:10.3118127243px 12.9833264661px 12.5294868251px 11.218250471px;clip-path:var(--sketch-clip)}.card-module__textureLayer___Kcofz>*+*{margin-top:2rem}.card-module__flat___KnG5z,.card-module__flat___KnG5z .card-module__textureLayer___Kcofz{border-radius:12px}.card-module__small___HXUTr .card-module__textureLayer___Kcofz{padding:.75rem 1rem;font-size:1rem;line-height:1.2}.card-module__small___HXUTr .card-module__textureLayer___Kcofz>*+*{margin-top:.75rem}.card-module__withAccent___2t7bV:before{content:\\\"\\\";position:absolute;width:160px;height:160px;border-radius:50%;top:-40px;right:-40px;filter:blur(40px);mix-blend-mode:multiply;pointer-events:none;z-index:0;opacity:.12}.card-module__accentBlue___a1KIq:before{background:radial-gradient(circle,#AFC6E0 0%,transparent 70%)}.card-module__accentGreen___RNWoA:before{background:radial-gradient(circle,#B5D4BA 0%,transparent 70%)}.card-module__accentAmber___uMhom:before{background:radial-gradient(circle,#E4C9A8 0%,transparent 70%)}.card-module__accentRose___VPI3t:before{background:radial-gradient(circle,#DEB5B5 0%,transparent 70%)}.card-module__accentSlate___-l4jE:before{background:radial-gradient(circle,#B0BEC8 0%,transparent 70%)}.card-module__chalkboard___bQ48O{--sketch-stroke: rgba(200, 210, 195, .3);filter:drop-shadow(0 4px 10px rgba(0,0,0,.28))}.card-module__chalkboard___bQ48O .card-module__textureLayer___Kcofz{color:#e8e4d9;background-color:#142e22}.input-module__wrapper___xaEw6{display:flex;flex-direction:column;gap:.5rem}.input-module__label___lu7R1{font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);font-size:1rem;font-weight:600;color:#1a1917;letter-spacing:.03em}.input-module__field___khFpX{position:relative;display:block;width:100%;border-radius:8px;--sketch-fill: rgba(61, 53, 43, .05);--sketch-stroke: rgba(61, 53, 43, .32)}.input-module__field___khFpX:hover{--sketch-stroke: rgba(61, 53, 43, .42)}.input-module__field___khFpX:focus-within{outline:2px dotted #A8A399;outline-offset:2px;--sketch-stroke: rgba(138, 155, 168, .45)}.input-module__input___h7K-F{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;position:relative;z-index:1;width:100%;border:none;outline:none;background:transparent;color:#1a1917;font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);font-weight:500;line-height:1.2}.input-module__input___h7K-F::-moz-placeholder{color:#a8a399;font-weight:400;font-family:Caveat,cursive;font-size:1.125rem}.input-module__input___h7K-F::placeholder{color:#a8a399;font-weight:400;font-family:Caveat,cursive;font-size:1.125rem}.input-module__small___SkByh .input-module__input___h7K-F{padding:.5rem .75rem;font-size:.875rem}.input-module__medium___0QPuV .input-module__input___h7K-F{padding:.75rem 1rem;font-size:1rem}.input-module__large___zGwRu .input-module__input___h7K-F{padding:1rem 1.25rem;font-size:1.125rem}.input-module__error___QDqga{--sketch-stroke: rgba(201, 139, 139, .45)}.input-module__error___QDqga:focus-within{--sketch-stroke: rgba(201, 139, 139, .55)}.input-module__disabled___K-5hi{opacity:.55;--sketch-fill: rgba(61, 53, 43, .03);--sketch-stroke: rgba(61, 53, 43, .15)}.input-module__disabled___K-5hi .input-module__input___h7K-F{cursor:not-allowed}.input-module__disabled___K-5hi:hover{--sketch-stroke: rgba(61, 53, 43, .15)}.input-module__helperText___njeLH{font-family:Caveat,cursive;font-size:1rem;color:#a8a399}.input-module__helperError___qDBpD{color:#9e5e5e}.input-module__chalkboard___Xh-5s .input-module__label___lu7R1{color:#d4e8cb}.input-module__chalkboard___Xh-5s .input-module__helperText___njeLH{color:#a8b5a0}.input-module__chalkboard___Xh-5s .input-module__field___khFpX{--sketch-fill: rgba(200, 210, 195, .08);--sketch-stroke: rgba(200, 210, 195, .3)}.input-module__chalkboard___Xh-5s .input-module__field___khFpX:hover{--sketch-stroke: rgba(200, 210, 195, .45)}.input-module__chalkboard___Xh-5s .input-module__field___khFpX:focus-within{outline:2px dotted #d4e8cb;outline-offset:2px;--sketch-stroke: #d4e8cb}.input-module__chalkboard___Xh-5s .input-module__input___h7K-F{color:#d4e8cb}.input-module__chalkboard___Xh-5s .input-module__input___h7K-F::-moz-placeholder{color:#a8b5a0}.input-module__chalkboard___Xh-5s .input-module__input___h7K-F::placeholder{color:#a8b5a0}.input-module__chalkboard___Xh-5s .input-module__disabled___K-5hi{--sketch-fill: rgba(200, 210, 195, .04);--sketch-stroke: rgba(200, 210, 195, .12)}.input-module__chalkboard___Xh-5s .input-module__disabled___K-5hi:hover{--sketch-stroke: rgba(200, 210, 195, .12)}.select-module__wrapper___Hc5F3{display:flex;flex-direction:column;gap:.5rem;position:relative}.select-module__label___ay-3s{font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);font-size:1rem;font-weight:600;color:#1a1917;letter-spacing:.03em}.select-module__nativeSelect___UA2d-{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;opacity:0}.select-module__trigger___xMYHi{position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);font-weight:500;line-height:1.2;color:#1a1917;cursor:pointer;background:transparent;border:none;outline:none;border-radius:8px;--sketch-fill: rgba(61, 53, 43, .05);--sketch-stroke: rgba(61, 53, 43, .32)}.select-module__trigger___xMYHi:hover:not(:disabled){--sketch-stroke: rgba(61, 53, 43, .42)}.select-module__trigger___xMYHi.select-module__open___w3mbZ{--sketch-stroke: rgba(138, 155, 168, .45)}.select-module__trigger___xMYHi:focus-visible{outline:2px dotted #A8A399;outline-offset:2px}.select-module__trigger___xMYHi:disabled{opacity:.55;cursor:not-allowed;--sketch-fill: rgba(61, 53, 43, .03);--sketch-stroke: rgba(61, 53, 43, .15)}.select-module__triggerLabel___ihpER{position:relative;z-index:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-module__placeholder___0VOFP{color:#a8a399;font-family:Caveat,cursive;font-size:1.125rem}.select-module__small___iU9W9{padding:.5rem .75rem;font-size:.875rem}.select-module__small___iU9W9 .select-module__chevron___0dCTg{width:14px;height:14px}.select-module__medium___B-XBN{padding:.75rem 1rem;font-size:1rem}.select-module__large___iII2c{padding:1rem 1.25rem;font-size:1.125rem}.select-module__chevron___0dCTg{position:relative;z-index:1;flex-shrink:0;margin-left:.5rem;color:#a8a399;transition:transform .2s ease-out}.select-module__chevronOpen___cFOYe{transform:rotate(180deg)}.select-module__error___P5RBk{--sketch-stroke: rgba(201, 139, 139, .45)}.select-module__error___P5RBk.select-module__open___w3mbZ{--sketch-stroke: rgba(201, 139, 139, .55)}.select-module__dropdown___Q-uK3{position:absolute;top:calc(100% + 6px);left:0;width:100%;z-index:600;--sketch-fill: #F5F1E6;--sketch-stroke: rgba(61, 53, 43, .32);filter:drop-shadow(0 8px 14px rgba(61,53,43,.12));animation:select-module__slideDown___sT374 .18s ease-out}.select-module__options___HmrQ0{position:relative;z-index:1;padding:.75rem 1rem;max-height:320px;overflow-y:auto}@keyframes select-module__slideDown___sT374{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.select-module__option___vNnue{padding:.5rem .75rem;font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);font-size:1rem;color:#1a1917;cursor:pointer;border-radius:7.0341415786px 8.2238006924px 8.363089275px 7.1810730586px;transition:background-color .15s ease-out}.select-module__option___vNnue:hover:not(.select-module__optionDisabled___ex2zq){background-image:radial-gradient(circle at 50% 50%,rgba(143,185,150,.22) 0%,transparent 70%);background-color:#8fb9961f}.select-module__optionSelected___tAFjn{font-weight:600;color:#1a1917;background-image:radial-gradient(circle at 50% 50%,rgba(138,155,168,.18) 0%,transparent 70%)}.select-module__optionHighlighted___zYQLq{background-image:radial-gradient(circle at 50% 50%,rgba(143,185,150,.28) 0%,transparent 70%);background-color:#8fb99624}.select-module__optionDisabled___ex2zq{opacity:.45;cursor:not-allowed;text-decoration:line-through}.select-module__helperText___r5gyn{font-family:Caveat,cursive;font-size:1rem;color:#a8a399}.select-module__helperError___ydSPT{color:#9e5e5e}.select-module__chalkboard___sXBw8 .select-module__label___ay-3s{color:#d4e8cb}.select-module__chalkboard___sXBw8 .select-module__helperText___r5gyn{color:#a8b5a0}.select-module__chalkboard___sXBw8 .select-module__trigger___xMYHi{color:#d4e8cb;--sketch-fill: rgba(200, 210, 195, .08);--sketch-stroke: rgba(200, 210, 195, .3)}.select-module__chalkboard___sXBw8 .select-module__trigger___xMYHi:hover:not(:disabled){--sketch-stroke: rgba(200, 210, 195, .45)}.select-module__chalkboard___sXBw8 .select-module__trigger___xMYHi.select-module__open___w3mbZ{--sketch-stroke: #d4e8cb}.select-module__chalkboard___sXBw8 .select-module__trigger___xMYHi:focus-visible{outline:2px dotted #d4e8cb;outline-offset:2px}.select-module__chalkboard___sXBw8 .select-module__trigger___xMYHi:disabled{opacity:.55;--sketch-fill: rgba(200, 210, 195, .04);--sketch-stroke: rgba(200, 210, 195, .12)}.select-module__chalkboard___sXBw8 .select-module__placeholder___0VOFP,.select-module__chalkboard___sXBw8 .select-module__chevron___0dCTg{color:#a8b5a0}.select-module__chalkboard___sXBw8 .select-module__dropdown___Q-uK3{--sketch-fill: #1e3a2d;--sketch-stroke: rgba(200, 210, 195, .3);filter:drop-shadow(0 8px 14px rgba(0,0,0,.3))}.select-module__chalkboard___sXBw8 .select-module__option___vNnue{color:#e8e4d9;border-radius:8px}.select-module__chalkboard___sXBw8 .select-module__option___vNnue:hover:not(.select-module__optionDisabled___ex2zq){background-image:none;background-color:#c8d2c314}.select-module__chalkboard___sXBw8 .select-module__optionSelected___tAFjn{color:#d4e8cb;background-image:none;background-color:#c8d2c31f}.select-module__chalkboard___sXBw8 .select-module__optionHighlighted___zYQLq{background-image:none;background-color:#c8d2c31a}.tabs-module__tabs___UMeM9{display:flex;flex-direction:column}.tabs-module__tabBar___qKukf{display:flex;gap:.25rem}.tabs-module__tabButton___DyC14{flex:0 0 auto}.tabs-module__content___F1vOY{margin-top:.5rem}.alert-module__alert___j7ZRS{position:relative;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:#68635c;filter:drop-shadow(0 1px 2px rgba(61,53,43,.09));--sketch-stroke: rgba(61, 53, 43, .32)}.alert-module__surface___IaVgU{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:8px;clip-path:var(--sketch-clip)}.alert-module__iconWrapper___kLoxT{position:relative;z-index:1;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px}.alert-module__message___klR2U{flex:1;min-width:0;position:relative;z-index:1;font-family:Cormorant Garamond,Georgia,serif;font-size:1rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-module__dismiss___f2uoG{position:relative;z-index:1;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:.25rem;background:transparent;border:none;cursor:pointer;border-radius:7.4143685126px 8.8178586877px 8.1456191497px 7.9462216237px;color:inherit;opacity:.6;transition:opacity .15s ease-out,background .15s ease-out}.alert-module__dismiss___f2uoG:hover{opacity:1;background:#0000000a}.alert-module__dismiss___f2uoG:focus-visible{opacity:1;outline:2px solid #8A9BA8;outline-offset:2px}.alert-module__info___PBo1l{--sketch-stroke: rgba(138, 155, 168, .45)}.alert-module__success___AVBKS{--sketch-stroke: rgba(94, 138, 102, .42)}.alert-module__warning___zkMaJ{--sketch-stroke: rgba(166, 123, 79, .45)}.alert-module__error___cxg96{color:#9e5e5e;--sketch-stroke: rgba(158, 94, 94, .45)}.alert-module__chalkboard___7pgWk{color:#e8e4d9;--sketch-stroke: rgba(200, 210, 195, .4)}.alert-module__chalkboard___7pgWk .alert-module__surface___IaVgU{background-color:#1e3a2d;background-image:url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='c'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.15 0 0 0 0 0.28 0 0 0 0 0.20 0 0 0 0.08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23c)' opacity='1'/%3E%3C/svg%3E\\\");background-repeat:repeat;background-size:200px 200px}.alert-module__chalkboard___7pgWk .alert-module__dismiss___f2uoG{color:#a8b5a0}.alert-module__chalkboard___7pgWk .alert-module__dismiss___f2uoG:hover{background:#c8d2c314}.modal-module__overlay___a52Ni{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:1.5rem;background-color:#1a191738;background-image:url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.04'/%3E%3C/svg%3E\\\");background-repeat:repeat;background-size:200px 200px;z-index:400;animation:modal-module__fadeIn___5OWd5 .2s ease-out}.modal-module__backdrop___RS4yj{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;margin:0;border:none;background:transparent;cursor:default;z-index:400}.modal-module__modal___ZioOV{position:relative;background-color:#faf8f0;border-radius:16.17241403px 20.9663066426px 23.600752974px 16.7030704429px;border:1px solid rgba(61,53,43,.12);box-shadow:0 10px 15px #3d352b1a,0 4px 6px #3d352b14;max-height:90vh;overflow-y:auto;animation:modal-module__slideUp___vfFrm .25s ease-out;z-index:500}.modal-module__small___hcxwF{width:100%;max-width:360px}.modal-module__medium___mjbM5{width:100%;max-width:480px}.modal-module__large___1dzyf{width:100%;max-width:640px}.modal-module__header___iP09B{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem 1.5rem 0;position:relative;z-index:1}.modal-module__title___nj06m{font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);font-size:1.875rem;font-weight:700;color:#1a1917;line-height:1.2;margin:0}.modal-module__close___gQou9{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;padding:.5rem;background:transparent;border:none;cursor:pointer;border-radius:7.6495439977px 8.4236823164px 8.4243020673px 7.9837773426px;color:#a8a399;transition:color .15s ease-out,background .15s ease-out;flex-shrink:0}.modal-module__close___gQou9:hover{color:#1a1917;background:#0000000a}.modal-module__close___gQou9:focus-visible{outline:2px solid #8A9BA8;outline-offset:2px}.modal-module__body___Y-EdA{padding:1rem 1.5rem 1.5rem;position:relative;z-index:1}.modal-module__chalkboard___qY8qo{background-color:#1e3a2d;border-color:#c8d2c333}.modal-module__chalkboard___qY8qo .modal-module__title___nj06m{color:#d4e8cb}.modal-module__chalkboard___qY8qo .modal-module__close___gQou9{color:#a8b5a0}.modal-module__chalkboard___qY8qo .modal-module__close___gQou9:hover{color:#d4e8cb;background:#c8d2c314}@keyframes modal-module__fadeIn___5OWd5{0%{opacity:0}to{opacity:1}}@keyframes modal-module__slideUp___vfFrm{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.modal-module__overlay___a52Ni,.modal-module__modal___ZioOV{animation:none}}.textarea-module__wrapper___NbiNO{display:flex;flex-direction:column;gap:.5rem}.textarea-module__label___ejhyZ{font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);font-size:1rem;font-weight:600;color:#1a1917;letter-spacing:.03em}.textarea-module__field___KluQf{position:relative;display:block;width:100%;border-radius:8px;--sketch-fill: rgba(61, 53, 43, .05);--sketch-stroke: rgba(61, 53, 43, .32)}.textarea-module__field___KluQf:hover{--sketch-stroke: rgba(61, 53, 43, .42)}.textarea-module__field___KluQf:focus-within{outline:2px dotted #A8A399;outline-offset:2px;--sketch-stroke: rgba(138, 155, 168, .45)}.textarea-module__textarea___0y-7v{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;position:relative;z-index:1;width:100%;min-height:4rem;resize:none;border:none;outline:none;background:transparent;color:#1a1917;font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);font-weight:500;line-height:1.5}.textarea-module__textarea___0y-7v::-moz-placeholder{color:#a8a399;font-weight:400;font-family:Caveat,cursive;font-size:1.125rem}.textarea-module__textarea___0y-7v::placeholder{color:#a8a399;font-weight:400;font-family:Caveat,cursive;font-size:1.125rem}.textarea-module__resizeGrip___lONlE{position:absolute;right:3px;bottom:3px;z-index:2;display:flex;padding:3px;cursor:ns-resize;color:var(--sketch-stroke, rgba(61, 53, 43, .32));opacity:.75;touch-action:none;transition:opacity .15s ease-out}.textarea-module__resizeGrip___lONlE:hover{opacity:1}.textarea-module__resizeGrip___lONlE svg{width:11px;height:11px;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}.textarea-module__small___yPyr8 .textarea-module__textarea___0y-7v{padding:.5rem .75rem;font-size:.875rem}.textarea-module__medium___ezQxA .textarea-module__textarea___0y-7v{padding:.75rem 1rem;font-size:1rem}.textarea-module__large___xfeKi .textarea-module__textarea___0y-7v{padding:1rem 1.25rem;font-size:1.125rem}.textarea-module__error___EkXKJ{--sketch-stroke: rgba(201, 139, 139, .45)}.textarea-module__error___EkXKJ:focus-within{--sketch-stroke: rgba(201, 139, 139, .55)}.textarea-module__disabled___9CKbb{opacity:.55;--sketch-fill: rgba(61, 53, 43, .03);--sketch-stroke: rgba(61, 53, 43, .15)}.textarea-module__disabled___9CKbb .textarea-module__textarea___0y-7v{cursor:not-allowed}.textarea-module__disabled___9CKbb:hover{--sketch-stroke: rgba(61, 53, 43, .15)}.textarea-module__helperText___l1sPh{font-family:Caveat,cursive;font-size:1rem;color:#a8a399}.textarea-module__helperError___VfTLy{color:#9e5e5e}.textarea-module__chalkboard___zZ0X0 .textarea-module__label___ejhyZ{color:#d4e8cb}.textarea-module__chalkboard___zZ0X0 .textarea-module__helperText___l1sPh{color:#a8b5a0}.textarea-module__chalkboard___zZ0X0 .textarea-module__field___KluQf{--sketch-fill: rgba(200, 210, 195, .08);--sketch-stroke: rgba(200, 210, 195, .3)}.textarea-module__chalkboard___zZ0X0 .textarea-module__field___KluQf:hover{--sketch-stroke: rgba(200, 210, 195, .45)}.textarea-module__chalkboard___zZ0X0 .textarea-module__field___KluQf:focus-within{outline:2px dotted #d4e8cb;outline-offset:2px;--sketch-stroke: #d4e8cb}.textarea-module__chalkboard___zZ0X0 .textarea-module__textarea___0y-7v{color:#d4e8cb}.textarea-module__chalkboard___zZ0X0 .textarea-module__textarea___0y-7v::-moz-placeholder{color:#a8b5a0}.textarea-module__chalkboard___zZ0X0 .textarea-module__textarea___0y-7v::placeholder{color:#a8b5a0}.textarea-module__chalkboard___zZ0X0 .textarea-module__disabled___9CKbb{--sketch-fill: rgba(200, 210, 195, .04);--sketch-stroke: rgba(200, 210, 195, .12)}.textarea-module__chalkboard___zZ0X0 .textarea-module__disabled___9CKbb:hover{--sketch-stroke: rgba(200, 210, 195, .12)}.progress-module__track___a5BMO{position:relative;width:100%;overflow:hidden}.progress-module__svg___3U0-E{display:block;width:100%;height:100%}.list-item-module__listItem___-tw9O{position:relative;display:flex;align-items:center;gap:.5rem;width:100%;font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);color:#1a1917;background:transparent;border:none;border-radius:8px;text-align:left;outline:none}.list-item-module__listItem___-tw9O:focus-visible{outline:2px solid #8A9BA8;outline-offset:2px}.list-item-module__static___qtEX6{cursor:default}.list-item-module__clickable___GLJmd{cursor:pointer}.list-item-module__blobBg___O3Mzh{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.list-item-module__blobFill___dXHk1{fill:transparent;transition:fill .25s ease}.list-item-module__blobRing___S9mas{fill:none;stroke:#3d352b38;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .35s ease 50ms}.list-item-module__clickable___GLJmd:hover .list-item-module__blobFill___dXHk1{fill:#8fb9961f}.list-item-module__clickable___GLJmd:active .list-item-module__blobFill___dXHk1{fill:#8fb99633}.list-item-module__clickable___GLJmd:hover .list-item-module__blobRing___S9mas{opacity:1}.list-item-module__clickable___GLJmd:active .list-item-module__blobRing___S9mas{stroke:#3d352b8c}.list-item-module__active___UsL8O .list-item-module__blobFill___dXHk1{fill:#8fb99640}.list-item-module__active___UsL8O:hover .list-item-module__blobFill___dXHk1{fill:#8fb9964d}.list-item-module__active___UsL8O .list-item-module__blobRing___S9mas{opacity:1}.list-item-module__small___9dphK{padding:.25rem .5rem;font-size:1rem;line-height:1.2}.list-item-module__medium___yGZCr{padding:.5rem .75rem;font-size:1.125rem;line-height:1.2}.list-item-module__icon___2b4wU{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#68635c}.list-item-module__label___SIzJ4{position:relative;z-index:1;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item-module__action___qGh0-{position:relative;z-index:1;display:flex;align-items:center;flex-shrink:0;margin-left:auto}.list-item-module__chalkboard___qpWuM{color:#e8e4d9}.list-item-module__chalkboard___qpWuM .list-item-module__icon___2b4wU{color:#a8b5a0}.list-item-module__chalkboard___qpWuM .list-item-module__blobRing___S9mas{stroke:#c8d2c359}.list-item-module__chalkboard___qpWuM.list-item-module__clickable___GLJmd:active .list-item-module__blobRing___S9mas{stroke:#c8d2c3a6}.list-item-module__chalkboard___qpWuM:focus-visible{outline:2px solid #d4e8cb;outline-offset:2px}.accordion-module__accordion___mqGl-{width:100%}.accordion-module__header___mLfbd{display:flex;align-items:center;gap:.5rem;width:100%;padding:0;font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;background:transparent;border:none;cursor:pointer;text-align:left}.accordion-module__header___mLfbd:hover .accordion-module__icon___Z90NR{color:#1a1917}.accordion-module__header___mLfbd:focus-visible{outline:2px solid #8A9BA8;outline-offset:2px;border-radius:8px}.accordion-module__icon___Z90NR{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1em;height:1em;font-size:.65em;color:#68635c;transition:transform .2s ease,color .15s ease-out}.accordion-module__title___HusgG{flex:1}.accordion-module__content___1K0td{margin-top:.5rem;padding-left:calc(1em + .5rem);color:#68635c;font-size:1rem;line-height:1.5}.accordion-module__chalkboard___am8r4 .accordion-module__icon___Z90NR{color:#a8b5a0}.accordion-module__chalkboard___am8r4 .accordion-module__header___mLfbd:hover .accordion-module__icon___Z90NR{color:#d4e8cb}.accordion-module__chalkboard___am8r4 .accordion-module__header___mLfbd:focus-visible{outline:2px solid #d4e8cb;outline-offset:2px}.accordion-module__chalkboard___am8r4 .accordion-module__content___1K0td{color:#a8b5a0}.accordion-module__icon___Z90NR svg{transition:transform .15s ease-out}.accordion-module__expanded___836xG .accordion-module__icon___Z90NR svg{transform:rotate(90deg)}.icon-module__icon___2vrJz{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:visible}.icon-module__blobBg___ENPYJ{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.icon-module__blobFill___IPbwQ{fill:#f0ead8}.icon-module__blobRing___1awqV{fill:none;stroke:#3d352b59;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.5}.icon-module__content___TaZR6{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;color:#1a1917}.icon-module__small___Xp--F{width:36px;height:36px}.icon-module__medium___tCjMB{width:44px;height:44px}.icon-module__large___vBtP7{width:52px;height:52px}.radio-module__group___4RWR9{display:flex;flex-direction:column;gap:.75rem}.radio-module__horizontal___yWjeu{flex-direction:row;flex-wrap:wrap;gap:1.25rem}.radio-module__wrapper___BB05E{display:flex;align-items:center;gap:1rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.radio-module__wrapper___BB05E:hover .radio-module__blobFill___p5BX4{fill:#7c9cc02e}.radio-module__labelLeft___ijB93{flex-direction:row-reverse}.radio-module__input___M2nFJ{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.radio-module__input___M2nFJ:focus-visible~.radio-module__box___H7ofS{outline:2px dotted #A8A399;outline-offset:2px}.radio-module__input___M2nFJ:checked~.radio-module__box___H7ofS{--sketch-stroke: rgba(61, 53, 43, .7)}.radio-module__input___M2nFJ:checked~.radio-module__box___H7ofS .radio-module__dot___jVJ-d{transform:scale(1)}.radio-module__input___M2nFJ:disabled~.radio-module__box___H7ofS{opacity:.4;cursor:not-allowed}.radio-module__boxWrapper___Y3qis{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.radio-module__blobBg___IR-M5{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.radio-module__blobFill___p5BX4{transition:fill .25s ease;fill:transparent}.radio-module__box___H7ofS{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background-color:transparent;position:relative;z-index:1;border-radius:50%;--sketch-stroke: rgba(61, 53, 43, .42)}.radio-module__box___H7ofS:hover{--sketch-stroke: rgba(61, 53, 43, .6)}.radio-module__dot___jVJ-d{width:12px;height:12px;border-radius:50%;background-color:#1a1917;transform:scale(0);transition:transform .2s ease-out}.radio-module__labelText___I-nu3{font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);font-size:1.125rem;font-weight:400;color:#68635c;line-height:1.5}.radio-module__chalkboard___IIBqI .radio-module__labelText___I-nu3{color:#a8b5a0}.radio-module__chalkboard___IIBqI .radio-module__box___H7ofS{--sketch-stroke: rgba(200, 210, 195, .5)}.radio-module__chalkboard___IIBqI .radio-module__box___H7ofS:hover{--sketch-stroke: #d4e8cb}.radio-module__chalkboard___IIBqI .radio-module__dot___jVJ-d{background-color:#d4e8cb}.radio-module__chalkboard___IIBqI .radio-module__blobFill___p5BX4{display:none}.radio-module__chalkboard___IIBqI .radio-module__input___M2nFJ:focus-visible~.radio-module__box___H7ofS{outline-color:#d4e8cb}.radio-module__chalkboard___IIBqI .radio-module__input___M2nFJ:checked~.radio-module__box___H7ofS{--sketch-stroke: #d4e8cb}.switch-module__wrapper___5-2P1{display:inline-flex;align-items:center;gap:1rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch-module__labelLeft___WlT-N{flex-direction:row-reverse}.switch-module__input___YKZRj{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.switch-module__input___YKZRj:focus-visible~.switch-module__track___QNvnO{outline:2px solid #8A9BA8;outline-offset:2px}.switch-module__input___YKZRj:checked~.switch-module__track___QNvnO{background-color:#8fb996;--sketch-stroke: #5E8A66}.switch-module__input___YKZRj:checked~.switch-module__track___QNvnO .switch-module__thumb___cunvF{transform:translate(var(--switch-travel));background-color:#fdfcf8}.switch-module__input___YKZRj:disabled~.switch-module__track___QNvnO{opacity:.4;cursor:not-allowed}.switch-module__track___QNvnO{position:relative;flex-shrink:0;box-sizing:border-box;border-radius:9999px;background-color:#3d352b0f;background-image:url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.04'/%3E%3C/svg%3E\\\");background-repeat:repeat;background-size:200px 200px;transition:background-color .2s ease;--sketch-stroke: rgba(61, 53, 43, .2)}.switch-module__thumb___cunvF{position:absolute;top:3px;left:3px;background-color:#68635c;background-image:url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.04'/%3E%3C/svg%3E\\\");background-repeat:repeat;background-size:200px 200px;box-shadow:0 1px 2px #1a19171f;transition:transform .2s ease-out,background-color .2s ease}.switch-module__small___WPIxc .switch-module__track___QNvnO{width:34px;height:20px}.switch-module__small___WPIxc .switch-module__thumb___cunvF{width:12px;height:12px;border-radius:5.269037453px 6.4047194307px 6.6529995756px 5.2610143628px}.switch-module__small___WPIxc{--switch-travel: 14px}.switch-module__medium___yPulW .switch-module__track___QNvnO{width:42px;height:24px}.switch-module__medium___yPulW .switch-module__thumb___cunvF{width:16px;height:16px;border-radius:7.9471270244px 9.3919779026px 8.4772540672px 7.014889963px}.switch-module__medium___yPulW{--switch-travel: 18px}.switch-module__large___VlKV1 .switch-module__track___QNvnO{width:52px;height:30px}.switch-module__large___VlKV1 .switch-module__thumb___cunvF{width:22px;height:22px;border-radius:10.7119084792px 11.5737339388px 12.9615435162px 10.7927902007px}.switch-module__large___VlKV1{--switch-travel: 22px}.switch-module__labelText___9Qg39{font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);font-size:1.125rem;color:#68635c;line-height:1.5}.switch-module__chalkboard___qKTMz .switch-module__track___QNvnO{background:#c8d2c314;--sketch-stroke: rgba(200, 210, 195, .25)}.switch-module__chalkboard___qKTMz .switch-module__thumb___cunvF{background:#a8b5a0}.switch-module__chalkboard___qKTMz .switch-module__labelText___9Qg39{color:#a8b5a0}.switch-module__chalkboard___qKTMz .switch-module__input___YKZRj:checked~.switch-module__track___QNvnO{background:#3d5a42;--sketch-stroke: #a8c49a}.switch-module__chalkboard___qKTMz .switch-module__input___YKZRj:checked~.switch-module__track___QNvnO .switch-module__thumb___cunvF{background:#d4e8cb}.spinner-module__spinner___FDTk2{display:inline-flex;color:#68635c}.spinner-module__chalkboard___DLE1z{color:#d4e8cb}.spinner-module__svg___JnCWN{overflow:visible}.spinner-module__track___xbnbo{stroke:currentColor;stroke-width:3.4;opacity:.15}.spinner-module__head___j5dWe{stroke:currentColor;stroke-width:4.6;stroke-dasharray:26 74;animation:spinner-module__draw___dZVus 1.1s linear infinite}@keyframes spinner-module__draw___dZVus{to{stroke-dashoffset:-100}}@media (prefers-reduced-motion: reduce){.spinner-module__head___j5dWe{animation-duration:2.4s}}.skeleton-module__skeleton___HCSvg{display:block;animation:skeleton-module__pulse___6eCq1 1.4s ease-in-out infinite}.skeleton-module__svg___OzxGp{display:block;width:100%;height:100%}.skeleton-module__text___v17Nv{width:100%;height:1em;margin:.15em 0}.skeleton-module__rect___wqIJy{width:100%;height:100px}.skeleton-module__circle___RCmyR{width:40px;height:40px}@keyframes skeleton-module__pulse___6eCq1{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion: reduce){.skeleton-module__skeleton___HCSvg{animation:none}}.divider-module__horizontal___tP3rG{display:flex;align-items:center;gap:.75rem;width:100%}.divider-module__line___KnBes{flex:1;height:2px;border-radius:9999px;background:linear-gradient(90deg,transparent,rgba(26,25,23,.18) 12%,rgba(26,25,23,.18) 88%,transparent)}.divider-module__label___WiUwZ{flex-shrink:0;font-family:Caveat,cursive;font-size:1.125rem;color:#a8a399;line-height:1}.divider-module__vertical___wBSrT{display:inline-block;align-self:stretch;width:2px;min-height:1em;border-radius:9999px;background:linear-gradient(180deg,transparent,rgba(26,25,23,.18) 12%,rgba(26,25,23,.18) 88%,transparent)}.divider-module__chalkboard___gXTde .divider-module__line___KnBes{background:linear-gradient(90deg,transparent,rgba(212,232,203,.25) 12%,rgba(212,232,203,.25) 88%,transparent)}.divider-module__chalkboard___gXTde .divider-module__label___WiUwZ{color:#a8b5a0}.divider-module__chalkboard___gXTde.divider-module__vertical___wBSrT{background:linear-gradient(180deg,transparent,rgba(212,232,203,.25) 12%,rgba(212,232,203,.25) 88%,transparent)}.tooltip-module__wrapper___XeVNe{display:inline-block}.tooltip-module__tooltip___e-rkz{position:fixed;z-index:700;max-width:240px;padding:.5rem .75rem;font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);font-size:.875rem;line-height:1.35;color:#1a1917;background-color:#e5dbc4;background-image:url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='k'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.50 0 0 0 0 0.35 0 0 0 0 0.20 0 0 0 0.55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23k)' opacity='1'/%3E%3C/svg%3E\\\");background-repeat:repeat;background-size:200px 200px;border:1px solid rgba(61,53,43,.15);border-radius:6.2974810722px 10.0369982834px 8.1315862256px 5.9611240117px;box-shadow:0 4px 6px #3d352b14,0 2px 4px #3d352b0f;pointer-events:none;animation:tooltip-module__tooltipIn___CZbRw .12s ease-out}.tooltip-module__tooltip___e-rkz:after{content:\\\"\\\";position:absolute;width:9px;height:9px;background-color:#e5dbc4;transform:rotate(45deg);z-index:-1}.tooltip-module__top___78WWU:after{bottom:-4px;left:50%;margin-left:-4.5px}.tooltip-module__bottom___Irl3O:after{top:-4px;left:50%;margin-left:-4.5px}.tooltip-module__left___C1Ec4:after{right:-4px;top:50%;margin-top:-4.5px}.tooltip-module__right___oUA-Z:after{left:-4px;top:50%;margin-top:-4.5px}.tooltip-module__chalkboard___Um6dx{color:#d4e8cb;background-color:#1e3a2d;border:1px solid rgba(200,210,195,.2)}.tooltip-module__chalkboard___Um6dx:after{background-color:#1e3a2d}@keyframes tooltip-module__tooltipIn___CZbRw{0%{opacity:0;transform:scale(.96)}to{opacity:1}}@media (prefers-reduced-motion: reduce){.tooltip-module__tooltip___e-rkz{animation:none}}.toast-module__stack___hDi0s{position:fixed;z-index:800;display:flex;flex-direction:column;gap:.75rem;max-width:calc(100vw - 2rem);pointer-events:none}.toast-module__stack___hDi0s>*{pointer-events:auto}.toast-module__topLeft___Luw-F{top:1.5rem;left:1.5rem}.toast-module__topCenter___N1DwF{top:1.5rem;left:50%;transform:translate(-50%)}.toast-module__topRight___Dtgau{top:1.5rem;right:1.5rem}.toast-module__bottomLeft___Eb2lo{bottom:1.5rem;left:1.5rem;flex-direction:column-reverse}.toast-module__bottomCenter___gs-Yb{bottom:1.5rem;left:50%;transform:translate(-50%);flex-direction:column-reverse}.toast-module__bottomRight___-0e2j{bottom:1.5rem;right:1.5rem;flex-direction:column-reverse}.toast-module__item___RFjtm{width:360px;max-width:100%;animation:toast-module__toastIn___9m9iN .2s ease-out}@keyframes toast-module__toastIn___9m9iN{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.toast-module__item___RFjtm{animation:none}}.toast-module__card___ZCvJS{position:relative;display:flex;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;color:#68635c;filter:drop-shadow(0 8px 14px rgba(61,53,43,.14));--sketch-stroke: rgba(61, 53, 43, .32)}.toast-module__surface___mfMl0{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:12px;clip-path:var(--sketch-clip)}.toast-module__iconWrapper___lnjcC{position:relative;z-index:1;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:2px}.toast-module__content___AlliM{flex:1;min-width:0;position:relative;z-index:1}.toast-module__title___1Oqh8{font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);font-size:1.25rem;font-weight:700;line-height:1.2;margin-bottom:.25rem}.toast-module__description___eiUSB{font-family:Cormorant Garamond,Georgia,serif;font-size:1rem;line-height:1.5}.toast-module__dismiss___tUGx4{position:relative;z-index:1;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:.25rem;background:transparent;border:none;cursor:pointer;border-radius:7.5986002951px 8.643920979px 8.4992740475px 7.3007033662px;color:inherit;opacity:.6;transition:opacity .15s ease-out,background .15s ease-out}.toast-module__dismiss___tUGx4:hover{opacity:1;background:#0000000a}.toast-module__dismiss___tUGx4:focus-visible{opacity:1;outline:2px solid #8A9BA8;outline-offset:2px}.toast-module__info___Nh8S9{--sketch-stroke: rgba(138, 155, 168, .45)}.toast-module__success___hlKLc{--sketch-stroke: rgba(94, 138, 102, .42)}.toast-module__warning___XUMJt{--sketch-stroke: rgba(166, 123, 79, .45)}.toast-module__error___pSFFC{color:#9e5e5e;--sketch-stroke: rgba(158, 94, 94, .45)}.toast-module__chalkboard___c49gt{color:#e8e4d9;filter:drop-shadow(0 8px 14px rgba(0,0,0,.32));--sketch-stroke: rgba(200, 210, 195, .4)}.toast-module__chalkboard___c49gt .toast-module__surface___mfMl0{background-color:#1e3a2d;background-image:url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='c'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.15 0 0 0 0 0.28 0 0 0 0 0.20 0 0 0 0.08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23c)' opacity='1'/%3E%3C/svg%3E\\\");background-repeat:repeat;background-size:200px 200px}.toast-module__chalkboard___c49gt .toast-module__dismiss___tUGx4{color:#a8b5a0}.toast-module__chalkboard___c49gt .toast-module__dismiss___tUGx4:hover{background:#c8d2c314}.avatar-module__avatar___gw6mG{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);font-weight:600;color:#1a1917;-webkit-user-select:none;-moz-user-select:none;user-select:none;--avatar-fill: #F5F1E6;--sketch-stroke: rgba(61, 53, 43, .2)}.avatar-module__surface___TYxHH{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:var(--avatar-fill);background-image:url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.04'/%3E%3C/svg%3E\\\");background-repeat:repeat;background-size:200px 200px;clip-path:var(--sketch-clip)}.avatar-module__circle___EHI7d .avatar-module__surface___TYxHH{border-radius:50%}.avatar-module__square___Hx-84 .avatar-module__surface___TYxHH{border-radius:7.5203809986px 9.1441851334px 9.65463298px 6.7106060304px}.avatar-module__small___CPLh1{width:28px;height:28px;font-size:.75rem}.avatar-module__medium___1Nmcy{width:36px;height:36px;font-size:.875rem}.avatar-module__large___1CKR4{width:48px;height:48px;font-size:1.125rem}.avatar-module__xlarge___TY6p6{width:64px;height:64px;font-size:1.5rem}.avatar-module__image___yuWcg{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar-module__blue___HGIn3{--avatar-fill: rgba(124, 156, 192, .18);color:#51719b}.avatar-module__green___ee9-J{--avatar-fill: rgba(143, 185, 150, .2);color:#5e8a66}.avatar-module__amber___A-ih1{--avatar-fill: rgba(212, 163, 115, .2);color:#a67b4f}.avatar-module__rose___eozxi{--avatar-fill: rgba(201, 139, 139, .2);color:#9e5e5e}.avatar-module__slate___bUlWM{--avatar-fill: rgba(138, 155, 168, .18);color:#5e7080}.avatar-module__chalkboard___n2ZKN{color:#d4e8cb;--avatar-fill: rgba(212, 232, 203, .08);--sketch-stroke: rgba(200, 210, 195, .4)}.avatar-module__chalkboard___n2ZKN .avatar-module__surface___TYxHH{background-image:none}.breadcrumb-module__breadcrumb___r-ILp{font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);font-size:.875rem}.breadcrumb-module__list___V3YFy{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0}.breadcrumb-module__item___dDwYf{display:flex;align-items:center;gap:.25rem}.breadcrumb-module__link___CHC9k{color:#68635c;text-decoration:none;border-radius:8px;transition:color .15s ease-out}.breadcrumb-module__link___CHC9k:hover{color:#1a1917;text-decoration:underline;text-underline-offset:2px}.breadcrumb-module__link___CHC9k:focus-visible{outline:2px solid #8A9BA8;outline-offset:2px}.breadcrumb-module__linkButton___XoMW-{background:none;border:none;padding:0;margin:0;font:inherit;cursor:pointer}.breadcrumb-module__current___dprI9{color:#1a1917;font-weight:500}.breadcrumb-module__static___affaf{color:#68635c}.breadcrumb-module__separator___uLhtn{flex-shrink:0;color:#a8a399;margin:0 .25rem}.breadcrumb-module__chalkboard___COJpw .breadcrumb-module__link___CHC9k{color:#a8b5a0}.breadcrumb-module__chalkboard___COJpw .breadcrumb-module__link___CHC9k:hover{color:#d4e8cb}.breadcrumb-module__chalkboard___COJpw .breadcrumb-module__link___CHC9k:focus-visible{outline:2px solid #d4e8cb;outline-offset:2px}.breadcrumb-module__chalkboard___COJpw .breadcrumb-module__current___dprI9{color:#d4e8cb}.breadcrumb-module__chalkboard___COJpw .breadcrumb-module__static___affaf{color:#a8b5a0}.breadcrumb-module__chalkboard___COJpw .breadcrumb-module__separator___uLhtn{color:#5e7a68}.pagination-module__pagination___XUA2y{display:flex;align-items:center;gap:.5rem}.pagination-module__list___20YPz{display:flex;align-items:center;gap:.25rem;list-style:none;margin:0;padding:0}.pagination-module__pageButton___-T5D5{min-width:32px;justify-content:center}.pagination-module__dots___gL2WQ{display:flex;align-items:center;justify-content:center;width:32px;color:#a8a399;font-family:Luminari,Cormorant Garamond,Georgia,serif}.menu-module__wrapper___WCtoy{display:inline-block}.menu-module__menu___i40Wj{position:fixed;z-index:600;min-width:160px;filter:drop-shadow(0 8px 14px rgba(61,53,43,.14));--sketch-stroke: rgba(61, 53, 43, .32);animation:menu-module__menuIn___-OAQJ .16s ease-out}.menu-module__surface___SJbaB{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-color:#f5f1e6;background-image:url(\\\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.04'/%3E%3C/svg%3E\\\");background-repeat:repeat;background-size:200px 200px;border-radius:11.617759636px 13.4222403139px 12.6955598419px 9.8771139893px;clip-path:var(--sketch-clip)}.menu-module__list___YjCfD{position:relative;z-index:1;padding:.5rem;max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}@keyframes menu-module__menuIn___-OAQJ{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.menu-module__menu___i40Wj{animation:none}}.menu-module__item___aqcgg{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;border:none;background:transparent;font-family:var(--paper-font-default, \\\"Luminari\\\", \\\"Cormorant Garamond\\\", Georgia, serif);font-size:1rem;text-align:left;color:#1a1917;cursor:pointer;border-radius:7.9912692733px 8.6218900969px 8.5914929674px 7.3715222304px;transition:background-color .15s ease-out}.menu-module__item___aqcgg:hover:not(:disabled){background-image:radial-gradient(circle at 50% 50%,rgba(143,185,150,.22) 0%,transparent 70%);background-color:#8fb9961f}.menu-module__item___aqcgg:focus{outline:none;background-image:radial-gradient(circle at 50% 50%,rgba(143,185,150,.28) 0%,transparent 70%);background-color:#8fb99624}.menu-module__item___aqcgg:focus-visible{outline:2px solid #8A9BA8;outline-offset:2px}.menu-module__icon___1qUvA{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#68635c}.menu-module__label___MtQMh{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-module__danger___p9oZo,.menu-module__danger___p9oZo .menu-module__icon___1qUvA{color:#9e5e5e}.menu-module__danger___p9oZo:hover:not(:disabled),.menu-module__danger___p9oZo:focus{background-image:radial-gradient(circle at 50% 50%,rgba(201,139,139,.22) 0%,transparent 70%);background-color:#c98b8b1f}.menu-module__itemDisabled___HByLP{opacity:.45;cursor:not-allowed}.menu-module__separator___g2uay{height:1px;margin:.25rem .5rem;background:#3d352b26}.menu-module__chalkboard___5jIwI{filter:drop-shadow(0 8px 14px rgba(0,0,0,.3));--sketch-stroke: rgba(200, 210, 195, .3)}.menu-module__chalkboard___5jIwI .menu-module__surface___SJbaB{background-image:none;background-color:#1e3a2d}.menu-module__chalkboard___5jIwI .menu-module__item___aqcgg{color:#e8e4d9}.menu-module__chalkboard___5jIwI .menu-module__item___aqcgg:hover:not(:disabled),.menu-module__chalkboard___5jIwI .menu-module__item___aqcgg:focus{background-image:none;background-color:#c8d2c31a}.menu-module__chalkboard___5jIwI .menu-module__item___aqcgg:focus-visible{outline:2px solid #d4e8cb;outline-offset:2px}.menu-module__chalkboard___5jIwI .menu-module__icon___1qUvA{color:#a8b5a0}.menu-module__chalkboard___5jIwI .menu-module__danger___p9oZo,.menu-module__chalkboard___5jIwI .menu-module__danger___p9oZo .menu-module__icon___1qUvA{color:#e8a0a0}.menu-module__chalkboard___5jIwI .menu-module__danger___p9oZo:hover:not(:disabled),.menu-module__chalkboard___5jIwI .menu-module__danger___p9oZo:focus{background-color:#e8a0a026}.menu-module__chalkboard___5jIwI .menu-module__separator___g2uay{background:#c8d2c333}\\n\"","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;\nfunction Lg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction Mg(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function Ng(a){var b=a._init;return b(a._payload)}\nfunction Og(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Pg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Qg(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&Ng(f)===b.type))return d=e(b,c.props),d.ref=Lg(a,b,c),d.return=a,d;d=Rg(c.type,c.key,c.props,null,a.mode,d);d.ref=Lg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=Sg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Tg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=Qg(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=Rg(b.type,b.key,b.props,null,a.mode,c),\nc.ref=Lg(a,null,b),c.return=a,c;case wa:return b=Sg(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Tg(b,a.mode,c,null),b.return=a,b;Mg(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);Mg(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);Mg(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var th={},uh=Uf(th),vh=Uf(th),wh=Uf(th);function xh(a){if(a===th)throw Error(p(174));return a}\nfunction yh(a,b){G(wh,b);G(vh,a);G(uh,th);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(uh);G(uh,b)}function zh(){E(uh);E(vh);E(wh)}function Ah(a){xh(wh.current);var b=xh(uh.current);var c=lb(b,a.type);b!==c&&(G(vh,a),G(uh,c))}function Bh(a){vh.current===a&&(E(uh),E(vh))}var L=Uf(0);\nfunction Ch(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Dh=[];\nfunction Eh(){for(var a=0;a<Dh.length;a++)Dh[a]._workInProgressVersionPrimary=null;Dh.length=0}var Fh=ua.ReactCurrentDispatcher,Gh=ua.ReactCurrentBatchConfig,Hh=0,M=null,N=null,O=null,Ih=!1,Jh=!1,Kh=0,Lh=0;function P(){throw Error(p(321));}function Mh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Nh(a,b,c,d,e,f){Hh=f;M=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Fh.current=null===a||null===a.memoizedState?Oh:Ph;a=c(d,e);if(Jh){f=0;do{Jh=!1;Kh=0;if(25<=f)throw Error(p(301));f+=1;O=N=null;b.updateQueue=null;Fh.current=Qh;a=c(d,e)}while(Jh)}Fh.current=Rh;b=null!==N&&null!==N.next;Hh=0;O=N=M=null;Ih=!1;if(b)throw Error(p(300));return a}function Sh(){var a=0!==Kh;Kh=0;return a}\nfunction Th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===O?M.memoizedState=O=a:O=O.next=a;return O}function Uh(){if(null===N){var a=M.alternate;a=null!==a?a.memoizedState:null}else a=N.next;var b=null===O?M.memoizedState:O.next;if(null!==b)O=b,N=a;else{if(null===a)throw Error(p(310));N=a;a={memoizedState:N.memoizedState,baseState:N.baseState,baseQueue:N.baseQueue,queue:N.queue,next:null};null===O?M.memoizedState=O=a:O=O.next=a}return O}\nfunction Vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Wh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=N,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Hh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;M.lanes|=m;rh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(dh=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,M.lanes|=f,rh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction Xh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(dh=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function Yh(){}\nfunction Zh(a,b){var c=M,d=Uh(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,dh=!0);d=d.queue;$h(ai.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==O&&O.memoizedState.tag&1){c.flags|=2048;bi(9,ci.bind(null,c,d,e,b),void 0,null);if(null===Q)throw Error(p(349));0!==(Hh&30)||di(c,b,e)}return e}function di(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction ci(a,b,c,d){b.value=c;b.getSnapshot=d;ei(b)&&fi(a)}function ai(a,b,c){return c(function(){ei(b)&&fi(a)})}function ei(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function fi(a){var b=ih(a,1);null!==b&&gi(b,a,1,-1)}\nfunction hi(a){var b=Th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Vh,lastRenderedState:a};b.queue=a;a=a.dispatch=ii.bind(null,M,a);return[b.memoizedState,a]}\nfunction bi(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function ji(){return Uh().memoizedState}function ki(a,b,c,d){var e=Th();M.flags|=a;e.memoizedState=bi(1|b,c,void 0,void 0===d?null:d)}\nfunction li(a,b,c,d){var e=Uh();d=void 0===d?null:d;var f=void 0;if(null!==N){var g=N.memoizedState;f=g.destroy;if(null!==d&&Mh(d,g.deps)){e.memoizedState=bi(b,c,f,d);return}}M.flags|=a;e.memoizedState=bi(1|b,c,f,d)}function mi(a,b){return ki(8390656,8,a,b)}function $h(a,b){return li(2048,8,a,b)}function ni(a,b){return li(4,2,a,b)}function oi(a,b){return li(4,4,a,b)}\nfunction pi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function qi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return li(4,4,pi.bind(null,b,a),c)}function ri(){}function si(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction ti(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function ui(a,b,c){if(0===(Hh&21))return a.baseState&&(a.baseState=!1,dh=!0),a.memoizedState=c;He(c,b)||(c=yc(),M.lanes|=c,rh|=c,a.baseState=!0);return b}function vi(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Lh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Ph={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Wh,useRef:ji,useState:function(){return Wh(Vh)},\nuseDebugValue:ri,useDeferredValue:function(a){var b=Uh();return ui(b,N.memoizedState,a)},useTransition:function(){var a=Wh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1},Qh={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Xh,useRef:ji,useState:function(){return Xh(Vh)},useDebugValue:ri,useDeferredValue:function(a){var b=Uh();return null===\nN?b.memoizedState=a:ui(b,N.memoizedState,a)},useTransition:function(){var a=Xh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1};function Ci(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}function Di(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar Ei={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=R(),d=\nyi(a),e=mh(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=nh(a,e,d);null!==b&&(gi(b,a,d,c),oh(b,a,d))}};function Fi(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction Gi(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=eh(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Ei;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Hi(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Ei.enqueueReplaceState(b,b.state,null)}\nfunction Ii(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs={};kh(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=eh(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Di(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Ei.enqueueReplaceState(e,e.state,null),qh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}function Ji(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}\nfunction Ki(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}function Li(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Mi=\"function\"===typeof WeakMap?WeakMap:Map;function Ni(a,b,c){c=mh(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Oi||(Oi=!0,Pi=d);Li(a,b)};return c}\nfunction Qi(a,b,c){c=mh(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Li(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Li(a,b);\"function\"!==typeof d&&(null===Ri?Ri=new Set([this]):Ri.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Si(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Mi;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ti.bind(null,a,b,c),b.then(a,a))}function Ui(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Vi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=mh(-1,1),b.tag=2,nh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Wi=ua.ReactCurrentOwner,dh=!1;function Xi(a,b,c,d){b.child=null===a?Vg(b,null,c,d):Ug(b,a.child,c,d)}\nfunction Yi(a,b,c,d,e){c=c.render;var f=b.ref;ch(b,e);d=Nh(a,b,c,d,f,e);c=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&c&&vg(b);b.flags|=1;Xi(a,b,d,e);return b.child}\nfunction $i(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!aj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,bj(a,b,f,d,e);a=Rg(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return Zi(a,b,e)}b.flags|=1;a=Pg(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction bj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(dh=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(dh=!0);else return b.lanes=a.lanes,Zi(a,b,e)}return cj(a,b,c,d,e)}\nfunction dj(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(ej,fj),fj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(ej,fj),fj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(ej,fj);fj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(ej,fj),fj|=d;Xi(a,b,e,c);return b.child}function gj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function cj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);ch(b,e);c=Nh(a,b,c,d,f,e);d=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&d&&vg(b);b.flags|=1;Xi(a,b,c,e);return b.child}\nfunction hj(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;ch(b,e);if(null===b.stateNode)ij(a,b),Gi(b,c,d),Ii(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=eh(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&Hi(b,g,d,l);jh=!1;var r=b.memoizedState;g.state=r;qh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||jh?(\"function\"===typeof m&&(Di(b,c,m,d),k=b.memoizedState),(h=jh||Fi(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;lh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Ci(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=eh(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&Hi(b,g,d,k);jh=!1;r=b.memoizedState;g.state=r;qh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||jh?(\"function\"===typeof y&&(Di(b,c,y,d),n=b.memoizedState),(l=jh||Fi(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return jj(a,b,c,d,f,e)}\nfunction jj(a,b,c,d,e,f){gj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),Zi(a,b,f);d=b.stateNode;Wi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Ug(b,a.child,null,f),b.child=Ug(b,null,h,f)):Xi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function kj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);yh(a,b.containerInfo)}\nfunction lj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Xi(a,b,c,d);return b.child}var mj={dehydrated:null,treeContext:null,retryLane:0};function nj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction oj(a,b,c){var d=b.pendingProps,e=L.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(L,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=pj(g,d,0,null),a=Tg(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=nj(c),b.memoizedState=mj,a):qj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return rj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=Pg(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=Pg(h,f):(f=Tg(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?nj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=mj;return d}f=a.child;a=f.sibling;d=Pg(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction qj(a,b){b=pj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function sj(a,b,c,d){null!==d&&Jg(d);Ug(b,a.child,null,c);a=qj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction rj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Ki(Error(p(422))),sj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=pj({mode:\"visible\",children:d.children},e,0,null);f=Tg(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Ug(b,a.child,null,g);b.child.memoizedState=nj(g);b.memoizedState=mj;return f}if(0===(b.mode&1))return sj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Ki(f,d,void 0);return sj(a,b,g,d)}h=0!==(g&a.childLanes);if(dh||h){d=Q;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,ih(a,e),gi(d,a,e,-1))}tj();d=Ki(Error(p(421)));return sj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=uj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=qj(b,d.children);b.flags|=4096;return b}function vj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);bh(a.return,b,c)}\nfunction wj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction xj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Xi(a,b,d.children,c);d=L.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&vj(a,c,b);else if(19===a.tag)vj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(L,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Ch(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);wj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Ch(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}wj(b,!0,c,null,f);break;case \"together\":wj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction ij(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function Zi(a,b,c){null!==a&&(b.dependencies=a.dependencies);rh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=Pg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Pg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction yj(a,b,c){switch(b.tag){case 3:kj(b);Ig();break;case 5:Ah(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:yh(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Wg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(L,L.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return oj(a,b,c);G(L,L.current&1);a=Zi(a,b,c);return null!==a?a.sibling:null}G(L,L.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return xj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(L,L.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,dj(a,b,c)}return Zi(a,b,c)}var zj,Aj,Bj,Cj;\nzj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Aj=function(){};\nBj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;xh(uh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Cj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Dj(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Ej(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;zh();E(Wf);E(H);Eh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Fj(zg),zg=null));Aj(a,b);S(b);return null;case 5:Bh(b);var e=xh(wh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Bj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Cj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=xh(wh.current);xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(L);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Fj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(L.current&1)?0===T&&(T=3):tj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return zh(),\nAj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return ah(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(L);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Dj(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Ch(a);if(null!==g){b.flags|=128;Dj(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(L,L.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Gj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Xj=!1;break a;case 3:X=h.stateNode.containerInfo;Xj=!0;break a;case 4:X=h.stateNode.containerInfo;Xj=!0;break a}h=h.return}if(null===X)throw Error(p(160));Zj(f,g,e);X=null;Xj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)dk(b,a),b=b.sibling}\nfunction dk(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:ck(b,a);ek(a);if(d&4){try{Pj(3,a,a.return),Qj(3,a)}catch(t){W(a,a.return,t)}try{Pj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);break;case 5:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:ck(b,a);ek(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:ck(b,a);ek(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:ck(b,a);ek(a);break;case 13:ck(b,a);ek(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(fk=B()));d&4&&ak(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,ck(b,a),U=l):ck(b,a);ek(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Pj(4,r,r.return);break;case 1:Lj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Lj(r,r.return);break;case 22:if(null!==r.memoizedState){gk(q);continue}}null!==y?(y.return=r,V=y):gk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:ck(b,a);ek(a);d&4&&ak(a);break;case 21:break;default:ck(b,\na),ek(a)}}function ek(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Tj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Uj(a);Wj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Uj(a);Vj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function hk(a,b,c){V=a;ik(a,b,c)}\nfunction ik(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Jj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Jj;var l=U;Jj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?jk(e):null!==k?(k.return=g,V=k):jk(e);for(;null!==f;)V=f,ik(f,b,c),f=f.sibling;V=e;Jj=h;U=l}kk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):kk(a,b,c)}}\nfunction kk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Qj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Ci(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&sh(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}sh(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Rj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function gk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction jk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Qj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Rj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Rj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar lk=Math.ceil,mk=ua.ReactCurrentDispatcher,nk=ua.ReactCurrentOwner,ok=ua.ReactCurrentBatchConfig,K=0,Q=null,Y=null,Z=0,fj=0,ej=Uf(0),T=0,pk=null,rh=0,qk=0,rk=0,sk=null,tk=null,fk=0,Gj=Infinity,uk=null,Oi=!1,Pi=null,Ri=null,vk=!1,wk=null,xk=0,yk=0,zk=null,Ak=-1,Bk=0;function R(){return 0!==(K&6)?B():-1!==Ak?Ak:Ak=B()}\nfunction yi(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Bk&&(Bk=yc()),Bk;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function gi(a,b,c,d){if(50<yk)throw yk=0,zk=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==Q)a===Q&&(0===(K&2)&&(qk|=c),4===T&&Ck(a,Z)),Dk(a,d),1===c&&0===K&&0===(b.mode&1)&&(Gj=B()+500,fg&&jg())}\nfunction Dk(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===Q?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Ek.bind(null,a)):hg(Ek.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Fk(c,Gk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Gk(a,b){Ak=-1;Bk=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Hk()&&a.callbackNode!==c)return null;var d=uc(a,a===Q?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Ik(a,d);else{b=d;var e=K;K|=2;var f=Jk();if(Q!==a||Z!==b)uk=null,Gj=B()+500,Kk(a,b);do try{Lk();break}catch(h){Mk(a,h)}while(1);$g();mk.current=f;K=e;null!==Y?b=0:(Q=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Nk(a,e)));if(1===b)throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;if(6===b)Ck(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Ok(e)&&(b=Ik(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Nk(a,f))),1===b))throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Pk(a,tk,uk);break;case 3:Ck(a,d);if((d&130023424)===d&&(b=fk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){R();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),b);break}Pk(a,tk,uk);break;case 4:Ck(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),d);break}Pk(a,tk,uk);break;case 5:Pk(a,tk,uk);break;default:throw Error(p(329));}}}Dk(a,B());return a.callbackNode===c?Gk.bind(null,a):null}\nfunction Nk(a,b){var c=sk;a.current.memoizedState.isDehydrated&&(Kk(a,b).flags|=256);a=Ik(a,b);2!==a&&(b=tk,tk=c,null!==b&&Fj(b));return a}function Fj(a){null===tk?tk=a:tk.push.apply(tk,a)}\nfunction Ok(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Ck(a,b){b&=~rk;b&=~qk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Ek(a){if(0!==(K&6))throw Error(p(327));Hk();var b=uc(a,0);if(0===(b&1))return Dk(a,B()),null;var c=Ik(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Nk(a,d))}if(1===c)throw c=pk,Kk(a,0),Ck(a,b),Dk(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Pk(a,tk,uk);Dk(a,B());return null}\nfunction Qk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Gj=B()+500,fg&&jg())}}function Rk(a){null!==wk&&0===wk.tag&&0===(K&6)&&Hk();var b=K;K|=1;var c=ok.transition,d=C;try{if(ok.transition=null,C=1,a)return a()}finally{C=d,ok.transition=c,K=b,0===(K&6)&&jg()}}function Hj(){fj=ej.current;E(ej)}\nfunction Kk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:zh();E(Wf);E(H);Eh();break;case 5:Bh(d);break;case 4:zh();break;case 13:E(L);break;case 19:E(L);break;case 10:ah(d.type._context);break;case 22:case 23:Hj()}c=c.return}Q=a;Y=a=Pg(a.current,null);Z=fj=b;T=0;pk=null;rk=qk=rh=0;tk=sk=null;if(null!==fh){for(b=\n0;b<fh.length;b++)if(c=fh[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}fh=null}return a}\nfunction Mk(a,b){do{var c=Y;try{$g();Fh.current=Rh;if(Ih){for(var d=M.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Ih=!1}Hh=0;O=N=M=null;Jh=!1;Kh=0;nk.current=null;if(null===c||null===c.return){T=1;pk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Ui(g);if(null!==y){y.flags&=-257;Vi(y,g,h,f,b);y.mode&1&&Si(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Si(f,l,b);tj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Ui(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Vi(J,g,h,f,b);Jg(Ji(k,h));break a}}f=k=Ji(k,h);4!==T&&(T=2);null===sk?sk=[f]:sk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Ni(f,k,b);ph(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Ri||!Ri.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Qi(f,h,b);ph(f,F);break a}}f=f.return}while(null!==f)}Sk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Jk(){var a=mk.current;mk.current=Rh;return null===a?Rh:a}\nfunction tj(){if(0===T||3===T||2===T)T=4;null===Q||0===(rh&268435455)&&0===(qk&268435455)||Ck(Q,Z)}function Ik(a,b){var c=K;K|=2;var d=Jk();if(Q!==a||Z!==b)uk=null,Kk(a,b);do try{Tk();break}catch(e){Mk(a,e)}while(1);$g();K=c;mk.current=d;if(null!==Y)throw Error(p(261));Q=null;Z=0;return T}function Tk(){for(;null!==Y;)Uk(Y)}function Lk(){for(;null!==Y&&!cc();)Uk(Y)}function Uk(a){var b=Vk(a.alternate,a,fj);a.memoizedProps=a.pendingProps;null===b?Sk(a):Y=b;nk.current=null}\nfunction Sk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Ej(c,b,fj),null!==c){Y=c;return}}else{c=Ij(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Pk(a,b,c){var d=C,e=ok.transition;try{ok.transition=null,C=1,Wk(a,b,c,d)}finally{ok.transition=e,C=d}return null}\nfunction Wk(a,b,c,d){do Hk();while(null!==wk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===Q&&(Y=Q=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||vk||(vk=!0,Fk(hc,function(){Hk();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=ok.transition;ok.transition=null;\nvar g=C;C=1;var h=K;K|=4;nk.current=null;Oj(a,c);dk(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;hk(c,a,e);dc();K=h;C=g;ok.transition=f}else a.current=c;vk&&(vk=!1,wk=a,xk=e);f=a.pendingLanes;0===f&&(Ri=null);mc(c.stateNode,d);Dk(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Oi)throw Oi=!1,a=Pi,Pi=null,a;0!==(xk&1)&&0!==a.tag&&Hk();f=a.pendingLanes;0!==(f&1)?a===zk?yk++:(yk=0,zk=a):yk=0;jg();return null}\nfunction Hk(){if(null!==wk){var a=Dc(xk),b=ok.transition,c=C;try{ok.transition=null;C=16>a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Pj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Sj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Pj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Qj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,ok.transition=b}}return!1}function Xk(a,b,c){b=Ji(c,b);b=Ni(a,b,1);a=nh(a,b,1);b=R();null!==a&&(Ac(a,1,b),Dk(a,b))}\nfunction W(a,b,c){if(3===a.tag)Xk(a,a,c);else for(;null!==b;){if(3===b.tag){Xk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Ri||!Ri.has(d))){a=Ji(c,a);a=Qi(b,a,1);b=nh(b,a,1);a=R();null!==b&&(Ac(b,1,a),Dk(b,a));break}}b=b.return}}\nfunction Ti(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=R();a.pingedLanes|=a.suspendedLanes&c;Q===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction dl(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction el(a,b,c,d,e,f,g,h,k){a=bl(c,d,!0,a,e,f,g,h,k);a.context=dl(null);c=a.current;d=R();e=yi(c);f=mh(d,e);f.callback=void 0!==b&&null!==b?b:null;nh(c,f,e);a.current.lanes=e;Ac(a,e,d);Dk(a,d);return a}function fl(a,b,c,d){var e=b.current,f=R(),g=yi(e);c=dl(c);null===b.context?b.context=c:b.pendingContext=c;b=mh(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=nh(e,b,g);null!==a&&(gi(a,e,g,f),oh(a,e,g));return g}\nfunction gl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function hl(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function il(a,b){hl(a,b);(a=a.alternate)&&hl(a,b)}function jl(){return null}var kl=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ll(a){this._internalRoot=a}\nml.prototype.render=ll.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));fl(a,b,null,null)};ml.prototype.unmount=ll.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Rk(function(){fl(null,a,null,null)});b[uf]=null}};function ml(a){this._internalRoot=a}\nml.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function nl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function pl(){}\nfunction ql(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=gl(g);f.call(a)}}var g=el(b,d,a,0,null,!1,!1,\"\",pl);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Rk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=gl(k);h.call(a)}}var k=bl(a,0,!1,null,null,!1,!1,\"\",pl);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Rk(function(){fl(b,k,c,d)});return k}\nfunction rl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=gl(g);h.call(a)}}fl(b,g,a,e)}else g=ql(c,b,a,e,d);return gl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Dk(b,B()),0===(K&6)&&(Gj=B()+500,jg()))}break;case 13:Rk(function(){var b=ih(a,1);if(null!==b){var c=R();gi(b,a,1,c)}}),il(a,1)}};\nFc=function(a){if(13===a.tag){var b=ih(a,134217728);if(null!==b){var c=R();gi(b,a,134217728,c)}il(a,134217728)}};Gc=function(a){if(13===a.tag){var b=yi(a),c=ih(a,b);if(null!==c){var d=R();gi(c,a,b,d)}il(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Qk;Hb=Rk;\nvar sl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Qk]},tl={findFiberByHostInstance:Wc,bundleType:0,version:\"18.3.1\",rendererPackageName:\"react-dom\"};\nvar ul={bundleType:tl.bundleType,version:tl.version,rendererPackageName:tl.rendererPackageName,rendererConfig:tl.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:tl.findFiberByHostInstance||\njl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.3.1-next-f1338f8080-20240426\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var vl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!vl.isDisabled&&vl.supportsFiber)try{kc=vl.inject(ul),lc=vl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=sl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!nl(b))throw Error(p(200));return cl(a,b,null,c)};exports.createRoot=function(a,b){if(!nl(a))throw Error(p(299));var c=!1,d=\"\",e=kl;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=bl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ll(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Rk(a)};exports.hydrate=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!nl(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=kl;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=el(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new ml(b)};exports.render=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!ol(a))throw Error(p(40));return a._reactRootContainer?(Rk(function(){rl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Qk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!ol(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return rl(a,b,c,!1,d)};exports.version=\"18.3.1-next-f1338f8080-20240426\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","import type { RunningPhaseFill } from '@/app/features/plans/hooks';\nimport type { AgentTaskState, PhaseItem, PlanEntry, ThreadMessage } from '@/types/index';\n\n// Phases and post-build fixes share one table; fixes are appended and tinted\n// (`.fix-row`) so they read as part of the same list, distinct only by colour.\nexport type WorkRow = { kind: 'phase' | 'fix'; item: PhaseItem; index: number };\n\nexport const isRunningRow = (row: WorkRow, runningFill: RunningPhaseFill | null): boolean =>\n row.kind === 'phase' && !row.item.done && runningFill?.index === row.index;\n\nexport const relativeDate = (dateStr: string): string => {\n const date = new Date(dateStr);\n if (Number.isNaN(date.getTime())) return dateStr;\n const days = Math.floor((Date.now() - date.getTime()) / 86400000);\n if (days <= 0) return 'today';\n if (days === 1) return 'yesterday';\n if (days < 7) return `${days}d ago`;\n if (days < 30) return `${Math.floor(days / 7)}w ago`;\n if (days < 365) return `${Math.floor(days / 30)}mo ago`;\n return `${Math.floor(days / 365)}y ago`;\n};\n\n// Time-only when the fetch was today (GitHub data is read on demand — \"as of\n// 14:32\" is how stale a PR-derived status is allowed to look before refreshing).\nexport const formatFetchedAt = (fetchedAt: number): string => {\n const date = new Date(fetchedAt);\n const now = new Date();\n const sameDay =\n date.getFullYear() === now.getFullYear() &&\n date.getMonth() === now.getMonth() &&\n date.getDate() === now.getDate();\n const time = date.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });\n return sameDay ? `as of ${time}` : `as of ${date.toLocaleDateString()} ${time}`;\n};\n\nconst itemProgress = (items: PhaseItem[]) => {\n if (items.length === 0) return null;\n const done = items.filter((p) => p.done).length;\n return { done, total: items.length, pct: Math.round((done / items.length) * 100) };\n};\n\nexport const phaseProgress = (plan: PlanEntry) => itemProgress(plan.phases);\n\nexport const phasePercentage = (plan: PlanEntry): number | null => phaseProgress(plan)?.pct ?? null;\n\n// One bar for the whole plan: phases and fixes counted together.\nexport const combinedProgress = (plan: PlanEntry) =>\n itemProgress([...plan.phases, ...(plan.fixes ?? [])]);\n\nexport const rollupProgress = (\n plan: PlanEntry,\n runningFraction: number,\n): { done: number; total: number; pct: number } | null => {\n const base = combinedProgress(plan);\n if (!base) return null;\n const filled = Math.min(base.total, base.done + runningFraction);\n return { done: base.done, total: base.total, pct: (filled / base.total) * 100 };\n};\n\nexport const runningTaskForPlan = (\n planId: string | undefined,\n agentStatus: AgentTaskState[],\n): AgentTaskState | undefined =>\n planId\n ? agentStatus.find((t) => t.planId === planId && t.status !== 'done' && t.status !== 'error')\n : undefined;\n\nexport const runningPrReviewForPlan = (\n planId: string | undefined,\n agentStatus: AgentTaskState[],\n): AgentTaskState | undefined =>\n planId\n ? agentStatus.find(\n (t) =>\n t.planId === planId &&\n t.taskKind === 'pr-review' &&\n t.status !== 'done' &&\n t.status !== 'error',\n )\n : undefined;\n\nexport const latestReviewNote = (thread: ThreadMessage[] | undefined): string | undefined =>\n [...(thread ?? [])].reverse().find((m) => m.kind === 'review')?.text;\n\n/** Overlays a live agent task onto the stored/derived status for display only —\n * frontmatter and the derived status used for filtering/sorting stay untouched. */\nexport const effectiveStatus = (\n plan: PlanEntry,\n agentStatus: AgentTaskState[],\n): PlanEntry['status'] => {\n if (plan.status === 'done' || plan.status === 'dropped') return plan.status;\n return runningTaskForPlan(plan.id, agentStatus) ? 'in-progress' : plan.status;\n};\n\n/** `review` is allowed here only because `!plan.pr` already scoped this to work that\n * never opened one — a direct-to-main idea, whose merge-and-reset control has nothing\n * to merge. A review plan WITH a PR completes through completionGate instead. */\nexport const canMarkPlanDone = (plan: PlanEntry): boolean =>\n !plan.pr &&\n plan.status !== 'done' &&\n plan.status !== 'dropped' &&\n (plan.entityKind === 'board'\n ? plan.status === 'review'\n : plan.phases.length > 0 && plan.phases.every((p) => p.done)) &&\n (plan.fixes ?? []).every((f) => f.done);\n\nexport const hasCompletedPhase = (plan: PlanEntry): boolean => plan.phases.some((p) => p.done);\n\nexport interface CompletionGateResult {\n ready: boolean;\n missing: string[];\n}\n\n/** Gates the merge-and-reset completion action (IDEA-194): recomputes from raw\n * phases/fixes/PR/CI rather than trusting `plan.status`, the same \"derive, don't\n * assert\" rule deriveStatus follows. `ciGreen` comes from `usePrReviewStatus`,\n * which is the only place CI state is already fetched for a PR. */\nexport const completionGate = (\n plan: PlanEntry,\n ciGreen: boolean | null | undefined,\n): CompletionGateResult => {\n const missing: string[] = [];\n if (!(plan.phases.length > 0 && plan.phases.every((p) => p.done))) missing.push('open phases');\n if (!(plan.fixes ?? []).every((f) => f.done)) missing.push('open fixes');\n // Need not be approved — clicking Complete is the approval; main only requires\n // the Quality/Tests/Consistency checks, not a review.\n if (!plan.pr) missing.push('an open PR');\n // A reviewer explicitly saying no blocks even when findings already became fixes.\n else if (plan.pr.reviewDecision === 'changes-requested') missing.push('requested changes');\n if (ciGreen !== true) missing.push('CI');\n return { ready: missing.length === 0, missing };\n};\n\nexport interface OpenQuestionGroup {\n plan: PlanEntry;\n questions: ThreadMessage[];\n}\n\nconst isOpenQuestion = (message: ThreadMessage): boolean =>\n message.kind === 'question' && (message.state ?? 'open') === 'open';\n\nconst byDateAscending = (a: ThreadMessage, b: ThreadMessage): number =>\n (a.date ?? '').localeCompare(b.date ?? '');\n\n/** Every plan carrying at least one open parked question, oldest-first within\n * a plan and groups ordered by their oldest question — mirrors the\n * question/state filter core/stats.ts's countThreadNotes uses for the same count. */\nexport const collectOpenQuestions = (plans: PlanEntry[]): OpenQuestionGroup[] =>\n plans\n .map((plan) => ({ plan, questions: (plan.thread ?? []).filter(isOpenQuestion) }))\n .filter((group) => group.questions.length > 0)\n .map((group) => ({ plan: group.plan, questions: [...group.questions].sort(byDateAscending) }))\n .sort((a, b) => byDateAscending(a.questions[0], b.questions[0]));\n\nexport const findFocusPlan = (\n plans: PlanEntry[] | undefined,\n activePlanTitle?: string | null,\n): PlanEntry | undefined => {\n if (!plans) return undefined;\n if (activePlanTitle) {\n const selected = plans.find((p) => p.title === activePlanTitle);\n if (selected) return selected;\n }\n return plans.find((p) => p.status === 'in-progress' || p.status === 'review');\n};\n","import {\n type IdeaEntry,\n type IdeaStatus,\n PLAN_STATUSES,\n type PlanEntry,\n type PlanStatus,\n} from '@/types/index';\nimport { phasePercentage } from './helpers';\n\nexport type PlanSortKey = 'status' | 'updated' | 'title' | 'id' | 'progress' | 'order';\ntype SortDirection = 'asc' | 'desc';\n\nexport interface PlanListFilters {\n statuses: PlanStatus[];\n tags: string[];\n search: string;\n sortKey: PlanSortKey;\n sortDirection: SortDirection;\n /** Filter chip for `kind: note` ideas — separate lifecycle from PlanStatus. */\n noteStatuses: IdeaStatus[];\n /** Set by a roadmap item's \"N in queue\" link; null means unfiltered. */\n subject: string | null;\n groupBySubject: boolean;\n}\n\n/** Excludes done/dropped so 40+ closed plans stay out of first paint until a chip reveals them. */\nconst DEFAULT_VISIBLE_STATUSES: PlanStatus[] = ['in-progress', 'review', 'planned', 'idea'];\n\n/** Mirrors DEFAULT_VISIBLE_STATUSES: closed notes stay out of first paint too. */\nconst DEFAULT_VISIBLE_NOTE_STATUSES: IdeaStatus[] = ['open'];\n\nexport const DEFAULT_PLAN_LIST_FILTERS: PlanListFilters = {\n statuses: DEFAULT_VISIBLE_STATUSES,\n tags: [],\n search: '',\n sortKey: 'order',\n sortDirection: 'asc',\n noteStatuses: DEFAULT_VISIBLE_NOTE_STATUSES,\n subject: null,\n groupBySubject: true,\n};\n\nconst STATUS_ORDER: Record<PlanStatus, number> = {\n 'in-progress': 0,\n review: 1,\n planned: 2,\n idea: 3,\n done: 4,\n dropped: 5,\n};\n\nexport interface PlanListResult {\n rows: PlanEntry[];\n statusCounts: Record<PlanStatus, number>;\n tagCounts: Record<string, number>;\n}\n\nconst updatedTimestamp = (plan: PlanEntry): number => {\n const parsed = new Date(plan.updated ?? plan.created).getTime();\n return Number.isNaN(parsed) ? 0 : parsed;\n};\n\nconst createdTimestamp = (plan: PlanEntry): number => {\n const parsed = new Date(plan.created).getTime();\n return Number.isNaN(parsed) ? 0 : parsed;\n};\n\nconst idNumber = (plan: PlanEntry): number => {\n const match = plan.id?.match(/(\\d+)\\s*$/);\n return match ? Number(match[1]) : Number.POSITIVE_INFINITY;\n};\n\nconst matchesSearch = (plan: PlanEntry, search: string): boolean => {\n const needle = search.trim().toLowerCase();\n if (!needle) return true;\n return plan.title.toLowerCase().includes(needle) || plan.body.toLowerCase().includes(needle);\n};\n\nconst matchesTags = (plan: PlanEntry, tags: Set<string>): boolean => {\n if (tags.size === 0) return true;\n return plan.tags.some((tag) => tags.has(tag));\n};\n\nconst matchesSubject = (subject: string | undefined, filterSubject: string | null): boolean =>\n filterSubject === null || subject === filterSubject;\n\nconst activeRank = (plan: PlanEntry): number =>\n plan.status === 'in-progress' || plan.status === 'review' ? 0 : 1;\n\n/** sortDirection flips the sign except for `order` (unordered rows always last)\n * and the active pin below (always first), regardless of key or direction. */\nconst comparePlans = (\n a: PlanEntry,\n b: PlanEntry,\n key: PlanSortKey,\n direction: SortDirection = 'asc',\n): number => {\n const pinDiff = activeRank(a) - activeRank(b);\n if (pinDiff !== 0) return pinDiff;\n if (key === 'order') {\n if (a.order !== undefined && b.order !== undefined) {\n const dirMul = direction === 'desc' ? -1 : 1;\n return dirMul * (a.order - b.order);\n }\n if (a.order !== undefined) return -1;\n if (b.order !== undefined) return 1;\n return createdTimestamp(a) - createdTimestamp(b);\n }\n const cmp = (() => {\n switch (key) {\n case 'status': {\n const byStatus = STATUS_ORDER[a.status] - STATUS_ORDER[b.status];\n if (byStatus !== 0) return byStatus;\n return updatedTimestamp(b) - updatedTimestamp(a);\n }\n case 'updated':\n return updatedTimestamp(b) - updatedTimestamp(a);\n case 'title':\n return a.title.localeCompare(b.title);\n case 'id':\n return idNumber(a) - idNumber(b);\n case 'progress':\n return (phasePercentage(b) ?? -1) - (phasePercentage(a) ?? -1);\n default:\n return 0;\n }\n })();\n return direction === 'desc' ? -cmp : cmp;\n};\n\nconst countBy = <Entry, Value>(\n entries: Entry[],\n key: (entry: Entry) => Value[],\n): Record<string, number> => {\n const counts: Record<string, number> = {};\n for (const entry of entries) {\n for (const value of key(entry)) {\n counts[String(value)] = (counts[String(value)] ?? 0) + 1;\n }\n }\n return counts;\n};\n\nexport const selectPlanRows = (\n entries: PlanEntry[],\n filters: PlanListFilters = DEFAULT_PLAN_LIST_FILTERS,\n): PlanListResult => {\n const tagSet = new Set(filters.tags);\n const statusSet = new Set(filters.statuses);\n\n // Status/tag counts reflect every other active filter dimension (so a chip\n // shows the count it would have if you enabled it), but not themselves.\n const statusCounts = countBy(\n entries.filter(\n (plan) =>\n matchesTags(plan, tagSet) &&\n matchesSearch(plan, filters.search) &&\n matchesSubject(plan.subject, filters.subject),\n ),\n (plan) => [plan.status],\n ) as Record<PlanStatus, number>;\n for (const status of PLAN_STATUSES) statusCounts[status] ??= 0;\n\n const tagCounts = countBy(\n entries.filter(\n (plan) =>\n statusSet.has(plan.status) &&\n matchesSearch(plan, filters.search) &&\n matchesSubject(plan.subject, filters.subject),\n ),\n (plan) => plan.tags,\n );\n\n const rows = entries\n .filter(\n (plan) =>\n statusSet.has(plan.status) &&\n matchesTags(plan, tagSet) &&\n matchesSearch(plan, filters.search) &&\n matchesSubject(plan.subject, filters.subject),\n )\n .sort((a, b) => comparePlans(a, b, filters.sortKey, filters.sortDirection));\n\n return { rows, statusCounts, tagCounts };\n};\n\nconst IDEA_STATUSES: IdeaStatus[] = ['open', 'done', 'dropped'];\n\n/** Maps a note's own lifecycle onto PlanStatus tiers so the merged worklist\n * sort can reuse a single STATUS_ORDER instead of a parallel one for notes. */\nconst NOTE_STATUS_TIER: Record<IdeaStatus, PlanStatus> = {\n open: 'idea',\n done: 'done',\n dropped: 'dropped',\n};\n\nconst matchesIdeaSearch = (idea: IdeaEntry, search: string): boolean => {\n const needle = search.trim().toLowerCase();\n if (!needle) return true;\n return idea.title.toLowerCase().includes(needle) || idea.body.toLowerCase().includes(needle);\n};\n\nexport interface NoteRow {\n type: 'note';\n idea: IdeaEntry;\n}\n\ninterface PlanRow {\n type: 'plan';\n plan: PlanEntry;\n}\n\nexport interface FixRow {\n type: 'fix';\n /** Its `subject` is the parent's, resolved by `selectWorklistRows` — a fix never\n * stores its own, so it can't drift from the idea it fixes. */\n fix: PlanEntry;\n}\n\nexport type WorklistRow = NoteRow | PlanRow | FixRow;\n\nexport interface SubjectGroup {\n /** null is the virtual \"No subject\" group. */\n subject: string | null;\n rows: WorklistRow[];\n}\n\nconst subjectOf = (row: WorklistRow): string | undefined => {\n if (row.type === 'plan') return row.plan.subject;\n if (row.type === 'fix') return row.fix.subject;\n return row.idea.subject;\n};\n\nconst rowOrder = (row: WorklistRow): number | undefined => {\n if (row.type === 'plan') return row.plan.order;\n if (row.type === 'fix') return row.fix.order;\n return row.idea.order;\n};\n\nconst rowUpdatedTimestamp = (row: WorklistRow): number => {\n const raw =\n row.type === 'plan'\n ? (row.plan.updated ?? row.plan.created)\n : row.type === 'fix'\n ? (row.fix.updated ?? row.fix.created)\n : row.idea.created;\n const parsed = new Date(raw ?? '').getTime();\n return Number.isNaN(parsed) ? 0 : parsed;\n};\n\nconst groupOrderRank = (rows: WorklistRow[], direction: SortDirection): number | undefined =>\n rows.reduce<number | undefined>((best, row) => {\n const rowRank = rowOrder(row);\n if (rowRank === undefined) return best;\n if (best === undefined) return rowRank;\n return direction === 'desc' ? Math.max(best, rowRank) : Math.min(best, rowRank);\n }, undefined);\n\nconst groupLatestUpdate = (rows: WorklistRow[]): number =>\n rows.reduce((latest, row) => Math.max(latest, rowUpdatedTimestamp(row)), 0);\n\n/** Groups already-sorted worklist rows by subject, keeping each row's relative\n * order within a group; rows with no subject collect into the virtual \"No subject\"\n * group, last. When `validSubjects` is given, a row whose subject isn't in it (e.g.\n * removed from Settings) demotes to \"No subject\" without touching the idea file.\n * Named groups order by the leading run-order rank among their rows for\n * `sortDirection` — the lowest rank ascending, the highest rank descending —\n * so a group's position matches where its top-priority row would land if the\n * rows were flattened. Groups with no ranked row come after, newest-updated first.\n * The order derives from plans data alone, so it never reshuffles once vocabulary\n * arrives after first paint. */\nexport const groupRowsBySubject = (\n rows: WorklistRow[],\n sortDirection: SortDirection = 'asc',\n validSubjects?: string[],\n): SubjectGroup[] => {\n const bySubject = new Map<string, WorklistRow[]>();\n const noSubject: WorklistRow[] = [];\n\n for (const row of rows) {\n const subject = subjectOf(row);\n if (!subject || (validSubjects && !validSubjects.includes(subject))) {\n noSubject.push(row);\n continue;\n }\n if (!bySubject.has(subject)) bySubject.set(subject, []);\n bySubject.get(subject)?.push(row);\n }\n\n const dirMul = sortDirection === 'desc' ? -1 : 1;\n const groups: SubjectGroup[] = [...bySubject.entries()]\n .map(([subject, groupRows]) => ({ subject, rows: groupRows }))\n .sort((a, b) => {\n const rankA = groupOrderRank(a.rows, sortDirection);\n const rankB = groupOrderRank(b.rows, sortDirection);\n if (rankA !== undefined && rankB !== undefined) return dirMul * (rankA - rankB);\n if (rankA !== undefined) return -1;\n if (rankB !== undefined) return 1;\n return groupLatestUpdate(b.rows) - groupLatestUpdate(a.rows);\n });\n\n if (noSubject.length > 0) groups.push({ subject: null, rows: noSubject });\n return groups;\n};\n\nexport interface WorklistResult {\n rows: WorklistRow[];\n statusCounts: Record<PlanStatus, number>;\n tagCounts: Record<string, number>;\n noteStatusCounts: Record<IdeaStatus, number>;\n}\n\n/** Null before any plan is drafted, when the row shows a Draft-plan action instead. */\nexport const deriveChildrenSummary = (\n children: PlanEntry[],\n): { done: number; total: number } | null => {\n if (children.length === 0) return null;\n return { done: children.filter((p) => p.status === 'done').length, total: children.length };\n};\n\n/** Title/id stay the idea's own identity; status/updated/progress fall back to\n * the note tier. */\nconst worklistSortProxy = (row: WorklistRow): PlanEntry => {\n if (row.type === 'plan') return row.plan;\n if (row.type === 'fix') return row.fix;\n\n return {\n title: row.idea.title,\n id: row.idea.id ?? undefined,\n status: NOTE_STATUS_TIER[row.idea.status ?? 'open'],\n created: row.idea.created ?? '',\n tags: [],\n body: row.idea.body,\n phases: [],\n order: row.idea.order,\n };\n};\n\n/** Every plan renders as its own row; `kind: note` ideas surface alongside\n * them. A fix entity renders as its own row too, grouped under the parent's\n * subject, inherited here rather than stored, so a fix can't drift from the\n * idea it fixes. A ticket never gets a row here — it's decomposition detail\n * that only ever renders inside its board's own view (IDEA-201). */\nexport const selectWorklistRows = (\n plans: PlanEntry[],\n ideas: IdeaEntry[],\n filters: PlanListFilters = DEFAULT_PLAN_LIST_FILTERS,\n): WorklistResult => {\n const nonTicketPlans = plans.filter((p) => p.entityKind !== 'ticket');\n const subjectById = new Map(nonTicketPlans.map((p) => [p.id, p.subject] as const));\n const withInheritedSubject = nonTicketPlans.map((p) =>\n p.entityKind === 'fix'\n ? { ...p, subject: (p.idea && subjectById.get(p.idea)) || undefined }\n : p,\n );\n const fixPlans = withInheritedSubject.filter((p) => p.entityKind === 'fix');\n const nonFixPlans = withInheritedSubject.filter((p) => p.entityKind !== 'fix');\n\n const { statusCounts, tagCounts } = selectPlanRows(withInheritedSubject, filters);\n\n const notes = ideas.filter((idea) => idea.kind === 'note');\n\n const noteStatusSet = new Set(filters.noteStatuses);\n const noteStatusCounts = countBy(\n notes.filter((idea) => matchesIdeaSearch(idea, filters.search)),\n (idea) => [idea.status ?? 'open'],\n ) as Record<IdeaStatus, number>;\n for (const status of IDEA_STATUSES) noteStatusCounts[status] ??= 0;\n\n const rows: WorklistRow[] = selectPlanRows(nonFixPlans, filters).rows.map(\n (plan): PlanRow => ({ type: 'plan', plan }),\n );\n rows.push(...selectPlanRows(fixPlans, filters).rows.map((fix): FixRow => ({ type: 'fix', fix })));\n\n for (const idea of notes) {\n if (!noteStatusSet.has(idea.status ?? 'open')) continue;\n if (!matchesIdeaSearch(idea, filters.search)) continue;\n if (!matchesSubject(idea.subject, filters.subject)) continue;\n rows.push({ type: 'note', idea });\n }\n\n rows.sort((a, b) =>\n comparePlans(\n worklistSortProxy(a),\n worklistSortProxy(b),\n filters.sortKey,\n filters.sortDirection,\n ),\n );\n\n return { rows, statusCounts, tagCounts, noteStatusCounts };\n};\n","import { apiUrl } from './api-base';\n\nexport type ActivityMessage = { message?: string; type?: string };\nexport type ActivityListener = (payload: ActivityMessage) => void;\n\nconst MIN_RECONNECT_DELAY_MS = 1000;\nconst MAX_RECONNECT_DELAY_MS = 30_000;\n\nlet source: EventSource | null = null;\nlet reconnectTimer: ReturnType<typeof setTimeout> | null = null;\nlet reconnectDelay = MIN_RECONNECT_DELAY_MS;\nconst listeners = new Set<ActivityListener>();\n\nfunction handleMessage(event: MessageEvent<string>): void {\n let payload: ActivityMessage;\n try {\n payload = JSON.parse(event.data);\n } catch {\n return;\n }\n for (const listener of listeners) listener(payload);\n}\n\nfunction handleOpen(): void {\n reconnectDelay = MIN_RECONNECT_DELAY_MS;\n}\n\nfunction handleError(): void {\n source?.close();\n source = null;\n if (listeners.size === 0) return;\n reconnectTimer = setTimeout(() => {\n reconnectTimer = null;\n connect();\n }, reconnectDelay);\n reconnectDelay = Math.min(reconnectDelay * 2, MAX_RECONNECT_DELAY_MS);\n}\n\nfunction connect(): void {\n source = new EventSource(apiUrl('/api/activity/stream'));\n source.onmessage = handleMessage;\n source.onopen = handleOpen;\n source.onerror = handleError;\n}\n\nexport function subscribeToActivityStream(listener: ActivityListener): () => void {\n listeners.add(listener);\n if (!source && !reconnectTimer) connect();\n return () => {\n listeners.delete(listener);\n if (listeners.size > 0) return;\n if (reconnectTimer) {\n clearTimeout(reconnectTimer);\n reconnectTimer = null;\n }\n if (source) {\n source.close();\n source = null;\n }\n reconnectDelay = MIN_RECONNECT_DELAY_MS;\n };\n}\n","import type { DoctorFindingSummary } from '@/core/doctor';\nimport type {\n ConsistencyIssue,\n ResolvedRoadmap,\n RoadmapItem,\n SuggestionEntry,\n TaskLogEntry,\n} from '@/types/index';\nimport { apiUrl } from '../api-base';\n\nexport const fetchTaskLog = async () => {\n const res = await fetch(apiUrl('/api/tasks'));\n return res.json() as Promise<{ entries: TaskLogEntry[] }>;\n};\n\n// The registry holds runtimes this client is not currently pointed at, so the base\n// URL is explicit rather than taken from `apiUrl` — mirrors `fetchPackageNameAt`.\nexport const fetchTaskLogAt = async (baseUrl: string): Promise<TaskLogEntry[] | null> => {\n try {\n const res = await fetch(`${baseUrl}/api/tasks`);\n if (!res.ok) return null;\n const body = (await res.json()) as { entries: TaskLogEntry[] };\n return body.entries;\n } catch {\n return null;\n }\n};\n\nexport const fetchTaskLogLines = async (id: string) => {\n const res = await fetch(apiUrl(`/api/tasks/output?id=${encodeURIComponent(id)}`));\n if (!res.ok) throw new Error(`Failed to fetch task log: ${res.status}`);\n return res.json() as Promise<{ lines: string[] }>;\n};\n\nexport const fetchSuggestions = async () => {\n const res = await fetch(apiUrl('/api/suggestions'));\n return res.json() as Promise<{ entries: SuggestionEntry[] }>;\n};\n\nexport const promoteSuggestion = async (suggestion: SuggestionEntry) => {\n const res = await fetch(apiUrl('/api/suggestions/promote'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ suggestion }),\n });\n if (!res.ok) {\n const err = await res.json().catch(() => ({ error: 'Failed to promote suggestion' }));\n throw new Error(err.error);\n }\n return res.json() as Promise<{ ok: boolean; id: string }>;\n};\n\nexport const dismissSuggestion = async (suggestion: SuggestionEntry) => {\n const res = await fetch(apiUrl('/api/suggestions/dismiss'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ suggestion }),\n });\n if (!res.ok) {\n const err = await res.json().catch(() => ({ error: 'Failed to dismiss suggestion' }));\n throw new Error(err.error);\n }\n};\n\nexport const fetchRepoDocs = async () => {\n const res = await fetch(apiUrl('/api/docs'));\n return res.json() as Promise<{ files: { name: string; content: string }[] }>;\n};\n\nexport const fetchRoadmap = async () => {\n const res = await fetch(apiUrl('/api/roadmap'));\n if (!res.ok) throw new Error(`Failed to fetch roadmap: ${res.status}`);\n return res.json() as Promise<ResolvedRoadmap | null>;\n};\n\nexport const promoteRoadmapItem = async (\n horizonTitle: string,\n item: RoadmapItem,\n subject?: string,\n candidateName?: string,\n) => {\n const res = await fetch(apiUrl('/api/roadmap/promote'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ horizonTitle, item, subject, candidateName }),\n });\n if (!res.ok) {\n const err = await res.json().catch(() => ({ error: 'Failed to promote roadmap item' }));\n throw new Error(err.error);\n }\n return res.json() as Promise<{ ok: boolean; id: string }>;\n};\n\nexport const addRoadmapItem = async (horizonTitle: string, name: string, description: string) => {\n const res = await fetch(apiUrl('/api/roadmap/items'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ horizonTitle, name, description }),\n });\n if (!res.ok) {\n const err = await res.json().catch(() => ({ error: 'Failed to add roadmap item' }));\n throw new Error(err.error);\n }\n};\n\nexport const addRoadmapCandidate = async (horizonTitle: string, itemName: string, name: string) => {\n const res = await fetch(apiUrl('/api/roadmap/candidates'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ horizonTitle, itemName, name }),\n });\n if (!res.ok) {\n const err = await res.json().catch(() => ({ error: 'Failed to add roadmap candidate' }));\n throw new Error(err.error);\n }\n};\n\nexport const fetchConsistency = async () => {\n const res = await fetch(apiUrl('/api/consistency'));\n return res.json() as Promise<ConsistencyIssue[]>;\n};\n\nexport const fetchDoctor = async () => {\n const res = await fetch(apiUrl('/api/doctor'));\n return res.json() as Promise<DoctorFindingSummary>;\n};\n","import type { SimilarityCandidate } from '@/app/features/plans/helpers';\nimport { apiUrl } from '@/app/services/api-base';\nimport type { ArchivableIdea, IdeaEntry, OverlapVerdict, ParseResult } from '@/types/index';\n\nexport interface PrioritiseResult {\n ok: boolean;\n moved: string[];\n annotated: string[];\n why: string[];\n annotationError?: string;\n}\n\nconst IDEAS_TIMEOUT_MS = 45_000;\n\nexport const fetchIdeas = async (): Promise<ParseResult<IdeaEntry>> => {\n const response = await fetch(apiUrl('/api/ideas'), {\n signal: AbortSignal.timeout(IDEAS_TIMEOUT_MS),\n });\n return response.json();\n};\n\n// The registry holds runtimes this client is not currently pointed at, so the base\n// URL is explicit rather than taken from `apiUrl` — mirrors `fetchPackageNameAt`.\nexport const fetchIdeasAt = async (baseUrl: string): Promise<ParseResult<IdeaEntry> | null> => {\n try {\n const response = await fetch(`${baseUrl}/api/ideas`, {\n signal: AbortSignal.timeout(IDEAS_TIMEOUT_MS),\n });\n if (!response.ok) return null;\n return await response.json();\n } catch {\n return null;\n }\n};\n\nexport const fetchArchivableIdeas = async (): Promise<ArchivableIdea[]> => {\n const response = await fetch(apiUrl('/api/archivable-ideas'));\n return response.json();\n};\n\nexport const archiveIdeas = async (ids: string[]): Promise<{ archived: string[] }> => {\n const response = await fetch(apiUrl('/api/ideas/archive'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ ids }),\n });\n const data = await response.json();\n if (!response.ok) throw new Error(data.error ?? 'Failed to archive ideas');\n return data as { archived: string[] };\n};\n\nexport const createIdea = async (idea: {\n title: string;\n content?: string;\n kind?: 'idea' | 'note' | 'board';\n}): Promise<string> => {\n const response = await fetch(apiUrl('/api/ideas'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(idea),\n });\n const data = await response.json();\n if (!response.ok) throw new Error(data.error ?? 'Failed to create idea');\n return data.id as string;\n};\n\nexport const createTicket = async (ticket: { boardId: string; title: string }): Promise<string> => {\n const response = await fetch(apiUrl('/api/tickets'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(ticket),\n });\n const data = await response.json();\n if (!response.ok) throw new Error(data.error ?? 'Failed to create ticket');\n return data.id as string;\n};\n\nexport const checkIdeaOverlap = async (\n text: string,\n candidates: SimilarityCandidate[],\n): Promise<OverlapVerdict> => {\n const response = await fetch(apiUrl('/api/ideas/check-overlap'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ text, candidates }),\n });\n const data = await response.json();\n if (!response.ok) throw new Error(data.error ?? 'Failed to check overlap');\n return data as OverlapVerdict;\n};\n\nexport const prioritiseQueue = async (): Promise<PrioritiseResult> => {\n const response = await fetch(apiUrl('/api/ideas/prioritise'), { method: 'POST' });\n const data = await response.json();\n if (!response.ok) throw new Error(data.error ?? 'Failed to prioritise queue');\n return data as PrioritiseResult;\n};\n","import { apiUrl } from '@/app/services/api-base';\nimport type { Notification } from '@/types/index';\n\nexport const fetchNotifications = async () => {\n const res = await fetch(apiUrl('/api/notifications'));\n if (!res.ok) throw new Error(`Failed to fetch notifications: ${res.status}`);\n return res.json() as Promise<Notification[]>;\n};\n\nexport const markNotificationRead = async (id: string) => {\n const res = await fetch(apiUrl('/api/notifications/mark-read'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ id }),\n });\n if (!res.ok) throw new Error(`Failed to mark notification read: ${res.status}`);\n};\n","import type { ParkedQuestion } from '@/types/index';\nimport { apiUrl } from '../api-base';\n\nexport const fetchParkedQuestions = async () => {\n const res = await fetch(apiUrl('/api/parked-questions'));\n if (!res.ok) throw new Error(`Failed to fetch parked questions: ${res.status}`);\n return res.json() as Promise<ParkedQuestion[]>;\n};\n","import type {\n AgentId,\n LogEntry,\n ParseResult,\n PhaseItem,\n PlanEntry,\n PlanStatus,\n ThreadMessage,\n} from '@/types/index';\nimport { apiUrl } from '../api-base';\n\nconst PLANS_TIMEOUT_MS = 45_000;\n\nexport const fetchPlans = async (): Promise<ParseResult<PlanEntry>> => {\n const response = await fetch(apiUrl('/api/plans'), {\n signal: AbortSignal.timeout(PLANS_TIMEOUT_MS),\n });\n return response.json();\n};\n\n// The registry holds runtimes this client is not currently pointed at, so the base\n// URL is explicit rather than taken from `apiUrl` — mirrors `fetchPackageNameAt`.\nexport const fetchPlansAt = async (baseUrl: string): Promise<ParseResult<PlanEntry> | null> => {\n try {\n const response = await fetch(`${baseUrl}/api/plans`, {\n signal: AbortSignal.timeout(PLANS_TIMEOUT_MS),\n });\n if (!response.ok) return null;\n return await response.json();\n } catch {\n return null;\n }\n};\n\nexport const updatePlan = async (\n title: string,\n updates: {\n body?: string;\n phases?: PhaseItem[];\n fixes?: PhaseItem[];\n /** `null` clears the stored status override (e.g. reopening a dropped plan). */\n status?: PlanStatus | null;\n log?: LogEntry[];\n thread?: ThreadMessage[];\n agent?: AgentId | null;\n /** `null` clears the frontmatter key, rendering the idea under \"No subject\". */\n subject?: string | null;\n /** `null` clears the frontmatter key, so the row falls back to unordered. */\n order?: number | null;\n },\n): Promise<void> => {\n const response = await fetch(apiUrl(`/api/plans?title=${encodeURIComponent(title)}`), {\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(updates),\n });\n // Surface server rejections (e.g. the 409 branch-conflict guard on done/dropped)\n // instead of resolving silently, so callers can toast the reason.\n if (!response.ok) {\n const data = await response.json().catch(() => null);\n throw new Error(data?.error ?? `Failed to update plan (${response.status})`);\n }\n};\n","import type { PlanEntry } from '@/types/index';\nimport { useCallback, useEffect, useState } from 'react';\nimport { findFocusPlan } from '../features/plans/helpers';\nimport { subscribeToActivityStream } from '../services/activity-stream';\nimport { fetchPlans } from '../services/content';\n\nexport function useFocusClient(): PlanEntry | null {\n const [focusPlan, setFocusPlan] = useState<PlanEntry | null>(null);\n\n const load = useCallback(async () => {\n try {\n const { entries } = await fetchPlans();\n setFocusPlan(findFocusPlan(entries) ?? null);\n } catch {}\n }, []);\n\n useEffect(() => {\n load();\n }, [load]);\n\n useEffect(() => {\n let timer: ReturnType<typeof setTimeout> | undefined;\n const unsubscribe = subscribeToActivityStream((payload) => {\n if (payload.message !== 'changed') return;\n if (timer) clearTimeout(timer);\n timer = setTimeout(load, 250);\n });\n return () => {\n if (timer) clearTimeout(timer);\n unsubscribe();\n };\n }, [load]);\n\n return focusPlan;\n}\n","import { type OpenQuestionGroup, collectOpenQuestions } from '@/app/features/plans/helpers';\nimport { subscribeToActivityStream } from '@/app/services/activity-stream';\nimport { fetchPlans } from '@/app/services/content';\nimport { useCallback, useEffect, useState } from 'react';\n\nexport interface ScoutClientState {\n openQuestions: OpenQuestionGroup[];\n openQuestionCount: number;\n refresh: () => Promise<void>;\n}\n\n// Store-free sibling of the desk's open-questions inbox (IDEA-130 phase 3),\n// so the toolbar's Scout segment can badge/triage without pulling in useAppStore.\nexport function useScoutClient(): ScoutClientState {\n const [openQuestions, setOpenQuestions] = useState<OpenQuestionGroup[]>([]);\n\n const load = useCallback(async () => {\n try {\n const { entries } = await fetchPlans();\n setOpenQuestions(collectOpenQuestions(entries));\n } catch {}\n }, []);\n\n useEffect(() => {\n load();\n }, [load]);\n\n useEffect(() => {\n let timer: ReturnType<typeof setTimeout> | undefined;\n const unsubscribe = subscribeToActivityStream((payload) => {\n if (payload.message !== 'changed') return;\n if (timer) clearTimeout(timer);\n timer = setTimeout(load, 250);\n });\n return () => {\n if (timer) clearTimeout(timer);\n unsubscribe();\n };\n }, [load]);\n\n const openQuestionCount = openQuestions.reduce((sum, group) => sum + group.questions.length, 0);\n\n return { openQuestions, openQuestionCount, refresh: load };\n}\n","import type {\n AgentTaskState,\n Issue,\n LoginRelayState,\n MountContext,\n PrReviewStatus,\n ReconcileQueueItem,\n} from '@/types/index';\nimport { apiFetch, apiUrl } from './api-base';\n\nconst handleAgentResponse = async (\n response: Response,\n fallback = 'Launch failed',\n): Promise<void> => {\n if (!response.ok) {\n const err = await response.json().catch(() => ({ error: fallback }));\n throw new Error(err.error);\n }\n};\n\nexport const fetchAgentStatus = async (): Promise<AgentTaskState[]> => {\n const response = await apiFetch(apiUrl('/api/agent/status'));\n return response.json();\n};\n\nexport const fetchReconcileQueue = async (): Promise<ReconcileQueueItem[] | null> => {\n const response = await apiFetch(apiUrl('/api/agent/reconcile-queue'));\n return response.json();\n};\n\nexport const launchAgent = async (planId: string, phaseIndex: number): Promise<void> => {\n const response = await apiFetch(apiUrl('/api/agent/launch'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ planId, phaseIndex }),\n });\n await handleAgentResponse(response);\n};\n\nexport const launchPlanAudit = async (planId: string, prompt: string): Promise<void> => {\n const response = await apiFetch(apiUrl('/api/agent/launch-audit'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ planId, prompt }),\n });\n await handleAgentResponse(response);\n};\n\nexport const launchPlanReconcile = async (planId: string, prompt: string): Promise<void> => {\n const response = await apiFetch(apiUrl('/api/agent/launch-reconcile'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ planId, prompt }),\n });\n await handleAgentResponse(response);\n};\n\nexport const launchPlanDraft = async (ideaId: string, prompt: string): Promise<void> => {\n const response = await apiFetch(apiUrl('/api/agent/launch-draft'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ ideaId, prompt }),\n });\n await handleAgentResponse(response);\n};\n\nexport const launchIdeaExtend = async (ideaId: string, prompt: string): Promise<void> => {\n const response = await apiFetch(apiUrl('/api/agent/launch-extend'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ ideaId, prompt }),\n });\n await handleAgentResponse(response);\n};\n\nexport const launchSuggestIdeas = async (prompt: string): Promise<void> => {\n const response = await apiFetch(apiUrl('/api/agent/launch-suggest'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ prompt }),\n });\n await handleAgentResponse(response);\n};\n\nexport const launchBatchReconcile = async (): Promise<void> => {\n const response = await apiFetch(apiUrl('/api/agent/launch-reconcile-all'), { method: 'POST' });\n await handleAgentResponse(response);\n};\n\nexport const launchBatchDraft = async (ids: string[]): Promise<void> => {\n const response = await apiFetch(apiUrl('/api/agent/launch-draft-all'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ ids }),\n });\n await handleAgentResponse(response);\n};\n\nexport const launchRunAll = async (planId: string): Promise<void> => {\n const response = await apiFetch(apiUrl('/api/agent/launch-run-all'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ planId }),\n });\n await handleAgentResponse(response);\n};\n\nexport const launchFixReview = async (planId: string): Promise<void> => {\n const response = await apiFetch(apiUrl('/api/agent/launch-fix-review'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ planId }),\n });\n await handleAgentResponse(response);\n};\n\nexport const launchPrReview = async (planId: string): Promise<void> => {\n const response = await apiFetch(apiUrl('/api/agent/launch-pr-review'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ planId }),\n });\n await handleAgentResponse(response);\n};\n\nexport const launchIssueFix = async (\n issueId: string,\n title: string,\n reason: string,\n output: string | undefined,\n): Promise<void> => {\n const response = await apiFetch(apiUrl('/api/agent/issue-fix'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ issueId, title, reason, output }),\n });\n await handleAgentResponse(response);\n};\n\nexport const promoteIssue = async (\n issue: Issue,\n): Promise<{ promotedTo: string; kind: 'fix' | 'append' | 'idea' }> => {\n const response = await apiFetch(apiUrl('/api/agent/promote-issue'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ issue }),\n });\n const data = await response.json().catch(() => null);\n if (!response.ok) throw new Error(data?.error ?? `Failed to promote issue (${response.status})`);\n return data;\n};\n\nexport const fetchPrReviewStatus = async (planId: string): Promise<PrReviewStatus | null> => {\n try {\n const response = await fetch(\n apiUrl(`/api/agent/pr-review-status?planId=${encodeURIComponent(planId)}`),\n );\n if (!response.ok) return null;\n return response.json();\n } catch {\n return null;\n }\n};\n\nexport const postFeedbackMessage = async (\n planId: string,\n text: string,\n context?: MountContext,\n): Promise<{ error?: string; undo?: { commitSha: string } }> => {\n const response = await apiFetch(apiUrl('/api/agent/feedback-message'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ planId, text, context }),\n });\n const data = await response.json();\n if (!response.ok) throw new Error(data.error ?? 'Failed to send message');\n return data as { error?: string; undo?: { commitSha: string } };\n};\n\nexport const promoteFeedbackMessage = async (\n planId: string,\n index: number,\n target: 'decision' | 'log',\n note?: string,\n): Promise<void> => {\n const response = await apiFetch(apiUrl('/api/agent/feedback-promote'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ planId, index, target, note }),\n });\n if (!response.ok) {\n const data = await response.json().catch(() => null);\n throw new Error(data?.error ?? `Failed to promote message (${response.status})`);\n }\n};\n\nexport const summarizeFeedbackSession = async (\n planId: string,\n): Promise<{ skipped?: boolean; summary?: string }> => {\n const response = await apiFetch(apiUrl('/api/agent/feedback-summarize'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ planId }),\n });\n const data = await response.json().catch(() => null);\n if (!response.ok)\n throw new Error(data?.error ?? `Failed to summarize feedback (${response.status})`);\n return data as { skipped?: boolean; summary?: string };\n};\n\nexport const undoFeedbackEdit = async (\n planId: string,\n commitSha: string,\n): Promise<{ error?: string }> => {\n const response = await apiFetch(apiUrl('/api/agent/feedback-undo'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ planId, commitSha }),\n });\n const data = await response.json();\n if (!response.ok) throw new Error(data.error ?? 'Failed to undo edit');\n return data as { error?: string };\n};\n\nexport const stopAgent = async (taskId?: string): Promise<void> => {\n const response = await apiFetch(apiUrl('/api/agent/stop'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ taskId }),\n });\n await handleAgentResponse(response, 'Stop failed');\n};\n\nexport const startLoginRelay = async (): Promise<LoginRelayState> => {\n const response = await apiFetch(apiUrl('/api/agent/login-relay/start'), { method: 'POST' });\n return response.json();\n};\n\nexport const fetchLoginRelayStatus = async (): Promise<LoginRelayState | null> => {\n const response = await apiFetch(apiUrl('/api/agent/login-relay/status'));\n return response.json();\n};\n\nexport const cancelLoginRelay = async (): Promise<void> => {\n await apiFetch(apiUrl('/api/agent/login-relay/cancel'), { method: 'POST' });\n};\n\nexport const submitLoginRelayCode = async (code: string): Promise<LoginRelayState> => {\n const response = await apiFetch(apiUrl('/api/agent/login-relay/code'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ code }),\n });\n await handleAgentResponse(response, 'Failed to submit sign-in code');\n return response.json();\n};\n","import type { FileDiffEntry, GitStatusResponse } from '@/types/index';\nimport { apiFetch, apiUrl } from './api-base';\n\n// Above the server's 30s cap so a stall surfaces the server's own timeout\n// error rather than this one racing it.\nconst GIT_TIMEOUT_MS = 45_000;\n\nasync function throwIfNotOk(response: Response, fallbackError: string): Promise<void> {\n if (response.ok) return;\n const err = await response.json().catch(() => ({ error: fallbackError }));\n throw err.kind ? Object.assign(new Error(err.error), { kind: err.kind }) : new Error(err.error);\n}\n\nexport const fetchGitStatus = async (): Promise<GitStatusResponse> => {\n const response = await apiFetch(apiUrl('/api/git/status'), {\n signal: AbortSignal.timeout(GIT_TIMEOUT_MS),\n });\n await throwIfNotOk(response, 'Failed to load git status');\n return response.json();\n};\n\nexport const fetchFileDiffs = async (): Promise<FileDiffEntry[]> => {\n const response = await apiFetch(apiUrl('/api/git/diff'), {\n signal: AbortSignal.timeout(GIT_TIMEOUT_MS),\n });\n await throwIfNotOk(response, 'Failed to load diff');\n const data = await response.json();\n return data.files;\n};\n\nexport const fetchStashDiff = async (index: number): Promise<string> => {\n const response = await apiFetch(apiUrl(`/api/git/stash-diff?index=${index}`), {\n signal: AbortSignal.timeout(GIT_TIMEOUT_MS),\n });\n await throwIfNotOk(response, 'Failed to load stash diff');\n const data = await response.json();\n return data.patch;\n};\n\nexport const commitChanges = async (\n files: string[],\n title: string,\n message?: string,\n): Promise<void> => {\n const response = await apiFetch(apiUrl('/api/git/commit'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ files, title, message }),\n signal: AbortSignal.timeout(GIT_TIMEOUT_MS),\n });\n await throwIfNotOk(response, 'Commit failed');\n};\n\nexport const stagePath = async (path: string): Promise<void> => {\n const response = await apiFetch(apiUrl('/api/git/stage'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ path }),\n signal: AbortSignal.timeout(GIT_TIMEOUT_MS),\n });\n await throwIfNotOk(response, 'Stage failed');\n};\n\nexport const unstagePath = async (path: string): Promise<void> => {\n const response = await apiFetch(apiUrl('/api/git/unstage'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ path }),\n signal: AbortSignal.timeout(GIT_TIMEOUT_MS),\n });\n await throwIfNotOk(response, 'Unstage failed');\n};\n\nexport const pushChanges = async (): Promise<void> => {\n const response = await apiFetch(apiUrl('/api/git/push'), {\n method: 'POST',\n signal: AbortSignal.timeout(GIT_TIMEOUT_MS),\n });\n await throwIfNotOk(response, 'Push failed');\n};\n\nexport const suggestCommitMessage = async (\n files: string[],\n): Promise<{ title: string; message: string }> => {\n const response = await apiFetch(apiUrl('/api/git/suggest-commit-message'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ files }),\n });\n await throwIfNotOk(response, 'Failed to suggest a commit message');\n return response.json();\n};\n\nexport type SyncResult =\n | { ok: true }\n // The deterministic path failed and a recovery agent was launched (or, if\n // `recovering` is false, failed to launch) instead of throwing at the caller.\n | { ok: false; recovering: boolean; message: string }\n // A genuine content conflict — never auto-escalated. `conflictPrompt` is fed\n // to resolveConflict() only on explicit \"ask the agent to resolve\" confirmation.\n | { ok: false; recovering: false; conflictPrompt: string; message: string };\n\nexport const syncToMain = async (): Promise<SyncResult> => {\n const response = await apiFetch(apiUrl('/api/git/sync'), {\n method: 'POST',\n signal: AbortSignal.timeout(GIT_TIMEOUT_MS),\n });\n if (response.status === 202) {\n const data = await response.json();\n return data.conflictPrompt\n ? { ok: false, recovering: false, conflictPrompt: data.conflictPrompt, message: data.error }\n : { ok: false, recovering: data.recovering, message: data.error };\n }\n await throwIfNotOk(response, 'Sync failed');\n return { ok: true };\n};\n\n// Fast-forward the current branch from origin in place (no branch switch).\nexport const pullFromOrigin = async (): Promise<void> => {\n const response = await apiFetch(apiUrl('/api/git/pull'), {\n method: 'POST',\n signal: AbortSignal.timeout(GIT_TIMEOUT_MS),\n });\n await throwIfNotOk(response, 'Pull failed');\n};\n\n// Rebase the current branch onto its diverged remote; on conflict the server\n// hands off to a recovery agent instead of throwing (see SyncResult).\nexport const fixGitDivergence = async (): Promise<SyncResult> => {\n const response = await apiFetch(apiUrl('/api/git/fix-divergence'), {\n method: 'POST',\n signal: AbortSignal.timeout(GIT_TIMEOUT_MS),\n });\n if (response.status === 202) {\n const data = await response.json();\n return data.conflictPrompt\n ? { ok: false, recovering: false, conflictPrompt: data.conflictPrompt, message: data.error }\n : { ok: false, recovering: data.recovering, message: data.error };\n }\n await throwIfNotOk(response, 'Fix failed');\n return { ok: true };\n};\n\n// Launches the resolve-conflict agent against a paused-then-aborted rebase — only\n// called on explicit \"ask the agent to resolve\" confirmation from the sync-failed toast.\nexport const resolveConflict = async (prompt: string): Promise<{ ok: boolean; error?: string }> => {\n const response = await apiFetch(apiUrl('/api/git/resolve-conflict'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ prompt }),\n });\n try {\n return await response.json();\n } catch {\n return { ok: false, error: `Unexpected response (status ${response.status})` };\n }\n};\n\n/**\n * Squash-merges the plan's PR and returns to main. No status patch happens\n * here — `deriveStatus` picks up `done` once the merged PR is re-read.\n */\nexport const completeIdea = async (\n planId: string,\n): Promise<{ branch: string; remoteDeleted?: boolean; needsAttention?: string }> => {\n const response = await apiFetch(apiUrl('/api/git/complete-idea'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ planId }),\n signal: AbortSignal.timeout(GIT_TIMEOUT_MS),\n });\n const data = await response.json();\n if (!response.ok) throw new Error(data.error ?? 'Failed to complete idea');\n return {\n branch: data.branch as string,\n remoteDeleted: data.remoteDeleted as boolean | undefined,\n needsAttention: data.needsAttention as string | undefined,\n };\n};\n\nexport const verifyDirectCompletion = async (\n planId: string,\n): Promise<{ ready: boolean; missing: string[] }> => {\n const response = await apiFetch(apiUrl('/api/git/verify-direct-completion'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ planId }),\n signal: AbortSignal.timeout(GIT_TIMEOUT_MS),\n });\n const data = await response.json();\n if (!response.ok) throw new Error(data.error ?? 'Failed to verify completion');\n return { ready: data.ready as boolean, missing: data.missing as string[] };\n};\n\nexport const createPlanBranch = async (\n planId: string,\n): Promise<{ branch: string; warning?: string }> => {\n const response = await apiFetch(apiUrl('/api/git/branch'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ planId }),\n signal: AbortSignal.timeout(GIT_TIMEOUT_MS),\n });\n const data = await response.json();\n if (!response.ok) throw new Error(data.error ?? 'Failed to create branch');\n return { branch: data.branch as string, warning: data.warning as string | undefined };\n};\n","import {\n type AgentAuthStatus,\n type CapabilityResult,\n type ConnectionResult,\n MACHINE_PROJECTS_PATH,\n type MachineProjectSummary,\n type TailnetPeerRuntime,\n} from '@/types/index';\nimport { apiUrl } from '../api-base';\n\nexport const fetchCapabilities = async (): Promise<CapabilityResult[] | null> => {\n const response = await fetch(apiUrl('/api/capabilities'));\n if (!response.ok) return null;\n const body = (await response.json()) as { capabilities: CapabilityResult[] };\n return body.capabilities;\n};\n\n/**\n * The registry holds runtimes this client is not currently pointed at, so\n * the base URL is explicit rather than taken from `apiUrl`. A response at\n * all, regardless of the version it carries, is this hub's signal that the\n * runtime is reachable.\n */\nexport const fetchRuntimeVersionAt = async (baseUrl: string): Promise<string | null> => {\n try {\n const response = await fetch(`${baseUrl}/api/capabilities`);\n if (!response.ok) return null;\n const body = (await response.json()) as { version?: string };\n return body.version ?? null;\n } catch {\n return null;\n }\n};\n\nexport const fetchAgentAuthStatus = async (): Promise<AgentAuthStatus | null> => {\n const response = await fetch(apiUrl('/api/agent/auth-status'));\n if (!response.ok) return null;\n return (await response.json()) as AgentAuthStatus;\n};\n\nexport const fetchConnections = async (recheck = false): Promise<ConnectionResult[] | null> => {\n try {\n const response = await fetch(apiUrl(`/api/connections${recheck ? '?recheck=1' : ''}`));\n if (!response.ok) return null;\n const body = (await response.json()) as { connections: ConnectionResult[] };\n return body.connections;\n } catch {\n return null;\n }\n};\n\nexport const fetchTailnetPeerRuntimes = async (\n refresh = false,\n): Promise<TailnetPeerRuntime[] | null> => {\n try {\n const response = await fetch(apiUrl(`/api/tailnet/peers${refresh ? '?refresh=1' : ''}`));\n if (!response.ok) return null;\n const body = (await response.json()) as { peers: TailnetPeerRuntime[] };\n return body.peers;\n } catch {\n return null;\n }\n};\n\n/**\n * The registry holds machines this client is not currently pointed at, so the\n * base URL is explicit rather than taken from `apiUrl` — same shape as\n * `fetchRuntimeVersionAt` above, one level up (a machine, not a single project).\n */\nexport const fetchMachineProjects = async (\n machineUrl: string,\n): Promise<MachineProjectSummary[] | null> => {\n try {\n const response = await fetch(`${machineUrl}${MACHINE_PROJECTS_PATH}`);\n if (!response.ok) return null;\n const body = (await response.json()) as { projects: MachineProjectSummary[] };\n return body.projects;\n } catch {\n return null;\n }\n};\n\nexport const connectService = async (id: string): Promise<ConnectionResult | null> => {\n try {\n const response = await fetch(apiUrl(`/api/connections/connect?id=${encodeURIComponent(id)}`), {\n method: 'POST',\n });\n if (!response.ok) return null;\n const body = (await response.json()) as { connection: ConnectionResult };\n return body.connection;\n } catch {\n return null;\n }\n};\n","import type {\n AgentId,\n DefaultAgentsMap,\n DeskConfig,\n IntegrationConfig,\n PaperCampConfig,\n} from '@/types/index';\nimport { apiUrl } from '../api-base';\n\nexport const fetchConfig = async (): Promise<PaperCampConfig | null> => {\n try {\n const response = await fetch(apiUrl('/api/config'));\n if (!response.ok) return null;\n return response.json();\n } catch {\n return null;\n }\n};\n\nexport interface SaveConfigResult {\n ok: boolean;\n error?: string;\n}\n\nexport const saveConfig = async (updates: {\n port?: number;\n projectName?: string;\n defaultAgent?: AgentId;\n defaultAgents?: DefaultAgentsMap;\n subjects?: string[];\n setupDismissed?: boolean;\n integration?: IntegrationConfig;\n desk?: DeskConfig;\n}): Promise<SaveConfigResult> => {\n try {\n const response = await fetch(apiUrl('/api/config'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(updates),\n });\n if (response.ok) return { ok: true };\n const body = (await response.json().catch(() => null)) as { error?: string } | null;\n return { ok: false, error: body?.error };\n } catch (err) {\n return { ok: false, error: (err as Error).message };\n }\n};\n\nexport interface DiscoverDeskResult {\n ok: boolean;\n proposal?: DeskConfig;\n error?: string;\n}\n\nexport const discoverDesk = async (): Promise<DiscoverDeskResult> => {\n try {\n const response = await fetch(apiUrl('/api/desk/discover'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: '{}',\n });\n const body = (await response.json().catch(() => null)) as {\n proposal?: DeskConfig;\n error?: string;\n } | null;\n if (response.ok) return { ok: true, proposal: body?.proposal };\n return { ok: false, error: body?.error };\n } catch (err) {\n return { ok: false, error: (err as Error).message };\n }\n};\n","import type { AgentTaskStatus, BranchHygieneStatus, RateLimitSnapshot } from '@/types/index';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { subscribeToActivityStream } from '../services/activity-stream';\nimport { fetchAgentStatus } from '../services/agent-api';\nimport {\n commitChanges,\n fetchGitStatus,\n pullFromOrigin,\n pushChanges,\n suggestCommitMessage,\n syncToMain,\n} from '../services/git-api';\nimport { fetchAgentAuthStatus, fetchCapabilities } from '../services/system';\n\n// The embed has no store of its own — this is the Scout panel's independent poll-and-mutate\n// client for its git banner, distinct from the desk's StatusBarCore/useAppStore path.\nexport type StatusClientState = {\n gitBranch: string | null;\n gitAhead: number;\n changedFileCount: number;\n agentActive: boolean;\n activeTaskStatus?: AgentTaskStatus;\n agentNotSignedIn: boolean;\n capabilityGapCount: number;\n rateLimit: RateLimitSnapshot | null;\n gitBranchHygiene: BranchHygieneStatus | null;\n commitInFlight: boolean;\n gitActionBusy: boolean;\n pushing: boolean;\n syncing: boolean;\n pulling: boolean;\n suggesting: boolean;\n onSync: () => void;\n onPush: () => void;\n onPull: () => void;\n onQuickCommit: () => void;\n suggestCommit: () => Promise<{ title: string; message: string } | null>;\n commitWithTitle: (title: string, message?: string) => Promise<boolean>;\n};\n\ntype GitAction = 'push' | 'sync' | 'pull';\n\nconst ACTIVE_TASK_STATUSES: AgentTaskStatus[] = ['starting', 'running', 'stopping'];\n\nexport function useStatusClient(): StatusClientState {\n const [gitBranch, setGitBranch] = useState<string | null>(null);\n const [gitAhead, setGitAhead] = useState(0);\n const [changedFileCount, setChangedFileCount] = useState(0);\n const [gitBranchHygiene, setGitBranchHygiene] = useState<BranchHygieneStatus | null>(null);\n const [agentActive, setAgentActive] = useState(false);\n const [activeTaskStatus, setActiveTaskStatus] = useState<AgentTaskStatus | undefined>(undefined);\n const [rateLimit, setRateLimit] = useState<RateLimitSnapshot | null>(null);\n const [agentNotSignedIn, setAgentNotSignedIn] = useState(false);\n const [capabilityGapCount, setCapabilityGapCount] = useState(0);\n const [commitInFlight, setCommitInFlight] = useState(false);\n const [gitAction, setGitAction] = useState<GitAction | null>(null);\n const [suggesting, setSuggesting] = useState(false);\n\n const changedFilesRef = useRef<string[]>([]);\n const gitActionRef = useRef<GitAction | null>(null);\n const commitInFlightRef = useRef(false);\n\n const loadGitStatus = useCallback(async () => {\n try {\n const { branch, entries, ahead, branchHygiene } = await fetchGitStatus();\n changedFilesRef.current = entries.map((entry) => entry.path);\n setGitBranch(branch);\n setGitAhead(ahead);\n setChangedFileCount(entries.length);\n setGitBranchHygiene(branchHygiene);\n } catch {}\n }, []);\n\n const loadAgentStatus = useCallback(async () => {\n try {\n const tasks = await fetchAgentStatus();\n const active = tasks.find((task) => ACTIVE_TASK_STATUSES.includes(task.status));\n setAgentActive(active !== undefined);\n setActiveTaskStatus(active?.status);\n setRateLimit(tasks.find((task) => task.rateLimit)?.rateLimit ?? null);\n } catch {}\n }, []);\n\n useEffect(() => {\n loadGitStatus();\n loadAgentStatus();\n fetchCapabilities().then((capabilities) =>\n setCapabilityGapCount(capabilities?.filter((c) => c.status !== 'ok').length ?? 0),\n );\n fetchAgentAuthStatus().then((status) => setAgentNotSignedIn(status?.loggedIn === false));\n }, [loadGitStatus, loadAgentStatus]);\n\n useEffect(() => {\n const timers: Record<string, ReturnType<typeof setTimeout> | undefined> = {};\n const schedule = (key: string, run: () => void, ms: number) => {\n if (timers[key]) clearTimeout(timers[key]);\n timers[key] = setTimeout(run, ms);\n };\n const unsubscribe = subscribeToActivityStream((payload) => {\n if (payload.type === 'status') {\n schedule('git', () => loadGitStatus(), 80);\n return;\n }\n if (payload.type === 'agent') {\n schedule('agent', () => loadAgentStatus(), 120);\n return;\n }\n if (payload.message !== 'changed') return;\n schedule(\n 'activity',\n () => {\n loadGitStatus();\n loadAgentStatus();\n },\n 250,\n );\n });\n return () => {\n for (const timer of Object.values(timers)) if (timer) clearTimeout(timer);\n unsubscribe();\n };\n }, [loadGitStatus, loadAgentStatus]);\n\n const runGitAction = useCallback(async (kind: GitAction, action: () => Promise<void>) => {\n if (gitActionRef.current) return;\n gitActionRef.current = kind;\n setGitAction(kind);\n try {\n await action();\n } catch {\n } finally {\n gitActionRef.current = null;\n setGitAction(null);\n }\n }, []);\n\n const onPush = useCallback(() => {\n runGitAction('push', async () => {\n await pushChanges();\n await loadGitStatus();\n });\n }, [runGitAction, loadGitStatus]);\n\n const onSync = useCallback(() => {\n runGitAction('sync', async () => {\n const result = await syncToMain();\n if (!result.ok) throw new Error(result.message);\n await loadGitStatus();\n });\n }, [runGitAction, loadGitStatus]);\n\n const onPull = useCallback(() => {\n runGitAction('pull', async () => {\n await pullFromOrigin();\n await loadGitStatus();\n });\n }, [runGitAction, loadGitStatus]);\n\n const onQuickCommit = useCallback(() => {\n const files = changedFilesRef.current;\n if (commitInFlightRef.current || gitActionRef.current || files.length === 0) return;\n commitInFlightRef.current = true;\n setCommitInFlight(true);\n (async () => {\n try {\n const { title, message } = await suggestCommitMessage(files);\n await commitChanges(files, title, message || undefined);\n await loadGitStatus();\n } catch {\n } finally {\n commitInFlightRef.current = false;\n setCommitInFlight(false);\n }\n })();\n }, [loadGitStatus]);\n\n // Split out of onQuickCommit for a compose flow (edit-before-commit): reads the\n // same changedFilesRef, since the embed has no store to pass files through.\n const suggestCommit = useCallback(async () => {\n const files = changedFilesRef.current;\n if (files.length === 0) return null;\n setSuggesting(true);\n try {\n return await suggestCommitMessage(files);\n } catch {\n return null;\n } finally {\n setSuggesting(false);\n }\n }, []);\n\n const commitWithTitle = useCallback(\n async (title: string, message?: string) => {\n const files = changedFilesRef.current;\n const trimmedTitle = title.trim();\n if (\n commitInFlightRef.current ||\n gitActionRef.current ||\n files.length === 0 ||\n !trimmedTitle\n ) {\n return false;\n }\n commitInFlightRef.current = true;\n setCommitInFlight(true);\n try {\n await commitChanges(files, trimmedTitle, message?.trim() || undefined);\n await loadGitStatus();\n return true;\n } catch {\n return false;\n } finally {\n commitInFlightRef.current = false;\n setCommitInFlight(false);\n }\n },\n [loadGitStatus],\n );\n\n return {\n gitBranch,\n gitAhead,\n changedFileCount,\n agentActive,\n activeTaskStatus,\n agentNotSignedIn,\n capabilityGapCount,\n rateLimit,\n gitBranchHygiene,\n commitInFlight,\n gitActionBusy: gitAction !== null,\n pushing: gitAction === 'push',\n syncing: gitAction === 'sync',\n pulling: gitAction === 'pull',\n suggesting,\n onSync,\n onPush,\n onPull,\n onQuickCommit,\n suggestCommit,\n commitWithTitle,\n };\n}\n","import { apiUrl } from './api-base';\n\nexport interface PairingInfo {\n hostedClientUrl: string;\n token: string;\n}\n\nexport const fetchPairingInfo = async (): Promise<PairingInfo | null> => {\n try {\n const response = await fetch(apiUrl('/api/pairing'));\n if (!response.ok) return null;\n return response.json();\n } catch {\n return null;\n }\n};\n","/** Small inline glyphs paper-ui's icon set doesn't cover — one home so call sites import instead of redefining. */\n\ninterface IconProps {\n size?: number;\n}\n\nexport const WandIcon = ({ size = 16 }: IconProps) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"m12 3-1.6 4.85a2 2 0 0 1-1.27 1.27L4.27 10.7l4.86 1.6a2 2 0 0 1 1.27 1.27L12 18.4l1.6-4.86a2 2 0 0 1 1.27-1.27l4.86-1.6-4.86-1.6a2 2 0 0 1-1.27-1.27L12 3Z\" />\n <path d=\"M19 3v3\" />\n <path d=\"M20.5 4.5h-3\" />\n </svg>\n);\n\nexport const PushIcon = ({ size = 16 }: IconProps) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M12 19V5\" />\n <path d=\"m5 12 7-7 7 7\" />\n </svg>\n);\n\nexport const PullIcon = ({ size = 16 }: IconProps) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M12 5v14\" />\n <path d=\"m5 12 7 7 7-7\" />\n </svg>\n);\n\nexport const MergeIcon = ({ size = 16 }: IconProps) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <circle cx=\"18\" cy=\"18\" r=\"3\" />\n <circle cx=\"6\" cy=\"6\" r=\"3\" />\n <path d=\"M6 9v5c0 .667 3 1 6 1s6-.333 6-1V9\" />\n <path d=\"M12 17v2\" />\n </svg>\n);\n\nexport const RefreshIcon = ({ size = 16 }: IconProps) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M21 12a9 9 0 1 1-2.64-6.36\" />\n <polyline points=\"21 3 21 9 15 9\" />\n </svg>\n);\n\nexport const MoreIcon = ({ size = 16 }: IconProps) => (\n <svg width={size} height={size} viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\">\n <circle cx=\"5\" cy=\"12\" r=\"2\" />\n <circle cx=\"12\" cy=\"12\" r=\"2\" />\n <circle cx=\"19\" cy=\"12\" r=\"2\" />\n </svg>\n);\n\nexport const ShuffleIcon = ({ size = 16 }: IconProps) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"m18 4 3 3-3 3\" />\n <path d=\"M3 7h5.5a3 3 0 0 1 2.5 1.35L15 16.65A3 3 0 0 0 17.5 18H21\" />\n <path d=\"m18 20 3-3-3-3\" />\n <path d=\"M3 17h5.5a3 3 0 0 0 2.5-1.35\" />\n <path d=\"M13 8.35A3 3 0 0 1 15.5 7H21\" />\n </svg>\n);\n\nexport const RunIcon = ({ size = 12 }: IconProps) => (\n <svg width={size} height={size} viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\">\n <path d=\"M6 4l11 6-11 6z\" />\n </svg>\n);\n\nexport const StopIcon = ({ size = 12 }: IconProps) => (\n <svg width={size} height={size} viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\">\n <rect x=\"5\" y=\"5\" width=\"10\" height=\"10\" rx=\"1.5\" />\n </svg>\n);\n\nexport const ChevronRightIcon = ({ size = 12 }: IconProps) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"m7 4 6 6-6 6\" />\n </svg>\n);\n\nexport const BellIcon = ({ size = 16 }: IconProps) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M18 8a6 6 0 0 0-12 0c0 7-3 9-3 9h18s-3-2-3-9\" />\n <path d=\"M13.73 21a2 2 0 0 1-3.46 0\" />\n </svg>\n);\n\nexport const GitBranchIcon = ({ size = 16 }: IconProps) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M6 3v12\" />\n <circle cx=\"18\" cy=\"6\" r=\"3\" />\n <circle cx=\"6\" cy=\"18\" r=\"3\" />\n <path d=\"M18 9a9 9 0 0 1-9 9\" />\n </svg>\n);\n\nexport const GithubIcon = ({ size = 12 }: IconProps) => (\n <svg width={size} height={size} viewBox=\"0 0 16 16\" fill=\"currentColor\" aria-hidden=\"true\">\n <path d=\"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.01 8.01 0 0 0 16 8c0-4.42-3.58-8-8-8Z\" />\n </svg>\n);\n\nexport const LightbulbIcon = ({ size = 14 }: IconProps) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"opacity-[0.55] shrink-0\"\n >\n <title>Idea</title>\n <path d=\"M9 18h6M10 22h4M12 2a6 6 0 0 0-3.5 10.9c.53.4.9 1.03.9 1.72V15h5.2v-.38c0-.69.37-1.32.9-1.72A6 6 0 0 0 12 2Z\" />\n </svg>\n);\n\nexport const NoteIcon = ({ size = 14 }: IconProps) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"opacity-[0.55] shrink-0\"\n >\n <title>Note</title>\n <path d=\"M15 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9Z\" />\n <path d=\"M15 3v6h6\" />\n </svg>\n);\n\nexport const CheckAllIcon = ({ size = 14 }: IconProps) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"m3 12 4 4 7-8\" />\n <path d=\"m11 15 2 2 8-9\" />\n </svg>\n);\n","/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\"),\n shim = require(\"use-sync-external-store/shim\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useSyncExternalStore = shim.useSyncExternalStore,\n useRef = React.useRef,\n useEffect = React.useEffect,\n useMemo = React.useMemo,\n useDebugValue = React.useDebugValue;\nexports.useSyncExternalStoreWithSelector = function (\n subscribe,\n getSnapshot,\n getServerSnapshot,\n selector,\n isEqual\n) {\n var instRef = useRef(null);\n if (null === instRef.current) {\n var inst = { hasValue: !1, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo(\n function () {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = !0;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return (memoizedSelection = currentSelection);\n }\n return (memoizedSelection = nextSnapshot);\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return (memoizedSnapshot = nextSnapshot), currentSelection;\n memoizedSnapshot = nextSnapshot;\n return (memoizedSelection = nextSelection);\n }\n var hasMemo = !1,\n memoizedSnapshot,\n memoizedSelection,\n maybeGetServerSnapshot =\n void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function () {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot\n ? void 0\n : function () {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);\n useEffect(\n function () {\n inst.hasValue = !0;\n inst.value = value;\n },\n [value]\n );\n useDebugValue(value);\n return value;\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","const CLASS_PART_SEPARATOR = '-';\nconst createClassGroupUtils = config => {\n const classMap = createClassMap(config);\n const {\n conflictingClassGroups,\n conflictingClassGroupModifiers\n } = config;\n const getClassGroupId = className => {\n const classParts = className.split(CLASS_PART_SEPARATOR);\n // Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and remove it from classParts.\n if (classParts[0] === '' && classParts.length !== 1) {\n classParts.shift();\n }\n return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);\n };\n const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {\n const conflicts = conflictingClassGroups[classGroupId] || [];\n if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {\n return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]];\n }\n return conflicts;\n };\n return {\n getClassGroupId,\n getConflictingClassGroupIds\n };\n};\nconst getGroupRecursive = (classParts, classPartObject) => {\n if (classParts.length === 0) {\n return classPartObject.classGroupId;\n }\n const currentClassPart = classParts[0];\n const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);\n const classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : undefined;\n if (classGroupFromNextClassPart) {\n return classGroupFromNextClassPart;\n }\n if (classPartObject.validators.length === 0) {\n return undefined;\n }\n const classRest = classParts.join(CLASS_PART_SEPARATOR);\n return classPartObject.validators.find(({\n validator\n }) => validator(classRest))?.classGroupId;\n};\nconst arbitraryPropertyRegex = /^\\[(.+)\\]$/;\nconst getGroupIdForArbitraryProperty = className => {\n if (arbitraryPropertyRegex.test(className)) {\n const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];\n const property = arbitraryPropertyClassName?.substring(0, arbitraryPropertyClassName.indexOf(':'));\n if (property) {\n // I use two dots here because one dot is used as prefix for class groups in plugins\n return 'arbitrary..' + property;\n }\n }\n};\n/**\n * Exported for testing only\n */\nconst createClassMap = config => {\n const {\n theme,\n prefix\n } = config;\n const classMap = {\n nextPart: new Map(),\n validators: []\n };\n const prefixedClassGroupEntries = getPrefixedClassGroupEntries(Object.entries(config.classGroups), prefix);\n prefixedClassGroupEntries.forEach(([classGroupId, classGroup]) => {\n processClassesRecursively(classGroup, classMap, classGroupId, theme);\n });\n return classMap;\n};\nconst processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {\n classGroup.forEach(classDefinition => {\n if (typeof classDefinition === 'string') {\n const classPartObjectToEdit = classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition);\n classPartObjectToEdit.classGroupId = classGroupId;\n return;\n }\n if (typeof classDefinition === 'function') {\n if (isThemeGetter(classDefinition)) {\n processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);\n return;\n }\n classPartObject.validators.push({\n validator: classDefinition,\n classGroupId\n });\n return;\n }\n Object.entries(classDefinition).forEach(([key, classGroup]) => {\n processClassesRecursively(classGroup, getPart(classPartObject, key), classGroupId, theme);\n });\n });\n};\nconst getPart = (classPartObject, path) => {\n let currentClassPartObject = classPartObject;\n path.split(CLASS_PART_SEPARATOR).forEach(pathPart => {\n if (!currentClassPartObject.nextPart.has(pathPart)) {\n currentClassPartObject.nextPart.set(pathPart, {\n nextPart: new Map(),\n validators: []\n });\n }\n currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);\n });\n return currentClassPartObject;\n};\nconst isThemeGetter = func => func.isThemeGetter;\nconst getPrefixedClassGroupEntries = (classGroupEntries, prefix) => {\n if (!prefix) {\n return classGroupEntries;\n }\n return classGroupEntries.map(([classGroupId, classGroup]) => {\n const prefixedClassGroup = classGroup.map(classDefinition => {\n if (typeof classDefinition === 'string') {\n return prefix + classDefinition;\n }\n if (typeof classDefinition === 'object') {\n return Object.fromEntries(Object.entries(classDefinition).map(([key, value]) => [prefix + key, value]));\n }\n return classDefinition;\n });\n return [classGroupId, prefixedClassGroup];\n });\n};\n\n// LRU cache inspired from hashlru (https://github.com/dominictarr/hashlru/blob/v1.0.4/index.js) but object replaced with Map to improve performance\nconst createLruCache = maxCacheSize => {\n if (maxCacheSize < 1) {\n return {\n get: () => undefined,\n set: () => {}\n };\n }\n let cacheSize = 0;\n let cache = new Map();\n let previousCache = new Map();\n const update = (key, value) => {\n cache.set(key, value);\n cacheSize++;\n if (cacheSize > maxCacheSize) {\n cacheSize = 0;\n previousCache = cache;\n cache = new Map();\n }\n };\n return {\n get(key) {\n let value = cache.get(key);\n if (value !== undefined) {\n return value;\n }\n if ((value = previousCache.get(key)) !== undefined) {\n update(key, value);\n return value;\n }\n },\n set(key, value) {\n if (cache.has(key)) {\n cache.set(key, value);\n } else {\n update(key, value);\n }\n }\n };\n};\nconst IMPORTANT_MODIFIER = '!';\nconst createParseClassName = config => {\n const {\n separator,\n experimentalParseClassName\n } = config;\n const isSeparatorSingleCharacter = separator.length === 1;\n const firstSeparatorCharacter = separator[0];\n const separatorLength = separator.length;\n // parseClassName inspired by https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js\n const parseClassName = className => {\n const modifiers = [];\n let bracketDepth = 0;\n let modifierStart = 0;\n let postfixModifierPosition;\n for (let index = 0; index < className.length; index++) {\n let currentCharacter = className[index];\n if (bracketDepth === 0) {\n if (currentCharacter === firstSeparatorCharacter && (isSeparatorSingleCharacter || className.slice(index, index + separatorLength) === separator)) {\n modifiers.push(className.slice(modifierStart, index));\n modifierStart = index + separatorLength;\n continue;\n }\n if (currentCharacter === '/') {\n postfixModifierPosition = index;\n continue;\n }\n }\n if (currentCharacter === '[') {\n bracketDepth++;\n } else if (currentCharacter === ']') {\n bracketDepth--;\n }\n }\n const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart);\n const hasImportantModifier = baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER);\n const baseClassName = hasImportantModifier ? baseClassNameWithImportantModifier.substring(1) : baseClassNameWithImportantModifier;\n const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : undefined;\n return {\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition\n };\n };\n if (experimentalParseClassName) {\n return className => experimentalParseClassName({\n className,\n parseClassName\n });\n }\n return parseClassName;\n};\n/**\n * Sorts modifiers according to following schema:\n * - Predefined modifiers are sorted alphabetically\n * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it\n */\nconst sortModifiers = modifiers => {\n if (modifiers.length <= 1) {\n return modifiers;\n }\n const sortedModifiers = [];\n let unsortedModifiers = [];\n modifiers.forEach(modifier => {\n const isArbitraryVariant = modifier[0] === '[';\n if (isArbitraryVariant) {\n sortedModifiers.push(...unsortedModifiers.sort(), modifier);\n unsortedModifiers = [];\n } else {\n unsortedModifiers.push(modifier);\n }\n });\n sortedModifiers.push(...unsortedModifiers.sort());\n return sortedModifiers;\n};\nconst createConfigUtils = config => ({\n cache: createLruCache(config.cacheSize),\n parseClassName: createParseClassName(config),\n ...createClassGroupUtils(config)\n});\nconst SPLIT_CLASSES_REGEX = /\\s+/;\nconst mergeClassList = (classList, configUtils) => {\n const {\n parseClassName,\n getClassGroupId,\n getConflictingClassGroupIds\n } = configUtils;\n /**\n * Set of classGroupIds in following format:\n * `{importantModifier}{variantModifiers}{classGroupId}`\n * @example 'float'\n * @example 'hover:focus:bg-color'\n * @example 'md:!pr'\n */\n const classGroupsInConflict = [];\n const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);\n let result = '';\n for (let index = classNames.length - 1; index >= 0; index -= 1) {\n const originalClassName = classNames[index];\n const {\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition\n } = parseClassName(originalClassName);\n let hasPostfixModifier = Boolean(maybePostfixModifierPosition);\n let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);\n if (!classGroupId) {\n if (!hasPostfixModifier) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n continue;\n }\n classGroupId = getClassGroupId(baseClassName);\n if (!classGroupId) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n continue;\n }\n hasPostfixModifier = false;\n }\n const variantModifier = sortModifiers(modifiers).join(':');\n const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;\n const classId = modifierId + classGroupId;\n if (classGroupsInConflict.includes(classId)) {\n // Tailwind class omitted due to conflict\n continue;\n }\n classGroupsInConflict.push(classId);\n const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);\n for (let i = 0; i < conflictGroups.length; ++i) {\n const group = conflictGroups[i];\n classGroupsInConflict.push(modifierId + group);\n }\n // Tailwind class not in conflict\n result = originalClassName + (result.length > 0 ? ' ' + result : result);\n }\n return result;\n};\n\n/**\n * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.\n *\n * Specifically:\n * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js\n * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts\n *\n * Original code has MIT license: Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)\n */\nfunction twJoin() {\n let index = 0;\n let argument;\n let resolvedValue;\n let string = '';\n while (index < arguments.length) {\n if (argument = arguments[index++]) {\n if (resolvedValue = toValue(argument)) {\n string && (string += ' ');\n string += resolvedValue;\n }\n }\n }\n return string;\n}\nconst toValue = mix => {\n if (typeof mix === 'string') {\n return mix;\n }\n let resolvedValue;\n let string = '';\n for (let k = 0; k < mix.length; k++) {\n if (mix[k]) {\n if (resolvedValue = toValue(mix[k])) {\n string && (string += ' ');\n string += resolvedValue;\n }\n }\n }\n return string;\n};\nfunction createTailwindMerge(createConfigFirst, ...createConfigRest) {\n let configUtils;\n let cacheGet;\n let cacheSet;\n let functionToCall = initTailwindMerge;\n function initTailwindMerge(classList) {\n const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());\n configUtils = createConfigUtils(config);\n cacheGet = configUtils.cache.get;\n cacheSet = configUtils.cache.set;\n functionToCall = tailwindMerge;\n return tailwindMerge(classList);\n }\n function tailwindMerge(classList) {\n const cachedResult = cacheGet(classList);\n if (cachedResult) {\n return cachedResult;\n }\n const result = mergeClassList(classList, configUtils);\n cacheSet(classList, result);\n return result;\n }\n return function callTailwindMerge() {\n return functionToCall(twJoin.apply(null, arguments));\n };\n}\nconst fromTheme = key => {\n const themeGetter = theme => theme[key] || [];\n themeGetter.isThemeGetter = true;\n return themeGetter;\n};\nconst arbitraryValueRegex = /^\\[(?:([a-z-]+):)?(.+)\\]$/i;\nconst fractionRegex = /^\\d+\\/\\d+$/;\nconst stringLengths = /*#__PURE__*/new Set(['px', 'full', 'screen']);\nconst tshirtUnitRegex = /^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/;\nconst lengthUnitRegex = /\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/;\nconst colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\\(.+\\)$/;\n// Shadow always begins with x and y offset separated by underscore optionally prepended by inset\nconst shadowRegex = /^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/;\nconst imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/;\nconst isLength = value => isNumber(value) || stringLengths.has(value) || fractionRegex.test(value);\nconst isArbitraryLength = value => getIsArbitraryValue(value, 'length', isLengthOnly);\nconst isNumber = value => Boolean(value) && !Number.isNaN(Number(value));\nconst isArbitraryNumber = value => getIsArbitraryValue(value, 'number', isNumber);\nconst isInteger = value => Boolean(value) && Number.isInteger(Number(value));\nconst isPercent = value => value.endsWith('%') && isNumber(value.slice(0, -1));\nconst isArbitraryValue = value => arbitraryValueRegex.test(value);\nconst isTshirtSize = value => tshirtUnitRegex.test(value);\nconst sizeLabels = /*#__PURE__*/new Set(['length', 'size', 'percentage']);\nconst isArbitrarySize = value => getIsArbitraryValue(value, sizeLabels, isNever);\nconst isArbitraryPosition = value => getIsArbitraryValue(value, 'position', isNever);\nconst imageLabels = /*#__PURE__*/new Set(['image', 'url']);\nconst isArbitraryImage = value => getIsArbitraryValue(value, imageLabels, isImage);\nconst isArbitraryShadow = value => getIsArbitraryValue(value, '', isShadow);\nconst isAny = () => true;\nconst getIsArbitraryValue = (value, label, testValue) => {\n const result = arbitraryValueRegex.exec(value);\n if (result) {\n if (result[1]) {\n return typeof label === 'string' ? result[1] === label : label.has(result[1]);\n }\n return testValue(result[2]);\n }\n return false;\n};\nconst isLengthOnly = value =>\n// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.\n// For example, `hsl(0 0% 0%)` would be classified as a length without this check.\n// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.\nlengthUnitRegex.test(value) && !colorFunctionRegex.test(value);\nconst isNever = () => false;\nconst isShadow = value => shadowRegex.test(value);\nconst isImage = value => imageRegex.test(value);\nconst validators = /*#__PURE__*/Object.defineProperty({\n __proto__: null,\n isAny,\n isArbitraryImage,\n isArbitraryLength,\n isArbitraryNumber,\n isArbitraryPosition,\n isArbitraryShadow,\n isArbitrarySize,\n isArbitraryValue,\n isInteger,\n isLength,\n isNumber,\n isPercent,\n isTshirtSize\n}, Symbol.toStringTag, {\n value: 'Module'\n});\nconst getDefaultConfig = () => {\n const colors = fromTheme('colors');\n const spacing = fromTheme('spacing');\n const blur = fromTheme('blur');\n const brightness = fromTheme('brightness');\n const borderColor = fromTheme('borderColor');\n const borderRadius = fromTheme('borderRadius');\n const borderSpacing = fromTheme('borderSpacing');\n const borderWidth = fromTheme('borderWidth');\n const contrast = fromTheme('contrast');\n const grayscale = fromTheme('grayscale');\n const hueRotate = fromTheme('hueRotate');\n const invert = fromTheme('invert');\n const gap = fromTheme('gap');\n const gradientColorStops = fromTheme('gradientColorStops');\n const gradientColorStopPositions = fromTheme('gradientColorStopPositions');\n const inset = fromTheme('inset');\n const margin = fromTheme('margin');\n const opacity = fromTheme('opacity');\n const padding = fromTheme('padding');\n const saturate = fromTheme('saturate');\n const scale = fromTheme('scale');\n const sepia = fromTheme('sepia');\n const skew = fromTheme('skew');\n const space = fromTheme('space');\n const translate = fromTheme('translate');\n const getOverscroll = () => ['auto', 'contain', 'none'];\n const getOverflow = () => ['auto', 'hidden', 'clip', 'visible', 'scroll'];\n const getSpacingWithAutoAndArbitrary = () => ['auto', isArbitraryValue, spacing];\n const getSpacingWithArbitrary = () => [isArbitraryValue, spacing];\n const getLengthWithEmptyAndArbitrary = () => ['', isLength, isArbitraryLength];\n const getNumberWithAutoAndArbitrary = () => ['auto', isNumber, isArbitraryValue];\n const getPositions = () => ['bottom', 'center', 'left', 'left-bottom', 'left-top', 'right', 'right-bottom', 'right-top', 'top'];\n const getLineStyles = () => ['solid', 'dashed', 'dotted', 'double', 'none'];\n const getBlendModes = () => ['normal', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity'];\n const getAlign = () => ['start', 'end', 'center', 'between', 'around', 'evenly', 'stretch'];\n const getZeroAndEmpty = () => ['', '0', isArbitraryValue];\n const getBreaks = () => ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'];\n const getNumberAndArbitrary = () => [isNumber, isArbitraryValue];\n return {\n cacheSize: 500,\n separator: ':',\n theme: {\n colors: [isAny],\n spacing: [isLength, isArbitraryLength],\n blur: ['none', '', isTshirtSize, isArbitraryValue],\n brightness: getNumberAndArbitrary(),\n borderColor: [colors],\n borderRadius: ['none', '', 'full', isTshirtSize, isArbitraryValue],\n borderSpacing: getSpacingWithArbitrary(),\n borderWidth: getLengthWithEmptyAndArbitrary(),\n contrast: getNumberAndArbitrary(),\n grayscale: getZeroAndEmpty(),\n hueRotate: getNumberAndArbitrary(),\n invert: getZeroAndEmpty(),\n gap: getSpacingWithArbitrary(),\n gradientColorStops: [colors],\n gradientColorStopPositions: [isPercent, isArbitraryLength],\n inset: getSpacingWithAutoAndArbitrary(),\n margin: getSpacingWithAutoAndArbitrary(),\n opacity: getNumberAndArbitrary(),\n padding: getSpacingWithArbitrary(),\n saturate: getNumberAndArbitrary(),\n scale: getNumberAndArbitrary(),\n sepia: getZeroAndEmpty(),\n skew: getNumberAndArbitrary(),\n space: getSpacingWithArbitrary(),\n translate: getSpacingWithArbitrary()\n },\n classGroups: {\n // Layout\n /**\n * Aspect Ratio\n * @see https://tailwindcss.com/docs/aspect-ratio\n */\n aspect: [{\n aspect: ['auto', 'square', 'video', isArbitraryValue]\n }],\n /**\n * Container\n * @see https://tailwindcss.com/docs/container\n */\n container: ['container'],\n /**\n * Columns\n * @see https://tailwindcss.com/docs/columns\n */\n columns: [{\n columns: [isTshirtSize]\n }],\n /**\n * Break After\n * @see https://tailwindcss.com/docs/break-after\n */\n 'break-after': [{\n 'break-after': getBreaks()\n }],\n /**\n * Break Before\n * @see https://tailwindcss.com/docs/break-before\n */\n 'break-before': [{\n 'break-before': getBreaks()\n }],\n /**\n * Break Inside\n * @see https://tailwindcss.com/docs/break-inside\n */\n 'break-inside': [{\n 'break-inside': ['auto', 'avoid', 'avoid-page', 'avoid-column']\n }],\n /**\n * Box Decoration Break\n * @see https://tailwindcss.com/docs/box-decoration-break\n */\n 'box-decoration': [{\n 'box-decoration': ['slice', 'clone']\n }],\n /**\n * Box Sizing\n * @see https://tailwindcss.com/docs/box-sizing\n */\n box: [{\n box: ['border', 'content']\n }],\n /**\n * Display\n * @see https://tailwindcss.com/docs/display\n */\n display: ['block', 'inline-block', 'inline', 'flex', 'inline-flex', 'table', 'inline-table', 'table-caption', 'table-cell', 'table-column', 'table-column-group', 'table-footer-group', 'table-header-group', 'table-row-group', 'table-row', 'flow-root', 'grid', 'inline-grid', 'contents', 'list-item', 'hidden'],\n /**\n * Floats\n * @see https://tailwindcss.com/docs/float\n */\n float: [{\n float: ['right', 'left', 'none', 'start', 'end']\n }],\n /**\n * Clear\n * @see https://tailwindcss.com/docs/clear\n */\n clear: [{\n clear: ['left', 'right', 'both', 'none', 'start', 'end']\n }],\n /**\n * Isolation\n * @see https://tailwindcss.com/docs/isolation\n */\n isolation: ['isolate', 'isolation-auto'],\n /**\n * Object Fit\n * @see https://tailwindcss.com/docs/object-fit\n */\n 'object-fit': [{\n object: ['contain', 'cover', 'fill', 'none', 'scale-down']\n }],\n /**\n * Object Position\n * @see https://tailwindcss.com/docs/object-position\n */\n 'object-position': [{\n object: [...getPositions(), isArbitraryValue]\n }],\n /**\n * Overflow\n * @see https://tailwindcss.com/docs/overflow\n */\n overflow: [{\n overflow: getOverflow()\n }],\n /**\n * Overflow X\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-x': [{\n 'overflow-x': getOverflow()\n }],\n /**\n * Overflow Y\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-y': [{\n 'overflow-y': getOverflow()\n }],\n /**\n * Overscroll Behavior\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n overscroll: [{\n overscroll: getOverscroll()\n }],\n /**\n * Overscroll Behavior X\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-x': [{\n 'overscroll-x': getOverscroll()\n }],\n /**\n * Overscroll Behavior Y\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-y': [{\n 'overscroll-y': getOverscroll()\n }],\n /**\n * Position\n * @see https://tailwindcss.com/docs/position\n */\n position: ['static', 'fixed', 'absolute', 'relative', 'sticky'],\n /**\n * Top / Right / Bottom / Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n inset: [{\n inset: [inset]\n }],\n /**\n * Right / Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-x': [{\n 'inset-x': [inset]\n }],\n /**\n * Top / Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-y': [{\n 'inset-y': [inset]\n }],\n /**\n * Start\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n start: [{\n start: [inset]\n }],\n /**\n * End\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n end: [{\n end: [inset]\n }],\n /**\n * Top\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n top: [{\n top: [inset]\n }],\n /**\n * Right\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n right: [{\n right: [inset]\n }],\n /**\n * Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n bottom: [{\n bottom: [inset]\n }],\n /**\n * Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n left: [{\n left: [inset]\n }],\n /**\n * Visibility\n * @see https://tailwindcss.com/docs/visibility\n */\n visibility: ['visible', 'invisible', 'collapse'],\n /**\n * Z-Index\n * @see https://tailwindcss.com/docs/z-index\n */\n z: [{\n z: ['auto', isInteger, isArbitraryValue]\n }],\n // Flexbox and Grid\n /**\n * Flex Basis\n * @see https://tailwindcss.com/docs/flex-basis\n */\n basis: [{\n basis: getSpacingWithAutoAndArbitrary()\n }],\n /**\n * Flex Direction\n * @see https://tailwindcss.com/docs/flex-direction\n */\n 'flex-direction': [{\n flex: ['row', 'row-reverse', 'col', 'col-reverse']\n }],\n /**\n * Flex Wrap\n * @see https://tailwindcss.com/docs/flex-wrap\n */\n 'flex-wrap': [{\n flex: ['wrap', 'wrap-reverse', 'nowrap']\n }],\n /**\n * Flex\n * @see https://tailwindcss.com/docs/flex\n */\n flex: [{\n flex: ['1', 'auto', 'initial', 'none', isArbitraryValue]\n }],\n /**\n * Flex Grow\n * @see https://tailwindcss.com/docs/flex-grow\n */\n grow: [{\n grow: getZeroAndEmpty()\n }],\n /**\n * Flex Shrink\n * @see https://tailwindcss.com/docs/flex-shrink\n */\n shrink: [{\n shrink: getZeroAndEmpty()\n }],\n /**\n * Order\n * @see https://tailwindcss.com/docs/order\n */\n order: [{\n order: ['first', 'last', 'none', isInteger, isArbitraryValue]\n }],\n /**\n * Grid Template Columns\n * @see https://tailwindcss.com/docs/grid-template-columns\n */\n 'grid-cols': [{\n 'grid-cols': [isAny]\n }],\n /**\n * Grid Column Start / End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start-end': [{\n col: ['auto', {\n span: ['full', isInteger, isArbitraryValue]\n }, isArbitraryValue]\n }],\n /**\n * Grid Column Start\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start': [{\n 'col-start': getNumberWithAutoAndArbitrary()\n }],\n /**\n * Grid Column End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-end': [{\n 'col-end': getNumberWithAutoAndArbitrary()\n }],\n /**\n * Grid Template Rows\n * @see https://tailwindcss.com/docs/grid-template-rows\n */\n 'grid-rows': [{\n 'grid-rows': [isAny]\n }],\n /**\n * Grid Row Start / End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start-end': [{\n row: ['auto', {\n span: [isInteger, isArbitraryValue]\n }, isArbitraryValue]\n }],\n /**\n * Grid Row Start\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start': [{\n 'row-start': getNumberWithAutoAndArbitrary()\n }],\n /**\n * Grid Row End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-end': [{\n 'row-end': getNumberWithAutoAndArbitrary()\n }],\n /**\n * Grid Auto Flow\n * @see https://tailwindcss.com/docs/grid-auto-flow\n */\n 'grid-flow': [{\n 'grid-flow': ['row', 'col', 'dense', 'row-dense', 'col-dense']\n }],\n /**\n * Grid Auto Columns\n * @see https://tailwindcss.com/docs/grid-auto-columns\n */\n 'auto-cols': [{\n 'auto-cols': ['auto', 'min', 'max', 'fr', isArbitraryValue]\n }],\n /**\n * Grid Auto Rows\n * @see https://tailwindcss.com/docs/grid-auto-rows\n */\n 'auto-rows': [{\n 'auto-rows': ['auto', 'min', 'max', 'fr', isArbitraryValue]\n }],\n /**\n * Gap\n * @see https://tailwindcss.com/docs/gap\n */\n gap: [{\n gap: [gap]\n }],\n /**\n * Gap X\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-x': [{\n 'gap-x': [gap]\n }],\n /**\n * Gap Y\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-y': [{\n 'gap-y': [gap]\n }],\n /**\n * Justify Content\n * @see https://tailwindcss.com/docs/justify-content\n */\n 'justify-content': [{\n justify: ['normal', ...getAlign()]\n }],\n /**\n * Justify Items\n * @see https://tailwindcss.com/docs/justify-items\n */\n 'justify-items': [{\n 'justify-items': ['start', 'end', 'center', 'stretch']\n }],\n /**\n * Justify Self\n * @see https://tailwindcss.com/docs/justify-self\n */\n 'justify-self': [{\n 'justify-self': ['auto', 'start', 'end', 'center', 'stretch']\n }],\n /**\n * Align Content\n * @see https://tailwindcss.com/docs/align-content\n */\n 'align-content': [{\n content: ['normal', ...getAlign(), 'baseline']\n }],\n /**\n * Align Items\n * @see https://tailwindcss.com/docs/align-items\n */\n 'align-items': [{\n items: ['start', 'end', 'center', 'baseline', 'stretch']\n }],\n /**\n * Align Self\n * @see https://tailwindcss.com/docs/align-self\n */\n 'align-self': [{\n self: ['auto', 'start', 'end', 'center', 'stretch', 'baseline']\n }],\n /**\n * Place Content\n * @see https://tailwindcss.com/docs/place-content\n */\n 'place-content': [{\n 'place-content': [...getAlign(), 'baseline']\n }],\n /**\n * Place Items\n * @see https://tailwindcss.com/docs/place-items\n */\n 'place-items': [{\n 'place-items': ['start', 'end', 'center', 'baseline', 'stretch']\n }],\n /**\n * Place Self\n * @see https://tailwindcss.com/docs/place-self\n */\n 'place-self': [{\n 'place-self': ['auto', 'start', 'end', 'center', 'stretch']\n }],\n // Spacing\n /**\n * Padding\n * @see https://tailwindcss.com/docs/padding\n */\n p: [{\n p: [padding]\n }],\n /**\n * Padding X\n * @see https://tailwindcss.com/docs/padding\n */\n px: [{\n px: [padding]\n }],\n /**\n * Padding Y\n * @see https://tailwindcss.com/docs/padding\n */\n py: [{\n py: [padding]\n }],\n /**\n * Padding Start\n * @see https://tailwindcss.com/docs/padding\n */\n ps: [{\n ps: [padding]\n }],\n /**\n * Padding End\n * @see https://tailwindcss.com/docs/padding\n */\n pe: [{\n pe: [padding]\n }],\n /**\n * Padding Top\n * @see https://tailwindcss.com/docs/padding\n */\n pt: [{\n pt: [padding]\n }],\n /**\n * Padding Right\n * @see https://tailwindcss.com/docs/padding\n */\n pr: [{\n pr: [padding]\n }],\n /**\n * Padding Bottom\n * @see https://tailwindcss.com/docs/padding\n */\n pb: [{\n pb: [padding]\n }],\n /**\n * Padding Left\n * @see https://tailwindcss.com/docs/padding\n */\n pl: [{\n pl: [padding]\n }],\n /**\n * Margin\n * @see https://tailwindcss.com/docs/margin\n */\n m: [{\n m: [margin]\n }],\n /**\n * Margin X\n * @see https://tailwindcss.com/docs/margin\n */\n mx: [{\n mx: [margin]\n }],\n /**\n * Margin Y\n * @see https://tailwindcss.com/docs/margin\n */\n my: [{\n my: [margin]\n }],\n /**\n * Margin Start\n * @see https://tailwindcss.com/docs/margin\n */\n ms: [{\n ms: [margin]\n }],\n /**\n * Margin End\n * @see https://tailwindcss.com/docs/margin\n */\n me: [{\n me: [margin]\n }],\n /**\n * Margin Top\n * @see https://tailwindcss.com/docs/margin\n */\n mt: [{\n mt: [margin]\n }],\n /**\n * Margin Right\n * @see https://tailwindcss.com/docs/margin\n */\n mr: [{\n mr: [margin]\n }],\n /**\n * Margin Bottom\n * @see https://tailwindcss.com/docs/margin\n */\n mb: [{\n mb: [margin]\n }],\n /**\n * Margin Left\n * @see https://tailwindcss.com/docs/margin\n */\n ml: [{\n ml: [margin]\n }],\n /**\n * Space Between X\n * @see https://tailwindcss.com/docs/space\n */\n 'space-x': [{\n 'space-x': [space]\n }],\n /**\n * Space Between X Reverse\n * @see https://tailwindcss.com/docs/space\n */\n 'space-x-reverse': ['space-x-reverse'],\n /**\n * Space Between Y\n * @see https://tailwindcss.com/docs/space\n */\n 'space-y': [{\n 'space-y': [space]\n }],\n /**\n * Space Between Y Reverse\n * @see https://tailwindcss.com/docs/space\n */\n 'space-y-reverse': ['space-y-reverse'],\n // Sizing\n /**\n * Width\n * @see https://tailwindcss.com/docs/width\n */\n w: [{\n w: ['auto', 'min', 'max', 'fit', 'svw', 'lvw', 'dvw', isArbitraryValue, spacing]\n }],\n /**\n * Min-Width\n * @see https://tailwindcss.com/docs/min-width\n */\n 'min-w': [{\n 'min-w': [isArbitraryValue, spacing, 'min', 'max', 'fit']\n }],\n /**\n * Max-Width\n * @see https://tailwindcss.com/docs/max-width\n */\n 'max-w': [{\n 'max-w': [isArbitraryValue, spacing, 'none', 'full', 'min', 'max', 'fit', 'prose', {\n screen: [isTshirtSize]\n }, isTshirtSize]\n }],\n /**\n * Height\n * @see https://tailwindcss.com/docs/height\n */\n h: [{\n h: [isArbitraryValue, spacing, 'auto', 'min', 'max', 'fit', 'svh', 'lvh', 'dvh']\n }],\n /**\n * Min-Height\n * @see https://tailwindcss.com/docs/min-height\n */\n 'min-h': [{\n 'min-h': [isArbitraryValue, spacing, 'min', 'max', 'fit', 'svh', 'lvh', 'dvh']\n }],\n /**\n * Max-Height\n * @see https://tailwindcss.com/docs/max-height\n */\n 'max-h': [{\n 'max-h': [isArbitraryValue, spacing, 'min', 'max', 'fit', 'svh', 'lvh', 'dvh']\n }],\n /**\n * Size\n * @see https://tailwindcss.com/docs/size\n */\n size: [{\n size: [isArbitraryValue, spacing, 'auto', 'min', 'max', 'fit']\n }],\n // Typography\n /**\n * Font Size\n * @see https://tailwindcss.com/docs/font-size\n */\n 'font-size': [{\n text: ['base', isTshirtSize, isArbitraryLength]\n }],\n /**\n * Font Smoothing\n * @see https://tailwindcss.com/docs/font-smoothing\n */\n 'font-smoothing': ['antialiased', 'subpixel-antialiased'],\n /**\n * Font Style\n * @see https://tailwindcss.com/docs/font-style\n */\n 'font-style': ['italic', 'not-italic'],\n /**\n * Font Weight\n * @see https://tailwindcss.com/docs/font-weight\n */\n 'font-weight': [{\n font: ['thin', 'extralight', 'light', 'normal', 'medium', 'semibold', 'bold', 'extrabold', 'black', isArbitraryNumber]\n }],\n /**\n * Font Family\n * @see https://tailwindcss.com/docs/font-family\n */\n 'font-family': [{\n font: [isAny]\n }],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-normal': ['normal-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-ordinal': ['ordinal'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-slashed-zero': ['slashed-zero'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-figure': ['lining-nums', 'oldstyle-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-spacing': ['proportional-nums', 'tabular-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-fraction': ['diagonal-fractions', 'stacked-fractions'],\n /**\n * Letter Spacing\n * @see https://tailwindcss.com/docs/letter-spacing\n */\n tracking: [{\n tracking: ['tighter', 'tight', 'normal', 'wide', 'wider', 'widest', isArbitraryValue]\n }],\n /**\n * Line Clamp\n * @see https://tailwindcss.com/docs/line-clamp\n */\n 'line-clamp': [{\n 'line-clamp': ['none', isNumber, isArbitraryNumber]\n }],\n /**\n * Line Height\n * @see https://tailwindcss.com/docs/line-height\n */\n leading: [{\n leading: ['none', 'tight', 'snug', 'normal', 'relaxed', 'loose', isLength, isArbitraryValue]\n }],\n /**\n * List Style Image\n * @see https://tailwindcss.com/docs/list-style-image\n */\n 'list-image': [{\n 'list-image': ['none', isArbitraryValue]\n }],\n /**\n * List Style Type\n * @see https://tailwindcss.com/docs/list-style-type\n */\n 'list-style-type': [{\n list: ['none', 'disc', 'decimal', isArbitraryValue]\n }],\n /**\n * List Style Position\n * @see https://tailwindcss.com/docs/list-style-position\n */\n 'list-style-position': [{\n list: ['inside', 'outside']\n }],\n /**\n * Placeholder Color\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://tailwindcss.com/docs/placeholder-color\n */\n 'placeholder-color': [{\n placeholder: [colors]\n }],\n /**\n * Placeholder Opacity\n * @see https://tailwindcss.com/docs/placeholder-opacity\n */\n 'placeholder-opacity': [{\n 'placeholder-opacity': [opacity]\n }],\n /**\n * Text Alignment\n * @see https://tailwindcss.com/docs/text-align\n */\n 'text-alignment': [{\n text: ['left', 'center', 'right', 'justify', 'start', 'end']\n }],\n /**\n * Text Color\n * @see https://tailwindcss.com/docs/text-color\n */\n 'text-color': [{\n text: [colors]\n }],\n /**\n * Text Opacity\n * @see https://tailwindcss.com/docs/text-opacity\n */\n 'text-opacity': [{\n 'text-opacity': [opacity]\n }],\n /**\n * Text Decoration\n * @see https://tailwindcss.com/docs/text-decoration\n */\n 'text-decoration': ['underline', 'overline', 'line-through', 'no-underline'],\n /**\n * Text Decoration Style\n * @see https://tailwindcss.com/docs/text-decoration-style\n */\n 'text-decoration-style': [{\n decoration: [...getLineStyles(), 'wavy']\n }],\n /**\n * Text Decoration Thickness\n * @see https://tailwindcss.com/docs/text-decoration-thickness\n */\n 'text-decoration-thickness': [{\n decoration: ['auto', 'from-font', isLength, isArbitraryLength]\n }],\n /**\n * Text Underline Offset\n * @see https://tailwindcss.com/docs/text-underline-offset\n */\n 'underline-offset': [{\n 'underline-offset': ['auto', isLength, isArbitraryValue]\n }],\n /**\n * Text Decoration Color\n * @see https://tailwindcss.com/docs/text-decoration-color\n */\n 'text-decoration-color': [{\n decoration: [colors]\n }],\n /**\n * Text Transform\n * @see https://tailwindcss.com/docs/text-transform\n */\n 'text-transform': ['uppercase', 'lowercase', 'capitalize', 'normal-case'],\n /**\n * Text Overflow\n * @see https://tailwindcss.com/docs/text-overflow\n */\n 'text-overflow': ['truncate', 'text-ellipsis', 'text-clip'],\n /**\n * Text Wrap\n * @see https://tailwindcss.com/docs/text-wrap\n */\n 'text-wrap': [{\n text: ['wrap', 'nowrap', 'balance', 'pretty']\n }],\n /**\n * Text Indent\n * @see https://tailwindcss.com/docs/text-indent\n */\n indent: [{\n indent: getSpacingWithArbitrary()\n }],\n /**\n * Vertical Alignment\n * @see https://tailwindcss.com/docs/vertical-align\n */\n 'vertical-align': [{\n align: ['baseline', 'top', 'middle', 'bottom', 'text-top', 'text-bottom', 'sub', 'super', isArbitraryValue]\n }],\n /**\n * Whitespace\n * @see https://tailwindcss.com/docs/whitespace\n */\n whitespace: [{\n whitespace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces']\n }],\n /**\n * Word Break\n * @see https://tailwindcss.com/docs/word-break\n */\n break: [{\n break: ['normal', 'words', 'all', 'keep']\n }],\n /**\n * Hyphens\n * @see https://tailwindcss.com/docs/hyphens\n */\n hyphens: [{\n hyphens: ['none', 'manual', 'auto']\n }],\n /**\n * Content\n * @see https://tailwindcss.com/docs/content\n */\n content: [{\n content: ['none', isArbitraryValue]\n }],\n // Backgrounds\n /**\n * Background Attachment\n * @see https://tailwindcss.com/docs/background-attachment\n */\n 'bg-attachment': [{\n bg: ['fixed', 'local', 'scroll']\n }],\n /**\n * Background Clip\n * @see https://tailwindcss.com/docs/background-clip\n */\n 'bg-clip': [{\n 'bg-clip': ['border', 'padding', 'content', 'text']\n }],\n /**\n * Background Opacity\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://tailwindcss.com/docs/background-opacity\n */\n 'bg-opacity': [{\n 'bg-opacity': [opacity]\n }],\n /**\n * Background Origin\n * @see https://tailwindcss.com/docs/background-origin\n */\n 'bg-origin': [{\n 'bg-origin': ['border', 'padding', 'content']\n }],\n /**\n * Background Position\n * @see https://tailwindcss.com/docs/background-position\n */\n 'bg-position': [{\n bg: [...getPositions(), isArbitraryPosition]\n }],\n /**\n * Background Repeat\n * @see https://tailwindcss.com/docs/background-repeat\n */\n 'bg-repeat': [{\n bg: ['no-repeat', {\n repeat: ['', 'x', 'y', 'round', 'space']\n }]\n }],\n /**\n * Background Size\n * @see https://tailwindcss.com/docs/background-size\n */\n 'bg-size': [{\n bg: ['auto', 'cover', 'contain', isArbitrarySize]\n }],\n /**\n * Background Image\n * @see https://tailwindcss.com/docs/background-image\n */\n 'bg-image': [{\n bg: ['none', {\n 'gradient-to': ['t', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl']\n }, isArbitraryImage]\n }],\n /**\n * Background Color\n * @see https://tailwindcss.com/docs/background-color\n */\n 'bg-color': [{\n bg: [colors]\n }],\n /**\n * Gradient Color Stops From Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from-pos': [{\n from: [gradientColorStopPositions]\n }],\n /**\n * Gradient Color Stops Via Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via-pos': [{\n via: [gradientColorStopPositions]\n }],\n /**\n * Gradient Color Stops To Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to-pos': [{\n to: [gradientColorStopPositions]\n }],\n /**\n * Gradient Color Stops From\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from': [{\n from: [gradientColorStops]\n }],\n /**\n * Gradient Color Stops Via\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via': [{\n via: [gradientColorStops]\n }],\n /**\n * Gradient Color Stops To\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to': [{\n to: [gradientColorStops]\n }],\n // Borders\n /**\n * Border Radius\n * @see https://tailwindcss.com/docs/border-radius\n */\n rounded: [{\n rounded: [borderRadius]\n }],\n /**\n * Border Radius Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-s': [{\n 'rounded-s': [borderRadius]\n }],\n /**\n * Border Radius End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-e': [{\n 'rounded-e': [borderRadius]\n }],\n /**\n * Border Radius Top\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-t': [{\n 'rounded-t': [borderRadius]\n }],\n /**\n * Border Radius Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-r': [{\n 'rounded-r': [borderRadius]\n }],\n /**\n * Border Radius Bottom\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-b': [{\n 'rounded-b': [borderRadius]\n }],\n /**\n * Border Radius Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-l': [{\n 'rounded-l': [borderRadius]\n }],\n /**\n * Border Radius Start Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ss': [{\n 'rounded-ss': [borderRadius]\n }],\n /**\n * Border Radius Start End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-se': [{\n 'rounded-se': [borderRadius]\n }],\n /**\n * Border Radius End End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ee': [{\n 'rounded-ee': [borderRadius]\n }],\n /**\n * Border Radius End Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-es': [{\n 'rounded-es': [borderRadius]\n }],\n /**\n * Border Radius Top Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tl': [{\n 'rounded-tl': [borderRadius]\n }],\n /**\n * Border Radius Top Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tr': [{\n 'rounded-tr': [borderRadius]\n }],\n /**\n * Border Radius Bottom Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-br': [{\n 'rounded-br': [borderRadius]\n }],\n /**\n * Border Radius Bottom Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-bl': [{\n 'rounded-bl': [borderRadius]\n }],\n /**\n * Border Width\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w': [{\n border: [borderWidth]\n }],\n /**\n * Border Width X\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-x': [{\n 'border-x': [borderWidth]\n }],\n /**\n * Border Width Y\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-y': [{\n 'border-y': [borderWidth]\n }],\n /**\n * Border Width Start\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-s': [{\n 'border-s': [borderWidth]\n }],\n /**\n * Border Width End\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-e': [{\n 'border-e': [borderWidth]\n }],\n /**\n * Border Width Top\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-t': [{\n 'border-t': [borderWidth]\n }],\n /**\n * Border Width Right\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-r': [{\n 'border-r': [borderWidth]\n }],\n /**\n * Border Width Bottom\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-b': [{\n 'border-b': [borderWidth]\n }],\n /**\n * Border Width Left\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-l': [{\n 'border-l': [borderWidth]\n }],\n /**\n * Border Opacity\n * @see https://tailwindcss.com/docs/border-opacity\n */\n 'border-opacity': [{\n 'border-opacity': [opacity]\n }],\n /**\n * Border Style\n * @see https://tailwindcss.com/docs/border-style\n */\n 'border-style': [{\n border: [...getLineStyles(), 'hidden']\n }],\n /**\n * Divide Width X\n * @see https://tailwindcss.com/docs/divide-width\n */\n 'divide-x': [{\n 'divide-x': [borderWidth]\n }],\n /**\n * Divide Width X Reverse\n * @see https://tailwindcss.com/docs/divide-width\n */\n 'divide-x-reverse': ['divide-x-reverse'],\n /**\n * Divide Width Y\n * @see https://tailwindcss.com/docs/divide-width\n */\n 'divide-y': [{\n 'divide-y': [borderWidth]\n }],\n /**\n * Divide Width Y Reverse\n * @see https://tailwindcss.com/docs/divide-width\n */\n 'divide-y-reverse': ['divide-y-reverse'],\n /**\n * Divide Opacity\n * @see https://tailwindcss.com/docs/divide-opacity\n */\n 'divide-opacity': [{\n 'divide-opacity': [opacity]\n }],\n /**\n * Divide Style\n * @see https://tailwindcss.com/docs/divide-style\n */\n 'divide-style': [{\n divide: getLineStyles()\n }],\n /**\n * Border Color\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color': [{\n border: [borderColor]\n }],\n /**\n * Border Color X\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-x': [{\n 'border-x': [borderColor]\n }],\n /**\n * Border Color Y\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-y': [{\n 'border-y': [borderColor]\n }],\n /**\n * Border Color S\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-s': [{\n 'border-s': [borderColor]\n }],\n /**\n * Border Color E\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-e': [{\n 'border-e': [borderColor]\n }],\n /**\n * Border Color Top\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-t': [{\n 'border-t': [borderColor]\n }],\n /**\n * Border Color Right\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-r': [{\n 'border-r': [borderColor]\n }],\n /**\n * Border Color Bottom\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-b': [{\n 'border-b': [borderColor]\n }],\n /**\n * Border Color Left\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-l': [{\n 'border-l': [borderColor]\n }],\n /**\n * Divide Color\n * @see https://tailwindcss.com/docs/divide-color\n */\n 'divide-color': [{\n divide: [borderColor]\n }],\n /**\n * Outline Style\n * @see https://tailwindcss.com/docs/outline-style\n */\n 'outline-style': [{\n outline: ['', ...getLineStyles()]\n }],\n /**\n * Outline Offset\n * @see https://tailwindcss.com/docs/outline-offset\n */\n 'outline-offset': [{\n 'outline-offset': [isLength, isArbitraryValue]\n }],\n /**\n * Outline Width\n * @see https://tailwindcss.com/docs/outline-width\n */\n 'outline-w': [{\n outline: [isLength, isArbitraryLength]\n }],\n /**\n * Outline Color\n * @see https://tailwindcss.com/docs/outline-color\n */\n 'outline-color': [{\n outline: [colors]\n }],\n /**\n * Ring Width\n * @see https://tailwindcss.com/docs/ring-width\n */\n 'ring-w': [{\n ring: getLengthWithEmptyAndArbitrary()\n }],\n /**\n * Ring Width Inset\n * @see https://tailwindcss.com/docs/ring-width\n */\n 'ring-w-inset': ['ring-inset'],\n /**\n * Ring Color\n * @see https://tailwindcss.com/docs/ring-color\n */\n 'ring-color': [{\n ring: [colors]\n }],\n /**\n * Ring Opacity\n * @see https://tailwindcss.com/docs/ring-opacity\n */\n 'ring-opacity': [{\n 'ring-opacity': [opacity]\n }],\n /**\n * Ring Offset Width\n * @see https://tailwindcss.com/docs/ring-offset-width\n */\n 'ring-offset-w': [{\n 'ring-offset': [isLength, isArbitraryLength]\n }],\n /**\n * Ring Offset Color\n * @see https://tailwindcss.com/docs/ring-offset-color\n */\n 'ring-offset-color': [{\n 'ring-offset': [colors]\n }],\n // Effects\n /**\n * Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow\n */\n shadow: [{\n shadow: ['', 'inner', 'none', isTshirtSize, isArbitraryShadow]\n }],\n /**\n * Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow-color\n */\n 'shadow-color': [{\n shadow: [isAny]\n }],\n /**\n * Opacity\n * @see https://tailwindcss.com/docs/opacity\n */\n opacity: [{\n opacity: [opacity]\n }],\n /**\n * Mix Blend Mode\n * @see https://tailwindcss.com/docs/mix-blend-mode\n */\n 'mix-blend': [{\n 'mix-blend': [...getBlendModes(), 'plus-lighter', 'plus-darker']\n }],\n /**\n * Background Blend Mode\n * @see https://tailwindcss.com/docs/background-blend-mode\n */\n 'bg-blend': [{\n 'bg-blend': getBlendModes()\n }],\n // Filters\n /**\n * Filter\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://tailwindcss.com/docs/filter\n */\n filter: [{\n filter: ['', 'none']\n }],\n /**\n * Blur\n * @see https://tailwindcss.com/docs/blur\n */\n blur: [{\n blur: [blur]\n }],\n /**\n * Brightness\n * @see https://tailwindcss.com/docs/brightness\n */\n brightness: [{\n brightness: [brightness]\n }],\n /**\n * Contrast\n * @see https://tailwindcss.com/docs/contrast\n */\n contrast: [{\n contrast: [contrast]\n }],\n /**\n * Drop Shadow\n * @see https://tailwindcss.com/docs/drop-shadow\n */\n 'drop-shadow': [{\n 'drop-shadow': ['', 'none', isTshirtSize, isArbitraryValue]\n }],\n /**\n * Grayscale\n * @see https://tailwindcss.com/docs/grayscale\n */\n grayscale: [{\n grayscale: [grayscale]\n }],\n /**\n * Hue Rotate\n * @see https://tailwindcss.com/docs/hue-rotate\n */\n 'hue-rotate': [{\n 'hue-rotate': [hueRotate]\n }],\n /**\n * Invert\n * @see https://tailwindcss.com/docs/invert\n */\n invert: [{\n invert: [invert]\n }],\n /**\n * Saturate\n * @see https://tailwindcss.com/docs/saturate\n */\n saturate: [{\n saturate: [saturate]\n }],\n /**\n * Sepia\n * @see https://tailwindcss.com/docs/sepia\n */\n sepia: [{\n sepia: [sepia]\n }],\n /**\n * Backdrop Filter\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://tailwindcss.com/docs/backdrop-filter\n */\n 'backdrop-filter': [{\n 'backdrop-filter': ['', 'none']\n }],\n /**\n * Backdrop Blur\n * @see https://tailwindcss.com/docs/backdrop-blur\n */\n 'backdrop-blur': [{\n 'backdrop-blur': [blur]\n }],\n /**\n * Backdrop Brightness\n * @see https://tailwindcss.com/docs/backdrop-brightness\n */\n 'backdrop-brightness': [{\n 'backdrop-brightness': [brightness]\n }],\n /**\n * Backdrop Contrast\n * @see https://tailwindcss.com/docs/backdrop-contrast\n */\n 'backdrop-contrast': [{\n 'backdrop-contrast': [contrast]\n }],\n /**\n * Backdrop Grayscale\n * @see https://tailwindcss.com/docs/backdrop-grayscale\n */\n 'backdrop-grayscale': [{\n 'backdrop-grayscale': [grayscale]\n }],\n /**\n * Backdrop Hue Rotate\n * @see https://tailwindcss.com/docs/backdrop-hue-rotate\n */\n 'backdrop-hue-rotate': [{\n 'backdrop-hue-rotate': [hueRotate]\n }],\n /**\n * Backdrop Invert\n * @see https://tailwindcss.com/docs/backdrop-invert\n */\n 'backdrop-invert': [{\n 'backdrop-invert': [invert]\n }],\n /**\n * Backdrop Opacity\n * @see https://tailwindcss.com/docs/backdrop-opacity\n */\n 'backdrop-opacity': [{\n 'backdrop-opacity': [opacity]\n }],\n /**\n * Backdrop Saturate\n * @see https://tailwindcss.com/docs/backdrop-saturate\n */\n 'backdrop-saturate': [{\n 'backdrop-saturate': [saturate]\n }],\n /**\n * Backdrop Sepia\n * @see https://tailwindcss.com/docs/backdrop-sepia\n */\n 'backdrop-sepia': [{\n 'backdrop-sepia': [sepia]\n }],\n // Tables\n /**\n * Border Collapse\n * @see https://tailwindcss.com/docs/border-collapse\n */\n 'border-collapse': [{\n border: ['collapse', 'separate']\n }],\n /**\n * Border Spacing\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing': [{\n 'border-spacing': [borderSpacing]\n }],\n /**\n * Border Spacing X\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-x': [{\n 'border-spacing-x': [borderSpacing]\n }],\n /**\n * Border Spacing Y\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-y': [{\n 'border-spacing-y': [borderSpacing]\n }],\n /**\n * Table Layout\n * @see https://tailwindcss.com/docs/table-layout\n */\n 'table-layout': [{\n table: ['auto', 'fixed']\n }],\n /**\n * Caption Side\n * @see https://tailwindcss.com/docs/caption-side\n */\n caption: [{\n caption: ['top', 'bottom']\n }],\n // Transitions and Animation\n /**\n * Tranisition Property\n * @see https://tailwindcss.com/docs/transition-property\n */\n transition: [{\n transition: ['none', 'all', '', 'colors', 'opacity', 'shadow', 'transform', isArbitraryValue]\n }],\n /**\n * Transition Duration\n * @see https://tailwindcss.com/docs/transition-duration\n */\n duration: [{\n duration: getNumberAndArbitrary()\n }],\n /**\n * Transition Timing Function\n * @see https://tailwindcss.com/docs/transition-timing-function\n */\n ease: [{\n ease: ['linear', 'in', 'out', 'in-out', isArbitraryValue]\n }],\n /**\n * Transition Delay\n * @see https://tailwindcss.com/docs/transition-delay\n */\n delay: [{\n delay: getNumberAndArbitrary()\n }],\n /**\n * Animation\n * @see https://tailwindcss.com/docs/animation\n */\n animate: [{\n animate: ['none', 'spin', 'ping', 'pulse', 'bounce', isArbitraryValue]\n }],\n // Transforms\n /**\n * Transform\n * @see https://tailwindcss.com/docs/transform\n */\n transform: [{\n transform: ['', 'gpu', 'none']\n }],\n /**\n * Scale\n * @see https://tailwindcss.com/docs/scale\n */\n scale: [{\n scale: [scale]\n }],\n /**\n * Scale X\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-x': [{\n 'scale-x': [scale]\n }],\n /**\n * Scale Y\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-y': [{\n 'scale-y': [scale]\n }],\n /**\n * Rotate\n * @see https://tailwindcss.com/docs/rotate\n */\n rotate: [{\n rotate: [isInteger, isArbitraryValue]\n }],\n /**\n * Translate X\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-x': [{\n 'translate-x': [translate]\n }],\n /**\n * Translate Y\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-y': [{\n 'translate-y': [translate]\n }],\n /**\n * Skew X\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-x': [{\n 'skew-x': [skew]\n }],\n /**\n * Skew Y\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-y': [{\n 'skew-y': [skew]\n }],\n /**\n * Transform Origin\n * @see https://tailwindcss.com/docs/transform-origin\n */\n 'transform-origin': [{\n origin: ['center', 'top', 'top-right', 'right', 'bottom-right', 'bottom', 'bottom-left', 'left', 'top-left', isArbitraryValue]\n }],\n // Interactivity\n /**\n * Accent Color\n * @see https://tailwindcss.com/docs/accent-color\n */\n accent: [{\n accent: ['auto', colors]\n }],\n /**\n * Appearance\n * @see https://tailwindcss.com/docs/appearance\n */\n appearance: [{\n appearance: ['none', 'auto']\n }],\n /**\n * Cursor\n * @see https://tailwindcss.com/docs/cursor\n */\n cursor: [{\n cursor: ['auto', 'default', 'pointer', 'wait', 'text', 'move', 'help', 'not-allowed', 'none', 'context-menu', 'progress', 'cell', 'crosshair', 'vertical-text', 'alias', 'copy', 'no-drop', 'grab', 'grabbing', 'all-scroll', 'col-resize', 'row-resize', 'n-resize', 'e-resize', 's-resize', 'w-resize', 'ne-resize', 'nw-resize', 'se-resize', 'sw-resize', 'ew-resize', 'ns-resize', 'nesw-resize', 'nwse-resize', 'zoom-in', 'zoom-out', isArbitraryValue]\n }],\n /**\n * Caret Color\n * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities\n */\n 'caret-color': [{\n caret: [colors]\n }],\n /**\n * Pointer Events\n * @see https://tailwindcss.com/docs/pointer-events\n */\n 'pointer-events': [{\n 'pointer-events': ['none', 'auto']\n }],\n /**\n * Resize\n * @see https://tailwindcss.com/docs/resize\n */\n resize: [{\n resize: ['none', 'y', 'x', '']\n }],\n /**\n * Scroll Behavior\n * @see https://tailwindcss.com/docs/scroll-behavior\n */\n 'scroll-behavior': [{\n scroll: ['auto', 'smooth']\n }],\n /**\n * Scroll Margin\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-m': [{\n 'scroll-m': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Margin X\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mx': [{\n 'scroll-mx': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Margin Y\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-my': [{\n 'scroll-my': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Margin Start\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ms': [{\n 'scroll-ms': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Margin End\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-me': [{\n 'scroll-me': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Margin Top\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mt': [{\n 'scroll-mt': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Margin Right\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mr': [{\n 'scroll-mr': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Margin Bottom\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mb': [{\n 'scroll-mb': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Margin Left\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ml': [{\n 'scroll-ml': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Padding\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-p': [{\n 'scroll-p': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Padding X\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-px': [{\n 'scroll-px': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Padding Y\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-py': [{\n 'scroll-py': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Padding Start\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-ps': [{\n 'scroll-ps': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Padding End\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pe': [{\n 'scroll-pe': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Padding Top\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pt': [{\n 'scroll-pt': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Padding Right\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pr': [{\n 'scroll-pr': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Padding Bottom\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pb': [{\n 'scroll-pb': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Padding Left\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pl': [{\n 'scroll-pl': getSpacingWithArbitrary()\n }],\n /**\n * Scroll Snap Align\n * @see https://tailwindcss.com/docs/scroll-snap-align\n */\n 'snap-align': [{\n snap: ['start', 'end', 'center', 'align-none']\n }],\n /**\n * Scroll Snap Stop\n * @see https://tailwindcss.com/docs/scroll-snap-stop\n */\n 'snap-stop': [{\n snap: ['normal', 'always']\n }],\n /**\n * Scroll Snap Type\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-type': [{\n snap: ['none', 'x', 'y', 'both']\n }],\n /**\n * Scroll Snap Type Strictness\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-strictness': [{\n snap: ['mandatory', 'proximity']\n }],\n /**\n * Touch Action\n * @see https://tailwindcss.com/docs/touch-action\n */\n touch: [{\n touch: ['auto', 'none', 'manipulation']\n }],\n /**\n * Touch Action X\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-x': [{\n 'touch-pan': ['x', 'left', 'right']\n }],\n /**\n * Touch Action Y\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-y': [{\n 'touch-pan': ['y', 'up', 'down']\n }],\n /**\n * Touch Action Pinch Zoom\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-pz': ['touch-pinch-zoom'],\n /**\n * User Select\n * @see https://tailwindcss.com/docs/user-select\n */\n select: [{\n select: ['none', 'text', 'all', 'auto']\n }],\n /**\n * Will Change\n * @see https://tailwindcss.com/docs/will-change\n */\n 'will-change': [{\n 'will-change': ['auto', 'scroll', 'contents', 'transform', isArbitraryValue]\n }],\n // SVG\n /**\n * Fill\n * @see https://tailwindcss.com/docs/fill\n */\n fill: [{\n fill: [colors, 'none']\n }],\n /**\n * Stroke Width\n * @see https://tailwindcss.com/docs/stroke-width\n */\n 'stroke-w': [{\n stroke: [isLength, isArbitraryLength, isArbitraryNumber]\n }],\n /**\n * Stroke\n * @see https://tailwindcss.com/docs/stroke\n */\n stroke: [{\n stroke: [colors, 'none']\n }],\n // Accessibility\n /**\n * Screen Readers\n * @see https://tailwindcss.com/docs/screen-readers\n */\n sr: ['sr-only', 'not-sr-only'],\n /**\n * Forced Color Adjust\n * @see https://tailwindcss.com/docs/forced-color-adjust\n */\n 'forced-color-adjust': [{\n 'forced-color-adjust': ['auto', 'none']\n }]\n },\n conflictingClassGroups: {\n overflow: ['overflow-x', 'overflow-y'],\n overscroll: ['overscroll-x', 'overscroll-y'],\n inset: ['inset-x', 'inset-y', 'start', 'end', 'top', 'right', 'bottom', 'left'],\n 'inset-x': ['right', 'left'],\n 'inset-y': ['top', 'bottom'],\n flex: ['basis', 'grow', 'shrink'],\n gap: ['gap-x', 'gap-y'],\n p: ['px', 'py', 'ps', 'pe', 'pt', 'pr', 'pb', 'pl'],\n px: ['pr', 'pl'],\n py: ['pt', 'pb'],\n m: ['mx', 'my', 'ms', 'me', 'mt', 'mr', 'mb', 'ml'],\n mx: ['mr', 'ml'],\n my: ['mt', 'mb'],\n size: ['w', 'h'],\n 'font-size': ['leading'],\n 'fvn-normal': ['fvn-ordinal', 'fvn-slashed-zero', 'fvn-figure', 'fvn-spacing', 'fvn-fraction'],\n 'fvn-ordinal': ['fvn-normal'],\n 'fvn-slashed-zero': ['fvn-normal'],\n 'fvn-figure': ['fvn-normal'],\n 'fvn-spacing': ['fvn-normal'],\n 'fvn-fraction': ['fvn-normal'],\n 'line-clamp': ['display', 'overflow'],\n rounded: ['rounded-s', 'rounded-e', 'rounded-t', 'rounded-r', 'rounded-b', 'rounded-l', 'rounded-ss', 'rounded-se', 'rounded-ee', 'rounded-es', 'rounded-tl', 'rounded-tr', 'rounded-br', 'rounded-bl'],\n 'rounded-s': ['rounded-ss', 'rounded-es'],\n 'rounded-e': ['rounded-se', 'rounded-ee'],\n 'rounded-t': ['rounded-tl', 'rounded-tr'],\n 'rounded-r': ['rounded-tr', 'rounded-br'],\n 'rounded-b': ['rounded-br', 'rounded-bl'],\n 'rounded-l': ['rounded-tl', 'rounded-bl'],\n 'border-spacing': ['border-spacing-x', 'border-spacing-y'],\n 'border-w': ['border-w-s', 'border-w-e', 'border-w-t', 'border-w-r', 'border-w-b', 'border-w-l'],\n 'border-w-x': ['border-w-r', 'border-w-l'],\n 'border-w-y': ['border-w-t', 'border-w-b'],\n 'border-color': ['border-color-s', 'border-color-e', 'border-color-t', 'border-color-r', 'border-color-b', 'border-color-l'],\n 'border-color-x': ['border-color-r', 'border-color-l'],\n 'border-color-y': ['border-color-t', 'border-color-b'],\n 'scroll-m': ['scroll-mx', 'scroll-my', 'scroll-ms', 'scroll-me', 'scroll-mt', 'scroll-mr', 'scroll-mb', 'scroll-ml'],\n 'scroll-mx': ['scroll-mr', 'scroll-ml'],\n 'scroll-my': ['scroll-mt', 'scroll-mb'],\n 'scroll-p': ['scroll-px', 'scroll-py', 'scroll-ps', 'scroll-pe', 'scroll-pt', 'scroll-pr', 'scroll-pb', 'scroll-pl'],\n 'scroll-px': ['scroll-pr', 'scroll-pl'],\n 'scroll-py': ['scroll-pt', 'scroll-pb'],\n touch: ['touch-x', 'touch-y', 'touch-pz'],\n 'touch-x': ['touch'],\n 'touch-y': ['touch'],\n 'touch-pz': ['touch']\n },\n conflictingClassGroupModifiers: {\n 'font-size': ['leading']\n }\n };\n};\n\n/**\n * @param baseConfig Config where other config will be merged into. This object will be mutated.\n * @param configExtension Partial config to merge into the `baseConfig`.\n */\nconst mergeConfigs = (baseConfig, {\n cacheSize,\n prefix,\n separator,\n experimentalParseClassName,\n extend = {},\n override = {}\n}) => {\n overrideProperty(baseConfig, 'cacheSize', cacheSize);\n overrideProperty(baseConfig, 'prefix', prefix);\n overrideProperty(baseConfig, 'separator', separator);\n overrideProperty(baseConfig, 'experimentalParseClassName', experimentalParseClassName);\n for (const configKey in override) {\n overrideConfigProperties(baseConfig[configKey], override[configKey]);\n }\n for (const key in extend) {\n mergeConfigProperties(baseConfig[key], extend[key]);\n }\n return baseConfig;\n};\nconst overrideProperty = (baseObject, overrideKey, overrideValue) => {\n if (overrideValue !== undefined) {\n baseObject[overrideKey] = overrideValue;\n }\n};\nconst overrideConfigProperties = (baseObject, overrideObject) => {\n if (overrideObject) {\n for (const key in overrideObject) {\n overrideProperty(baseObject, key, overrideObject[key]);\n }\n }\n};\nconst mergeConfigProperties = (baseObject, mergeObject) => {\n if (mergeObject) {\n for (const key in mergeObject) {\n const mergeValue = mergeObject[key];\n if (mergeValue !== undefined) {\n baseObject[key] = (baseObject[key] || []).concat(mergeValue);\n }\n }\n }\n};\nconst extendTailwindMerge = (configExtension, ...createConfig) => typeof configExtension === 'function' ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig) : createTailwindMerge(() => mergeConfigs(getDefaultConfig(), configExtension), ...createConfig);\nconst twMerge = /*#__PURE__*/createTailwindMerge(getDefaultConfig);\nexport { createTailwindMerge, extendTailwindMerge, fromTheme, getDefaultConfig, mergeConfigs, twJoin, twMerge, validators };\n//# sourceMappingURL=bundle-mjs.mjs.map\n","function t(t,e,s){if(t&&t.length){const[n,o]=e,a=Math.PI/180*s,h=Math.cos(a),r=Math.sin(a);for(const e of t){const[t,s]=e;e[0]=(t-n)*h-(s-o)*r+n,e[1]=(t-n)*r+(s-o)*h+o}}}function e(t,e){return t[0]===e[0]&&t[1]===e[1]}function s(s,n,o,a=1){const h=o,r=Math.max(n,.1),i=s[0]&&s[0][0]&&\"number\"==typeof s[0][0]?[s]:s,c=[0,0];if(h)for(const e of i)t(e,c,h);const l=function(t,s,n){const o=[];for(const s of t){const t=[...s];e(t[0],t[t.length-1])||t.push([t[0][0],t[0][1]]),t.length>2&&o.push(t)}const a=[];s=Math.max(s,.1);const h=[];for(const t of o)for(let e=0;e<t.length-1;e++){const s=t[e],n=t[e+1];if(s[1]!==n[1]){const t=Math.min(s[1],n[1]);h.push({ymin:t,ymax:Math.max(s[1],n[1]),x:t===s[1]?s[0]:n[0],islope:(n[0]-s[0])/(n[1]-s[1])})}}if(h.sort(((t,e)=>t.ymin<e.ymin?-1:t.ymin>e.ymin?1:t.x<e.x?-1:t.x>e.x?1:t.ymax===e.ymax?0:(t.ymax-e.ymax)/Math.abs(t.ymax-e.ymax))),!h.length)return a;let r=[],i=h[0].ymin,c=0;for(;r.length||h.length;){if(h.length){let t=-1;for(let e=0;e<h.length&&!(h[e].ymin>i);e++)t=e;h.splice(0,t+1).forEach((t=>{r.push({s:i,edge:t})}))}if(r=r.filter((t=>!(t.edge.ymax<=i))),r.sort(((t,e)=>t.edge.x===e.edge.x?0:(t.edge.x-e.edge.x)/Math.abs(t.edge.x-e.edge.x))),(1!==n||c%s==0)&&r.length>1)for(let t=0;t<r.length;t+=2){const e=t+1;if(e>=r.length)break;const s=r[t].edge,n=r[e].edge;a.push([[Math.round(s.x),i],[Math.round(n.x),i]])}i+=n,r.forEach((t=>{t.edge.x=t.edge.x+n*t.edge.islope})),c++}return a}(i,r,a);if(h){for(const e of i)t(e,c,-h);!function(e,s,n){const o=[];e.forEach((t=>o.push(...t))),t(o,s,n)}(l,c,-h)}return l}function n(t,e){var n;const o=e.hachureAngle+90;let a=e.hachureGap;a<0&&(a=4*e.strokeWidth),a=Math.round(Math.max(a,.1));let h=1;return e.roughness>=1&&((null===(n=e.randomizer)||void 0===n?void 0:n.next())||Math.random())>.7&&(h=a),s(t,a,o,h||1)}class o{constructor(t){this.helper=t}fillPolygons(t,e){return this._fillPolygons(t,e)}_fillPolygons(t,e){const s=n(t,e);return{type:\"fillSketch\",ops:this.renderLines(s,e)}}renderLines(t,e){const s=[];for(const n of t)s.push(...this.helper.doubleLineOps(n[0][0],n[0][1],n[1][0],n[1][1],e));return s}}function a(t){const e=t[0],s=t[1];return Math.sqrt(Math.pow(e[0]-s[0],2)+Math.pow(e[1]-s[1],2))}class h extends o{fillPolygons(t,e){let s=e.hachureGap;s<0&&(s=4*e.strokeWidth),s=Math.max(s,.1);const o=n(t,Object.assign({},e,{hachureGap:s})),h=Math.PI/180*e.hachureAngle,r=[],i=.5*s*Math.cos(h),c=.5*s*Math.sin(h);for(const[t,e]of o)a([t,e])&&r.push([[t[0]-i,t[1]+c],[...e]],[[t[0]+i,t[1]-c],[...e]]);return{type:\"fillSketch\",ops:this.renderLines(r,e)}}}class r extends o{fillPolygons(t,e){const s=this._fillPolygons(t,e),n=Object.assign({},e,{hachureAngle:e.hachureAngle+90}),o=this._fillPolygons(t,n);return s.ops=s.ops.concat(o.ops),s}}class i{constructor(t){this.helper=t}fillPolygons(t,e){const s=n(t,e=Object.assign({},e,{hachureAngle:0}));return this.dotsOnLines(s,e)}dotsOnLines(t,e){const s=[];let n=e.hachureGap;n<0&&(n=4*e.strokeWidth),n=Math.max(n,.1);let o=e.fillWeight;o<0&&(o=e.strokeWidth/2);const h=n/4;for(const r of t){const t=a(r),i=t/n,c=Math.ceil(i)-1,l=t-c*n,u=(r[0][0]+r[1][0])/2-n/4,p=Math.min(r[0][1],r[1][1]);for(let t=0;t<c;t++){const a=p+l+t*n,r=u-h+2*Math.random()*h,i=a-h+2*Math.random()*h,c=this.helper.ellipse(r,i,o,o,e);s.push(...c.ops)}}return{type:\"fillSketch\",ops:s}}}class c{constructor(t){this.helper=t}fillPolygons(t,e){const s=n(t,e);return{type:\"fillSketch\",ops:this.dashedLine(s,e)}}dashedLine(t,e){const s=e.dashOffset<0?e.hachureGap<0?4*e.strokeWidth:e.hachureGap:e.dashOffset,n=e.dashGap<0?e.hachureGap<0?4*e.strokeWidth:e.hachureGap:e.dashGap,o=[];return t.forEach((t=>{const h=a(t),r=Math.floor(h/(s+n)),i=(h+n-r*(s+n))/2;let c=t[0],l=t[1];c[0]>l[0]&&(c=t[1],l=t[0]);const u=Math.atan((l[1]-c[1])/(l[0]-c[0]));for(let t=0;t<r;t++){const a=t*(s+n),h=a+s,r=[c[0]+a*Math.cos(u)+i*Math.cos(u),c[1]+a*Math.sin(u)+i*Math.sin(u)],l=[c[0]+h*Math.cos(u)+i*Math.cos(u),c[1]+h*Math.sin(u)+i*Math.sin(u)];o.push(...this.helper.doubleLineOps(r[0],r[1],l[0],l[1],e))}})),o}}class l{constructor(t){this.helper=t}fillPolygons(t,e){const s=e.hachureGap<0?4*e.strokeWidth:e.hachureGap,o=e.zigzagOffset<0?s:e.zigzagOffset,a=n(t,e=Object.assign({},e,{hachureGap:s+o}));return{type:\"fillSketch\",ops:this.zigzagLines(a,o,e)}}zigzagLines(t,e,s){const n=[];return t.forEach((t=>{const o=a(t),h=Math.round(o/(2*e));let r=t[0],i=t[1];r[0]>i[0]&&(r=t[1],i=t[0]);const c=Math.atan((i[1]-r[1])/(i[0]-r[0]));for(let t=0;t<h;t++){const o=2*t*e,a=2*(t+1)*e,h=Math.sqrt(2*Math.pow(e,2)),i=[r[0]+o*Math.cos(c),r[1]+o*Math.sin(c)],l=[r[0]+a*Math.cos(c),r[1]+a*Math.sin(c)],u=[i[0]+h*Math.cos(c+Math.PI/4),i[1]+h*Math.sin(c+Math.PI/4)];n.push(...this.helper.doubleLineOps(i[0],i[1],u[0],u[1],s),...this.helper.doubleLineOps(u[0],u[1],l[0],l[1],s))}})),n}}const u={};class p{constructor(t){this.seed=t}next(){return this.seed?(2**31-1&(this.seed=Math.imul(48271,this.seed)))/2**31:Math.random()}}const f=0,d=1,g=2,M={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function k(t,e){return t.type===e}function b(t){const e=[],s=function(t){const e=new Array;for(;\"\"!==t;)if(t.match(/^([ \\t\\r\\n,]+)/))t=t.substr(RegExp.$1.length);else if(t.match(/^([aAcChHlLmMqQsStTvVzZ])/))e[e.length]={type:f,text:RegExp.$1},t=t.substr(RegExp.$1.length);else{if(!t.match(/^(([-+]?[0-9]+(\\.[0-9]*)?|[-+]?\\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];e[e.length]={type:d,text:`${parseFloat(RegExp.$1)}`},t=t.substr(RegExp.$1.length)}return e[e.length]={type:g,text:\"\"},e}(t);let n=\"BOD\",o=0,a=s[o];for(;!k(a,g);){let h=0;const r=[];if(\"BOD\"===n){if(\"M\"!==a.text&&\"m\"!==a.text)return b(\"M0,0\"+t);o++,h=M[a.text],n=a.text}else k(a,d)?h=M[n]:(o++,h=M[a.text],n=a.text);if(!(o+h<s.length))throw new Error(\"Path data ended short\");for(let t=o;t<o+h;t++){const e=s[t];if(!k(e,d))throw new Error(\"Param not a number: \"+n+\",\"+e.text);r[r.length]=+e.text}if(\"number\"!=typeof M[n])throw new Error(\"Bad segment: \"+n);{const t={key:n,data:r};e.push(t),o+=h,a=s[o],\"M\"===n&&(n=\"L\"),\"m\"===n&&(n=\"l\")}}return e}function y(t){let e=0,s=0,n=0,o=0;const a=[];for(const{key:h,data:r}of t)switch(h){case\"M\":a.push({key:\"M\",data:[...r]}),[e,s]=r,[n,o]=r;break;case\"m\":e+=r[0],s+=r[1],a.push({key:\"M\",data:[e,s]}),n=e,o=s;break;case\"L\":a.push({key:\"L\",data:[...r]}),[e,s]=r;break;case\"l\":e+=r[0],s+=r[1],a.push({key:\"L\",data:[e,s]});break;case\"C\":a.push({key:\"C\",data:[...r]}),e=r[4],s=r[5];break;case\"c\":{const t=r.map(((t,n)=>n%2?t+s:t+e));a.push({key:\"C\",data:t}),e=t[4],s=t[5];break}case\"Q\":a.push({key:\"Q\",data:[...r]}),e=r[2],s=r[3];break;case\"q\":{const t=r.map(((t,n)=>n%2?t+s:t+e));a.push({key:\"Q\",data:t}),e=t[2],s=t[3];break}case\"A\":a.push({key:\"A\",data:[...r]}),e=r[5],s=r[6];break;case\"a\":e+=r[5],s+=r[6],a.push({key:\"A\",data:[r[0],r[1],r[2],r[3],r[4],e,s]});break;case\"H\":a.push({key:\"H\",data:[...r]}),e=r[0];break;case\"h\":e+=r[0],a.push({key:\"H\",data:[e]});break;case\"V\":a.push({key:\"V\",data:[...r]}),s=r[0];break;case\"v\":s+=r[0],a.push({key:\"V\",data:[s]});break;case\"S\":a.push({key:\"S\",data:[...r]}),e=r[2],s=r[3];break;case\"s\":{const t=r.map(((t,n)=>n%2?t+s:t+e));a.push({key:\"S\",data:t}),e=t[2],s=t[3];break}case\"T\":a.push({key:\"T\",data:[...r]}),e=r[0],s=r[1];break;case\"t\":e+=r[0],s+=r[1],a.push({key:\"T\",data:[e,s]});break;case\"Z\":case\"z\":a.push({key:\"Z\",data:[]}),e=n,s=o}return a}function m(t){const e=[];let s=\"\",n=0,o=0,a=0,h=0,r=0,i=0;for(const{key:c,data:l}of t){switch(c){case\"M\":e.push({key:\"M\",data:[...l]}),[n,o]=l,[a,h]=l;break;case\"C\":e.push({key:\"C\",data:[...l]}),n=l[4],o=l[5],r=l[2],i=l[3];break;case\"L\":e.push({key:\"L\",data:[...l]}),[n,o]=l;break;case\"H\":n=l[0],e.push({key:\"L\",data:[n,o]});break;case\"V\":o=l[0],e.push({key:\"L\",data:[n,o]});break;case\"S\":{let t=0,a=0;\"C\"===s||\"S\"===s?(t=n+(n-r),a=o+(o-i)):(t=n,a=o),e.push({key:\"C\",data:[t,a,...l]}),r=l[0],i=l[1],n=l[2],o=l[3];break}case\"T\":{const[t,a]=l;let h=0,c=0;\"Q\"===s||\"T\"===s?(h=n+(n-r),c=o+(o-i)):(h=n,c=o);const u=n+2*(h-n)/3,p=o+2*(c-o)/3,f=t+2*(h-t)/3,d=a+2*(c-a)/3;e.push({key:\"C\",data:[u,p,f,d,t,a]}),r=h,i=c,n=t,o=a;break}case\"Q\":{const[t,s,a,h]=l,c=n+2*(t-n)/3,u=o+2*(s-o)/3,p=a+2*(t-a)/3,f=h+2*(s-h)/3;e.push({key:\"C\",data:[c,u,p,f,a,h]}),r=t,i=s,n=a,o=h;break}case\"A\":{const t=Math.abs(l[0]),s=Math.abs(l[1]),a=l[2],h=l[3],r=l[4],i=l[5],c=l[6];if(0===t||0===s)e.push({key:\"C\",data:[n,o,i,c,i,c]}),n=i,o=c;else if(n!==i||o!==c){x(n,o,i,c,t,s,a,h,r).forEach((function(t){e.push({key:\"C\",data:t})})),n=i,o=c}break}case\"Z\":e.push({key:\"Z\",data:[]}),n=a,o=h}s=c}return e}function w(t,e,s){return[t*Math.cos(s)-e*Math.sin(s),t*Math.sin(s)+e*Math.cos(s)]}function x(t,e,s,n,o,a,h,r,i,c){const l=(u=h,Math.PI*u/180);var u;let p=[],f=0,d=0,g=0,M=0;if(c)[f,d,g,M]=c;else{[t,e]=w(t,e,-l),[s,n]=w(s,n,-l);const h=(t-s)/2,c=(e-n)/2;let u=h*h/(o*o)+c*c/(a*a);u>1&&(u=Math.sqrt(u),o*=u,a*=u);const p=o*o,k=a*a,b=p*k-p*c*c-k*h*h,y=p*c*c+k*h*h,m=(r===i?-1:1)*Math.sqrt(Math.abs(b/y));g=m*o*c/a+(t+s)/2,M=m*-a*h/o+(e+n)/2,f=Math.asin(parseFloat(((e-M)/a).toFixed(9))),d=Math.asin(parseFloat(((n-M)/a).toFixed(9))),t<g&&(f=Math.PI-f),s<g&&(d=Math.PI-d),f<0&&(f=2*Math.PI+f),d<0&&(d=2*Math.PI+d),i&&f>d&&(f-=2*Math.PI),!i&&d>f&&(d-=2*Math.PI)}let k=d-f;if(Math.abs(k)>120*Math.PI/180){const t=d,e=s,r=n;d=i&&d>f?f+120*Math.PI/180*1:f+120*Math.PI/180*-1,p=x(s=g+o*Math.cos(d),n=M+a*Math.sin(d),e,r,o,a,h,0,i,[d,t,g,M])}k=d-f;const b=Math.cos(f),y=Math.sin(f),m=Math.cos(d),P=Math.sin(d),v=Math.tan(k/4),S=4/3*o*v,O=4/3*a*v,L=[t,e],T=[t+S*y,e-O*b],D=[s+S*P,n-O*m],A=[s,n];if(T[0]=2*L[0]-T[0],T[1]=2*L[1]-T[1],c)return[T,D,A].concat(p);{p=[T,D,A].concat(p);const t=[];for(let e=0;e<p.length;e+=3){const s=w(p[e][0],p[e][1],l),n=w(p[e+1][0],p[e+1][1],l),o=w(p[e+2][0],p[e+2][1],l);t.push([s[0],s[1],n[0],n[1],o[0],o[1]])}return t}}const P={randOffset:function(t,e){return G(t,e)},randOffsetWithRange:function(t,e,s){return E(t,e,s)},ellipse:function(t,e,s,n,o){const a=T(s,n,o);return D(t,e,o,a).opset},doubleLineOps:function(t,e,s,n,o){return $(t,e,s,n,o,!0)}};function v(t,e,s,n,o){return{type:\"path\",ops:$(t,e,s,n,o)}}function S(t,e,s){const n=(t||[]).length;if(n>2){const o=[];for(let e=0;e<n-1;e++)o.push(...$(t[e][0],t[e][1],t[e+1][0],t[e+1][1],s));return e&&o.push(...$(t[n-1][0],t[n-1][1],t[0][0],t[0][1],s)),{type:\"path\",ops:o}}return 2===n?v(t[0][0],t[0][1],t[1][0],t[1][1],s):{type:\"path\",ops:[]}}function O(t,e,s,n,o){return function(t,e){return S(t,!0,e)}([[t,e],[t+s,e],[t+s,e+n],[t,e+n]],o)}function L(t,e){if(t.length){const s=\"number\"==typeof t[0][0]?[t]:t,n=j(s[0],1*(1+.2*e.roughness),e),o=e.disableMultiStroke?[]:j(s[0],1.5*(1+.22*e.roughness),z(e));for(let t=1;t<s.length;t++){const a=s[t];if(a.length){const t=j(a,1*(1+.2*e.roughness),e),s=e.disableMultiStroke?[]:j(a,1.5*(1+.22*e.roughness),z(e));for(const e of t)\"move\"!==e.op&&n.push(e);for(const t of s)\"move\"!==t.op&&o.push(t)}}return{type:\"path\",ops:n.concat(o)}}return{type:\"path\",ops:[]}}function T(t,e,s){const n=Math.sqrt(2*Math.PI*Math.sqrt((Math.pow(t/2,2)+Math.pow(e/2,2))/2)),o=Math.ceil(Math.max(s.curveStepCount,s.curveStepCount/Math.sqrt(200)*n)),a=2*Math.PI/o;let h=Math.abs(t/2),r=Math.abs(e/2);const i=1-s.curveFitting;return h+=G(h*i,s),r+=G(r*i,s),{increment:a,rx:h,ry:r}}function D(t,e,s,n){const[o,a]=F(n.increment,t,e,n.rx,n.ry,1,n.increment*E(.1,E(.4,1,s),s),s);let h=q(o,null,s);if(!s.disableMultiStroke&&0!==s.roughness){const[o]=F(n.increment,t,e,n.rx,n.ry,1.5,0,s),a=q(o,null,s);h=h.concat(a)}return{estimatedPoints:a,opset:{type:\"path\",ops:h}}}function A(t,e,s,n,o,a,h,r,i){const c=t,l=e;let u=Math.abs(s/2),p=Math.abs(n/2);u+=G(.01*u,i),p+=G(.01*p,i);let f=o,d=a;for(;f<0;)f+=2*Math.PI,d+=2*Math.PI;d-f>2*Math.PI&&(f=0,d=2*Math.PI);const g=2*Math.PI/i.curveStepCount,M=Math.min(g/2,(d-f)/2),k=V(M,c,l,u,p,f,d,1,i);if(!i.disableMultiStroke){const t=V(M,c,l,u,p,f,d,1.5,i);k.push(...t)}return h&&(r?k.push(...$(c,l,c+u*Math.cos(f),l+p*Math.sin(f),i),...$(c,l,c+u*Math.cos(d),l+p*Math.sin(d),i)):k.push({op:\"lineTo\",data:[c,l]},{op:\"lineTo\",data:[c+u*Math.cos(f),l+p*Math.sin(f)]})),{type:\"path\",ops:k}}function _(t,e){const s=m(y(b(t))),n=[];let o=[0,0],a=[0,0];for(const{key:t,data:h}of s)switch(t){case\"M\":a=[h[0],h[1]],o=[h[0],h[1]];break;case\"L\":n.push(...$(a[0],a[1],h[0],h[1],e)),a=[h[0],h[1]];break;case\"C\":{const[t,s,o,r,i,c]=h;n.push(...Z(t,s,o,r,i,c,a,e)),a=[i,c];break}case\"Z\":n.push(...$(a[0],a[1],o[0],o[1],e)),a=[o[0],o[1]]}return{type:\"path\",ops:n}}function I(t,e){const s=[];for(const n of t)if(n.length){const t=e.maxRandomnessOffset||0,o=n.length;if(o>2){s.push({op:\"move\",data:[n[0][0]+G(t,e),n[0][1]+G(t,e)]});for(let a=1;a<o;a++)s.push({op:\"lineTo\",data:[n[a][0]+G(t,e),n[a][1]+G(t,e)]})}}return{type:\"fillPath\",ops:s}}function C(t,e){return function(t,e){let s=t.fillStyle||\"hachure\";if(!u[s])switch(s){case\"zigzag\":u[s]||(u[s]=new h(e));break;case\"cross-hatch\":u[s]||(u[s]=new r(e));break;case\"dots\":u[s]||(u[s]=new i(e));break;case\"dashed\":u[s]||(u[s]=new c(e));break;case\"zigzag-line\":u[s]||(u[s]=new l(e));break;default:s=\"hachure\",u[s]||(u[s]=new o(e))}return u[s]}(e,P).fillPolygons(t,e)}function z(t){const e=Object.assign({},t);return e.randomizer=void 0,t.seed&&(e.seed=t.seed+1),e}function W(t){return t.randomizer||(t.randomizer=new p(t.seed||0)),t.randomizer.next()}function E(t,e,s,n=1){return s.roughness*n*(W(s)*(e-t)+t)}function G(t,e,s=1){return E(-t,t,e,s)}function $(t,e,s,n,o,a=!1){const h=a?o.disableMultiStrokeFill:o.disableMultiStroke,r=R(t,e,s,n,o,!0,!1);if(h)return r;const i=R(t,e,s,n,o,!0,!0);return r.concat(i)}function R(t,e,s,n,o,a,h){const r=Math.pow(t-s,2)+Math.pow(e-n,2),i=Math.sqrt(r);let c=1;c=i<200?1:i>500?.4:-.0016668*i+1.233334;let l=o.maxRandomnessOffset||0;l*l*100>r&&(l=i/10);const u=l/2,p=.2+.2*W(o);let f=o.bowing*o.maxRandomnessOffset*(n-e)/200,d=o.bowing*o.maxRandomnessOffset*(t-s)/200;f=G(f,o,c),d=G(d,o,c);const g=[],M=()=>G(u,o,c),k=()=>G(l,o,c),b=o.preserveVertices;return a&&(h?g.push({op:\"move\",data:[t+(b?0:M()),e+(b?0:M())]}):g.push({op:\"move\",data:[t+(b?0:G(l,o,c)),e+(b?0:G(l,o,c))]})),h?g.push({op:\"bcurveTo\",data:[f+t+(s-t)*p+M(),d+e+(n-e)*p+M(),f+t+2*(s-t)*p+M(),d+e+2*(n-e)*p+M(),s+(b?0:M()),n+(b?0:M())]}):g.push({op:\"bcurveTo\",data:[f+t+(s-t)*p+k(),d+e+(n-e)*p+k(),f+t+2*(s-t)*p+k(),d+e+2*(n-e)*p+k(),s+(b?0:k()),n+(b?0:k())]}),g}function j(t,e,s){if(!t.length)return[];const n=[];n.push([t[0][0]+G(e,s),t[0][1]+G(e,s)]),n.push([t[0][0]+G(e,s),t[0][1]+G(e,s)]);for(let o=1;o<t.length;o++)n.push([t[o][0]+G(e,s),t[o][1]+G(e,s)]),o===t.length-1&&n.push([t[o][0]+G(e,s),t[o][1]+G(e,s)]);return q(n,null,s)}function q(t,e,s){const n=t.length,o=[];if(n>3){const a=[],h=1-s.curveTightness;o.push({op:\"move\",data:[t[1][0],t[1][1]]});for(let e=1;e+2<n;e++){const s=t[e];a[0]=[s[0],s[1]],a[1]=[s[0]+(h*t[e+1][0]-h*t[e-1][0])/6,s[1]+(h*t[e+1][1]-h*t[e-1][1])/6],a[2]=[t[e+1][0]+(h*t[e][0]-h*t[e+2][0])/6,t[e+1][1]+(h*t[e][1]-h*t[e+2][1])/6],a[3]=[t[e+1][0],t[e+1][1]],o.push({op:\"bcurveTo\",data:[a[1][0],a[1][1],a[2][0],a[2][1],a[3][0],a[3][1]]})}if(e&&2===e.length){const t=s.maxRandomnessOffset;o.push({op:\"lineTo\",data:[e[0]+G(t,s),e[1]+G(t,s)]})}}else 3===n?(o.push({op:\"move\",data:[t[1][0],t[1][1]]}),o.push({op:\"bcurveTo\",data:[t[1][0],t[1][1],t[2][0],t[2][1],t[2][0],t[2][1]]})):2===n&&o.push(...R(t[0][0],t[0][1],t[1][0],t[1][1],s,!0,!0));return o}function F(t,e,s,n,o,a,h,r){const i=[],c=[];if(0===r.roughness){t/=4,c.push([e+n*Math.cos(-t),s+o*Math.sin(-t)]);for(let a=0;a<=2*Math.PI;a+=t){const t=[e+n*Math.cos(a),s+o*Math.sin(a)];i.push(t),c.push(t)}c.push([e+n*Math.cos(0),s+o*Math.sin(0)]),c.push([e+n*Math.cos(t),s+o*Math.sin(t)])}else{const l=G(.5,r)-Math.PI/2;c.push([G(a,r)+e+.9*n*Math.cos(l-t),G(a,r)+s+.9*o*Math.sin(l-t)]);const u=2*Math.PI+l-.01;for(let h=l;h<u;h+=t){const t=[G(a,r)+e+n*Math.cos(h),G(a,r)+s+o*Math.sin(h)];i.push(t),c.push(t)}c.push([G(a,r)+e+n*Math.cos(l+2*Math.PI+.5*h),G(a,r)+s+o*Math.sin(l+2*Math.PI+.5*h)]),c.push([G(a,r)+e+.98*n*Math.cos(l+h),G(a,r)+s+.98*o*Math.sin(l+h)]),c.push([G(a,r)+e+.9*n*Math.cos(l+.5*h),G(a,r)+s+.9*o*Math.sin(l+.5*h)])}return[c,i]}function V(t,e,s,n,o,a,h,r,i){const c=a+G(.1,i),l=[];l.push([G(r,i)+e+.9*n*Math.cos(c-t),G(r,i)+s+.9*o*Math.sin(c-t)]);for(let a=c;a<=h;a+=t)l.push([G(r,i)+e+n*Math.cos(a),G(r,i)+s+o*Math.sin(a)]);return l.push([e+n*Math.cos(h),s+o*Math.sin(h)]),l.push([e+n*Math.cos(h),s+o*Math.sin(h)]),q(l,null,i)}function Z(t,e,s,n,o,a,h,r){const i=[],c=[r.maxRandomnessOffset||1,(r.maxRandomnessOffset||1)+.3];let l=[0,0];const u=r.disableMultiStroke?1:2,p=r.preserveVertices;for(let f=0;f<u;f++)0===f?i.push({op:\"move\",data:[h[0],h[1]]}):i.push({op:\"move\",data:[h[0]+(p?0:G(c[0],r)),h[1]+(p?0:G(c[0],r))]}),l=p?[o,a]:[o+G(c[f],r),a+G(c[f],r)],i.push({op:\"bcurveTo\",data:[t+G(c[f],r),e+G(c[f],r),s+G(c[f],r),n+G(c[f],r),l[0],l[1]]});return i}function Q(t){return[...t]}function H(t,e=0){const s=t.length;if(s<3)throw new Error(\"A curve must have at least three points.\");const n=[];if(3===s)n.push(Q(t[0]),Q(t[1]),Q(t[2]),Q(t[2]));else{const s=[];s.push(t[0],t[0]);for(let e=1;e<t.length;e++)s.push(t[e]),e===t.length-1&&s.push(t[e]);const o=[],a=1-e;n.push(Q(s[0]));for(let t=1;t+2<s.length;t++){const e=s[t];o[0]=[e[0],e[1]],o[1]=[e[0]+(a*s[t+1][0]-a*s[t-1][0])/6,e[1]+(a*s[t+1][1]-a*s[t-1][1])/6],o[2]=[s[t+1][0]+(a*s[t][0]-a*s[t+2][0])/6,s[t+1][1]+(a*s[t][1]-a*s[t+2][1])/6],o[3]=[s[t+1][0],s[t+1][1]],n.push(o[1],o[2],o[3])}}return n}function N(t,e){return Math.pow(t[0]-e[0],2)+Math.pow(t[1]-e[1],2)}function B(t,e,s){const n=N(e,s);if(0===n)return N(t,e);let o=((t[0]-e[0])*(s[0]-e[0])+(t[1]-e[1])*(s[1]-e[1]))/n;return o=Math.max(0,Math.min(1,o)),N(t,J(e,s,o))}function J(t,e,s){return[t[0]+(e[0]-t[0])*s,t[1]+(e[1]-t[1])*s]}function K(t,e,s,n){const o=n||[];if(function(t,e){const s=t[e+0],n=t[e+1],o=t[e+2],a=t[e+3];let h=3*n[0]-2*s[0]-a[0];h*=h;let r=3*n[1]-2*s[1]-a[1];r*=r;let i=3*o[0]-2*a[0]-s[0];i*=i;let c=3*o[1]-2*a[1]-s[1];return c*=c,h<i&&(h=i),r<c&&(r=c),h+r}(t,e)<s){const s=t[e+0];if(o.length){(a=o[o.length-1],h=s,Math.sqrt(N(a,h)))>1&&o.push(s)}else o.push(s);o.push(t[e+3])}else{const n=.5,a=t[e+0],h=t[e+1],r=t[e+2],i=t[e+3],c=J(a,h,n),l=J(h,r,n),u=J(r,i,n),p=J(c,l,n),f=J(l,u,n),d=J(p,f,n);K([a,c,p,d],0,s,o),K([d,f,u,i],0,s,o)}var a,h;return o}function U(t,e){return X(t,0,t.length,e)}function X(t,e,s,n,o){const a=o||[],h=t[e],r=t[s-1];let i=0,c=1;for(let n=e+1;n<s-1;++n){const e=B(t[n],h,r);e>i&&(i=e,c=n)}return Math.sqrt(i)>n?(X(t,e,c+1,n,a),X(t,c,s,n,a)):(a.length||a.push(h),a.push(r)),a}function Y(t,e=.15,s){const n=[],o=(t.length-1)/3;for(let s=0;s<o;s++){K(t,3*s,e,n)}return s&&s>0?X(n,0,n.length,s):n}const tt=\"none\";class et{constructor(t){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:\"#000\",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:\"hachure\",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=t||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2**31)}_o(t){return t?Object.assign({},this.defaultOptions,t):this.defaultOptions}_d(t,e,s){return{shape:t,sets:e||[],options:s||this.defaultOptions}}line(t,e,s,n,o){const a=this._o(o);return this._d(\"line\",[v(t,e,s,n,a)],a)}rectangle(t,e,s,n,o){const a=this._o(o),h=[],r=O(t,e,s,n,a);if(a.fill){const o=[[t,e],[t+s,e],[t+s,e+n],[t,e+n]];\"solid\"===a.fillStyle?h.push(I([o],a)):h.push(C([o],a))}return a.stroke!==tt&&h.push(r),this._d(\"rectangle\",h,a)}ellipse(t,e,s,n,o){const a=this._o(o),h=[],r=T(s,n,a),i=D(t,e,a,r);if(a.fill)if(\"solid\"===a.fillStyle){const s=D(t,e,a,r).opset;s.type=\"fillPath\",h.push(s)}else h.push(C([i.estimatedPoints],a));return a.stroke!==tt&&h.push(i.opset),this._d(\"ellipse\",h,a)}circle(t,e,s,n){const o=this.ellipse(t,e,s,s,n);return o.shape=\"circle\",o}linearPath(t,e){const s=this._o(e);return this._d(\"linearPath\",[S(t,!1,s)],s)}arc(t,e,s,n,o,a,h=!1,r){const i=this._o(r),c=[],l=A(t,e,s,n,o,a,h,!0,i);if(h&&i.fill)if(\"solid\"===i.fillStyle){const h=Object.assign({},i);h.disableMultiStroke=!0;const r=A(t,e,s,n,o,a,!0,!1,h);r.type=\"fillPath\",c.push(r)}else c.push(function(t,e,s,n,o,a,h){const r=t,i=e;let c=Math.abs(s/2),l=Math.abs(n/2);c+=G(.01*c,h),l+=G(.01*l,h);let u=o,p=a;for(;u<0;)u+=2*Math.PI,p+=2*Math.PI;p-u>2*Math.PI&&(u=0,p=2*Math.PI);const f=(p-u)/h.curveStepCount,d=[];for(let t=u;t<=p;t+=f)d.push([r+c*Math.cos(t),i+l*Math.sin(t)]);return d.push([r+c*Math.cos(p),i+l*Math.sin(p)]),d.push([r,i]),C([d],h)}(t,e,s,n,o,a,i));return i.stroke!==tt&&c.push(l),this._d(\"arc\",c,i)}curve(t,e){const s=this._o(e),n=[],o=L(t,s);if(s.fill&&s.fill!==tt)if(\"solid\"===s.fillStyle){const e=L(t,Object.assign(Object.assign({},s),{disableMultiStroke:!0,roughness:s.roughness?s.roughness+s.fillShapeRoughnessGain:0}));n.push({type:\"fillPath\",ops:this._mergedShape(e.ops)})}else{const e=[],o=t;if(o.length){const t=\"number\"==typeof o[0][0]?[o]:o;for(const n of t)n.length<3?e.push(...n):3===n.length?e.push(...Y(H([n[0],n[0],n[1],n[2]]),10,(1+s.roughness)/2)):e.push(...Y(H(n),10,(1+s.roughness)/2))}e.length&&n.push(C([e],s))}return s.stroke!==tt&&n.push(o),this._d(\"curve\",n,s)}polygon(t,e){const s=this._o(e),n=[],o=S(t,!0,s);return s.fill&&(\"solid\"===s.fillStyle?n.push(I([t],s)):n.push(C([t],s))),s.stroke!==tt&&n.push(o),this._d(\"polygon\",n,s)}path(t,e){const s=this._o(e),n=[];if(!t)return this._d(\"path\",n,s);t=(t||\"\").replace(/\\n/g,\" \").replace(/(-\\s)/g,\"-\").replace(\"/(ss)/g\",\" \");const o=s.fill&&\"transparent\"!==s.fill&&s.fill!==tt,a=s.stroke!==tt,h=!!(s.simplification&&s.simplification<1),r=function(t,e,s){const n=m(y(b(t))),o=[];let a=[],h=[0,0],r=[];const i=()=>{r.length>=4&&a.push(...Y(r,e)),r=[]},c=()=>{i(),a.length&&(o.push(a),a=[])};for(const{key:t,data:e}of n)switch(t){case\"M\":c(),h=[e[0],e[1]],a.push(h);break;case\"L\":i(),a.push([e[0],e[1]]);break;case\"C\":if(!r.length){const t=a.length?a[a.length-1]:h;r.push([t[0],t[1]])}r.push([e[0],e[1]]),r.push([e[2],e[3]]),r.push([e[4],e[5]]);break;case\"Z\":i(),a.push([h[0],h[1]])}if(c(),!s)return o;const l=[];for(const t of o){const e=U(t,s);e.length&&l.push(e)}return l}(t,1,h?4-4*(s.simplification||1):(1+s.roughness)/2),i=_(t,s);if(o)if(\"solid\"===s.fillStyle)if(1===r.length){const e=_(t,Object.assign(Object.assign({},s),{disableMultiStroke:!0,roughness:s.roughness?s.roughness+s.fillShapeRoughnessGain:0}));n.push({type:\"fillPath\",ops:this._mergedShape(e.ops)})}else n.push(I(r,s));else n.push(C(r,s));return a&&(h?r.forEach((t=>{n.push(S(t,!1,s))})):n.push(i)),this._d(\"path\",n,s)}opsToPath(t,e){let s=\"\";for(const n of t.ops){const t=\"number\"==typeof e&&e>=0?n.data.map((t=>+t.toFixed(e))):n.data;switch(n.op){case\"move\":s+=`M${t[0]} ${t[1]} `;break;case\"bcurveTo\":s+=`C${t[0]} ${t[1]}, ${t[2]} ${t[3]}, ${t[4]} ${t[5]} `;break;case\"lineTo\":s+=`L${t[0]} ${t[1]} `}}return s.trim()}toPaths(t){const e=t.sets||[],s=t.options||this.defaultOptions,n=[];for(const t of e){let e=null;switch(t.type){case\"path\":e={d:this.opsToPath(t),stroke:s.stroke,strokeWidth:s.strokeWidth,fill:tt};break;case\"fillPath\":e={d:this.opsToPath(t),stroke:tt,strokeWidth:0,fill:s.fill||tt};break;case\"fillSketch\":e=this.fillSketch(t,s)}e&&n.push(e)}return n}fillSketch(t,e){let s=e.fillWeight;return s<0&&(s=e.strokeWidth/2),{d:this.opsToPath(t),stroke:e.fill||tt,strokeWidth:s,fill:tt}}_mergedShape(t){return t.filter(((t,e)=>0===e||\"move\"!==t.op))}}class st{constructor(t,e){this.canvas=t,this.ctx=this.canvas.getContext(\"2d\"),this.gen=new et(e)}draw(t){const e=t.sets||[],s=t.options||this.getDefaultOptions(),n=this.ctx,o=t.options.fixedDecimalPlaceDigits;for(const a of e)switch(a.type){case\"path\":n.save(),n.strokeStyle=\"none\"===s.stroke?\"transparent\":s.stroke,n.lineWidth=s.strokeWidth,s.strokeLineDash&&n.setLineDash(s.strokeLineDash),s.strokeLineDashOffset&&(n.lineDashOffset=s.strokeLineDashOffset),this._drawToContext(n,a,o),n.restore();break;case\"fillPath\":{n.save(),n.fillStyle=s.fill||\"\";const e=\"curve\"===t.shape||\"polygon\"===t.shape||\"path\"===t.shape?\"evenodd\":\"nonzero\";this._drawToContext(n,a,o,e),n.restore();break}case\"fillSketch\":this.fillSketch(n,a,s)}}fillSketch(t,e,s){let n=s.fillWeight;n<0&&(n=s.strokeWidth/2),t.save(),s.fillLineDash&&t.setLineDash(s.fillLineDash),s.fillLineDashOffset&&(t.lineDashOffset=s.fillLineDashOffset),t.strokeStyle=s.fill||\"\",t.lineWidth=n,this._drawToContext(t,e,s.fixedDecimalPlaceDigits),t.restore()}_drawToContext(t,e,s,n=\"nonzero\"){t.beginPath();for(const n of e.ops){const e=\"number\"==typeof s&&s>=0?n.data.map((t=>+t.toFixed(s))):n.data;switch(n.op){case\"move\":t.moveTo(e[0],e[1]);break;case\"bcurveTo\":t.bezierCurveTo(e[0],e[1],e[2],e[3],e[4],e[5]);break;case\"lineTo\":t.lineTo(e[0],e[1])}}\"fillPath\"===e.type?t.fill(n):t.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(t,e,s,n,o){const a=this.gen.line(t,e,s,n,o);return this.draw(a),a}rectangle(t,e,s,n,o){const a=this.gen.rectangle(t,e,s,n,o);return this.draw(a),a}ellipse(t,e,s,n,o){const a=this.gen.ellipse(t,e,s,n,o);return this.draw(a),a}circle(t,e,s,n){const o=this.gen.circle(t,e,s,n);return this.draw(o),o}linearPath(t,e){const s=this.gen.linearPath(t,e);return this.draw(s),s}polygon(t,e){const s=this.gen.polygon(t,e);return this.draw(s),s}arc(t,e,s,n,o,a,h=!1,r){const i=this.gen.arc(t,e,s,n,o,a,h,r);return this.draw(i),i}curve(t,e){const s=this.gen.curve(t,e);return this.draw(s),s}path(t,e){const s=this.gen.path(t,e);return this.draw(s),s}}const nt=\"http://www.w3.org/2000/svg\";class ot{constructor(t,e){this.svg=t,this.gen=new et(e)}draw(t){const e=t.sets||[],s=t.options||this.getDefaultOptions(),n=this.svg.ownerDocument||window.document,o=n.createElementNS(nt,\"g\"),a=t.options.fixedDecimalPlaceDigits;for(const h of e){let e=null;switch(h.type){case\"path\":e=n.createElementNS(nt,\"path\"),e.setAttribute(\"d\",this.opsToPath(h,a)),e.setAttribute(\"stroke\",s.stroke),e.setAttribute(\"stroke-width\",s.strokeWidth+\"\"),e.setAttribute(\"fill\",\"none\"),s.strokeLineDash&&e.setAttribute(\"stroke-dasharray\",s.strokeLineDash.join(\" \").trim()),s.strokeLineDashOffset&&e.setAttribute(\"stroke-dashoffset\",`${s.strokeLineDashOffset}`);break;case\"fillPath\":e=n.createElementNS(nt,\"path\"),e.setAttribute(\"d\",this.opsToPath(h,a)),e.setAttribute(\"stroke\",\"none\"),e.setAttribute(\"stroke-width\",\"0\"),e.setAttribute(\"fill\",s.fill||\"\"),\"curve\"!==t.shape&&\"polygon\"!==t.shape||e.setAttribute(\"fill-rule\",\"evenodd\");break;case\"fillSketch\":e=this.fillSketch(n,h,s)}e&&o.appendChild(e)}return o}fillSketch(t,e,s){let n=s.fillWeight;n<0&&(n=s.strokeWidth/2);const o=t.createElementNS(nt,\"path\");return o.setAttribute(\"d\",this.opsToPath(e,s.fixedDecimalPlaceDigits)),o.setAttribute(\"stroke\",s.fill||\"\"),o.setAttribute(\"stroke-width\",n+\"\"),o.setAttribute(\"fill\",\"none\"),s.fillLineDash&&o.setAttribute(\"stroke-dasharray\",s.fillLineDash.join(\" \").trim()),s.fillLineDashOffset&&o.setAttribute(\"stroke-dashoffset\",`${s.fillLineDashOffset}`),o}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(t,e){return this.gen.opsToPath(t,e)}line(t,e,s,n,o){const a=this.gen.line(t,e,s,n,o);return this.draw(a)}rectangle(t,e,s,n,o){const a=this.gen.rectangle(t,e,s,n,o);return this.draw(a)}ellipse(t,e,s,n,o){const a=this.gen.ellipse(t,e,s,n,o);return this.draw(a)}circle(t,e,s,n){const o=this.gen.circle(t,e,s,n);return this.draw(o)}linearPath(t,e){const s=this.gen.linearPath(t,e);return this.draw(s)}polygon(t,e){const s=this.gen.polygon(t,e);return this.draw(s)}arc(t,e,s,n,o,a,h=!1,r){const i=this.gen.arc(t,e,s,n,o,a,h,r);return this.draw(i)}curve(t,e){const s=this.gen.curve(t,e);return this.draw(s)}path(t,e){const s=this.gen.path(t,e);return this.draw(s)}}var at={canvas:(t,e)=>new st(t,e),svg:(t,e)=>new ot(t,e),generator:t=>new et(t),newSeed:()=>et.newSeed()};export{at as default};\n","\"use client\";\nimport { jsxs as b, jsx as t, Fragment as Nt } from \"react/jsx-runtime\";\nimport { clsx as Ct } from \"clsx\";\nimport { twMerge as Bt } from \"tailwind-merge\";\nimport { useRef as q, useEffect as U, useId as ae, useMemo as ye, forwardRef as xe, useState as O, useCallback as Z, Fragment as Et, cloneElement as gt, useLayoutEffect as Lt, createContext as Rt, useContext as Tt } from \"react\";\nimport It from \"roughjs\";\nimport { useReducedMotion as At, AnimatePresence as Mt, motion as lt } from \"framer-motion\";\nimport { createPortal as Ie } from \"react-dom\";\nfunction je(e, o) {\n const a = q(o);\n a.current = o, U(() => {\n if (!e) return;\n const n = (r) => {\n r.key === \"Escape\" && a.current();\n };\n return document.addEventListener(\"keydown\", n), () => document.removeEventListener(\"keydown\", n);\n }, [e]);\n}\nconst Ve = {\n sidebarWidth: 220,\n stackPanelWidth: 480,\n navIslandBottom: \"1.5rem\",\n navIslandHeight: \"4.5rem\",\n contentGap: \"1.5rem\"\n}, C = {\n bgBase: \"#FDFCF8\",\n bgSurface: \"#FAF8F0\",\n bgElevated: \"#F5F1E6\",\n bgSidebar: \"#F7F3EA\",\n bgInput: \"#FBF9F4\",\n textPrimary: \"#1A1917\",\n textSecondary: \"#68635C\",\n textTertiary: \"#A8A399\",\n accentBlue: \"#7C9CC0\",\n accentBlueLight: \"#AFC6E0\",\n accentBlueDark: \"#51719B\",\n accentGreen: \"#8FB996\",\n accentGreenLight: \"#B5D4BA\",\n accentGreenDark: \"#5E8A66\",\n accentAmber: \"#D4A373\",\n accentAmberLight: \"#E4C9A8\",\n accentAmberDark: \"#A67B4F\",\n accentRose: \"#C98B8B\",\n accentRoseLight: \"#DEB5B5\",\n accentRoseDark: \"#9E5E5E\",\n accentSlate: \"#8A9BA8\",\n accentSlateLight: \"#B0BEC8\",\n accentSlateDark: \"#5E7080\",\n canvasBase: \"#F0EAD8\",\n canvas300: \"#E5DBC4\",\n canvasDark: \"#D6C9A8\",\n canvas700: \"#8C7D56\",\n washBlue: \"#DEE4E5\",\n washGreen: \"#E3EADC\",\n washAmber: \"#F2E5D5\",\n washRose: \"#EFE0DA\",\n washSlate: \"#E1E4E0\",\n chalkboardBg: \"#142e22\",\n chalkboardSurface: \"#1e3a2d\",\n chalkboardLight: \"#264a3a\",\n chalkboardText: \"#e8e4d9\",\n chalkboardChalk: \"#d4e8cb\",\n chalkboardMuted: \"#a8b5a0\",\n chalkboardMutedDim: \"#5e7a68\",\n chalkboardAccent: \"#a8c49a\",\n chalkboardRose: \"#e8a0a0\",\n // Base of the rgba() $chalkboard-border-* / ring tokens (rgb 200, 210, 195).\n chalkboardBorderBase: \"#C8D2C3\",\n codeBg: \"#2B2926\"\n};\nfunction K(e, o) {\n const a = e.replace(\"#\", \"\"), n = Number.parseInt(a.slice(0, 2), 16), r = Number.parseInt(a.slice(2, 4), 16), l = Number.parseInt(a.slice(4, 6), 16);\n return `rgba(${n}, ${r}, ${l}, ${o})`;\n}\nconst St = {\n 1: \"0.25rem\",\n 2: \"0.5rem\",\n 3: \"0.75rem\",\n 4: \"1rem\",\n 5: \"1.25rem\",\n 6: \"1.5rem\",\n 7: \"1.75rem\",\n 8: \"2rem\",\n 10: \"2.5rem\",\n 12: \"3rem\",\n 14: \"3.5rem\",\n 16: \"4rem\"\n};\nfunction k(...e) {\n return Bt(Ct(e));\n}\nconst Ft = { height: 32, lineHeight: \"32px\", padding: \"0 16px\" }, Dt = {\n white: `url(\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='w'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.5' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.97 0 0 0 0 0.96 0 0 0 0 0.95 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23w)' opacity='1'/%3E%3C/svg%3E\")`,\n paper: `url(\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.04'/%3E%3C/svg%3E\")`,\n speckle: `url(\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='speckle'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.4' numOctaves='1' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23speckle)' opacity='0.14'/%3E%3C/svg%3E\")`,\n parchment: `url(\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='par'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='5' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.55 0 0 0 0 0.48 0 0 0 0 0.35 0 0 0 0.45 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23par)' opacity='1'/%3E%3C/svg%3E\")`,\n canvas: `url(\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='cv'%3E%3CfeTurbulence type='turbulence' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.62 0 0 0 0 0.60 0 0 0 0 0.52 0 0 0 0.42 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23cv)' opacity='1'/%3E%3C/svg%3E\")`,\n kraft: `url(\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='k'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.50 0 0 0 0 0.35 0 0 0 0 0.20 0 0 0 0.55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23k)' opacity='1'/%3E%3C/svg%3E\")`,\n chalkboard: `url(\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='c'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.15 0 0 0 0 0.28 0 0 0 0 0.20 0 0 0 0.08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23c)' opacity='1'/%3E%3C/svg%3E\")`\n}, Wt = {\n white: C.bgBase,\n paper: C.bgSurface,\n speckle: C.bgSurface,\n parchment: C.bgElevated,\n canvas: C.canvasBase,\n kraft: C.canvas300,\n chalkboard: C.chalkboardBg\n}, rt = {\n white: C.bgElevated,\n paper: C.bgElevated,\n speckle: C.bgElevated,\n parchment: C.canvasBase,\n canvas: C.canvas300,\n kraft: C.canvasDark,\n // Chalkboard is already the darkest surface and has no darker token; keep its\n // base so headers stay on-palette rather than inventing an off-token shade.\n chalkboard: C.chalkboardBg\n}, Pt = {\n base: C.bgBase,\n surface: C.bgSurface,\n elevated: C.bgElevated,\n canvas: C.canvasBase,\n canvasDark: C.canvasDark,\n blue: C.washBlue,\n green: C.washGreen,\n amber: C.washAmber,\n rose: C.washRose,\n slate: C.washSlate\n}, Ot = {\n blue: \"rgba(168, 200, 216, 0.35)\",\n brown: \"rgba(164, 144, 120, 0.35)\",\n black: \"rgba(61, 53, 43, 0.15)\"\n};\nfunction kt(e) {\n const o = typeof e == \"string\" ? { texture: e } : e, a = o.texture ?? \"paper\", n = o.ruledType ?? \"none\", r = o.ruledColor ?? \"blue\", l = Dt[a], c = o.fill ? Pt[o.fill] : o.shade ? rt[a] : Wt[a], s = Ot[r], i = {\n \"--pui-texture-shade\": rt[a],\n \"--pui-texture-image\": l\n };\n return n === \"none\" ? {\n ...i,\n backgroundColor: c,\n backgroundImage: l,\n backgroundRepeat: \"repeat\",\n backgroundSize: \"200px 200px\"\n } : n === \"lines\" ? {\n ...i,\n backgroundColor: c,\n backgroundImage: `${l}, repeating-linear-gradient(180deg, transparent, transparent 31px, ${s} 31px, ${s} 32px)`,\n backgroundRepeat: \"repeat, repeat\",\n backgroundSize: \"200px 200px, 100% 32px\"\n } : {\n ...i,\n backgroundColor: c,\n backgroundImage: `${l}, repeating-linear-gradient(180deg, transparent, transparent 31px, ${s} 31px, ${s} 32px), repeating-linear-gradient(90deg, transparent, transparent 31px, ${s} 31px, ${s} 32px)`,\n backgroundRepeat: \"repeat, repeat, repeat\",\n backgroundSize: \"200px 200px, 100% 32px, 32px 32px\"\n };\n}\nfunction Te(e) {\n return kt(e);\n}\nfunction Be(e, o = \"paper\") {\n if (e !== !1)\n return Te(e === !0 ? o : e);\n}\nfunction qt(e) {\n const o = He((e == null ? void 0 : e.seed) ?? Math.random()), a = Math.max(0, Math.min(1, (e == null ? void 0 : e.wobble) ?? 0.5)), n = 8 + Math.round(a * 6), r = 50, l = 50, c = 46, s = 2 + a * 14, i = [];\n for (let d = 0; d < n; d++) {\n const _ = d / n * Math.PI * 2 + (o() - 0.5) * 0.15 * a, m = c + (o() - 0.5) * s * 2;\n i.push({\n x: r + Math.cos(_) * m,\n y: l + Math.sin(_) * m\n });\n }\n return Ge(i);\n}\nfunction zt(e, o) {\n const a = He(`${e}-ring`), n = Math.max(0, Math.min(1, o ?? 0.5)), r = 8 + Math.round(n * 6), l = 50, c = 50, s = 49, i = 2 + n * 14, d = [];\n for (let _ = 0; _ < r; _++) {\n const m = _ / r * Math.PI * 2 + (a() - 0.5) * 0.15 * n, h = s + (a() - 0.5) * i * 2;\n d.push({\n x: l + Math.cos(m) * h,\n y: c + Math.sin(m) * h\n });\n }\n return Ge(d);\n}\nfunction jt(e) {\n const o = He((e == null ? void 0 : e.seed) ?? Math.random()), a = Math.max(0, Math.min(1, (e == null ? void 0 : e.wobble) ?? 0.5)), n = 3 + Math.round(a * 3), r = 2, l = 3 + a * 10, c = [], s = [\n { ax: r, ay: r, bx: 100 - r, by: r },\n // top\n { ax: 100 - r, ay: r, bx: 100 - r, by: 100 - r },\n // right\n { ax: 100 - r, ay: 100 - r, bx: r, by: 100 - r },\n // bottom\n { ax: r, ay: 100 - r, bx: r, by: r }\n // left\n ];\n for (const i of s)\n for (let d = 0; d < n; d++) {\n const _ = (d + 0.5) / n, m = i.ax + (i.bx - i.ax) * _, h = i.ay + (i.by - i.ay) * _, v = i.bx - i.ax, p = i.by - i.ay, x = Math.sqrt(v * v + p * p) || 1, f = -p / x, g = v / x, u = (o() - 0.5) * l * 2;\n c.push({ x: m + f * u, y: h + g * u });\n }\n return Ge(c);\n}\nfunction Gt(e, o) {\n const a = He(`${e}-ring`), n = Math.max(0, Math.min(1, o ?? 0.5)), r = 3 + Math.round(n * 3), l = 0, c = 3 + n * 10, s = [], i = [\n { ax: l, ay: l, bx: 100 - l, by: l },\n { ax: 100 - l, ay: l, bx: 100 - l, by: 100 - l },\n { ax: 100 - l, ay: 100 - l, bx: l, by: 100 - l },\n { ax: l, ay: 100 - l, bx: l, by: l }\n ];\n for (const d of i)\n for (let _ = 0; _ < r; _++) {\n const m = (_ + 0.5) / r, h = d.ax + (d.bx - d.ax) * m, v = d.ay + (d.by - d.ay) * m, p = d.bx - d.ax, x = d.by - d.ay, f = Math.sqrt(p * p + x * x) || 1, g = -x / f, u = p / f, y = (a() - 0.5) * c * 2;\n s.push({ x: h + g * y, y: v + u * y });\n }\n return Ge(s);\n}\nfunction Ge(e) {\n const o = e.length;\n if (o < 3) return \"\";\n let a = `M ${_e(e[0].x)} ${_e(e[0].y)}`;\n for (let n = 0; n < o; n++) {\n const r = e[(n - 1 + o) % o], l = e[n], c = e[(n + 1) % o], s = e[(n + 2) % o], i = l.x + (c.x - r.x) / 6, d = l.y + (c.y - r.y) / 6, _ = c.x - (s.x - l.x) / 6, m = c.y - (s.y - l.y) / 6;\n a += ` C ${_e(i)} ${_e(d)}, ${_e(_)} ${_e(m)}, ${_e(c.x)} ${_e(c.y)}`;\n }\n return a += \" Z\", a;\n}\nfunction _e(e) {\n return e.toFixed(2);\n}\nfunction He(e) {\n let o = typeof e == \"string\" ? Ht(e) : e;\n return () => (o = o * 16807 % 2147483647, (o - 1) / 2147483646);\n}\nfunction Ht(e) {\n let o = 0;\n for (let a = 0; a < e.length; a++)\n o = (o << 5) - o + e.charCodeAt(a), o |= 0;\n return Math.abs(o) || 1;\n}\nfunction Ke() {\n const e = ae();\n return ye(() => {\n let o = 0;\n for (let a = 0; a < e.length; a++)\n o = o * 31 + e.charCodeAt(a) >>> 0;\n return (o + 1) / 4294967296;\n }, [e]);\n}\nfunction Ee(e) {\n const o = Ke();\n return ye(\n () => ({\n blob: qt({ seed: o, wobble: e }),\n ring: zt(o, e)\n }),\n [o, e]\n );\n}\nconst Kt = \"button-module__button___Z331g\", Ut = \"button-module__blobBg___QQFzf\", Vt = \"button-module__blobFill___XwLjV\", Yt = \"button-module__blobRing___567UW\", Xt = \"button-module__isActive___FXNSJ\", Qt = \"button-module__primary___ppbyq\", Zt = \"button-module__secondary___esy5L\", Jt = \"button-module__ghost___NisA0\", eo = \"button-module__danger___Wnvuq\", to = \"button-module__chalkboard___d3Nqb\", oo = \"button-module__tiny___8ZZ7A\", ao = \"button-module__small___u7y8a\", no = \"button-module__medium___HBIAj\", lo = \"button-module__large___RPzNy\", ro = \"button-module__fullWidth___H0P0F\", co = \"button-module__iconLeft___s60SZ\", so = \"button-module__iconRight___75eFu\", io = \"button-module__label___pXAyM\", J = {\n button: Kt,\n blobBg: Ut,\n blobFill: Vt,\n blobRing: Yt,\n isActive: Xt,\n primary: Qt,\n secondary: Zt,\n ghost: Jt,\n danger: eo,\n chalkboard: to,\n tiny: oo,\n small: ao,\n medium: no,\n large: lo,\n fullWidth: ro,\n iconLeft: co,\n iconRight: so,\n label: io\n}, Je = xe(function({\n variant: o = \"primary\",\n surface: a = \"paper\",\n size: n = \"medium\",\n icon: r,\n iconRight: l,\n fullWidth: c = !1,\n wobble: s = 0.5,\n isActive: i = !1,\n children: d,\n className: _,\n ...m\n}, h) {\n const v = Ee(s);\n return /* @__PURE__ */ b(\n \"button\",\n {\n ref: h,\n type: \"button\",\n className: k(\n J.button,\n J[o],\n J[n],\n a === \"chalkboard\" && J.chalkboard,\n i && J.isActive,\n c && J.fullWidth,\n _\n ),\n ...m,\n children: [\n /* @__PURE__ */ b(\n \"svg\",\n {\n className: J.blobBg,\n viewBox: \"-10 -10 120 120\",\n preserveAspectRatio: \"none\",\n \"aria-hidden\": \"true\",\n children: [\n /* @__PURE__ */ t(\"path\", { d: v.blob, className: J.blobFill }),\n /* @__PURE__ */ t(\"path\", { d: v.ring, className: J.blobRing })\n ]\n }\n ),\n r && /* @__PURE__ */ t(\"span\", { className: J.iconLeft, children: r }),\n /* @__PURE__ */ t(\"span\", { className: J.label, children: d }),\n l && /* @__PURE__ */ t(\"span\", { className: J.iconRight, children: l })\n ]\n }\n );\n});\nfunction et(e) {\n return {\n blue: e.accentBlue,\n green: e.accentGreen,\n amber: e.accentAmber,\n rose: e.accentRose,\n slate: e.accentSlate\n };\n}\nconst P = It.generator(), _o = \"sketch-border-module__svg___whV4x\", uo = \"sketch-border-module__behind___lgdYV\", mo = \"sketch-border-module__stroke___vAm-v\", ho = \"sketch-border-module__fill___zlpd6\", Ae = {\n svg: _o,\n behind: uo,\n stroke: mo,\n fill: ho\n}, bo = 1.2, po = 0.7;\nfunction Y({\n shape: e = \"rect\",\n radius: o = 9,\n roughness: a = 1.2,\n bowing: n = 1,\n strokeWidth: r = 1,\n inset: l = 2,\n fill: c = !1,\n clip: s = !1,\n smooth: i = !1,\n // Straight geometric shape with a sketchy pencil border is the default look;\n // pass straight={false} for the fully hand-drawn (wavy-shape) silhouette.\n straight: d = !0,\n strokeInset: _ = !0,\n className: m\n}) {\n const [h] = O(Math.random), v = q(null), [p, x] = O(null);\n U(() => {\n var N;\n const u = (N = v.current) == null ? void 0 : N.parentElement;\n if (!u) return;\n const y = new ResizeObserver(() => {\n const T = u.offsetWidth, I = u.offsetHeight;\n x(\n (w) => w && w.width === T && w.height === I ? w : { width: T, height: I }\n );\n });\n return y.observe(u), () => y.disconnect();\n }, []);\n const { parts: f, clipPath: g } = ye(() => {\n if (!p || p.width < 8 || p.height < 8) return { parts: null, clipPath: null };\n const u = Math.max(1, Math.round(h * 1e6)), y = u, N = u * 2654435761 % 2147483647, T = ($) => P.toPaths(\n P.path($, {\n seed: y,\n roughness: a,\n bowing: n,\n preserveVertices: !0,\n strokeWidth: r\n })\n ).filter((A) => !A.fill || A.fill === \"none\").map((A) => ({ d: A.d, filled: !1 }));\n if (i) {\n const $ = { seed: y, roughness: a, bowing: n, strokeWidth: r, disableMultiStroke: !0 }, A = (F) => P.toPaths(F).filter((G) => !G.fill || G.fill === \"none\").map((G) => ({ d: G.d, filled: !1 }));\n if (s) {\n const F = Me(\n e,\n p,\n l,\n o,\n fe(N),\n a * 1.1\n ), G = _ ? ct(r, a) : 0, j = G ? Me(e, p, l + G, o, fe(N), a * 1.1) : F;\n return {\n parts: A(P.path(j, { ...$, preserveVertices: !0 })),\n clipPath: F\n };\n }\n const S = e === \"circle\" ? P.ellipse(\n p.width / 2,\n p.height / 2,\n p.width - l * 2,\n p.height - l * 2,\n $\n ) : P.path(Ye(p, l, o, fe(y)), {\n ...$,\n preserveVertices: !0\n });\n return { parts: A(S), clipPath: null };\n }\n if (s) {\n if (d) {\n const F = Ye(p, l, o, fe(N)), G = P.toPaths(\n P.path(F, {\n seed: y,\n roughness: bo,\n bowing: po,\n preserveVertices: !0,\n strokeWidth: r\n })\n ).filter((j) => !j.fill || j.fill === \"none\").map((j) => ({ d: j.d, filled: !1 }));\n return { parts: G.length ? G : [{ d: F, filled: !1 }], clipPath: F };\n }\n const $ = Me(\n e,\n p,\n l,\n o,\n fe(N),\n a * 1.1\n ), A = _ ? ct(r, a) : 0, S = A ? Me(e, p, l + A, o, fe(N), a * 1.1) : $;\n return { parts: T(S), clipPath: $ };\n }\n const I = ($, A) => {\n const S = A ? { fill: \"#000\", fillStyle: \"solid\" } : {}, F = e === \"circle\" ? P.ellipse(\n p.width / 2,\n p.height / 2,\n p.width - l * 2,\n p.height - l * 2,\n { seed: $, roughness: a, bowing: n, strokeWidth: r, ...S }\n ) : P.path(Ye(p, l, o, fe($)), {\n seed: $,\n roughness: a,\n bowing: n,\n preserveVertices: !0,\n strokeWidth: r,\n ...S\n });\n return P.toPaths(F);\n }, w = c ? I(N, !0).filter(($) => !!$.fill && $.fill !== \"none\").map(($) => ({ d: $.d, filled: !0 })) : [], L = I(y, !1).filter(($) => !$.fill || $.fill === \"none\").map(($) => ({ d: $.d, filled: !1 }));\n return { parts: [...w, ...L], clipPath: null };\n }, [\n p,\n h,\n s,\n i,\n d,\n e,\n o,\n a,\n n,\n r,\n l,\n c,\n _\n ]);\n return U(() => {\n var y;\n const u = (y = v.current) == null ? void 0 : y.parentElement;\n if (u)\n return g ? u.style.setProperty(\"--sketch-clip\", `path(\"${g}\")`) : u.style.removeProperty(\"--sketch-clip\"), () => {\n u.style.removeProperty(\"--sketch-clip\");\n };\n }, [g]), /* @__PURE__ */ t(\n \"svg\",\n {\n ref: v,\n className: k(Ae.svg, c && Ae.behind, m),\n viewBox: p ? `0 0 ${p.width} ${p.height}` : void 0,\n \"aria-hidden\": \"true\",\n children: f == null ? void 0 : f.map(\n (u, y) => u.filled ? /* @__PURE__ */ t(\"path\", { className: Ae.fill, d: u.d }, `f-${y}`) : /* @__PURE__ */ t(\"path\", { className: Ae.stroke, d: u.d, strokeWidth: r }, `s-${y}`)\n )\n }\n );\n}\nfunction ct(e, o) {\n return e / 2 + o * 1.5;\n}\nfunction fe(e) {\n let o = e;\n return () => (o = o * 16807 % 2147483647, (o - 1) / 2147483646);\n}\nfunction Me(e, o, a, n, r, l) {\n const c = o.width - a * 2, s = o.height - a * 2, i = o.width / 2, d = o.height / 2, _ = () => (r() - 0.5) * l * 2, m = [];\n if (e === \"circle\")\n for (let v = 0; v < 16; v++) {\n const p = v / 16 * Math.PI * 2;\n m.push({ x: i + Math.cos(p) * c / 2 + _(), y: d + Math.sin(p) * s / 2 + _() });\n }\n else {\n const h = Math.max(2, Math.min(n, c / 2, s / 2)), v = a, p = a, x = (u, y, N) => {\n for (const T of [0, 45, 90]) {\n const I = (N + T) * Math.PI / 180;\n m.push({ x: u + Math.cos(I) * h + _(), y: y + Math.sin(I) * h + _() });\n }\n }, f = (u, y, N, T) => {\n const I = Math.hypot(N - u, T - y), w = Math.min(12, Math.max(1, Math.round(I / 160)));\n for (let L = 1; L <= w; L++) {\n const $ = L / (w + 1);\n m.push({ x: u + (N - u) * $ + _(), y: y + (T - y) * $ + _() });\n }\n };\n x(v + h, p + h, 180), f(v + h, p, v + c - h, p), x(v + c - h, p + h, 270), f(v + c, p + h, v + c, p + s - h), x(v + c - h, p + s - h, 0), f(v + c - h, p + s, v + h, p + s), x(v + h, p + s - h, 90), f(v, p + s - h, v, p + h);\n const g = 3;\n return st([...m.slice(g), ...m.slice(0, g)]);\n }\n return st(m);\n}\nfunction st(e) {\n const o = e.length;\n if (o < 3) return \"\";\n const a = (r, l) => Math.max(1e-3, Math.hypot(l.x - r.x, l.y - r.y) ** 0.5);\n let n = `M ${e[0].x.toFixed(2)} ${e[0].y.toFixed(2)}`;\n for (let r = 0; r < o; r++) {\n const l = e[(r - 1 + o) % o], c = e[r], s = e[(r + 1) % o], i = e[(r + 2) % o], d = a(l, c), _ = a(c, s), m = a(s, i), h = s.x - c.x + _ * ((c.x - l.x) / d - (s.x - l.x) / (d + _)), v = s.y - c.y + _ * ((c.y - l.y) / d - (s.y - l.y) / (d + _)), p = s.x - c.x + _ * ((i.x - s.x) / m - (i.x - c.x) / (_ + m)), x = s.y - c.y + _ * ((i.y - s.y) / m - (i.y - c.y) / (_ + m)), f = c.x + h / 3, g = c.y + v / 3, u = s.x - p / 3, y = s.y - x / 3;\n n += ` C ${f.toFixed(2)} ${g.toFixed(2)}, ${u.toFixed(2)} ${y.toFixed(2)}, ${s.x.toFixed(2)} ${s.y.toFixed(2)}`;\n }\n return `${n} Z`;\n}\nfunction Ye(e, o, a, n) {\n const r = [0, 0, 0, 0].map(() => Math.max(2, a + (n() - 0.5) * 3));\n return fo(o, o, e.width - o * 2, e.height - o * 2, r);\n}\nfunction fo(e, o, a, n, r) {\n const l = (_) => Math.min(_, a / 2, n / 2), [c, s, i, d] = r.map(l);\n return [\n `M ${M(e + c)} ${M(o)}`,\n `L ${M(e + a - s)} ${M(o)}`,\n `Q ${M(e + a)} ${M(o)} ${M(e + a)} ${M(o + s)}`,\n `L ${M(e + a)} ${M(o + n - i)}`,\n `Q ${M(e + a)} ${M(o + n)} ${M(e + a - i)} ${M(o + n)}`,\n `L ${M(e + d)} ${M(o + n)}`,\n `Q ${M(e)} ${M(o + n)} ${M(e)} ${M(o + n - d)}`,\n `L ${M(e)} ${M(o + c)}`,\n `Q ${M(e)} ${M(o)} ${M(e + c)} ${M(o)}`,\n \"Z\"\n ].join(\" \");\n}\nfunction M(e) {\n return e.toFixed(2);\n}\nconst X = {\n /** Large textured surfaces (clip): Card, Table, Menu, Toast, Alert, Select dropdown, Page. */\n // Low roughness AND low bowing: big containers read better with a near-straight\n // hand-drawn edge — high roughness lumps up on wide/short cards, and the default\n // bowing (1) bends the long straight runs into visible curves. roughness drives\n // both the stroke shake and the clip silhouette wobble (amplitude = roughness *\n // 1.1); bowing only bends the stroke between corners.\n surface: { radius: 12, inset: 2.5, roughness: 0.2, bowing: 0, strokeWidth: 1.3 },\n /** Text fields (fill): Input, Textarea, Select trigger, Table search. */\n field: { radius: 8, inset: 2, roughness: 1.1, strokeWidth: 1.3 },\n /** Small controls (smooth single stroke): Checkbox, Radio, Avatar. */\n control: { radius: 6, inset: 2, roughness: 0.5, bowing: 0.6, strokeWidth: 1.4 },\n /** Pill toggle (Switch). */\n pill: { radius: 999, inset: 2, roughness: 0.7, strokeWidth: 1 }\n}, go = \"page-module__page___-uHnG\", ko = \"page-module__outlined___Wwtyg\", vo = \"page-module__surface___sWfI6\", yo = \"page-module__flat___HlOaY\", xo = \"page-module__withAccent___lsv-m\", wo = \"page-module__accentBlue___XxbMV\", $o = \"page-module__accentGreen___Ne6Q8\", No = \"page-module__accentAmber___kLAwa\", Co = \"page-module__accentRose___O9ZbZ\", Bo = \"page-module__accentSlate___xCB66\", Ce = {\n page: go,\n outlined: ko,\n surface: vo,\n flat: yo,\n withAccent: xo,\n accentBlue: wo,\n accentGreen: $o,\n accentAmber: No,\n accentRose: Co,\n accentSlate: Bo\n}, Eo = et(Ce), Lo = { all: 14, top: 14, none: 2 };\nfunction Ro({\n children: e,\n className: o,\n style: a,\n texture: n = !0,\n withAccent: r = !1,\n accentColor: l = \"blue\",\n rounded: c = \"all\",\n outline: s = !1,\n sketch: i = !1\n}) {\n const d = Be(n, {\n texture: \"white\",\n ruledType: \"lines\",\n ruledColor: \"blue\"\n }) ?? { backgroundColor: \"var(--pui-bg-base)\" };\n return (\n // `style`/`className` apply to the frame — the element that owns the page's\n // box (max-width, margin, height), so consumers can override those (e.g. a\n // full-bleed dashboard setting `maxWidth: 'none'`). The texture belongs to\n // the inner surface, since that's the layer clipped to the sketchy edge.\n /* @__PURE__ */ b(\n \"div\",\n {\n className: k(\n Ce.page,\n s && Ce.outlined,\n r && Ce.withAccent,\n r && Eo[l],\n !i && Ce.flat,\n o\n ),\n style: a,\n children: [\n /* @__PURE__ */ t(\n Y,\n {\n clip: !0,\n ...X.surface,\n radius: Lo[c],\n straight: !i\n }\n ),\n /* @__PURE__ */ t(\"div\", { className: Ce.surface, style: d, children: e })\n ]\n }\n )\n );\n}\nconst To = \"layout-module__layout___O1aWi\", Io = \"layout-module__header___I-kxe\", Ao = \"layout-module__headerLeft___JChJQ\", Mo = \"layout-module__headerTitles___aqSUG\", So = \"layout-module__headerTitle___wvr39\", Fo = \"layout-module__headerSubtitle___6f5BD\", Do = \"layout-module__headerActions___adC12\", Wo = \"layout-module__mobileToggle___4WpVG\", Po = \"layout-module__body___tywNf\", Oo = \"layout-module__mobileOverlay___tzbBC\", qo = \"layout-module__sidebar___8VKGq\", zo = \"layout-module__sidebarOpen___47rtr\", jo = \"layout-module__sidebarInner___tq2X6\", Go = \"layout-module__logoArea___RLnC0\", Ho = \"layout-module__logoText___pAmfV\", Ko = \"layout-module__nav___FxcrZ\", Uo = \"layout-module__main___9z7bu\", Vo = \"layout-module__navIslandFixed___H4TwP\", Yo = \"layout-module__content___jL-VB\", Xo = \"layout-module__contentWithPage___vVdfN\", Qo = \"layout-module__footer___LyakU\", Zo = \"layout-module__footerText___8BYxc\", D = {\n layout: To,\n header: Io,\n headerLeft: Ao,\n headerTitles: Mo,\n headerTitle: So,\n headerSubtitle: Fo,\n headerActions: Do,\n mobileToggle: Wo,\n body: Po,\n mobileOverlay: Oo,\n sidebar: qo,\n sidebarOpen: zo,\n sidebarInner: jo,\n logoArea: Go,\n logoText: Ho,\n nav: Ko,\n main: Uo,\n navIslandFixed: Vo,\n content: Yo,\n contentWithPage: Xo,\n footer: Qo,\n footerText: Zo\n};\nfunction Jo(e) {\n return !e || e === \"plain\" ? { backgroundColor: \"var(--pui-bg-base)\" } : typeof e == \"object\" && \"image\" in e ? {\n backgroundImage: `url(${e.image})`,\n backgroundRepeat: \"repeat\",\n backgroundSize: \"200px 200px\"\n } : Te(e);\n}\nfunction Qi({\n children: e,\n showHeader: o = !0,\n showFooter: a = !1,\n showSidebar: n = !0,\n showPage: r = !0,\n background: l = \"paper\",\n title: c,\n subtitle: s,\n headerActions: i,\n headerHeight: d,\n headerTexture: _,\n navigationItems: m = [],\n activeItemId: h,\n onNavigate: v,\n logo: p,\n footerContent: x,\n navigationIsland: f,\n style: g,\n bleedBottom: u = !0,\n routeKey: y,\n stackOpen: N\n}) {\n const [T, I] = O(!1), w = At();\n je(T, () => I(!1));\n const L = Jo(l), $ = n && m.length > 0, A = d !== void 0 || _ !== void 0 ? {\n // Texture first so an explicit height isn't clobbered by the texture spread.\n ..._ !== void 0 ? Te(_) : {},\n ...d !== void 0 ? { height: typeof d == \"number\" ? `${d}px` : d } : {}\n } : void 0;\n return /* @__PURE__ */ b(\"div\", { className: D.layout, style: { ...L, ...g }, children: [\n o && /* @__PURE__ */ b(\"header\", { className: D.header, style: A, children: [\n /* @__PURE__ */ b(\"div\", { className: D.headerLeft, children: [\n $ && /* @__PURE__ */ t(\n \"button\",\n {\n type: \"button\",\n className: D.mobileToggle,\n onClick: () => I(!0),\n \"aria-label\": \"Open navigation\",\n children: /* @__PURE__ */ t(\n \"svg\",\n {\n width: \"20\",\n height: \"20\",\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n children: /* @__PURE__ */ t(\"path\", { d: \"M3 5h14M3 10h14M3 15h14\", strokeLinecap: \"round\" })\n }\n )\n }\n ),\n /* @__PURE__ */ b(\"div\", { className: D.headerTitles, children: [\n c && /* @__PURE__ */ t(\"h1\", { className: D.headerTitle, children: c }),\n s && /* @__PURE__ */ t(\"span\", { className: D.headerSubtitle, children: s })\n ] })\n ] }),\n i && /* @__PURE__ */ t(\"div\", { className: D.headerActions, children: i })\n ] }),\n /* @__PURE__ */ b(\"div\", { className: D.body, children: [\n T && /* @__PURE__ */ t(\n \"button\",\n {\n type: \"button\",\n className: D.mobileOverlay,\n onClick: () => I(!1),\n \"aria-label\": \"Close navigation\",\n tabIndex: -1\n }\n ),\n $ && /* @__PURE__ */ t(\"aside\", { className: k(D.sidebar, T && D.sidebarOpen), children: /* @__PURE__ */ b(\"div\", { className: D.sidebarInner, children: [\n /* @__PURE__ */ t(\"div\", { className: D.logoArea, children: p || /* @__PURE__ */ t(\"span\", { className: D.logoText, children: \"Paper UI\" }) }),\n /* @__PURE__ */ t(\"nav\", { className: D.nav, \"aria-label\": \"Main navigation\", children: m.map((S) => {\n const F = S.id === h;\n return /* @__PURE__ */ t(\n Je,\n {\n variant: \"ghost\",\n size: \"small\",\n isActive: F,\n onClick: () => {\n v == null || v(S), I(!1);\n },\n \"aria-current\": F ? \"page\" : void 0,\n icon: S.icon,\n style: Ft,\n children: S.label\n },\n S.id\n );\n }) })\n ] }) }),\n /* @__PURE__ */ t(\"div\", { className: D.main, children: /* @__PURE__ */ t(\n \"main\",\n {\n className: r ? D.contentWithPage : D.content,\n style: u ? { paddingBottom: 0 } : void 0,\n children: (() => {\n const S = y !== void 0 ? /* @__PURE__ */ t(Mt, { mode: \"wait\", children: /* @__PURE__ */ t(\n lt.div,\n {\n initial: w ? void 0 : { opacity: 0, y: 8 },\n animate: { opacity: 1, y: 0 },\n exit: w ? void 0 : { opacity: 0, y: -8 },\n transition: { duration: 0.2, ease: \"easeOut\" },\n style: { height: \"100%\" },\n children: e\n },\n y\n ) }) : e;\n return r ? /* @__PURE__ */ t(\n Ro,\n {\n rounded: u ? \"top\" : \"all\",\n style: u && f ? {\n paddingBottom: `calc(${Ve.navIslandBottom} + ${Ve.navIslandHeight} + ${St[4]})`\n } : void 0,\n children: S\n }\n ) : S;\n })()\n }\n ) })\n ] }),\n f && /* @__PURE__ */ t(\"div\", { className: D.navIslandFixed, children: N !== void 0 ? /* @__PURE__ */ t(\n lt.div,\n {\n animate: {\n x: N ? `-${Ve.stackPanelWidth / 2}px` : 0\n },\n transition: {\n duration: w ? 0 : 0.3,\n ease: [0.4, 0, 0.2, 1]\n },\n children: f\n }\n ) : f }),\n a && /* @__PURE__ */ t(\"footer\", { className: D.footer, children: x || /* @__PURE__ */ t(\"p\", { className: D.footerText, children: \"Paper UI — Natural Materials Component Library\" }) })\n ] });\n}\nconst ea = \"island-module__island___Yd2ej\", ta = \"island-module__chalkboard___yK6AH\", it = {\n island: ea,\n chalkboard: ta\n};\nfunction Zi({ children: e, surface: o = \"paper\", label: a, className: n }) {\n return /* @__PURE__ */ t(\n \"section\",\n {\n className: k(it.island, o === \"chalkboard\" && it.chalkboard, n),\n \"aria-label\": a,\n children: e\n }\n );\n}\nconst oa = \"checkbox-module__wrapper___uLYMI\", aa = \"checkbox-module__blobFill___mPJSR\", na = \"checkbox-module__input___Ptgt7\", la = \"checkbox-module__blobBg___bw3sn\", ra = \"checkbox-module__labelLeft___-vAmH\", ca = \"checkbox-module__box___yAh-r\", sa = \"checkbox-module__checkmark___tTyBz\", ia = \"checkbox-module__indeterminateLine___IosI-\", da = \"checkbox-module__boxWrapper___byjoS\", _a = \"checkbox-module__icon___RO-yn\", ua = \"checkbox-module__labelText___bAnLr\", ma = \"checkbox-module__chalkboard___sv6SL\", Q = {\n wrapper: oa,\n blobFill: aa,\n input: na,\n blobBg: la,\n labelLeft: ra,\n box: ca,\n checkmark: sa,\n indeterminateLine: ia,\n boxWrapper: da,\n icon: _a,\n labelText: ua,\n chalkboard: ma\n}, Ji = xe(function({\n label: o,\n labelPosition: a = \"right\",\n indeterminate: n = !1,\n wobble: r = 0.4,\n surface: l = \"paper\",\n className: c,\n checked: s,\n onChange: i,\n id: d,\n ..._\n}, m) {\n const h = ae(), v = d ?? h, p = Ee(r), x = q(null);\n return U(() => {\n x.current && (x.current.indeterminate = n);\n }, [n]), /* @__PURE__ */ b(\n \"label\",\n {\n className: k(\n Q.wrapper,\n a === \"left\" && Q.labelLeft,\n l === \"chalkboard\" && Q.chalkboard,\n c\n ),\n htmlFor: v,\n children: [\n /* @__PURE__ */ b(\"span\", { className: Q.boxWrapper, children: [\n /* @__PURE__ */ t(\n \"input\",\n {\n ref: (f) => {\n x.current = f, typeof m == \"function\" ? m(f) : m && (m.current = f);\n },\n id: v,\n type: \"checkbox\",\n className: Q.input,\n checked: s,\n onChange: i,\n ..._\n }\n ),\n /* @__PURE__ */ t(\n \"svg\",\n {\n className: Q.blobBg,\n viewBox: \"-10 -10 120 120\",\n preserveAspectRatio: \"none\",\n \"aria-hidden\": \"true\",\n children: /* @__PURE__ */ t(\"path\", { d: p.blob, className: Q.blobFill })\n }\n ),\n /* @__PURE__ */ b(\"span\", { className: Q.box, \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ t(Y, { smooth: !0, ...X.control }),\n n ? /* @__PURE__ */ t(\"svg\", { viewBox: \"0 0 20 20\", fill: \"none\", className: Q.icon, children: /* @__PURE__ */ t(\n \"line\",\n {\n x1: \"4\",\n y1: \"10\",\n x2: \"16\",\n y2: \"10\",\n stroke: \"currentColor\",\n strokeWidth: \"2.5\",\n strokeLinecap: \"round\",\n className: Q.indeterminateLine\n }\n ) }) : /* @__PURE__ */ t(\"svg\", { viewBox: \"0 0 20 20\", fill: \"none\", className: Q.icon, children: /* @__PURE__ */ t(\n \"path\",\n {\n d: \"M4 10 L8 14 L16 6\",\n stroke: \"currentColor\",\n strokeWidth: \"2.5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n className: Q.checkmark\n }\n ) })\n ] })\n ] }),\n o && /* @__PURE__ */ t(\"span\", { className: Q.labelText, children: o })\n ]\n }\n );\n}), ha = \"icon-button-module__iconButton___avg6i\", ba = \"icon-button-module__blobBg___466Vy\", pa = \"icon-button-module__blobFill___FTN1g\", fa = \"icon-button-module__blobRing___hRdQb\", ga = \"icon-button-module__isActive___XlvtM\", ka = \"icon-button-module__icon___h204x\", va = \"icon-button-module__ghost___Wbxog\", ya = \"icon-button-module__danger___p0Xz5\", xa = \"icon-button-module__tiny___4WYvA\", wa = \"icon-button-module__small___bPnCU\", $a = \"icon-button-module__medium___nOxPf\", Na = \"icon-button-module__large___UBU5z\", Ca = \"icon-button-module__chalkboard___mi0sQ\", ie = {\n iconButton: ha,\n blobBg: ba,\n blobFill: pa,\n blobRing: fa,\n isActive: ga,\n icon: ka,\n default: \"icon-button-module__default___9frNR\",\n ghost: va,\n danger: ya,\n tiny: xa,\n small: wa,\n medium: $a,\n large: Na,\n chalkboard: Ca\n}, dt = xe(function({\n icon: o,\n variant: a = \"default\",\n surface: n = \"paper\",\n size: r = \"medium\",\n label: l,\n wobble: c = 0.5,\n isActive: s = !1,\n className: i,\n ...d\n}, _) {\n const m = Ee(c);\n return /* @__PURE__ */ b(\n \"button\",\n {\n ref: _,\n type: \"button\",\n className: k(\n ie.iconButton,\n ie[a],\n n === \"chalkboard\" && ie.chalkboard,\n ie[r],\n s && ie.isActive,\n i\n ),\n \"aria-label\": l,\n title: l,\n ...d,\n children: [\n /* @__PURE__ */ b(\n \"svg\",\n {\n className: ie.blobBg,\n viewBox: \"-10 -10 120 120\",\n preserveAspectRatio: \"none\",\n \"aria-hidden\": \"true\",\n children: [\n /* @__PURE__ */ t(\"path\", { d: m.blob, className: ie.blobFill }),\n /* @__PURE__ */ t(\"path\", { d: m.ring, className: ie.blobRing })\n ]\n }\n ),\n /* @__PURE__ */ t(\"span\", { className: ie.icon, children: o })\n ]\n }\n );\n}), Ba = \"stamp-module__stamp___5qaNY\", Ea = \"stamp-module__small___BBlBg\", La = \"stamp-module__medium___HG2YD\", Ra = \"stamp-module__large___aUT0I\", Ta = \"stamp-module__blobBg___Mdrdd\", Ia = \"stamp-module__blobFill___QyCeB\", Aa = \"stamp-module__blobRing___EUDx7\", Ma = \"stamp-module__dot___qZyCR\", Sa = \"stamp-module__label___T89iH\", Fa = \"stamp-module__chalkboard___syI4T\", ue = {\n stamp: Ba,\n small: Ea,\n medium: La,\n large: Ra,\n blobBg: Ta,\n blobFill: Ia,\n blobRing: Aa,\n dot: Ma,\n label: Sa,\n chalkboard: Fa\n}, Xe = {\n neutral: {\n fill: K(C.accentSlate, 0.14),\n text: C.accentSlateDark,\n ring: K(C.accentSlateDark, 0.35)\n },\n info: {\n fill: K(C.accentBlue, 0.14),\n text: C.accentBlueDark,\n ring: K(C.accentBlueDark, 0.35)\n },\n success: {\n fill: K(C.accentGreen, 0.16),\n text: C.accentGreenDark,\n ring: K(C.accentGreenDark, 0.35)\n },\n warning: {\n fill: K(C.accentAmber, 0.16),\n text: C.accentAmberDark,\n ring: K(C.accentAmberDark, 0.4)\n },\n error: {\n fill: K(C.accentRose, 0.16),\n text: C.accentRoseDark,\n ring: K(C.accentRoseDark, 0.35)\n }\n}, _t = {\n fill: K(C.chalkboardBorderBase, 0.1),\n ring: K(C.chalkboardBorderBase, 0.35)\n};\nfunction ed({\n children: e,\n size: o = \"medium\",\n variant: a,\n dot: n = !1,\n fillColor: r,\n textColor: l,\n wobble: c = 0.3,\n surface: s = \"paper\",\n className: i\n}) {\n const d = Ee(c), _ = s === \"chalkboard\", m = a ? _ ? _t.ring : Xe[a].ring : void 0, h = r ?? (a ? _ ? _t.fill : Xe[a].fill : \"transparent\"), v = l ?? (a && !_ ? Xe[a].text : void 0);\n return /* @__PURE__ */ b(\n \"span\",\n {\n className: k(ue.stamp, ue[o], _ && ue.chalkboard, i),\n style: v ? { color: v } : void 0,\n children: [\n /* @__PURE__ */ b(\n \"svg\",\n {\n className: ue.blobBg,\n viewBox: \"-10 -10 120 120\",\n preserveAspectRatio: \"none\",\n \"aria-hidden\": \"true\",\n children: [\n /* @__PURE__ */ t(\"path\", { d: d.blob, className: ue.blobFill, style: { fill: h } }),\n m && /* @__PURE__ */ t(\"path\", { d: d.ring, className: ue.blobRing, style: { stroke: m } })\n ]\n }\n ),\n n && /* @__PURE__ */ t(\"span\", { className: ue.dot, \"aria-hidden\": \"true\" }),\n /* @__PURE__ */ t(\"span\", { className: ue.label, children: e })\n ]\n }\n );\n}\nconst Da = \"copy-button-module__copyButton___-hTo4\", Wa = \"copy-button-module__dark___O45N-\", Pa = \"copy-button-module__chalkboard___hW4aw\", Oa = \"copy-button-module__copied___XlHFr\", Se = {\n copyButton: Da,\n dark: Wa,\n chalkboard: Pa,\n copied: Oa\n};\nfunction ut({\n text: e,\n variant: o = \"light\",\n surface: a = \"paper\",\n className: n,\n ...r\n}) {\n const [l, c] = O(!1), s = Z(async () => {\n try {\n await navigator.clipboard.writeText(e), c(!0), setTimeout(() => c(!1), 1500);\n } catch (i) {\n console.error(\"Failed to copy:\", i);\n }\n }, [e]);\n return /* @__PURE__ */ t(\n \"button\",\n {\n type: \"button\",\n onClick: s,\n className: k(\n Se.copyButton,\n o === \"dark\" && Se.dark,\n a === \"chalkboard\" && Se.chalkboard,\n l && Se.copied,\n n\n ),\n ...r,\n children: l ? \"Copied!\" : \"Copy\"\n }\n );\n}\nconst qa = \"code-block-module__codeBlock___dq28o\", za = \"code-block-module__header___42Fek\", ja = \"code-block-module__relative___oO-zy\", Ga = \"code-block-module__copyOverlay___PjAuq\", Ha = \"code-block-module__pre___zXzLZ\", Ka = \"code-block-module__chalkboard___bdo9J\", Ua = \"code-block-module__chalkboardHeader___3RiVd\", Va = \"code-block-module__chalkboardPre___iRBFR\", me = {\n codeBlock: qa,\n header: za,\n relative: ja,\n copyOverlay: Ga,\n pre: Ha,\n chalkboard: Ka,\n chalkboardHeader: Ua,\n chalkboardPre: Va\n};\nfunction td({ code: e, filename: o, surface: a = \"paper\" }) {\n return /* @__PURE__ */ b(\"div\", { className: k(me.codeBlock, a === \"chalkboard\" && me.chalkboard), children: [\n o && /* @__PURE__ */ b(\"div\", { className: k(me.header, a === \"chalkboard\" && me.chalkboardHeader), children: [\n /* @__PURE__ */ t(\"span\", { children: o }),\n /* @__PURE__ */ t(ut, { text: e, variant: \"light\", surface: a })\n ] }),\n !o && /* @__PURE__ */ t(\"div\", { className: me.relative, children: /* @__PURE__ */ t(\"div\", { className: me.copyOverlay, children: /* @__PURE__ */ t(ut, { text: e, variant: \"dark\", surface: a }) }) }),\n /* @__PURE__ */ t(\"pre\", { className: k(me.pre, a === \"chalkboard\" && me.chalkboardPre), children: /* @__PURE__ */ t(\"code\", { children: e }) })\n ] });\n}\nfunction tt({ size: e = 16 }) {\n return /* @__PURE__ */ b(\n \"svg\",\n {\n width: e,\n height: e,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n \"aria-hidden\": \"true\",\n children: [\n /* @__PURE__ */ t(\"line\", { x1: \"18\", y1: \"6\", x2: \"6\", y2: \"18\" }),\n /* @__PURE__ */ t(\"line\", { x1: \"6\", y1: \"6\", x2: \"18\", y2: \"18\" })\n ]\n }\n );\n}\nfunction od({ size: e = 16 }) {\n return /* @__PURE__ */ b(\n \"svg\",\n {\n width: e,\n height: e,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"1.5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n \"aria-hidden\": \"true\",\n children: [\n /* @__PURE__ */ t(\"path\", { d: \"M9 18h6\" }),\n /* @__PURE__ */ t(\"path\", { d: \"M10 22h4\" }),\n /* @__PURE__ */ t(\"path\", { d: \"M15.09 14c.18-.98.65-1.74 1.41-2.5A4.65 4.65 0 0 0 18 8 6 6 0 0 0 6 8c0 1 .23 2.23 1.5 3.5A4.61 4.61 0 0 1 8.91 14\" })\n ]\n }\n );\n}\nfunction ad({ size: e = 16 }) {\n return /* @__PURE__ */ t(\n \"svg\",\n {\n width: e,\n height: e,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n \"aria-hidden\": \"true\",\n children: /* @__PURE__ */ t(\"polyline\", { points: \"20 6 9 17 4 12\" })\n }\n );\n}\nfunction nd({ size: e = 16 }) {\n return /* @__PURE__ */ b(\n \"svg\",\n {\n width: e,\n height: e,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n \"aria-hidden\": \"true\",\n children: [\n /* @__PURE__ */ t(\"rect\", { x: \"9\", y: \"9\", width: \"13\", height: \"13\", rx: \"2\", ry: \"2\" }),\n /* @__PURE__ */ t(\"path\", { d: \"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\" })\n ]\n }\n );\n}\nfunction ld({ size: e = 16 }) {\n return /* @__PURE__ */ t(\n \"svg\",\n {\n width: e,\n height: e,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"1.5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n \"aria-hidden\": \"true\",\n children: /* @__PURE__ */ t(\"path\", { d: \"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\" })\n }\n );\n}\nfunction rd({ size: e = 16 }) {\n return /* @__PURE__ */ b(\n \"svg\",\n {\n width: e,\n height: e,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n \"aria-hidden\": \"true\",\n children: [\n /* @__PURE__ */ t(\"line\", { x1: \"12\", y1: \"5\", x2: \"12\", y2: \"19\" }),\n /* @__PURE__ */ t(\"line\", { x1: \"5\", y1: \"12\", x2: \"19\", y2: \"12\" })\n ]\n }\n );\n}\nfunction vt({ size: e = 16 }) {\n return /* @__PURE__ */ t(\n \"svg\",\n {\n width: e,\n height: e,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n \"aria-hidden\": \"true\",\n children: /* @__PURE__ */ t(\"polyline\", { points: \"9 18 15 12 9 6\" })\n }\n );\n}\nconst Ya = \"table-module__tableFrame___KP-90\", Xa = \"table-module__tableWrapper___gc3Y3\", Qa = \"table-module__toolbar___zhCel\", Za = \"table-module__toolbarTitle___D8oH-\", Ja = \"table-module__panelFooter___lCCKo\", en = \"table-module__compact___mG-2Y\", tn = \"table-module__toolbarActions___EX6qS\", on = \"table-module__search___zIBk2\", an = \"table-module__searchIcon___ayhK8\", nn = \"table-module__searchInput___PqsEG\", ln = \"table-module__tableScroll___1gvc4\", rn = \"table-module__table___tdU5g\", cn = \"table-module__th___GQbKk\", sn = \"table-module__td___WktB5\", dn = \"table-module__footerCell___bM-jv\", _n = \"table-module__tr___xeZno\", un = \"table-module__expandTh___uxkR4\", mn = \"table-module__expandTd___VoBRC\", hn = \"table-module__expandIcon___8V45X\", bn = \"table-module__expandable___R7o2l\", pn = \"table-module__footerRow___ik1DH\", fn = \"table-module__expandedRow___1TbTQ\", gn = \"table-module__expandedCell___sKAaD\", kn = \"table-module__boardScroll___Y1yqm\", vn = \"table-module__board___kFAI-\", yn = \"table-module__boardColumn___-W9bP\", xn = \"table-module__boardColumnHeader___kY3Fj\", wn = \"table-module__accentBlue___PEJ1V\", $n = \"table-module__accentGreen___wJ53r\", Nn = \"table-module__accentAmber___Iezjv\", Cn = \"table-module__accentRose___W8zxc\", Bn = \"table-module__accentSlate___oUZCX\", En = \"table-module__boardColumnLabel___JBEed\", Ln = \"table-module__boardColumnCount___Pkpiq\", Rn = \"table-module__boardColumnBody___uAgRF\", Tn = \"table-module__boardRow___C1P60\", In = \"table-module__boardEmpty___IKv2W\", An = \"table-module__chalkboardFrame___xB3N5\", Mn = \"table-module__chalkboardWrapper___KjY5r\", Sn = \"table-module__chalkboard___v0m3A\", E = {\n tableFrame: Ya,\n tableWrapper: Xa,\n toolbar: Qa,\n toolbarTitle: Za,\n panelFooter: Ja,\n compact: en,\n toolbarActions: tn,\n search: on,\n searchIcon: an,\n searchInput: nn,\n tableScroll: ln,\n table: rn,\n th: cn,\n td: sn,\n footerCell: dn,\n tr: _n,\n expandTh: un,\n expandTd: mn,\n expandIcon: hn,\n expandable: bn,\n footerRow: pn,\n expandedRow: fn,\n expandedCell: gn,\n boardScroll: kn,\n board: vn,\n boardColumn: yn,\n boardColumnHeader: xn,\n accentBlue: wn,\n accentGreen: $n,\n accentAmber: Nn,\n accentRose: Cn,\n accentSlate: Bn,\n boardColumnLabel: En,\n boardColumnCount: Ln,\n boardColumnBody: Rn,\n boardRow: Tn,\n boardEmpty: In,\n chalkboardFrame: An,\n chalkboardWrapper: Mn,\n chalkboard: Sn\n}, Fn = et(E);\nfunction Dn({\n data: e = [],\n columns: o = [],\n board: a,\n surface: n = \"paper\",\n texture: r = !0,\n toolbar: l,\n expandable: c,\n showExpandColumn: s = !0,\n rowKey: i,\n rowClassName: d,\n rowTexture: _,\n rowFooter: m,\n hideHeader: h = !1,\n density: v = \"comfortable\",\n panelFooter: p,\n className: x\n}) {\n const f = Be(r, n === \"chalkboard\" ? \"chalkboard\" : \"paper\"), g = !!l, [u, y] = O(/* @__PURE__ */ new Set()), N = (w) => {\n y((L) => {\n const $ = new Set(L);\n return $.has(w) ? $.delete(w) : $.add(w), $;\n });\n }, T = !!(c && s), I = T ? o.length + 1 : o.length;\n return /* @__PURE__ */ b(\n \"div\",\n {\n className: k(\n E.tableFrame,\n n === \"chalkboard\" && E.chalkboardFrame,\n x\n ),\n children: [\n /* @__PURE__ */ t(Y, { clip: !0, ...X.surface }),\n /* @__PURE__ */ b(\n \"div\",\n {\n className: k(\n E.tableWrapper,\n n === \"chalkboard\" && E.chalkboardWrapper,\n // Also carried here (not just on <table>) so .compact reaches the\n // toolbar/panelFooter bands, which sit outside the table element.\n v === \"compact\" && E.compact\n ),\n style: f,\n children: [\n g && /* @__PURE__ */ b(\"div\", { className: E.toolbar, children: [\n l.title && /* @__PURE__ */ t(\"div\", { className: E.toolbarTitle, children: l.title }),\n l.search && /* @__PURE__ */ b(\"div\", { className: E.search, children: [\n /* @__PURE__ */ t(Wn, { className: E.searchIcon }),\n /* @__PURE__ */ t(\n \"input\",\n {\n type: \"text\",\n className: E.searchInput,\n placeholder: l.search.placeholder ?? \"Search...\",\n \"aria-label\": l.search.placeholder ?? \"Search\",\n value: l.search.value,\n onChange: (w) => {\n var L, $;\n return ($ = (L = l.search) == null ? void 0 : L.onChange) == null ? void 0 : $.call(L, w.target.value);\n }\n }\n ),\n /* @__PURE__ */ t(Y, { fill: !0, ...X.field })\n ] }),\n l.actions && /* @__PURE__ */ t(\"div\", { className: E.toolbarActions, children: typeof l.actions == \"function\" ? l.actions(n) : l.actions })\n ] }),\n a ? /* @__PURE__ */ t(\"div\", { className: E.boardScroll, children: /* @__PURE__ */ t(\"div\", { className: E.board, children: a.map((w) => /* @__PURE__ */ b(\"div\", { className: E.boardColumn, children: [\n /* @__PURE__ */ b(\n \"div\",\n {\n className: k(\n E.boardColumnHeader,\n n === \"chalkboard\" && E.chalkboard,\n w.accent && Fn[w.accent]\n ),\n children: [\n /* @__PURE__ */ t(\"span\", { className: E.boardColumnLabel, children: w.label }),\n /* @__PURE__ */ t(\"span\", { className: E.boardColumnCount, children: w.items.length })\n ]\n }\n ),\n /* @__PURE__ */ t(\"div\", { className: E.boardColumnBody, children: w.items.length === 0 ? /* @__PURE__ */ t(\"div\", { className: E.boardEmpty, children: w.emptyLabel ?? \"empty\" }) : w.items.map((L, $) => /* @__PURE__ */ t(\n \"div\",\n {\n className: k(\n E.boardRow,\n n === \"chalkboard\" && E.chalkboard\n ),\n children: w.renderItem(L, $, n)\n },\n w.getKey ? w.getKey(L, $) : $\n )) })\n ] }, w.key)) }) }) : /* @__PURE__ */ t(\"div\", { className: E.tableScroll, children: /* @__PURE__ */ b(\n \"table\",\n {\n className: k(\n E.table,\n n === \"chalkboard\" && E.chalkboard,\n v === \"compact\" && E.compact\n ),\n children: [\n /* @__PURE__ */ b(\"colgroup\", { children: [\n T && /* @__PURE__ */ t(\"col\", { style: { width: \"48px\" } }),\n o.map((w) => /* @__PURE__ */ t(\n \"col\",\n {\n style: w.width ? { width: `${w.width * 32}px` } : void 0\n },\n w.key\n ))\n ] }),\n !h && /* @__PURE__ */ t(\"thead\", { children: /* @__PURE__ */ b(\"tr\", { children: [\n T && /* @__PURE__ */ t(\"th\", { className: k(E.th, E.expandTh), \"aria-label\": \"Expand\" }),\n o.map((w) => /* @__PURE__ */ t(\n \"th\",\n {\n className: E.th,\n style: w.align ? { textAlign: w.align } : void 0,\n children: w.header\n },\n w.key\n ))\n ] }) }),\n /* @__PURE__ */ t(\"tbody\", { children: e.map((w, L) => {\n const $ = i ? i(w, L) : L, A = c == null ? void 0 : c.render(w, L, n), S = m == null ? void 0 : m(w, L, n), F = !!A, G = F && u.has($), j = _ == null ? void 0 : _(w, L);\n return /* @__PURE__ */ b(Et, { children: [\n /* @__PURE__ */ b(\n \"tr\",\n {\n className: k(\n E.tr,\n F && E.expandable,\n d == null ? void 0 : d(w, L)\n ),\n style: j ? Te(j) : void 0,\n onClick: () => F && N($),\n children: [\n T && /* @__PURE__ */ t(\"td\", { className: k(E.td, E.expandTd), children: F && /* @__PURE__ */ t(\n \"button\",\n {\n type: \"button\",\n className: E.expandIcon,\n \"aria-expanded\": G,\n \"aria-label\": G ? \"Collapse row\" : \"Expand row\",\n onClick: (z) => {\n z.stopPropagation(), N($);\n },\n children: /* @__PURE__ */ t(vt, { size: 14 })\n }\n ) }),\n o.map((z) => /* @__PURE__ */ t(\n \"td\",\n {\n className: E.td,\n style: z.align ? { textAlign: z.align } : void 0,\n children: z.cell(w, L, n)\n },\n z.key\n ))\n ]\n }\n ),\n S && /* @__PURE__ */ t(\n \"tr\",\n {\n className: E.footerRow,\n style: j ? Te(j) : void 0,\n children: /* @__PURE__ */ t(\"td\", { colSpan: I, className: E.footerCell, children: S })\n }\n ),\n G && /* @__PURE__ */ t(\"tr\", { className: E.expandedRow, children: /* @__PURE__ */ t(\"td\", { colSpan: I, className: E.expandedCell, children: A }) })\n ] }, $);\n }) })\n ]\n }\n ) }),\n p && /* @__PURE__ */ t(\"div\", { className: E.panelFooter, children: p })\n ]\n }\n )\n ]\n }\n );\n}\nfunction Wn({ className: e }) {\n return /* @__PURE__ */ b(\n \"svg\",\n {\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n className: e,\n \"aria-hidden\": \"true\",\n children: [\n /* @__PURE__ */ t(\"circle\", { cx: \"11\", cy: \"11\", r: \"8\" }),\n /* @__PURE__ */ t(\"line\", { x1: \"21\", y1: \"21\", x2: \"16.65\", y2: \"16.65\" })\n ]\n }\n );\n}\nconst Pn = \"cells-module__cell___x7DuX\", On = \"cells-module__toggle___U6zvr\", qn = \"cells-module__toggleActive___B5U1p\", zn = \"cells-module__chalkToggle___mGnxj\", jn = \"cells-module__chalkToggleActive___40QxK\", Gn = \"cells-module__input___6FtwV\", Hn = \"cells-module__chalkInput___T8jRO\", Kn = \"cells-module__dropdownToggle___OPFkY\", Un = \"cells-module__chevron___LosSi\", Vn = \"cells-module__chevronOpen___sM4y0\", Yn = \"cells-module__dropdown___8Ov5L\", Xn = \"cells-module__dropdownItem___3iLvf\", Qn = \"cells-module__chalkDropdownToggle___o9LTb\", Zn = \"cells-module__chalkDropdown___E1y9a\", Jn = \"cells-module__chalkDropdownItem___cW122\", V = {\n cell: Pn,\n toggle: On,\n toggleActive: qn,\n chalkToggle: zn,\n chalkToggleActive: jn,\n input: Gn,\n chalkInput: Hn,\n dropdownToggle: Kn,\n chevron: Un,\n chevronOpen: Vn,\n dropdown: Yn,\n dropdownItem: Xn,\n chalkDropdownToggle: Qn,\n chalkDropdown: Zn,\n chalkDropdownItem: Jn\n};\nfunction el({ checked: e, onChange: o, surface: a = \"paper\" }) {\n return /* @__PURE__ */ t(\n \"button\",\n {\n type: \"button\",\n className: k(\n V.toggle,\n a === \"chalkboard\" && V.chalkToggle,\n e && V.toggleActive,\n e && a === \"chalkboard\" && V.chalkToggleActive\n ),\n onClick: () => o(!e),\n children: e ? \"true\" : \"false\"\n }\n );\n}\nfunction tl({\n kind: e,\n value: o,\n placeholder: a,\n onChange: n,\n surface: r = \"paper\"\n}) {\n return /* @__PURE__ */ t(\n \"input\",\n {\n type: e === \"number\" ? \"number\" : \"text\",\n className: k(V.input, r === \"chalkboard\" && V.chalkInput),\n value: o,\n placeholder: a,\n onChange: (l) => n(l.target.value)\n }\n );\n}\nfunction ol({\n options: e,\n value: o,\n onChange: a,\n surface: n = \"paper\"\n}) {\n const [r, l] = O(!1), c = q(null);\n return U(() => {\n if (!r) return;\n const s = (i) => {\n c.current && !c.current.contains(i.target) && l(!1);\n };\n return document.addEventListener(\"mousedown\", s), () => document.removeEventListener(\"mousedown\", s);\n }, [r]), /* @__PURE__ */ b(\"div\", { className: V.cell, ref: c, children: [\n /* @__PURE__ */ b(\n \"button\",\n {\n type: \"button\",\n className: k(\n V.dropdownToggle,\n n === \"chalkboard\" && V.chalkDropdownToggle\n ),\n onClick: () => l(!r),\n children: [\n o,\n /* @__PURE__ */ t(\n \"svg\",\n {\n width: \"10\",\n height: \"6\",\n viewBox: \"0 0 10 6\",\n fill: \"none\",\n className: k(V.chevron, r && V.chevronOpen),\n children: /* @__PURE__ */ t(\n \"path\",\n {\n d: \"M1 1L5 5L9 1\",\n stroke: \"currentColor\",\n strokeWidth: \"1.5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }\n )\n }\n )\n ]\n }\n ),\n r && /* @__PURE__ */ t(\"div\", { className: k(V.dropdown, n === \"chalkboard\" && V.chalkDropdown), children: e.map((s) => /* @__PURE__ */ t(\n \"button\",\n {\n type: \"button\",\n className: k(\n V.dropdownItem,\n n === \"chalkboard\" && V.chalkDropdownItem\n ),\n onClick: () => {\n a(s), l(!1);\n },\n children: s\n },\n s\n )) })\n ] });\n}\nconst al = \"prop-table-module__wrapper___AufwJ\", nl = \"prop-table-module__codeName___Sa7rq\", ll = \"prop-table-module__required___4C7Pm\", rl = \"prop-table-module__desc___QNNO7\", cl = \"prop-table-module__chalkCodeName___Erzq6\", sl = \"prop-table-module__chalkRequired___3Mh-y\", il = \"prop-table-module__chalkDesc___46JCK\", se = {\n wrapper: al,\n codeName: nl,\n required: ll,\n desc: rl,\n chalkCodeName: cl,\n chalkRequired: sl,\n chalkDesc: il\n};\nfunction dl(e) {\n const o = e.match(/^'(.+)'$/);\n return o ? o[1].split(\"' | '\") : null;\n}\nfunction _l(e) {\n return e === \"number\" ? \"number\" : e === \"string\" ? \"string\" : null;\n}\nfunction ul({\n prop: e,\n surface: o,\n selectedValue: a,\n onValueChange: n\n}) {\n const r = dl(e.type), l = e.type === \"boolean\", c = _l(e.type);\n if (l)\n return /* @__PURE__ */ t(\n el,\n {\n checked: a === !0,\n surface: o,\n onChange: n\n }\n );\n if (c) {\n const s = typeof a == \"string\" ? a : e.default ?? \"\";\n return /* @__PURE__ */ t(\n tl,\n {\n kind: c,\n value: s,\n placeholder: e.default ?? e.type,\n surface: o,\n onChange: (i) => n(i)\n }\n );\n }\n if (r) {\n const s = typeof a == \"string\" ? a : r[0];\n return /* @__PURE__ */ t(\n ol,\n {\n options: r,\n value: s,\n surface: o,\n onChange: n\n }\n );\n }\n return /* @__PURE__ */ t(\"span\", { className: k(se.codeName, o === \"chalkboard\" && se.chalkCodeName), children: e.type });\n}\nfunction cd({\n props: e,\n surface: o = \"paper\",\n selectedValues: a,\n onValueChange: n\n}) {\n const r = Z(\n (c, s) => {\n n == null || n(c, s);\n },\n [n]\n );\n return /* @__PURE__ */ t(\n Dn,\n {\n data: e,\n columns: [\n {\n key: \"name\",\n header: \"Prop\",\n cell: (c) => /* @__PURE__ */ b(\"code\", { className: k(se.codeName, o === \"chalkboard\" && se.chalkCodeName), children: [\n c.name,\n c.required && /* @__PURE__ */ t(\"span\", { className: k(se.required, o === \"chalkboard\" && se.chalkRequired), children: \"*\" })\n ] })\n },\n {\n key: \"value\",\n header: \"Value\",\n cell: (c) => /* @__PURE__ */ t(\n ul,\n {\n prop: c,\n surface: o,\n selectedValue: a == null ? void 0 : a[c.name],\n onValueChange: (s) => r(c.name, s)\n }\n )\n },\n {\n key: \"description\",\n header: \"Description\",\n cell: (c) => /* @__PURE__ */ t(\"span\", { className: k(se.desc, o === \"chalkboard\" && se.chalkDesc), children: c.description })\n }\n ],\n surface: o,\n className: k(se.wrapper, o === \"chalkboard\" && se.chalkboard)\n }\n );\n}\nconst ml = \"swatch-module__swatch___Kvyl1\", hl = \"swatch-module__active___4ydAA\", bl = \"swatch-module__disabled___t3NKC\", pl = \"swatch-module__chalkboard___0IL0r\", Fe = {\n swatch: ml,\n active: hl,\n disabled: bl,\n chalkboard: pl\n};\nfunction sd({\n active: e = !1,\n disabled: o = !1,\n surface: a = \"paper\",\n className: n,\n style: r,\n ...l\n}) {\n return /* @__PURE__ */ t(\n \"button\",\n {\n type: \"button\",\n disabled: o,\n className: k(\n Fe.swatch,\n e && Fe.active,\n o && Fe.disabled,\n a === \"chalkboard\" && Fe.chalkboard,\n n\n ),\n style: r,\n ...l\n }\n );\n}\nconst fl = \"card-module__borderLayer___WSpJq\", gl = \"card-module__elevated___uhWj9\", kl = \"card-module__textureLayer___Kcofz\", vl = \"card-module__flat___KnG5z\", yl = \"card-module__small___HXUTr\", xl = \"card-module__withAccent___2t7bV\", wl = \"card-module__accentBlue___a1KIq\", $l = \"card-module__accentGreen___RNWoA\", Nl = \"card-module__accentAmber___uMhom\", Cl = \"card-module__accentRose___VPI3t\", Bl = \"card-module__accentSlate___-l4jE\", El = \"card-module__chalkboard___bQ48O\", pe = {\n borderLayer: fl,\n default: \"card-module__default___glPy-\",\n elevated: gl,\n textureLayer: kl,\n flat: vl,\n small: yl,\n withAccent: xl,\n accentBlue: wl,\n accentGreen: $l,\n accentAmber: Nl,\n accentRose: Cl,\n accentSlate: Bl,\n chalkboard: El\n}, Ll = et(pe);\nfunction Rl({\n children: e,\n variant: o = \"default\",\n surface: a = \"paper\",\n size: n = \"medium\",\n texture: r = \"parchment\",\n fill: l,\n shade: c = !1,\n accent: s = !1,\n accentColor: i = \"blue\",\n sketch: d = !1,\n className: _\n}) {\n const m = a === \"chalkboard\" || r === !1 ? void 0 : kt({\n ...r === !0 || typeof r == \"string\" ? { texture: r === !0 ? \"parchment\" : r } : r,\n ...l ? { fill: l } : {},\n ...c ? { shade: c } : {}\n });\n return /* @__PURE__ */ b(\n \"div\",\n {\n className: k(\n pe.borderLayer,\n pe[o],\n a === \"chalkboard\" && pe.chalkboard,\n pe[n],\n s && pe.withAccent,\n s && Ll[i],\n !d && pe.flat,\n _\n ),\n children: [\n /* @__PURE__ */ t(Y, { clip: !0, ...X.surface, straight: !d }),\n /* @__PURE__ */ t(\"div\", { className: pe.textureLayer, style: m, children: e })\n ]\n }\n );\n}\nconst Tl = \"input-module__wrapper___xaEw6\", Il = \"input-module__label___lu7R1\", Al = \"input-module__field___khFpX\", Ml = \"input-module__input___h7K-F\", Sl = \"input-module__small___SkByh\", Fl = \"input-module__medium___0QPuV\", Dl = \"input-module__large___zGwRu\", Wl = \"input-module__error___QDqga\", Pl = \"input-module__disabled___K-5hi\", Ol = \"input-module__helperText___njeLH\", ql = \"input-module__helperError___qDBpD\", zl = \"input-module__chalkboard___Xh-5s\", re = {\n wrapper: Tl,\n label: Il,\n field: Al,\n input: Ml,\n small: Sl,\n medium: Fl,\n large: Dl,\n error: Wl,\n disabled: Pl,\n helperText: Ol,\n helperError: ql,\n chalkboard: zl\n}, id = xe(function({ label: o, helperText: a, error: n = !1, size: r = \"medium\", surface: l = \"paper\", className: c, id: s, ...i }, d) {\n const _ = ae(), m = s ?? _;\n return /* @__PURE__ */ b(\"div\", { className: k(re.wrapper, l === \"chalkboard\" && re.chalkboard, c), children: [\n o && /* @__PURE__ */ t(\"label\", { htmlFor: m, className: re.label, children: o }),\n /* @__PURE__ */ b(\n \"span\",\n {\n className: k(\n re.field,\n re[r],\n n && re.error,\n i.disabled && re.disabled\n ),\n children: [\n /* @__PURE__ */ t(\"input\", { ref: d, id: m, className: re.input, ...i }),\n /* @__PURE__ */ t(Y, { fill: !0, ...X.field })\n ]\n }\n ),\n a && /* @__PURE__ */ t(\"span\", { className: k(re.helperText, n && re.helperError), children: a })\n ] });\n}), jl = \"select-module__wrapper___Hc5F3\", Gl = \"select-module__label___ay-3s\", Hl = \"select-module__nativeSelect___UA2d-\", Kl = \"select-module__trigger___xMYHi\", Ul = \"select-module__open___w3mbZ\", Vl = \"select-module__triggerLabel___ihpER\", Yl = \"select-module__placeholder___0VOFP\", Xl = \"select-module__small___iU9W9\", Ql = \"select-module__chevron___0dCTg\", Zl = \"select-module__medium___B-XBN\", Jl = \"select-module__large___iII2c\", er = \"select-module__chevronOpen___cFOYe\", tr = \"select-module__error___P5RBk\", or = \"select-module__dropdown___Q-uK3\", ar = \"select-module__slideDown___sT374\", nr = \"select-module__options___HmrQ0\", lr = \"select-module__option___vNnue\", rr = \"select-module__optionDisabled___ex2zq\", cr = \"select-module__optionSelected___tAFjn\", sr = \"select-module__optionHighlighted___zYQLq\", ir = \"select-module__helperText___r5gyn\", dr = \"select-module__helperError___ydSPT\", _r = \"select-module__chalkboard___sXBw8\", W = {\n wrapper: jl,\n label: Gl,\n nativeSelect: Hl,\n trigger: Kl,\n open: Ul,\n triggerLabel: Vl,\n placeholder: Yl,\n small: Xl,\n chevron: Ql,\n medium: Zl,\n large: Jl,\n chevronOpen: er,\n error: tr,\n dropdown: or,\n slideDown: ar,\n options: nr,\n option: lr,\n optionDisabled: rr,\n optionSelected: cr,\n optionHighlighted: sr,\n helperText: ir,\n helperError: dr,\n chalkboard: _r\n};\nfunction dd({\n label: e,\n helperText: o,\n error: a = !1,\n size: n = \"medium\",\n surface: r = \"paper\",\n options: l,\n placeholder: c,\n value: s,\n defaultValue: i,\n onChange: d,\n name: _,\n disabled: m = !1,\n width: h,\n texture: v = !1,\n className: p\n}) {\n const x = ae(), [f, g] = O(!1), [u, y] = O(-1), [N, T] = O(i ?? \"\"), [I, w] = O(null), L = q(null), $ = q(null), A = s !== void 0, S = A ? s : N, F = l.find((B) => B.value === S), G = (F == null ? void 0 : F.label) ?? c ?? \"Select...\", j = Z(() => {\n if (m) return;\n g(!0);\n const B = l.findIndex((R) => R.value === S);\n y(B >= 0 ? B : 0);\n }, [m, l, S]), z = Z(() => {\n g(!1), y(-1);\n }, []), Ue = Z(\n (B) => {\n var R;\n B.disabled || (A || T(B.value), d == null || d(B.value), z(), (R = L.current) == null || R.focus());\n },\n [A, d, z]\n ), wt = Z(\n (B) => {\n if (!m)\n switch (B.key) {\n case \"Enter\":\n case \" \":\n B.preventDefault(), f && u >= 0 ? Ue(l[u]) : j();\n break;\n case \"Escape\":\n B.preventDefault(), f && z();\n break;\n case \"ArrowDown\":\n B.preventDefault(), f ? y((R) => {\n let H = R + 1;\n for (; H < l.length && l[H].disabled; )\n H++;\n return H < l.length ? H : R;\n }) : j();\n break;\n case \"ArrowUp\":\n B.preventDefault(), f ? y((R) => {\n let H = R - 1;\n for (; H >= 0 && l[H].disabled; )\n H--;\n return H >= 0 ? H : R;\n }) : j();\n break;\n case \"Home\":\n if (B.preventDefault(), f) {\n let R = 0;\n for (; R < l.length && l[R].disabled; )\n R++;\n R < l.length && y(R);\n }\n break;\n case \"End\":\n if (B.preventDefault(), f) {\n let R = l.length - 1;\n for (; R >= 0 && l[R].disabled; )\n R--;\n R >= 0 && y(R);\n }\n break;\n case \"Tab\":\n f && z();\n break;\n }\n },\n [m, f, u, l, j, z, Ue]\n );\n U(() => {\n if (!f) return;\n const B = (R) => {\n var at, nt;\n const H = R.target;\n (at = L.current) != null && at.contains(H) || (nt = $.current) != null && nt.contains(H) || z();\n };\n return document.addEventListener(\"mousedown\", B), () => document.removeEventListener(\"mousedown\", B);\n }, [f, z]), U(() => {\n if (!f || u < 0 || !$.current) return;\n const B = $.current.querySelector(\n `[data-option-index=\"${u}\"]`\n );\n B == null || B.scrollIntoView({ block: \"nearest\" });\n }, [f, u]), U(() => {\n if (!f) {\n w(null);\n return;\n }\n const B = () => {\n if (!L.current) return;\n const R = L.current.getBoundingClientRect();\n if (R.bottom < 0 || R.top > window.innerHeight) {\n z();\n return;\n }\n w(R);\n };\n return B(), document.addEventListener(\"scroll\", B, { capture: !0, passive: !0 }), window.addEventListener(\"resize\", B, { passive: !0 }), () => {\n document.removeEventListener(\"scroll\", B, { capture: !0 }), window.removeEventListener(\"resize\", B);\n };\n }, [f, z]);\n const ot = Be(v), $t = ot ? { \"--sketch-fill\": ot.backgroundColor } : void 0;\n return /* @__PURE__ */ b(\n \"div\",\n {\n className: k(W.wrapper, r === \"chalkboard\" && W.chalkboard, p),\n style: h ? { width: typeof h == \"number\" ? `${h}px` : h } : void 0,\n children: [\n e && /* @__PURE__ */ t(\"label\", { htmlFor: x, className: W.label, children: e }),\n /* @__PURE__ */ b(\n \"select\",\n {\n id: x,\n name: _,\n className: W.nativeSelect,\n value: S,\n onChange: (B) => d == null ? void 0 : d(B.target.value),\n disabled: m,\n \"aria-hidden\": \"true\",\n tabIndex: -1,\n children: [\n c && /* @__PURE__ */ t(\"option\", { value: \"\", children: c }),\n l.map((B) => /* @__PURE__ */ t(\"option\", { value: B.value, disabled: B.disabled, children: B.label }, B.value))\n ]\n }\n ),\n /* @__PURE__ */ b(\n \"button\",\n {\n ref: L,\n type: \"button\",\n role: \"combobox\",\n \"aria-expanded\": f,\n \"aria-haspopup\": \"listbox\",\n \"aria-controls\": f ? `${x}-listbox` : void 0,\n \"aria-activedescendant\": f && u >= 0 ? `${x}-option-${u}` : void 0,\n className: k(\n W.trigger,\n W[n],\n a && W.error,\n f && W.open,\n m && W.disabled\n ),\n onClick: () => f ? z() : j(),\n onKeyDown: wt,\n disabled: m,\n children: [\n /* @__PURE__ */ t(\"span\", { className: k(W.triggerLabel, !F && W.placeholder), children: G }),\n /* @__PURE__ */ t(ur, { className: k(W.chevron, f && W.chevronOpen) }),\n /* @__PURE__ */ t(Y, { fill: !0, ...X.field })\n ]\n }\n ),\n f && I && Ie(\n /* @__PURE__ */ b(\n \"div\",\n {\n ref: $,\n id: `${x}-listbox`,\n role: \"listbox\",\n tabIndex: -1,\n className: W.dropdown,\n style: {\n ...$t,\n position: \"fixed\",\n top: I.bottom + 6,\n left: I.left,\n width: I.width\n },\n onKeyDown: (B) => {\n var R;\n B.key === \"Escape\" && (B.preventDefault(), z(), (R = L.current) == null || R.focus());\n },\n children: [\n /* @__PURE__ */ t(Y, { fill: !0, ...X.surface }),\n /* @__PURE__ */ t(\"div\", { className: W.options, children: l.map((B, R) => (\n // biome-ignore lint/a11y/useKeyWithClickEvents: keyboard selection is handled on the combobox trigger (arrow keys + Enter) via aria-activedescendant; options are pointer targets only.\n /* @__PURE__ */ t(\n \"div\",\n {\n id: `${x}-option-${R}`,\n role: \"option\",\n \"aria-selected\": B.value === S,\n tabIndex: -1,\n \"data-option-index\": R,\n className: k(\n W.option,\n B.value === S && W.optionSelected,\n R === u && W.optionHighlighted,\n B.disabled && W.optionDisabled\n ),\n onClick: (H) => {\n H.stopPropagation(), Ue(B);\n },\n onMouseEnter: () => y(R),\n children: B.label\n },\n B.value\n )\n )) })\n ]\n }\n ),\n document.body\n ),\n o && /* @__PURE__ */ t(\"span\", { className: k(W.helperText, a && W.helperError), children: o })\n ]\n }\n );\n}\nfunction ur({ className: e }) {\n return /* @__PURE__ */ t(\n \"svg\",\n {\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n className: e,\n \"aria-hidden\": \"true\",\n children: /* @__PURE__ */ t(\"polyline\", { points: \"6 9 12 15 18 9\" })\n }\n );\n}\nconst mr = \"tabs-module__tabs___UMeM9\", hr = \"tabs-module__tabBar___qKukf\", br = \"tabs-module__tabButton___DyC14\", pr = \"tabs-module__content___F1vOY\", De = {\n tabs: mr,\n tabBar: hr,\n tabButton: br,\n content: pr\n};\nfunction _d({\n items: e,\n activeKey: o,\n defaultActiveKey: a,\n onSelect: n,\n surface: r = \"paper\",\n className: l\n}) {\n var g;\n const c = ae(), [s, i] = O(a ?? ((g = e[0]) == null ? void 0 : g.id)), d = o !== void 0, _ = d ? o : s, m = q(/* @__PURE__ */ new Map()), h = e.find((u) => u.id === _), v = (u) => {\n d || i(u), n == null || n(u);\n }, p = (u) => {\n var I;\n if (e.length === 0) return;\n const y = e.findIndex((w) => w.id === _);\n let N;\n switch (u.key) {\n case \"ArrowRight\":\n N = (y + 1) % e.length;\n break;\n case \"ArrowLeft\":\n N = (y - 1 + e.length) % e.length;\n break;\n case \"Home\":\n N = 0;\n break;\n case \"End\":\n N = e.length - 1;\n break;\n default:\n return;\n }\n u.preventDefault();\n const T = e[N];\n v(T.id), (I = m.current.get(T.id)) == null || I.focus();\n }, x = (u) => `${c}-tab-${u}`, f = (u) => `${c}-panel-${u}`;\n return /* @__PURE__ */ b(\"div\", { className: k(De.tabs, l), children: [\n /* @__PURE__ */ t(\"div\", { className: De.tabBar, role: \"tablist\", onKeyDown: p, children: e.map((u) => {\n const y = u.id === _;\n return /* @__PURE__ */ t(\n Je,\n {\n ref: (N) => {\n N ? m.current.set(u.id, N) : m.current.delete(u.id);\n },\n variant: \"ghost\",\n isActive: y,\n icon: u.icon,\n onClick: () => v(u.id),\n className: De.tabButton,\n role: \"tab\",\n id: x(u.id),\n \"aria-selected\": y,\n \"aria-controls\": u.children ? f(u.id) : void 0,\n tabIndex: y ? 0 : -1,\n children: u.label\n },\n u.id\n );\n }) }),\n (h == null ? void 0 : h.children) && /* @__PURE__ */ t(\n \"div\",\n {\n role: \"tabpanel\",\n id: f(h.id),\n \"aria-labelledby\": x(h.id),\n tabIndex: 0,\n children: /* @__PURE__ */ t(Rl, { surface: r, className: De.content, children: h.children })\n }\n )\n ] });\n}\nfunction yt({ variant: e }) {\n switch (e) {\n case \"info\":\n return /* @__PURE__ */ b(\n \"svg\",\n {\n width: \"20\",\n height: \"20\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2.5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n \"aria-hidden\": \"true\",\n children: [\n /* @__PURE__ */ t(\"circle\", { cx: \"12\", cy: \"12\", r: \"10\" }),\n /* @__PURE__ */ t(\"line\", { x1: \"12\", y1: \"16\", x2: \"12\", y2: \"12\" }),\n /* @__PURE__ */ t(\"circle\", { cx: \"12\", cy: \"8\", r: \"0.5\", fill: \"currentColor\" })\n ]\n }\n );\n case \"success\":\n return /* @__PURE__ */ b(\n \"svg\",\n {\n width: \"20\",\n height: \"20\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2.5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n \"aria-hidden\": \"true\",\n children: [\n /* @__PURE__ */ t(\"path\", { d: \"M22 11.08V12a10 10 0 1 1-5.93-9.14\" }),\n /* @__PURE__ */ t(\"polyline\", { points: \"22 4 12 14.01 9 11.01\" })\n ]\n }\n );\n case \"warning\":\n return /* @__PURE__ */ b(\n \"svg\",\n {\n width: \"20\",\n height: \"20\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2.5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n \"aria-hidden\": \"true\",\n children: [\n /* @__PURE__ */ t(\"path\", { d: \"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\" }),\n /* @__PURE__ */ t(\"line\", { x1: \"12\", y1: \"9\", x2: \"12\", y2: \"13\" }),\n /* @__PURE__ */ t(\"line\", { x1: \"12\", y1: \"17\", x2: \"12.01\", y2: \"17\" })\n ]\n }\n );\n case \"error\":\n return /* @__PURE__ */ b(\n \"svg\",\n {\n width: \"20\",\n height: \"20\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2.5\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n \"aria-hidden\": \"true\",\n children: [\n /* @__PURE__ */ t(\"circle\", { cx: \"12\", cy: \"12\", r: \"10\" }),\n /* @__PURE__ */ t(\"line\", { x1: \"15\", y1: \"9\", x2: \"9\", y2: \"15\" }),\n /* @__PURE__ */ t(\"line\", { x1: \"9\", y1: \"9\", x2: \"15\", y2: \"15\" })\n ]\n }\n );\n }\n}\nconst fr = \"alert-module__alert___j7ZRS\", gr = \"alert-module__surface___IaVgU\", kr = \"alert-module__iconWrapper___kLoxT\", vr = \"alert-module__message___klR2U\", yr = \"alert-module__dismiss___f2uoG\", xr = \"alert-module__info___PBo1l\", wr = \"alert-module__success___AVBKS\", $r = \"alert-module__warning___zkMaJ\", Nr = \"alert-module__error___cxg96\", Cr = \"alert-module__chalkboard___7pgWk\", ge = {\n alert: fr,\n surface: gr,\n iconWrapper: kr,\n message: vr,\n dismiss: yr,\n info: xr,\n success: wr,\n warning: $r,\n error: Nr,\n chalkboard: Cr\n};\nfunction ud({\n children: e,\n variant: o = \"info\",\n surface: a = \"paper\",\n texture: n = \"kraft\",\n dismissible: r = !1,\n onDismiss: l,\n className: c\n}) {\n const s = a === \"chalkboard\";\n return /* @__PURE__ */ b(\n \"div\",\n {\n className: k(ge.alert, ge[o], s && ge.chalkboard, c),\n role: o === \"warning\" || o === \"error\" ? \"alert\" : \"status\",\n children: [\n /* @__PURE__ */ t(Y, { clip: !0, ...X.surface }),\n /* @__PURE__ */ t(\"div\", { className: ge.surface, style: s ? void 0 : Be(n) }),\n /* @__PURE__ */ t(\"span\", { className: ge.iconWrapper, children: /* @__PURE__ */ t(yt, { variant: o }) }),\n /* @__PURE__ */ t(\"div\", { className: ge.message, children: e }),\n r && /* @__PURE__ */ t(\n \"button\",\n {\n type: \"button\",\n className: ge.dismiss,\n onClick: l,\n \"aria-label\": \"Dismiss alert\",\n children: /* @__PURE__ */ t(tt, { size: 16 })\n }\n )\n ]\n }\n );\n}\nconst Br = \"modal-module__overlay___a52Ni\", Er = \"modal-module__fadeIn___5OWd5\", Lr = \"modal-module__backdrop___RS4yj\", Rr = \"modal-module__modal___ZioOV\", Tr = \"modal-module__slideUp___vfFrm\", Ir = \"modal-module__small___hcxwF\", Ar = \"modal-module__medium___mjbM5\", Mr = \"modal-module__large___1dzyf\", Sr = \"modal-module__header___iP09B\", Fr = \"modal-module__title___nj06m\", Dr = \"modal-module__close___gQou9\", Wr = \"modal-module__body___Y-EdA\", Pr = \"modal-module__chalkboard___qY8qo\", de = {\n overlay: Br,\n fadeIn: Er,\n backdrop: Lr,\n modal: Rr,\n slideUp: Tr,\n small: Ir,\n medium: Ar,\n large: Mr,\n header: Sr,\n title: Fr,\n close: Dr,\n body: Wr,\n chalkboard: Pr\n}, Or = 'a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex=\"-1\"])';\nfunction md({\n open: e,\n onClose: o,\n title: a,\n children: n,\n size: r = \"medium\",\n surface: l = \"paper\",\n texture: c = !1,\n className: s\n}) {\n const i = ae(), d = q(null), _ = q(null);\n if (je(e, o), U(() => {\n var p;\n if (!e) return;\n _.current = document.activeElement, (p = d.current) == null || p.focus();\n const h = (x) => {\n var y;\n if (x.key !== \"Tab\") return;\n const f = (y = d.current) == null ? void 0 : y.querySelectorAll(Or);\n if (!f || f.length === 0) {\n x.preventDefault();\n return;\n }\n const g = f[0], u = f[f.length - 1];\n x.shiftKey && document.activeElement === g ? (x.preventDefault(), u.focus()) : !x.shiftKey && document.activeElement === u && (x.preventDefault(), g.focus());\n };\n document.addEventListener(\"keydown\", h);\n const v = document.body.style.overflow;\n return document.body.style.overflow = \"hidden\", () => {\n var x, f;\n document.removeEventListener(\"keydown\", h), document.body.style.overflow = v, (f = (x = _.current) == null ? void 0 : x.focus) == null || f.call(x);\n };\n }, [e]), !e || typeof document > \"u\") return null;\n const m = Be(c);\n return Ie(\n /* @__PURE__ */ b(\"div\", { className: de.overlay, children: [\n /* @__PURE__ */ t(\n \"button\",\n {\n type: \"button\",\n className: de.backdrop,\n \"aria-label\": \"Close modal\",\n onClick: o\n }\n ),\n /* @__PURE__ */ b(\n \"div\",\n {\n ref: d,\n className: k(\n de.modal,\n de[r],\n l === \"chalkboard\" && de.chalkboard,\n s\n ),\n style: m,\n role: \"dialog\",\n \"aria-modal\": \"true\",\n \"aria-labelledby\": a ? i : void 0,\n tabIndex: -1,\n children: [\n /* @__PURE__ */ b(\"div\", { className: de.header, children: [\n a && /* @__PURE__ */ t(\"h2\", { id: i, className: de.title, children: a }),\n /* @__PURE__ */ t(\"button\", { type: \"button\", className: de.close, onClick: o, \"aria-label\": \"Close modal\", children: /* @__PURE__ */ t(tt, { size: 18 }) })\n ] }),\n /* @__PURE__ */ t(\"div\", { className: de.body, children: n })\n ]\n }\n )\n ] }),\n document.body\n );\n}\nconst qr = \"textarea-module__wrapper___NbiNO\", zr = \"textarea-module__label___ejhyZ\", jr = \"textarea-module__field___KluQf\", Gr = \"textarea-module__textarea___0y-7v\", Hr = \"textarea-module__resizeGrip___lONlE\", Kr = \"textarea-module__small___yPyr8\", Ur = \"textarea-module__medium___ezQxA\", Vr = \"textarea-module__large___xfeKi\", Yr = \"textarea-module__error___EkXKJ\", Xr = \"textarea-module__disabled___9CKbb\", Qr = \"textarea-module__helperText___l1sPh\", Zr = \"textarea-module__helperError___VfTLy\", Jr = \"textarea-module__chalkboard___zZ0X0\", ne = {\n wrapper: qr,\n label: zr,\n field: jr,\n textarea: Gr,\n resizeGrip: Hr,\n small: Kr,\n medium: Ur,\n large: Vr,\n error: Yr,\n disabled: Xr,\n helperText: Qr,\n helperError: Zr,\n chalkboard: Jr\n}, ec = 48, hd = xe(function({ label: o, helperText: a, error: n = !1, size: r = \"medium\", surface: l = \"paper\", className: c, id: s, ...i }, d) {\n const _ = ae(), m = s ?? _, h = q(null), v = Z(\n (x) => {\n h.current = x, typeof d == \"function\" ? d(x) : d && (d.current = x);\n },\n [d]\n ), p = Z((x) => {\n const f = h.current;\n if (!f) return;\n x.preventDefault();\n const g = x.clientY, u = f.offsetHeight, y = (T) => {\n f.style.height = `${Math.max(ec, u + T.clientY - g)}px`;\n }, N = () => {\n window.removeEventListener(\"pointermove\", y), window.removeEventListener(\"pointerup\", N);\n };\n window.addEventListener(\"pointermove\", y), window.addEventListener(\"pointerup\", N);\n }, []);\n return /* @__PURE__ */ b(\"div\", { className: k(ne.wrapper, l === \"chalkboard\" && ne.chalkboard, c), children: [\n o && /* @__PURE__ */ t(\"label\", { htmlFor: m, className: ne.label, children: o }),\n /* @__PURE__ */ b(\n \"span\",\n {\n className: k(\n ne.field,\n ne[r],\n n && ne.error,\n i.disabled && ne.disabled\n ),\n children: [\n /* @__PURE__ */ t(\"textarea\", { ref: v, id: m, className: ne.textarea, ...i }),\n /* @__PURE__ */ t(Y, { fill: !0, ...X.field }),\n !i.disabled && /* @__PURE__ */ t(\n \"span\",\n {\n className: ne.resizeGrip,\n onPointerDown: p,\n \"aria-hidden\": \"true\",\n title: \"Drag to resize\",\n children: /* @__PURE__ */ b(\"svg\", { viewBox: \"0 0 12 12\", fill: \"none\", \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ t(\"path\", { d: \"M11 4.5 L4.5 11\" }),\n /* @__PURE__ */ t(\"path\", { d: \"M11 8.5 L8.5 11\" })\n ] })\n }\n )\n ]\n }\n ),\n a && /* @__PURE__ */ t(\"span\", { className: k(ne.helperText, n && ne.helperError), children: a })\n ] });\n}), tc = \"progress-module__track___a5BMO\", oc = \"progress-module__svg___3U0-E\", mt = {\n track: tc,\n svg: oc\n}, Qe = 300, he = 1;\nfunction bd({\n value: e,\n max: o = 100,\n color: a,\n height: n = 6,\n surface: r = \"paper\",\n className: l\n}) {\n const c = o > 0 ? Math.max(0, Math.min(100, Math.round(e / o * 100))) : 0, s = r === \"chalkboard\", i = Math.max(1, Math.round(Ke() * 1e6)), d = s ? K(C.chalkboardBorderBase, 0.16) : K(C.textPrimary, 0.12), _ = a ?? (s ? C.chalkboardChalk : C.textSecondary), m = ye(\n () => P.toPaths(\n P.rectangle(he, he, Qe - he * 2, n - he * 2, {\n seed: i,\n roughness: 2.2,\n fill: d,\n fillStyle: \"solid\",\n stroke: d,\n strokeWidth: 1.5\n })\n ),\n [i, d, n]\n ), h = Math.max(c / 100 * (Qe - he * 2), 0), v = ye(\n () => h > 0 ? P.toPaths(\n P.rectangle(he, he, h, n - he * 2, {\n seed: i + 1,\n roughness: 2,\n fill: _,\n fillStyle: \"solid\",\n stroke: _,\n strokeWidth: 1\n })\n ) : [],\n [i, _, h, n]\n );\n return /* @__PURE__ */ t(\"div\", { className: k(mt.track, l), style: { height: n, borderRadius: n / 2 }, children: /* @__PURE__ */ b(\n \"svg\",\n {\n className: mt.svg,\n viewBox: `0 0 ${Qe} ${n}`,\n preserveAspectRatio: \"none\",\n \"aria-hidden\": \"true\",\n children: [\n m.map((p, x) => /* @__PURE__ */ t(\"path\", { d: p.d, stroke: p.stroke, strokeWidth: p.strokeWidth, fill: p.fill }, x)),\n v.map((p, x) => /* @__PURE__ */ t(\"path\", { d: p.d, stroke: p.stroke, strokeWidth: p.strokeWidth, fill: p.fill }, x))\n ]\n }\n ) });\n}\nfunction ac(e) {\n const o = Ke();\n return ye(\n () => ({\n blob: jt({ seed: o, wobble: e }),\n ring: Gt(o, e)\n }),\n [o, e]\n );\n}\nconst nc = \"list-item-module__listItem___-tw9O\", lc = \"list-item-module__clickable___GLJmd\", rc = \"list-item-module__blobBg___O3Mzh\", cc = \"list-item-module__blobFill___dXHk1\", sc = \"list-item-module__blobRing___S9mas\", ic = \"list-item-module__active___UsL8O\", dc = \"list-item-module__small___9dphK\", _c = \"list-item-module__medium___yGZCr\", uc = \"list-item-module__icon___2b4wU\", mc = \"list-item-module__label___SIzJ4\", hc = \"list-item-module__action___qGh0-\", bc = \"list-item-module__chalkboard___qpWuM\", ee = {\n listItem: nc,\n static: \"list-item-module__static___qtEX6\",\n clickable: lc,\n blobBg: rc,\n blobFill: cc,\n blobRing: sc,\n active: ic,\n small: dc,\n medium: _c,\n icon: uc,\n label: mc,\n action: hc,\n chalkboard: bc\n};\nfunction pd({\n active: e = !1,\n icon: o,\n action: a,\n size: n = \"medium\",\n wobble: r = 0.5,\n surface: l = \"paper\",\n children: c,\n className: s,\n ...i\n}) {\n const d = ac(r), _ = !!i.onClick;\n return /* @__PURE__ */ b(\n \"button\",\n {\n type: \"button\",\n className: k(\n ee.listItem,\n ee[n],\n _ && ee.clickable,\n !_ && !e && ee.static,\n e && ee.active,\n l === \"chalkboard\" && ee.chalkboard,\n s\n ),\n \"aria-current\": e ? \"page\" : void 0,\n ...i,\n children: [\n /* @__PURE__ */ b(\n \"svg\",\n {\n className: ee.blobBg,\n viewBox: \"-10 -10 120 120\",\n preserveAspectRatio: \"none\",\n \"aria-hidden\": \"true\",\n children: [\n /* @__PURE__ */ t(\"path\", { d: d.blob, className: ee.blobFill }),\n /* @__PURE__ */ t(\"path\", { d: d.ring, className: ee.blobRing })\n ]\n }\n ),\n o && /* @__PURE__ */ t(\"span\", { className: ee.icon, children: o }),\n /* @__PURE__ */ t(\"span\", { className: ee.label, children: c }),\n a && /* @__PURE__ */ t(\"span\", { className: ee.action, children: a })\n ]\n }\n );\n}\nconst pc = \"accordion-module__accordion___mqGl-\", fc = \"accordion-module__header___mLfbd\", gc = \"accordion-module__icon___Z90NR\", kc = \"accordion-module__title___HusgG\", vc = \"accordion-module__content___1K0td\", yc = \"accordion-module__chalkboard___am8r4\", xc = \"accordion-module__expanded___836xG\", ke = {\n accordion: pc,\n header: fc,\n icon: gc,\n title: kc,\n content: vc,\n chalkboard: yc,\n expanded: xc\n};\nfunction fd({\n title: e,\n children: o,\n expanded: a = !1,\n onToggle: n,\n surface: r = \"paper\",\n className: l\n}) {\n return /* @__PURE__ */ b(\n \"div\",\n {\n className: k(\n ke.accordion,\n a && ke.expanded,\n r === \"chalkboard\" && ke.chalkboard,\n l\n ),\n children: [\n /* @__PURE__ */ b(\"button\", { type: \"button\", className: ke.header, onClick: n, \"aria-expanded\": a, children: [\n /* @__PURE__ */ t(\"span\", { className: ke.icon, \"aria-hidden\": \"true\", children: /* @__PURE__ */ t(vt, { size: 14 }) }),\n /* @__PURE__ */ t(\"span\", { className: ke.title, children: e })\n ] }),\n a && /* @__PURE__ */ t(\"div\", { className: ke.content, children: o })\n ]\n }\n );\n}\nconst wc = \"icon-module__icon___2vrJz\", $c = \"icon-module__blobBg___ENPYJ\", Nc = \"icon-module__blobFill___IPbwQ\", Cc = \"icon-module__blobRing___1awqV\", Bc = \"icon-module__content___TaZR6\", Ec = \"icon-module__small___Xp--F\", Lc = \"icon-module__medium___tCjMB\", Rc = \"icon-module__large___vBtP7\", we = {\n icon: wc,\n blobBg: $c,\n blobFill: Nc,\n blobRing: Cc,\n content: Bc,\n small: Ec,\n medium: Lc,\n large: Rc\n}, Tc = { small: 20, medium: 24, large: 28 };\nfunction gd({ icon: e, size: o = \"medium\", wobble: a = 0.5, fillColor: n, className: r }) {\n const l = Ee(a), c = Tc[o];\n return /* @__PURE__ */ b(\"span\", { className: k(we.icon, we[o], r), children: [\n /* @__PURE__ */ b(\n \"svg\",\n {\n className: we.blobBg,\n viewBox: \"-10 -10 120 120\",\n preserveAspectRatio: \"none\",\n \"aria-hidden\": \"true\",\n children: [\n /* @__PURE__ */ t(\n \"path\",\n {\n d: l.blob,\n className: we.blobFill,\n style: n ? { fill: n } : void 0\n }\n ),\n /* @__PURE__ */ t(\"path\", { d: l.ring, className: we.blobRing })\n ]\n }\n ),\n /* @__PURE__ */ t(\"span\", { className: we.content, style: { width: c, height: c }, children: e })\n ] });\n}\nconst Ic = \"radio-module__group___4RWR9\", Ac = \"radio-module__horizontal___yWjeu\", Mc = \"radio-module__wrapper___BB05E\", Sc = \"radio-module__blobFill___p5BX4\", Fc = \"radio-module__labelLeft___ijB93\", Dc = \"radio-module__input___M2nFJ\", Wc = \"radio-module__box___H7ofS\", Pc = \"radio-module__dot___jVJ-d\", Oc = \"radio-module__boxWrapper___Y3qis\", qc = \"radio-module__blobBg___IR-M5\", zc = \"radio-module__labelText___I-nu3\", jc = \"radio-module__chalkboard___IIBqI\", te = {\n group: Ic,\n horizontal: Ac,\n wrapper: Mc,\n blobFill: Sc,\n labelLeft: Fc,\n input: Dc,\n box: Wc,\n dot: Pc,\n boxWrapper: Oc,\n blobBg: qc,\n labelText: zc,\n chalkboard: jc\n}, Gc = xe(function({\n label: o,\n labelPosition: a = \"right\",\n wobble: n = 0.4,\n surface: r = \"paper\",\n className: l,\n checked: c,\n onChange: s,\n id: i,\n ...d\n}, _) {\n const m = ae(), h = i ?? m, v = Ee(n);\n return /* @__PURE__ */ b(\n \"label\",\n {\n className: k(\n te.wrapper,\n a === \"left\" && te.labelLeft,\n r === \"chalkboard\" && te.chalkboard,\n l\n ),\n htmlFor: h,\n children: [\n /* @__PURE__ */ b(\"span\", { className: te.boxWrapper, children: [\n /* @__PURE__ */ t(\n \"input\",\n {\n ref: _,\n id: h,\n type: \"radio\",\n className: te.input,\n checked: c,\n onChange: s,\n ...d\n }\n ),\n /* @__PURE__ */ t(\n \"svg\",\n {\n className: te.blobBg,\n viewBox: \"-10 -10 120 120\",\n preserveAspectRatio: \"none\",\n \"aria-hidden\": \"true\",\n children: /* @__PURE__ */ t(\"path\", { d: v.blob, className: te.blobFill })\n }\n ),\n /* @__PURE__ */ b(\"span\", { className: te.box, \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ t(Y, { smooth: !0, shape: \"circle\", ...X.control }),\n /* @__PURE__ */ t(\"span\", { className: te.dot })\n ] })\n ] }),\n o && /* @__PURE__ */ t(\"span\", { className: te.labelText, children: o })\n ]\n }\n );\n});\nfunction kd({\n options: e,\n value: o,\n onChange: a,\n name: n,\n orientation: r = \"vertical\",\n surface: l = \"paper\",\n className: c\n}) {\n const s = ae(), i = n ?? s;\n return /* @__PURE__ */ t(\n \"div\",\n {\n role: \"radiogroup\",\n className: k(te.group, r === \"horizontal\" && te.horizontal, c),\n children: e.map((d) => /* @__PURE__ */ t(\n Gc,\n {\n name: i,\n value: d.value,\n label: d.label,\n checked: o === d.value,\n disabled: d.disabled,\n surface: l,\n onChange: () => a == null ? void 0 : a(d.value)\n },\n d.value\n ))\n }\n );\n}\nconst Hc = \"switch-module__wrapper___5-2P1\", Kc = \"switch-module__labelLeft___WlT-N\", Uc = \"switch-module__input___YKZRj\", Vc = \"switch-module__track___QNvnO\", Yc = \"switch-module__thumb___cunvF\", Xc = \"switch-module__small___WPIxc\", Qc = \"switch-module__medium___yPulW\", Zc = \"switch-module__large___VlKV1\", Jc = \"switch-module__labelText___9Qg39\", es = \"switch-module__chalkboard___qKTMz\", be = {\n wrapper: Hc,\n labelLeft: Kc,\n input: Uc,\n track: Vc,\n thumb: Yc,\n small: Xc,\n medium: Qc,\n large: Zc,\n labelText: Jc,\n chalkboard: es\n}, vd = xe(function({\n label: o,\n labelPosition: a = \"right\",\n size: n = \"medium\",\n surface: r = \"paper\",\n className: l,\n checked: c,\n onChange: s,\n id: i,\n ...d\n}, _) {\n const m = ae(), h = i ?? m;\n return /* @__PURE__ */ b(\n \"label\",\n {\n className: k(\n be.wrapper,\n be[n],\n a === \"left\" && be.labelLeft,\n r === \"chalkboard\" && be.chalkboard,\n l\n ),\n htmlFor: h,\n children: [\n /* @__PURE__ */ t(\n \"input\",\n {\n ref: _,\n id: h,\n type: \"checkbox\",\n className: be.input,\n checked: c,\n onChange: s,\n ...d\n }\n ),\n /* @__PURE__ */ b(\"span\", { className: be.track, \"aria-hidden\": \"true\", children: [\n /* @__PURE__ */ t(Y, { ...X.pill }),\n /* @__PURE__ */ t(\"span\", { className: be.thumb })\n ] }),\n o && /* @__PURE__ */ t(\"span\", { className: be.labelText, children: o })\n ]\n }\n );\n}), ts = \"spinner-module__spinner___FDTk2\", os = \"spinner-module__chalkboard___DLE1z\", as = \"spinner-module__svg___JnCWN\", ns = \"spinner-module__track___xbnbo\", ls = \"spinner-module__head___j5dWe\", Le = {\n spinner: ts,\n chalkboard: os,\n svg: as,\n track: ns,\n head: ls\n}, rs = { small: 18, medium: 28, large: 40 }, ht = 25, cs = 18, bt = P.toPaths(\n P.circle(ht, ht, cs * 2, {\n seed: 7,\n roughness: 1.15,\n disableMultiStroke: !0\n })\n).map((e) => e.d).join(\" \");\nfunction yd({\n size: e = \"medium\",\n color: o,\n label: a = \"Loading\",\n surface: n = \"paper\",\n className: r\n}) {\n const l = rs[e];\n return /* @__PURE__ */ t(\n \"span\",\n {\n className: k(Le.spinner, n === \"chalkboard\" && Le.chalkboard, r),\n role: \"status\",\n \"aria-label\": a,\n children: /* @__PURE__ */ b(\n \"svg\",\n {\n width: l,\n height: l,\n viewBox: \"0 0 50 50\",\n className: Le.svg,\n style: o ? { color: o } : void 0,\n \"aria-hidden\": \"true\",\n children: [\n /* @__PURE__ */ t(\n \"path\",\n {\n className: Le.track,\n d: bt,\n fill: \"none\",\n pathLength: 100,\n strokeLinecap: \"round\"\n }\n ),\n /* @__PURE__ */ t(\n \"path\",\n {\n className: Le.head,\n d: bt,\n fill: \"none\",\n pathLength: 100,\n strokeLinecap: \"round\"\n }\n )\n ]\n }\n )\n }\n );\n}\nconst ss = \"skeleton-module__skeleton___HCSvg\", is = \"skeleton-module__pulse___6eCq1\", ds = \"skeleton-module__svg___OzxGp\", _s = \"skeleton-module__text___v17Nv\", us = \"skeleton-module__rect___wqIJy\", ms = \"skeleton-module__circle___RCmyR\", Ze = {\n skeleton: ss,\n pulse: is,\n svg: ds,\n text: _s,\n rect: us,\n circle: ms\n}, pt = {\n text: [0, 0, 200, 24],\n rect: [0, 0, 200, 100],\n circle: [0, 0, 40, 40]\n}, $e = 2;\nfunction xd({\n variant: e = \"text\",\n width: o,\n height: a,\n surface: n = \"paper\",\n className: r,\n style: l\n}) {\n const c = n === \"chalkboard\", s = Math.max(1, Math.round(Ke() * 1e6)), i = c ? K(C.chalkboardBorderBase, 0.16) : K(C.textPrimary, 0.09), d = ye(() => {\n const [, , _, m] = pt[e], h = e === \"circle\" ? P.ellipse(_ / 2, m / 2, _ - $e * 2, m - $e * 2, {\n seed: s,\n roughness: 1.5,\n fill: i,\n fillStyle: \"solid\",\n stroke: i,\n strokeWidth: 1\n }) : P.rectangle($e, $e, _ - $e * 2, m - $e * 2, {\n seed: s,\n roughness: 1.4,\n fill: i,\n fillStyle: \"solid\",\n stroke: i,\n strokeWidth: 1\n });\n return P.toPaths(h);\n }, [e, s, i]);\n return /* @__PURE__ */ t(\n \"span\",\n {\n className: k(Ze.skeleton, Ze[e], r),\n style: { width: o, height: a, ...l },\n \"aria-hidden\": \"true\",\n children: /* @__PURE__ */ t(\n \"svg\",\n {\n className: Ze.svg,\n viewBox: pt[e].join(\" \"),\n preserveAspectRatio: \"none\",\n \"aria-hidden\": \"true\",\n children: d.map((_, m) => /* @__PURE__ */ t(\"path\", { d: _.d, stroke: _.stroke, strokeWidth: _.strokeWidth, fill: _.fill }, m))\n }\n )\n }\n );\n}\nconst hs = \"divider-module__horizontal___tP3rG\", bs = \"divider-module__line___KnBes\", ps = \"divider-module__label___WiUwZ\", fs = \"divider-module__vertical___wBSrT\", gs = \"divider-module__chalkboard___gXTde\", Ne = {\n horizontal: hs,\n line: bs,\n label: ps,\n vertical: fs,\n chalkboard: gs\n};\nfunction wd({\n orientation: e = \"horizontal\",\n label: o,\n surface: a = \"paper\",\n className: n\n}) {\n const r = a === \"chalkboard\" && Ne.chalkboard;\n return e === \"vertical\" ? (\n // biome-ignore lint/a11y/useFocusableInteractive: a static decorative separator, not an adjustable splitter, so it is intentionally not focusable.\n /* @__PURE__ */ t(\n \"span\",\n {\n className: k(Ne.vertical, r, n),\n role: \"separator\",\n \"aria-orientation\": \"vertical\"\n }\n )\n ) : (\n // biome-ignore lint/a11y/useFocusableInteractive: a static decorative separator, not an adjustable splitter, so it is intentionally not focusable.\n /* @__PURE__ */ b(\"div\", { className: k(Ne.horizontal, r, n), role: \"separator\", children: [\n /* @__PURE__ */ t(\"span\", { className: Ne.line }),\n o != null && /* @__PURE__ */ b(Nt, { children: [\n /* @__PURE__ */ t(\"span\", { className: Ne.label, children: o }),\n /* @__PURE__ */ t(\"span\", { className: Ne.line })\n ] })\n ] })\n );\n}\nconst ks = \"tooltip-module__wrapper___XeVNe\", vs = \"tooltip-module__tooltip___e-rkz\", ys = \"tooltip-module__tooltipIn___CZbRw\", xs = \"tooltip-module__top___78WWU\", ws = \"tooltip-module__bottom___Irl3O\", $s = \"tooltip-module__left___C1Ec4\", Ns = \"tooltip-module__right___oUA-Z\", Cs = \"tooltip-module__chalkboard___Um6dx\", We = {\n wrapper: ks,\n tooltip: vs,\n tooltipIn: ys,\n top: xs,\n bottom: ws,\n left: $s,\n right: Ns,\n chalkboard: Cs\n}, Pe = 8, Oe = 8, Bs = typeof window > \"u\" ? U : Lt;\nfunction Es(e, o, a) {\n let n, r;\n switch (o) {\n case \"bottom\":\n n = e.bottom + Pe, r = e.left + e.width / 2 - a.width / 2;\n break;\n case \"left\":\n n = e.top + e.height / 2 - a.height / 2, r = e.left - Pe - a.width;\n break;\n case \"right\":\n n = e.top + e.height / 2 - a.height / 2, r = e.right + Pe;\n break;\n default:\n n = e.top - Pe - a.height, r = e.left + e.width / 2 - a.width / 2;\n }\n return r = Math.min(\n Math.max(r, Oe),\n window.innerWidth - a.width - Oe\n ), n = Math.min(\n Math.max(n, Oe),\n window.innerHeight - a.height - Oe\n ), { top: n, left: r };\n}\nfunction $d({\n content: e,\n children: o,\n placement: a = \"top\",\n delay: n = 300,\n disabled: r = !1,\n surface: l = \"paper\"\n}) {\n const c = ae(), [s, i] = O(!1), [d, _] = O(!1), [m, h] = O(!1), [v, p] = O(null), [x, f] = O(null), g = q(null), u = q(null), y = q(), N = !r && !!e && !m && (s || d), T = () => {\n clearTimeout(y.current), y.current = setTimeout(() => i(!0), n);\n }, I = () => {\n clearTimeout(y.current), i(!1), h(!1);\n }, w = () => {\n h(!1), _(!0);\n }, L = () => {\n _(!1), h(!1);\n };\n je(N, () => h(!0)), U(() => {\n if (!N) {\n p(null);\n return;\n }\n const A = () => {\n g.current && p(g.current.getBoundingClientRect());\n };\n return A(), window.addEventListener(\"scroll\", A, { capture: !0, passive: !0 }), window.addEventListener(\"resize\", A, { passive: !0 }), () => {\n window.removeEventListener(\"scroll\", A, { capture: !0 }), window.removeEventListener(\"resize\", A);\n };\n }, [N]), Bs(() => {\n if (!N) {\n f(null);\n return;\n }\n const A = u.current;\n A && f({ width: A.offsetWidth, height: A.offsetHeight });\n }, [N, e, a]), U(() => () => clearTimeout(y.current), []);\n const $ = o.props;\n return /* @__PURE__ */ b(\n \"span\",\n {\n ref: g,\n className: We.wrapper,\n onMouseEnter: T,\n onMouseLeave: I,\n onFocus: w,\n onBlur: L,\n children: [\n gt(o, {\n \"aria-describedby\": N ? c : $[\"aria-describedby\"]\n }),\n N && v && typeof document < \"u\" && Ie(\n /* @__PURE__ */ t(\n \"span\",\n {\n ref: u,\n id: c,\n role: \"tooltip\",\n className: k(\n We.tooltip,\n We[a],\n l === \"chalkboard\" && We.chalkboard\n ),\n style: x ? { position: \"fixed\", ...Es(v, a, x) } : { position: \"fixed\", top: 0, left: 0, visibility: \"hidden\" },\n children: e\n }\n ),\n document.body\n )\n ]\n }\n );\n}\nconst Ls = \"toast-module__stack___hDi0s\", Rs = \"toast-module__topLeft___Luw-F\", Ts = \"toast-module__topCenter___N1DwF\", Is = \"toast-module__topRight___Dtgau\", As = \"toast-module__bottomLeft___Eb2lo\", Ms = \"toast-module__bottomCenter___gs-Yb\", Ss = \"toast-module__bottomRight___-0e2j\", Fs = \"toast-module__item___RFjtm\", Ds = \"toast-module__toastIn___9m9iN\", Ws = \"toast-module__card___ZCvJS\", Ps = \"toast-module__surface___mfMl0\", Os = \"toast-module__iconWrapper___lnjcC\", qs = \"toast-module__content___AlliM\", zs = \"toast-module__title___1Oqh8\", js = \"toast-module__description___eiUSB\", Gs = \"toast-module__dismiss___tUGx4\", Hs = \"toast-module__info___Nh8S9\", Ks = \"toast-module__success___hlKLc\", Us = \"toast-module__warning___XUMJt\", Vs = \"toast-module__error___pSFFC\", Ys = \"toast-module__chalkboard___c49gt\", oe = {\n stack: Ls,\n topLeft: Rs,\n topCenter: Ts,\n topRight: Is,\n bottomLeft: As,\n bottomCenter: Ms,\n bottomRight: Ss,\n item: Fs,\n toastIn: Ds,\n card: Ws,\n surface: Ps,\n iconWrapper: Os,\n content: qs,\n title: zs,\n description: js,\n dismiss: Gs,\n info: Hs,\n success: Ks,\n warning: Us,\n error: Vs,\n chalkboard: Ys\n};\nfunction Xs({ record: e, surface: o = \"paper\", onDismiss: a }) {\n const n = q(e.duration), r = q(0), l = q(), c = Z(\n (m) => {\n clearTimeout(l.current), !(m <= 0) && (r.current = Date.now(), l.current = setTimeout(() => a(e.id), m));\n },\n [a, e.id]\n );\n U(() => (c(e.duration), () => clearTimeout(l.current)), [c, e.duration]);\n const s = () => {\n l.current && (clearTimeout(l.current), n.current -= Date.now() - r.current);\n }, i = () => c(n.current), d = o === \"chalkboard\", _ = e.variant === \"warning\" || e.variant === \"error\" ? \"alert\" : \"status\";\n return /* @__PURE__ */ t(\"div\", { className: oe.item, onMouseEnter: s, onMouseLeave: i, children: /* @__PURE__ */ b(\n \"div\",\n {\n className: k(oe.card, oe[e.variant], d && oe.chalkboard),\n role: _,\n children: [\n /* @__PURE__ */ t(Y, { clip: !0, ...X.surface }),\n /* @__PURE__ */ t(\n \"div\",\n {\n className: oe.surface,\n style: d ? void 0 : Be(\"kraft\")\n }\n ),\n /* @__PURE__ */ t(\"span\", { className: oe.iconWrapper, children: /* @__PURE__ */ t(yt, { variant: e.variant }) }),\n /* @__PURE__ */ b(\"div\", { className: oe.content, children: [\n e.title && /* @__PURE__ */ t(\"div\", { className: oe.title, children: e.title }),\n /* @__PURE__ */ t(\"div\", { className: oe.description, children: e.description })\n ] }),\n /* @__PURE__ */ t(\n \"button\",\n {\n type: \"button\",\n className: oe.dismiss,\n onClick: () => a(e.id),\n \"aria-label\": \"Dismiss notification\",\n children: /* @__PURE__ */ t(tt, { size: 16 })\n }\n )\n ]\n }\n ) });\n}\nconst xt = Rt(null);\nfunction Qs(e) {\n return e.replace(/-([a-z])/g, (o, a) => a.toUpperCase());\n}\nfunction Nd({\n children: e,\n position: o = \"bottom-right\",\n surface: a = \"paper\",\n defaultDuration: n = 5e3\n}) {\n const [r, l] = O([]), c = q(0), s = Z((_) => {\n l((m) => m.filter((h) => h.id !== _));\n }, []), i = Z(\n (_) => {\n c.current += 1;\n const m = `toast-${c.current}`;\n return l((h) => [\n ...h,\n {\n id: m,\n title: _.title,\n description: _.description,\n variant: _.variant ?? \"info\",\n duration: _.duration ?? n\n }\n ]), m;\n },\n [n]\n ), d = o.startsWith(\"top\") ? [...r].reverse() : r;\n return /* @__PURE__ */ b(xt.Provider, { value: { toast: i, dismiss: s }, children: [\n e,\n typeof document < \"u\" && Ie(\n /* @__PURE__ */ t(\n \"div\",\n {\n className: k(oe.stack, oe[Qs(o)]),\n role: \"region\",\n \"aria-label\": \"Notifications\",\n children: d.map((_) => /* @__PURE__ */ t(Xs, { record: _, surface: a, onDismiss: s }, _.id))\n }\n ),\n document.body\n )\n ] });\n}\nfunction Cd() {\n const e = Tt(xt);\n if (!e)\n throw new Error(\"useToast must be used within a <ToastProvider>\");\n return e;\n}\nconst Zs = \"avatar-module__avatar___gw6mG\", Js = \"avatar-module__surface___TYxHH\", ei = \"avatar-module__circle___EHI7d\", ti = \"avatar-module__square___Hx-84\", oi = \"avatar-module__small___CPLh1\", ai = \"avatar-module__medium___1Nmcy\", ni = \"avatar-module__large___1CKR4\", li = \"avatar-module__xlarge___TY6p6\", ri = \"avatar-module__image___yuWcg\", ci = \"avatar-module__blue___HGIn3\", si = \"avatar-module__green___ee9-J\", ii = \"avatar-module__amber___A-ih1\", di = \"avatar-module__rose___eozxi\", _i = \"avatar-module__slate___bUlWM\", ui = \"avatar-module__chalkboard___n2ZKN\", ve = {\n avatar: Zs,\n surface: Js,\n circle: ei,\n square: ti,\n small: oi,\n medium: ai,\n large: ni,\n xlarge: li,\n image: ri,\n blue: ci,\n green: si,\n amber: ii,\n rose: di,\n slate: _i,\n chalkboard: ui\n}, ft = [\"blue\", \"green\", \"amber\", \"rose\", \"slate\"];\nfunction mi(e) {\n const o = e.trim().split(/\\s+/).filter(Boolean), a = o.at(0) ?? \"\", n = o.length > 1 ? o.at(-1) : void 0;\n return n ? `${a[0]}${n[0]}`.toUpperCase() : a.slice(0, 2).toUpperCase();\n}\nfunction hi(e) {\n let o = 0;\n for (let a = 0; a < e.length; a++)\n o = o * 31 + e.charCodeAt(a) >>> 0;\n return ft[o % ft.length] ?? \"slate\";\n}\nfunction Bd({\n src: e,\n alt: o,\n name: a = \"\",\n size: n = \"medium\",\n shape: r = \"circle\",\n surface: l = \"paper\",\n className: c\n}) {\n const s = mi(a), i = hi(a || \"paper-ui\");\n return /* @__PURE__ */ b(\n \"span\",\n {\n className: k(\n ve.avatar,\n ve[n],\n ve[r],\n !e && ve[i],\n l === \"chalkboard\" && ve.chalkboard,\n c\n ),\n role: e ? void 0 : \"img\",\n \"aria-label\": e ? void 0 : o || a || void 0,\n children: [\n /* @__PURE__ */ t(\n Y,\n {\n smooth: !0,\n clip: !0,\n shape: r === \"circle\" ? \"circle\" : \"rect\",\n ...X.control\n }\n ),\n /* @__PURE__ */ t(\"span\", { className: ve.surface, children: e ? /* @__PURE__ */ t(\"img\", { className: ve.image, src: e, alt: o ?? a }) : /* @__PURE__ */ t(\"span\", { \"aria-hidden\": \"true\", children: s }) })\n ]\n }\n );\n}\nconst bi = \"breadcrumb-module__breadcrumb___r-ILp\", pi = \"breadcrumb-module__list___V3YFy\", fi = \"breadcrumb-module__item___dDwYf\", gi = \"breadcrumb-module__link___CHC9k\", ki = \"breadcrumb-module__linkButton___XoMW-\", vi = \"breadcrumb-module__current___dprI9\", yi = \"breadcrumb-module__separator___uLhtn\", xi = \"breadcrumb-module__chalkboard___COJpw\", ce = {\n breadcrumb: bi,\n list: pi,\n item: fi,\n link: gi,\n linkButton: ki,\n current: vi,\n static: \"breadcrumb-module__static___affaf\",\n separator: yi,\n chalkboard: xi\n};\nfunction Ed({ items: e, surface: o = \"paper\", className: a }) {\n return /* @__PURE__ */ t(\n \"nav\",\n {\n \"aria-label\": \"Breadcrumb\",\n className: k(ce.breadcrumb, o === \"chalkboard\" && ce.chalkboard, a),\n children: /* @__PURE__ */ t(\"ol\", { className: ce.list, children: e.map((n, r) => {\n const l = r === e.length - 1;\n return /* @__PURE__ */ b(\"li\", { className: ce.item, children: [\n l ? /* @__PURE__ */ t(\"span\", { className: ce.current, \"aria-current\": \"page\", children: n.label }) : n.href ? /* @__PURE__ */ t(\"a\", { href: n.href, className: ce.link, onClick: n.onClick, children: n.label }) : n.onClick ? /* @__PURE__ */ t(\n \"button\",\n {\n type: \"button\",\n className: k(ce.link, ce.linkButton),\n onClick: n.onClick,\n children: n.label\n }\n ) : /* @__PURE__ */ t(\"span\", { className: ce.static, children: n.label }),\n !l && /* @__PURE__ */ t(wi, { className: ce.separator })\n ] }, n.id);\n }) })\n }\n );\n}\nfunction wi({ className: e }) {\n return /* @__PURE__ */ t(\n \"svg\",\n {\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n className: e,\n \"aria-hidden\": \"true\",\n children: /* @__PURE__ */ t(\"polyline\", { points: \"9 18 15 12 9 6\" })\n }\n );\n}\nconst $i = \"pagination-module__pagination___XUA2y\", Ni = \"pagination-module__list___20YPz\", Ci = \"pagination-module__pageButton___-T5D5\", Bi = \"pagination-module__dots___gL2WQ\", qe = {\n pagination: $i,\n list: Ni,\n pageButton: Ci,\n dots: Bi\n}, Re = \"dots\";\nfunction ze(e, o) {\n return Array.from({ length: o - e + 1 }, (a, n) => e + n);\n}\nfunction Ei(e, o, a) {\n const n = a * 2 + 5;\n if (o <= n)\n return ze(1, o);\n const r = Math.max(e - a, 1), l = Math.min(e + a, o), c = r > 2, s = l < o - 1;\n if (!c && s)\n return [...ze(1, 3 + a * 2), Re, o];\n if (c && !s) {\n const i = 3 + a * 2;\n return [1, Re, ...ze(o - i + 1, o)];\n }\n return [1, Re, ...ze(r, l), Re, o];\n}\nfunction Ld({\n page: e,\n totalPages: o,\n onPageChange: a,\n siblingCount: n = 1,\n surface: r = \"paper\",\n className: l\n}) {\n if (o <= 1) return null;\n const c = Ei(e, o, n);\n return /* @__PURE__ */ b(\"nav\", { className: k(qe.pagination, l), \"aria-label\": \"Pagination\", children: [\n /* @__PURE__ */ t(\n dt,\n {\n icon: /* @__PURE__ */ t(Li, {}),\n label: \"Previous page\",\n variant: \"ghost\",\n surface: r,\n size: \"small\",\n disabled: e <= 1,\n onClick: () => a(e - 1)\n }\n ),\n /* @__PURE__ */ t(\"ul\", { className: qe.list, children: c.map(\n (s, i) => s === Re ? /* @__PURE__ */ t(\"li\", { className: qe.dots, \"aria-hidden\": \"true\", children: \"…\" }, `dots-${i}`) : /* @__PURE__ */ t(\"li\", { children: /* @__PURE__ */ t(\n Je,\n {\n variant: \"ghost\",\n size: \"small\",\n surface: r,\n isActive: s === e,\n className: qe.pageButton,\n \"aria-current\": s === e ? \"page\" : void 0,\n onClick: () => a(s),\n children: s\n }\n ) }, s)\n ) }),\n /* @__PURE__ */ t(\n dt,\n {\n icon: /* @__PURE__ */ t(Ri, {}),\n label: \"Next page\",\n variant: \"ghost\",\n surface: r,\n size: \"small\",\n disabled: e >= o,\n onClick: () => a(e + 1)\n }\n )\n ] });\n}\nfunction Li() {\n return /* @__PURE__ */ t(\n \"svg\",\n {\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n \"aria-hidden\": \"true\",\n children: /* @__PURE__ */ t(\"polyline\", { points: \"15 18 9 12 15 6\" })\n }\n );\n}\nfunction Ri() {\n return /* @__PURE__ */ t(\n \"svg\",\n {\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n \"aria-hidden\": \"true\",\n children: /* @__PURE__ */ t(\"polyline\", { points: \"9 18 15 12 9 6\" })\n }\n );\n}\nconst Ti = \"menu-module__wrapper___WCtoy\", Ii = \"menu-module__menu___i40Wj\", Ai = \"menu-module__surface___SJbaB\", Mi = \"menu-module__list___YjCfD\", Si = \"menu-module__item___aqcgg\", Fi = \"menu-module__icon___1qUvA\", Di = \"menu-module__label___MtQMh\", Wi = \"menu-module__danger___p9oZo\", Pi = \"menu-module__itemDisabled___HByLP\", Oi = \"menu-module__separator___g2uay\", qi = \"menu-module__chalkboard___5jIwI\", le = {\n wrapper: Ti,\n menu: Ii,\n surface: Ai,\n list: Mi,\n item: Si,\n icon: Fi,\n label: Di,\n danger: Wi,\n itemDisabled: Pi,\n separator: Oi,\n chalkboard: qi\n}, zi = 6;\nfunction ji(e) {\n return \"type\" in e && e.type === \"separator\";\n}\nfunction Rd({ trigger: e, items: o, align: a = \"start\", surface: n = \"paper\", className: r }) {\n const l = ae(), [c, s] = O(!1), [i, d] = O(null), _ = q(null), m = q(null), h = Z(() => {\n var g, u;\n (u = (g = _.current) == null ? void 0 : g.querySelector(\"button, a, [tabindex]\")) == null || u.focus();\n }, []), v = Z(() => s(!1), []);\n je(c, () => {\n v(), h();\n }), U(() => {\n if (!c) return;\n const g = (u) => {\n var N, T;\n const y = u.target;\n (N = _.current) != null && N.contains(y) || (T = m.current) != null && T.contains(y) || v();\n };\n return document.addEventListener(\"mousedown\", g), () => document.removeEventListener(\"mousedown\", g);\n }, [c, v]), U(() => {\n if (!c) {\n d(null);\n return;\n }\n const g = () => {\n _.current && d(_.current.getBoundingClientRect());\n };\n return g(), document.addEventListener(\"scroll\", g, { capture: !0, passive: !0 }), window.addEventListener(\"resize\", g, { passive: !0 }), () => {\n document.removeEventListener(\"scroll\", g, { capture: !0 }), window.removeEventListener(\"resize\", g);\n };\n }, [c]), U(() => {\n var g, u;\n !c || !i || (u = (g = m.current) == null ? void 0 : g.querySelector('[role=\"menuitem\"]:not(:disabled)')) == null || u.focus();\n }, [c, i]);\n const p = (g) => {\n var N, T, I, w, L;\n const u = Array.from(\n ((N = m.current) == null ? void 0 : N.querySelectorAll('[role=\"menuitem\"]:not(:disabled)')) ?? []\n );\n if (u.length === 0) return;\n const y = u.indexOf(document.activeElement);\n switch (g.key) {\n case \"ArrowDown\":\n g.preventDefault(), (T = u[(y + 1) % u.length]) == null || T.focus();\n break;\n case \"ArrowUp\":\n g.preventDefault(), (I = u[(y - 1 + u.length) % u.length]) == null || I.focus();\n break;\n case \"Home\":\n g.preventDefault(), (w = u[0]) == null || w.focus();\n break;\n case \"End\":\n g.preventDefault(), (L = u[u.length - 1]) == null || L.focus();\n break;\n case \"Tab\":\n v();\n break;\n }\n }, x = (g) => {\n var u;\n g.disabled || (v(), h(), (u = g.onSelect) == null || u.call(g));\n }, f = e.props;\n return /* @__PURE__ */ b(\"span\", { ref: _, className: le.wrapper, children: [\n gt(e, {\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": c,\n onClick: (g) => {\n var u;\n (u = f.onClick) == null || u.call(f, g), s((y) => !y);\n }\n }),\n c && i && typeof document < \"u\" && Ie(\n /* @__PURE__ */ b(\n \"div\",\n {\n ref: m,\n id: l,\n role: \"menu\",\n className: k(le.menu, n === \"chalkboard\" && le.chalkboard, r),\n style: {\n position: \"fixed\",\n top: i.bottom + zi,\n minWidth: i.width,\n ...a === \"end\" ? { right: window.innerWidth - i.right } : { left: i.left }\n },\n onKeyDown: p,\n children: [\n /* @__PURE__ */ t(Y, { clip: !0, ...X.surface }),\n /* @__PURE__ */ t(\"div\", { className: le.surface }),\n /* @__PURE__ */ t(\"div\", { className: le.list, children: o.map(\n (g) => ji(g) ? (\n // biome-ignore lint/a11y/useFocusableInteractive: a static visual divider between menu items, not an adjustable splitter, so it is intentionally not focusable.\n /* @__PURE__ */ t(\"div\", { role: \"separator\", className: le.separator }, g.id)\n ) : /* @__PURE__ */ b(\n \"button\",\n {\n type: \"button\",\n role: \"menuitem\",\n tabIndex: -1,\n disabled: g.disabled,\n className: k(\n le.item,\n g.danger && le.danger,\n g.disabled && le.itemDisabled\n ),\n onClick: () => x(g),\n children: [\n g.icon && /* @__PURE__ */ t(\"span\", { className: le.icon, children: g.icon }),\n /* @__PURE__ */ t(\"span\", { className: le.label, children: g.label })\n ]\n },\n g.id\n )\n ) })\n ]\n }\n ),\n document.body\n )\n ] });\n}\nexport {\n fd as Accordion,\n ud as Alert,\n Bd as Avatar,\n Ed as Breadcrumb,\n Je as Button,\n Rl as Card,\n ad as CheckIcon,\n Ji as Checkbox,\n tt as CloseIcon,\n td as CodeBlock,\n ut as CopyButton,\n nd as CopyIcon,\n wd as Divider,\n ld as FolderIcon,\n gd as Icon,\n dt as IconButton,\n id as Input,\n Zi as Island,\n Qi as Layout,\n od as LightbulbIcon,\n pd as ListItem,\n Rd as Menu,\n md as Modal,\n Ro as Page,\n Ld as Pagination,\n rd as PlusIcon,\n bd as Progress,\n cd as PropTable,\n Gc as Radio,\n kd as RadioGroup,\n dd as Select,\n xd as Skeleton,\n yd as Spinner,\n ed as Stamp,\n sd as Swatch,\n vd as Switch,\n Dn as Table,\n _d as Tabs,\n hd as Textarea,\n Nd as ToastProvider,\n $d as Tooltip,\n C as colors,\n kt as getSurfaceStyles,\n Te as getTextureStyles,\n Ve as layoutConfig,\n Be as resolveTexture,\n St as space,\n Pt as surfaceFillMap,\n Cd as useToast,\n K as withAlpha\n};\n//# sourceMappingURL=index.mjs.map\n","const createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const destroy = () => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n \"[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected.\"\n );\n }\n listeners.clear();\n };\n const api = { setState, getState, getInitialState, subscribe, destroy };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;\nvar vanilla = (createState) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n \"[DEPRECATED] Default export is deprecated. Instead use import { createStore } from 'zustand/vanilla'.\"\n );\n }\n return createStore(createState);\n};\n\nexport { createStore, vanilla as default };\n","import { createStore } from 'zustand/vanilla';\nexport * from 'zustand/vanilla';\nimport ReactExports from 'react';\nimport useSyncExternalStoreExports from 'use-sync-external-store/shim/with-selector.js';\n\nconst { useDebugValue } = ReactExports;\nconst { useSyncExternalStoreWithSelector } = useSyncExternalStoreExports;\nlet didWarnAboutEqualityFn = false;\nconst identity = (arg) => arg;\nfunction useStore(api, selector = identity, equalityFn) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && equalityFn && !didWarnAboutEqualityFn) {\n console.warn(\n \"[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937\"\n );\n didWarnAboutEqualityFn = true;\n }\n const slice = useSyncExternalStoreWithSelector(\n api.subscribe,\n api.getState,\n api.getServerState || api.getInitialState,\n selector,\n equalityFn\n );\n useDebugValue(slice);\n return slice;\n}\nconst createImpl = (createState) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && typeof createState !== \"function\") {\n console.warn(\n \"[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.\"\n );\n }\n const api = typeof createState === \"function\" ? createStore(createState) : createState;\n const useBoundStore = (selector, equalityFn) => useStore(api, selector, equalityFn);\n Object.assign(useBoundStore, api);\n return useBoundStore;\n};\nconst create = (createState) => createState ? createImpl(createState) : createImpl;\nvar react = (createState) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n \"[DEPRECATED] Default export is deprecated. Instead use `import { create } from 'zustand'`.\"\n );\n }\n return create(createState);\n};\n\nexport { create, react as default, useStore };\n","import type { DeskCheckState } from '@/types/index';\nimport { apiFetch, apiUrl } from './api-base';\n\nexport const fetchChecks = async (): Promise<DeskCheckState[]> => {\n const response = await apiFetch(apiUrl('/api/checks'));\n if (!response.ok) return [];\n const body = (await response.json()) as { checks?: DeskCheckState[] };\n return body.checks ?? [];\n};\n\nexport const runDeskCheck = async (name: string): Promise<void> => {\n const response = await apiFetch(apiUrl(`/api/checks/run?name=${encodeURIComponent(name)}`), {\n method: 'POST',\n });\n if (!response.ok) {\n const err = await response.json().catch(() => ({ error: 'Failed to run check' }));\n throw new Error(err.error ?? 'Failed to run check');\n }\n};\n\nexport const fixDeskCheck = async (name: string): Promise<DeskCheckState> => {\n const response = await apiFetch(apiUrl('/api/checks/fix'), {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ name }),\n });\n if (!response.ok) {\n const err = await response.json().catch(() => ({ error: 'Failed to fix check' }));\n throw new Error(err.error ?? 'Failed to fix check');\n }\n const body = (await response.json()) as { check: DeskCheckState };\n return body.check;\n};\n","import type { StoreApi } from 'zustand';\nimport type { AppStore } from '../app-store';\n\nexport type SetState = StoreApi<AppStore>['setState'];\nexport type GetState = StoreApi<AppStore>['getState'];\n\n// Collapses the fetch → set-on-success → fallback-on-error shape every load-slice below\n// re-spelled by hand; `loadingKey` is only needed by slices that show a spinner meanwhile.\nexport function loadSlice<T>(\n set: SetState,\n fetcher: () => Promise<T>,\n apply: (data: T) => Partial<AppStore>,\n fallback: (err: unknown) => Partial<AppStore> = () => ({}),\n loadingKey?: keyof AppStore,\n): () => Promise<void> {\n return async () => {\n if (loadingKey) set({ [loadingKey]: true } as Partial<AppStore>);\n try {\n const data = await fetcher();\n set({ ...apply(data), ...(loadingKey && { [loadingKey]: false }) });\n } catch (err) {\n set({ ...fallback(err), ...(loadingKey && { [loadingKey]: false }) });\n }\n };\n}\n\n// Every launch thunk kicks off an agent task then re-polls agentStatus so callers see it\n// appear immediately instead of waiting for the next poll tick.\nexport function withAgentPoll<Args extends unknown[]>(\n get: GetState,\n action: (...args: Args) => Promise<unknown>,\n): (...args: Args) => Promise<void> {\n return async (...args: Args) => {\n await action(...args);\n await get().loadAgentStatus();\n };\n}\n","import { fetchAgentAuthStatus } from '@/app/services/system';\nimport type { AgentAuthStatus, AgentTaskState, LoginRelayState, PlanEntry } from '@/types/index';\nimport {\n cancelLoginRelay as cancelLoginRelayApi,\n fetchAgentStatus,\n fetchLoginRelayStatus,\n fetchReconcileQueue,\n launchAgent as launchAgentApi,\n launchBatchDraft as launchBatchDraftApi,\n launchBatchReconcile as launchBatchReconcileApi,\n launchFixReview as launchFixReviewApi,\n launchIdeaExtend as launchIdeaExtendApi,\n launchIssueFix as launchIssueFixApi,\n launchPlanAudit as launchPlanAuditApi,\n launchPlanDraft as launchPlanDraftApi,\n launchPlanReconcile as launchPlanReconcileApi,\n launchPrReview as launchPrReviewApi,\n launchRunAll as launchRunAllApi,\n launchSuggestIdeas as launchSuggestIdeasApi,\n startLoginRelay as startLoginRelayApi,\n stopAgent as stopAgentApi,\n submitLoginRelayCode as submitLoginRelayCodeApi,\n} from '../../services/agent-api';\nimport { runDeskCheck } from '../../services/checks-api';\nimport type { GetState, SetState } from './slice-helpers';\nimport { loadSlice, withAgentPoll } from './slice-helpers';\n\nexport interface ReconcilePreview {\n planId: string;\n before: { body: string; phases: PlanEntry['phases'] };\n}\n\n// A queued preview carries its own id: two reconciles can run against the same\n// entity, and keying removal on planId alone would dismiss both at once.\nexport interface QueuedReconcile extends ReconcilePreview {\n previewId: string;\n}\n\nlet previewCounter = 0;\nconst nextPreviewId = () => `preview-${++previewCounter}`;\n\nexport type AgentSlice = {\n // null until loaded or when the agent has no auth-status probe; loggedIn:null means unknown.\n agentAuthStatus: AgentAuthStatus | null;\n loadAgentAuthStatus: () => Promise<void>;\n\n agentStatus: AgentTaskState[];\n loadAgentStatus: () => Promise<void>;\n launchAgent: (planId: string, phaseIndex: number) => Promise<void>;\n launchPlanAudit: (planId: string, prompt: string) => Promise<void>;\n launchPlanReconcile: (\n planId: string,\n prompt: string,\n before: ReconcilePreview['before'],\n ) => Promise<void>;\n launchPlanDraft: (ideaId: string, prompt: string) => Promise<void>;\n launchIdeaExtend: (ideaId: string, prompt: string) => Promise<void>;\n launchBatchReconcile: () => Promise<void>;\n launchBatchDraft: (ids: string[]) => Promise<void>;\n launchSuggestIdeas: (prompt: string) => Promise<void>;\n launchRunAll: (planId: string) => Promise<void>;\n launchFixReview: (planId: string) => Promise<void>;\n launchPrReview: (planId: string) => Promise<void>;\n launchIssueFix: (\n issueId: string,\n title: string,\n reason: string,\n output: string | undefined,\n ) => Promise<void>;\n stopAgent: (taskId?: string) => Promise<void>;\n\n // null when no relay has been started this session, or once it's cancelled/consumed.\n loginRelay: LoginRelayState | null;\n startLoginRelay: () => Promise<void>;\n loadLoginRelayStatus: () => Promise<void>;\n cancelLoginRelay: () => Promise<void>;\n submitLoginRelayCode: (code: string) => Promise<void>;\n\n // At store level (not the button) so loadAgentStatus still handles completion if the\n // user navigates away mid-run.\n pendingReconcile: ReconcilePreview | null;\n reconcileQueue: QueuedReconcile[];\n removeFromReconcileQueue: (previewId: string) => void;\n // Guards loadAgentStatus against re-appending the same batch sweep on every poll.\n batchReconcileConsumed: boolean;\n};\n\nexport function createAgentSlice(set: SetState, get: GetState): AgentSlice {\n return {\n agentAuthStatus: null,\n loadAgentAuthStatus: loadSlice(\n set,\n fetchAgentAuthStatus,\n (data) => ({ agentAuthStatus: data }),\n () => ({ agentAuthStatus: null }),\n ),\n\n agentStatus: [],\n loadAgentStatus: async () => {\n try {\n const data = await fetchAgentStatus();\n const prev = get().agentStatus;\n set({ agentStatus: data });\n\n // Issues page derives each issue's thread from tasks.log (IDEA-192) rather\n // than polling itself, so a \"fix it here\" run needs this nudge to appear.\n const finishedIssueFix = data.some((t) => {\n if (t.taskKind !== 'issue-fix') return false;\n if (t.status !== 'done' && t.status !== 'error') return false;\n const before = prev.find((p) => p.id === t.id);\n return before && before.status !== 'done' && before.status !== 'error';\n });\n if (finishedIssueFix) get().loadTaskLog();\n\n const completedRun = data.find((t) => {\n if (t.status !== 'done') return false;\n if (t.taskKind !== 'run-all' && t.taskKind !== 'phase') return false;\n const before = prev.find((p) => p.id === t.id);\n if (!before || before.status === 'done' || before.status === 'error') return false;\n if (t.taskKind === 'phase') {\n const plan = get().plans?.entries.find((p) => p.id === t.planId);\n if (!plan || t.phaseIndex !== plan.phases.length - 1) return false;\n }\n return true;\n });\n if (completedRun) {\n get().runConsistencyCheck();\n for (const name of ['lint', 'test']) {\n runDeskCheck(name).catch(() => {});\n }\n }\n\n const pending = get().pendingReconcile;\n const reconcileTask = pending\n ? data.find((t) => t.taskKind === 'reconcile' && t.planId === pending.planId)\n : undefined;\n if (pending && reconcileTask) {\n if (reconcileTask.status === 'done') {\n // loadPlans first: if it throws, pendingReconcile stays set and retries.\n await get().loadPlans();\n set((s) => ({\n reconcileQueue: [...s.reconcileQueue, { ...pending, previewId: nextPreviewId() }],\n pendingReconcile: null,\n }));\n } else if (reconcileTask.status === 'error') {\n set({ pendingReconcile: null });\n }\n }\n\n const batchTask = data.find(\n (t) => t.taskKind === 'batch-reconcile' || t.taskKind === 'batch-draft',\n );\n const batchTerminal =\n batchTask?.taskKind === 'batch-draft'\n ? batchTask.status === 'done' || batchTask.status === 'error'\n : batchTask?.status === 'done';\n if (batchTask && batchTerminal && !get().batchReconcileConsumed) {\n if (batchTask.taskKind === 'batch-reconcile') {\n const results = await fetchReconcileQueue();\n if (results && results.length > 0) {\n await get().loadPlans();\n set((s) => ({\n reconcileQueue: [\n ...s.reconcileQueue,\n ...results.map((r) => ({\n planId: r.planId,\n before: r.before,\n previewId: nextPreviewId(),\n })),\n ],\n }));\n }\n } else {\n await get().loadPlans();\n }\n // Set only after the fetch+append succeeds, so a throw here leaves it false and retries.\n set({ batchReconcileConsumed: true });\n }\n } catch {}\n },\n launchAgent: withAgentPoll(get, launchAgentApi),\n launchPlanAudit: withAgentPoll(get, launchPlanAuditApi),\n launchPlanReconcile: async (planId, prompt, before) => {\n // Refuse rather than overwrite: clearing an existing pendingReconcile would strip\n // its diff safety net, and a same-plan relaunch is reachable via navigate-away-and-back.\n const existing = get().pendingReconcile;\n if (existing) {\n throw new Error(\n existing.planId === planId\n ? 'A reconcile is already in progress for this plan'\n : 'A reconcile is already in progress for another plan',\n );\n }\n // An unreviewed preview blocks a relaunch: a second preview's `before` is the state\n // *after* the first rewrite, so discarding out of order would reinstate a rejected rewrite.\n if (get().reconcileQueue.some((item) => item.planId === planId)) {\n throw new Error('Review the pending reconcile for this plan first');\n }\n set({ pendingReconcile: { planId, before } });\n try {\n await launchPlanReconcileApi(planId, prompt);\n } catch (err) {\n set({ pendingReconcile: null });\n throw err;\n }\n await get().loadAgentStatus();\n },\n launchPlanDraft: withAgentPoll(get, launchPlanDraftApi),\n launchIdeaExtend: withAgentPoll(get, launchIdeaExtendApi),\n launchBatchReconcile: withAgentPoll(get, async () => {\n // Reset here, not by polling for a non-'done' status — a fast poll can miss it.\n set({ batchReconcileConsumed: false });\n await launchBatchReconcileApi();\n }),\n launchBatchDraft: withAgentPoll(get, async (ids: string[]) => {\n // Reset here, not by polling for a non-'done' status — a fast poll can miss it.\n set({ batchReconcileConsumed: false });\n await launchBatchDraftApi(ids);\n }),\n launchSuggestIdeas: withAgentPoll(get, launchSuggestIdeasApi),\n launchRunAll: withAgentPoll(get, launchRunAllApi),\n launchFixReview: withAgentPoll(get, launchFixReviewApi),\n launchPrReview: withAgentPoll(get, launchPrReviewApi),\n launchIssueFix: withAgentPoll(get, launchIssueFixApi),\n stopAgent: async (taskId) => {\n try {\n await stopAgentApi(taskId);\n } finally {\n await get().loadAgentStatus();\n }\n },\n\n loginRelay: null,\n startLoginRelay: async () => {\n try {\n const state = await startLoginRelayApi();\n set({ loginRelay: state });\n } catch (err) {\n set({\n loginRelay: { phase: 'error', authorizeUrl: null, error: (err as Error).message },\n });\n }\n },\n loadLoginRelayStatus: loadSlice(set, fetchLoginRelayStatus, (data) => ({ loginRelay: data })),\n cancelLoginRelay: async () => {\n try {\n await cancelLoginRelayApi();\n } finally {\n set({ loginRelay: null });\n }\n },\n submitLoginRelayCode: async (code) => {\n const state = await submitLoginRelayCodeApi(code);\n set({ loginRelay: state });\n },\n\n pendingReconcile: null,\n reconcileQueue: [],\n removeFromReconcileQueue: (previewId) =>\n set((s) => ({\n reconcileQueue: s.reconcileQueue.filter((item) => item.previewId !== previewId),\n })),\n batchReconcileConsumed: false,\n };\n}\n","import { apiUrl } from '@/app/services/api-base';\nimport type { CapacityStat } from '@/types/index';\n\n// Generous: the probe spawns the CLI and waits for its first stream line.\nconst PROBE_TIMEOUT_MS = 30_000;\n\nexport const refreshCapacityProbe = async (): Promise<CapacityStat | null> => {\n const response = await fetch(apiUrl('/api/capacity/refresh'), {\n method: 'POST',\n signal: AbortSignal.timeout(PROBE_TIMEOUT_MS),\n });\n if (!response.ok) return null;\n const body = (await response.json()) as Partial<CapacityStat>;\n return body.snapshot && body.capturedAt\n ? { snapshot: body.snapshot, capturedAt: body.capturedAt }\n : null;\n};\n","import type { CapacityStat } from '@/types/index';\nimport { refreshCapacityProbe } from '../../services/system/capacity-api';\nimport type { SetState } from './slice-helpers';\n\nexport type CapacitySlice = {\n /** A probe reading, preferred over the task log until the next run supersedes it. */\n probedCapacity: CapacityStat | null;\n refreshCapacity: () => Promise<void>;\n};\n\nexport function createCapacitySlice(set: SetState): CapacitySlice {\n return {\n probedCapacity: null,\n refreshCapacity: async () => {\n const stat = await refreshCapacityProbe().catch(() => null);\n if (stat) set({ probedCapacity: stat });\n },\n };\n}\n","import { fetchFileDiffs } from '@/app/services/git-api';\nimport type { FileDiffEntry } from '@/types/index';\nimport type { GetState, SetState } from './slice-helpers';\nimport { loadSlice } from './slice-helpers';\n\nexport type DiffSlice = {\n // Lifted here (not local page state) so the router-level sidebar and the page share one source.\n diffFiles: FileDiffEntry[] | null;\n diffLoadFailed: boolean;\n loadDiffFiles: () => Promise<void>;\n\n // The section currently scrolled into view; the sidebar highlights the matching row.\n activeDiffPath: string | null;\n setActiveDiffPath: (path: string | null) => void;\n\n // Explicit collapse/expand overrides from a header click or a scroll-spy jump; a path\n // in neither set falls back to the size-threshold default in file-diff-section.tsx.\n manuallyExpandedDiffPaths: Set<string>;\n manuallyCollapsedDiffPaths: Set<string>;\n setDiffCollapsed: (path: string, collapsed: boolean) => void;\n expandDiffPath: (path: string) => void;\n};\n\nexport function createDiffSlice(set: SetState, get: GetState): DiffSlice {\n return {\n diffFiles: null,\n diffLoadFailed: false,\n loadDiffFiles: loadSlice(\n set,\n fetchFileDiffs,\n (files) => ({ diffFiles: files, diffLoadFailed: false }),\n () => ({ diffLoadFailed: true }),\n ),\n\n activeDiffPath: null,\n setActiveDiffPath: (path) => {\n if (get().activeDiffPath === path) return;\n set({ activeDiffPath: path });\n },\n\n manuallyExpandedDiffPaths: new Set(),\n manuallyCollapsedDiffPaths: new Set(),\n setDiffCollapsed: (path, collapsed) => {\n set((s) => {\n const expanded = new Set(s.manuallyExpandedDiffPaths);\n const collapsedPaths = new Set(s.manuallyCollapsedDiffPaths);\n if (collapsed) {\n collapsedPaths.add(path);\n expanded.delete(path);\n } else {\n expanded.add(path);\n collapsedPaths.delete(path);\n }\n return { manuallyExpandedDiffPaths: expanded, manuallyCollapsedDiffPaths: collapsedPaths };\n });\n },\n expandDiffPath: (path) => get().setDiffCollapsed(path, false),\n };\n}\n","import type { ReleaseNoteSection } from '@/types/index';\nimport { apiFetch, apiUrl } from './api-base';\n\nexport const fetchReleaseVersions = async (): Promise<string[]> => {\n const response = await apiFetch(apiUrl('/api/releases'));\n if (!response.ok) throw new Error('Failed to load releases');\n const { versions } = await response.json();\n return versions;\n};\n\nexport const fetchReleaseNotes = async (version: string): Promise<ReleaseNoteSection[] | null> => {\n const response = await apiFetch(\n apiUrl(`/api/release-notes?version=${encodeURIComponent(version)}`),\n );\n if (!response.ok) throw new Error('Failed to load release notes');\n return response.json();\n};\n","import { fetchRepoDocs } from '../../services/content';\nimport { fetchReleaseVersions } from '../../services/release-notes-api';\nimport type { GetState, SetState } from './slice-helpers';\n\nexport type DocsSlice = {\n repoDocs: { name: string; content: string }[];\n repoDocsLoading: boolean;\n loadRepoDocs: () => Promise<void>;\n\n activeDocTitle: string | null;\n setActiveDocTitle: (title: string | null) => void;\n\n docSearchQuery: string;\n setDocSearchQuery: (query: string) => void;\n\n releaseVersions: string[];\n releaseVersionsLoading: boolean;\n loadReleaseVersions: () => Promise<void>;\n\n activeReleaseVersion: string | null;\n setActiveReleaseVersion: (version: string | null) => void;\n};\n\nexport function createDocsSlice(set: SetState, get: GetState): DocsSlice {\n return {\n repoDocs: [],\n repoDocsLoading: true,\n loadRepoDocs: async () => {\n set({ repoDocsLoading: true });\n try {\n const data = await fetchRepoDocs();\n set({ repoDocs: data.files, repoDocsLoading: false });\n const { activeDocTitle } = get();\n if (!activeDocTitle) {\n const readme = ['MAIN.md', 'README.md'].find((name) =>\n data.files.some((f) => f.name === name),\n );\n if (readme) set({ activeDocTitle: readme });\n }\n } catch {\n set({ repoDocs: [], repoDocsLoading: false });\n }\n },\n\n activeDocTitle: null,\n setActiveDocTitle: (title) => set({ activeDocTitle: title }),\n\n docSearchQuery: '',\n setDocSearchQuery: (query) => set({ docSearchQuery: query }),\n\n releaseVersions: [],\n releaseVersionsLoading: true,\n loadReleaseVersions: async () => {\n set({ releaseVersionsLoading: true });\n try {\n const versions = await fetchReleaseVersions();\n set({ releaseVersions: versions, releaseVersionsLoading: false });\n } catch {\n set({ releaseVersions: [], releaseVersionsLoading: false });\n }\n },\n\n activeReleaseVersion: null,\n setActiveReleaseVersion: (version) => set({ activeReleaseVersion: version }),\n };\n}\n","import type { ArchivableIdea, IdeaEntry } from '@/types/index';\nimport {\n archiveIdeas as archiveIdeasApi,\n fetchArchivableIdeas,\n fetchIdeas,\n} from '../../services/content';\nimport type { GetState, SetState } from './slice-helpers';\nimport { loadSlice } from './slice-helpers';\n\nexport type IdeasSlice = {\n ideaEntries: IdeaEntry[];\n loadIdeas: () => Promise<void>;\n\n archivableIdeas: ArchivableIdea[];\n loadArchivableIdeas: () => Promise<void>;\n archiveIdeas: (ids: string[]) => Promise<void>;\n};\n\nexport function createIdeasSlice(set: SetState, get: GetState): IdeasSlice {\n return {\n ideaEntries: [],\n loadIdeas: loadSlice(\n set,\n fetchIdeas,\n (result) => ({ ideaEntries: result.entries }),\n () => ({ ideaEntries: [] }),\n ),\n\n archivableIdeas: [],\n loadArchivableIdeas: loadSlice(\n set,\n fetchArchivableIdeas,\n (entries) => ({ archivableIdeas: entries }),\n () => ({ archivableIdeas: [] }),\n ),\n archiveIdeas: async (ids) => {\n await archiveIdeasApi(ids);\n await Promise.all([get().loadArchivableIdeas(), get().loadPlans(), get().loadIdeas()]);\n },\n };\n}\n","import { fetchNotifications, markNotificationRead } from '@/app/services/content';\nimport type { Notification } from '@/types/index';\nimport type { GetState, SetState } from './slice-helpers';\nimport { loadSlice } from './slice-helpers';\n\nexport type NotificationsSlice = {\n notifications: Notification[] | null;\n notificationsLoading: boolean;\n notificationsError: string | null;\n loadNotifications: () => Promise<void>;\n markRead: (id: string) => Promise<void>;\n};\n\nexport function createNotificationsSlice(set: SetState, get: GetState): NotificationsSlice {\n return {\n notifications: null,\n notificationsLoading: false,\n notificationsError: null,\n loadNotifications: loadSlice(\n set,\n fetchNotifications,\n (entries) => ({ notifications: entries, notificationsError: null }),\n (err) => ({ notificationsError: String(err) }),\n 'notificationsLoading',\n ),\n markRead: async (id) => {\n const current = get().notifications;\n if (!current) return;\n set({\n notifications: current.map((n) =>\n n.kind !== 'question' && n.id === id ? { ...n, read: true } : n,\n ),\n });\n try {\n await markNotificationRead(id);\n } catch (err) {\n set({ notifications: current, notificationsError: String(err) });\n }\n },\n };\n}\n","import { fetchParkedQuestions } from '@/app/services/content';\nimport type { ParkedQuestion } from '@/types/index';\nimport type { SetState } from './slice-helpers';\nimport { loadSlice } from './slice-helpers';\n\nexport type ParkedQuestionsSlice = {\n parkedQuestions: ParkedQuestion[] | null;\n parkedQuestionsLoading: boolean;\n parkedQuestionsError: string | null;\n loadParkedQuestions: () => Promise<void>;\n};\n\nexport function createParkedQuestionsSlice(set: SetState): ParkedQuestionsSlice {\n return {\n parkedQuestions: null,\n parkedQuestionsLoading: false,\n parkedQuestionsError: null,\n loadParkedQuestions: loadSlice(\n set,\n fetchParkedQuestions,\n (entries) => ({ parkedQuestions: entries, parkedQuestionsError: null }),\n (err) => ({ parkedQuestionsError: String(err) }),\n 'parkedQuestionsLoading',\n ),\n };\n}\n","import type { PlanEntry } from '@/types/index';\n\nconst STALENESS_CAP_MS = 14 * 24 * 60 * 60 * 1000;\n\ninterface StoredEntry<T> {\n value: T;\n storedAt: number;\n}\n\nexport function readLocalDraft<T>(key: string): T | null {\n try {\n const raw = localStorage.getItem(key);\n if (!raw) return null;\n const entry = JSON.parse(raw) as StoredEntry<T>;\n if (Date.now() - entry.storedAt > STALENESS_CAP_MS) {\n localStorage.removeItem(key);\n return null;\n }\n return entry.value;\n } catch {\n return null;\n }\n}\n\nexport function writeLocalDraft<T>(key: string, value: T): void {\n try {\n const entry: StoredEntry<T> = { value, storedAt: Date.now() };\n localStorage.setItem(key, JSON.stringify(entry));\n } catch {\n // localStorage unavailable (e.g. private browsing) — degrade to in-memory only\n }\n}\n\nexport function removeLocalDraft(key: string): void {\n try {\n localStorage.removeItem(key);\n } catch {\n // localStorage unavailable (e.g. private browsing)\n }\n}\n\nexport function feedbackDraftKeyFor(plan: PlanEntry): string {\n return `feedback-draft:${plan.id ?? plan.title}`;\n}\n","import {\n DEFAULT_PLAN_LIST_FILTERS,\n type PlanListFilters,\n type PlanSortKey,\n} from '@/app/features/plans/helpers';\nimport { readLocalDraft, writeLocalDraft } from '@/app/utils/local-draft-store';\nimport type { IdeaStatus, ParseResult, PlanEntry, PlanStatus } from '@/types/index';\nimport { fetchPlans } from '../../services/content';\nimport type { SetState } from './slice-helpers';\nimport { loadSlice } from './slice-helpers';\n\nexport type DetailView = 'details' | 'feedback';\n\nconst PLAN_FILTERS_KEY = 'plan-filters';\nconst DETAIL_VIEW_KEY = 'detail-view';\n\nfunction readStoredPlanFilters(): PlanListFilters {\n return readLocalDraft<PlanListFilters>(PLAN_FILTERS_KEY) ?? DEFAULT_PLAN_LIST_FILTERS;\n}\n\nfunction readStoredDetailView(): DetailView {\n return readLocalDraft<DetailView>(DETAIL_VIEW_KEY) ?? 'details';\n}\n\nfunction storePlanFilters(filters: PlanListFilters): PlanListFilters {\n writeLocalDraft(PLAN_FILTERS_KEY, filters);\n return filters;\n}\n\nexport type PlansSlice = {\n plans: ParseResult<PlanEntry> | null;\n plansLoading: boolean;\n plansError: string | null;\n loadPlans: () => Promise<void>;\n\n // Lifted here (not local state) so the sidebar filter column and the list share one source.\n planFilters: PlanListFilters;\n togglePlanStatus: (status: PlanStatus) => void;\n togglePlanTag: (tag: string) => void;\n toggleNoteStatus: (status: IdeaStatus) => void;\n setPlanSearch: (search: string) => void;\n setSubjectFilter: (subject: string | null) => void;\n setPlanSortKey: (sortKey: PlanSortKey) => void;\n togglePlanSortDirection: () => void;\n toggleGroupBySubject: () => void;\n\n // Which detail view the open plan shows; lifted so the sidebar switcher and\n // the content agree. Reset to 'details' when the open plan changes.\n detailView: DetailView;\n setDetailView: (view: DetailView) => void;\n};\n\nexport function createPlansSlice(set: SetState): PlansSlice {\n return {\n plans: null,\n plansLoading: false,\n plansError: null,\n loadPlans: loadSlice(\n set,\n fetchPlans,\n (data) => ({ plans: data, plansError: null }),\n (err) => ({ plansError: String(err) }),\n 'plansLoading',\n ),\n\n planFilters: readStoredPlanFilters(),\n togglePlanStatus: (status) =>\n set((s) => ({\n planFilters: storePlanFilters({\n ...s.planFilters,\n statuses: s.planFilters.statuses.includes(status)\n ? s.planFilters.statuses.filter((x) => x !== status)\n : [...s.planFilters.statuses, status],\n }),\n })),\n togglePlanTag: (tag) =>\n set((s) => ({\n planFilters: storePlanFilters({\n ...s.planFilters,\n tags: s.planFilters.tags.includes(tag)\n ? s.planFilters.tags.filter((x) => x !== tag)\n : [...s.planFilters.tags, tag],\n }),\n })),\n toggleNoteStatus: (status) =>\n set((s) => ({\n planFilters: storePlanFilters({\n ...s.planFilters,\n noteStatuses: s.planFilters.noteStatuses.includes(status)\n ? s.planFilters.noteStatuses.filter((x) => x !== status)\n : [...s.planFilters.noteStatuses, status],\n }),\n })),\n setPlanSearch: (search) =>\n set((s) => ({ planFilters: storePlanFilters({ ...s.planFilters, search }) })),\n setSubjectFilter: (subject) =>\n set((s) => ({ planFilters: storePlanFilters({ ...s.planFilters, subject }) })),\n setPlanSortKey: (sortKey) =>\n set((s) => ({\n planFilters: storePlanFilters({ ...s.planFilters, sortKey, groupBySubject: false }),\n })),\n togglePlanSortDirection: () =>\n set((s) => ({\n planFilters: storePlanFilters({\n ...s.planFilters,\n sortDirection: s.planFilters.sortDirection === 'asc' ? 'desc' : 'asc',\n groupBySubject: false,\n }),\n })),\n toggleGroupBySubject: () =>\n set((s) => ({\n planFilters: storePlanFilters({\n ...s.planFilters,\n groupBySubject: !s.planFilters.groupBySubject,\n }),\n })),\n\n detailView: readStoredDetailView(),\n setDetailView: (view) => {\n writeLocalDraft(DETAIL_VIEW_KEY, view);\n set({ detailView: view });\n },\n };\n}\n","import type {\n PlanStatus,\n ResolvedRoadmap,\n ResolvedRoadmapHorizon,\n ResolvedRoadmapItem,\n} from '@/types/index';\n\nexport interface RoadmapFilters {\n horizons: string[];\n statuses: PlanStatus[];\n}\n\nexport const DEFAULT_ROADMAP_FILTERS: RoadmapFilters = { horizons: [], statuses: [] };\n\nexport const itemStatuses = (item: ResolvedRoadmapItem): PlanStatus[] => [\n ...new Set(item.links.map((link) => link.status)),\n];\n\nconst matchesStatusFilter = (item: ResolvedRoadmapItem, statuses: PlanStatus[]): boolean =>\n statuses.length === 0 || item.links.some((link) => statuses.includes(link.status));\n\nconst inHorizonFilter = (title: string, horizons: string[]): boolean =>\n horizons.length === 0 || horizons.includes(title);\n\nexport const filterHorizons = (\n roadmap: ResolvedRoadmap,\n filters: RoadmapFilters,\n): ResolvedRoadmapHorizon[] =>\n roadmap.horizons\n .filter((horizon) => inHorizonFilter(horizon.title, filters.horizons))\n .map((horizon) => ({\n ...horizon,\n items: horizon.items.filter((item) => matchesStatusFilter(item, filters.statuses)),\n }));\n\nexport const horizonItemCounts = (\n roadmap: ResolvedRoadmap,\n filters: RoadmapFilters,\n): Record<string, number> =>\n Object.fromEntries(\n roadmap.horizons.map((horizon) => [\n horizon.title,\n horizon.items.filter((item) => matchesStatusFilter(item, filters.statuses)).length,\n ]),\n );\n\nexport const statusItemCounts = (\n roadmap: ResolvedRoadmap,\n filters: RoadmapFilters,\n): Partial<Record<PlanStatus, number>> => {\n const counts: Partial<Record<PlanStatus, number>> = {};\n for (const horizon of roadmap.horizons) {\n if (!inHorizonFilter(horizon.title, filters.horizons)) continue;\n for (const item of horizon.items) {\n for (const status of itemStatuses(item)) {\n counts[status] = (counts[status] ?? 0) + 1;\n }\n }\n }\n return counts;\n};\n","import {\n DEFAULT_ROADMAP_FILTERS,\n type RoadmapFilters,\n} from '@/app/features/roadmap/helpers/roadmap-filters';\nimport type { PlanStatus, ResolvedRoadmap } from '@/types/index';\nimport { fetchRoadmap } from '../../services/content/docs-api';\nimport type { GetState, SetState } from './slice-helpers';\nimport { loadSlice } from './slice-helpers';\n\nexport type RoadmapSlice = {\n roadmap: ResolvedRoadmap | null;\n roadmapLoading: boolean;\n roadmapError: string | null;\n loadRoadmap: () => Promise<void>;\n\n // Lifted here (not local page state) so the router-level sidebar and the list share one source.\n roadmapFilters: RoadmapFilters;\n toggleRoadmapHorizon: (title: string) => void;\n toggleRoadmapStatus: (status: PlanStatus) => void;\n};\n\nexport function createRoadmapSlice(set: SetState, _get: GetState): RoadmapSlice {\n return {\n roadmap: null,\n roadmapLoading: false,\n roadmapError: null,\n loadRoadmap: loadSlice(\n set,\n fetchRoadmap,\n (data) => ({ roadmap: data, roadmapError: null }),\n (err) => ({ roadmapError: String(err) }),\n 'roadmapLoading',\n ),\n\n roadmapFilters: DEFAULT_ROADMAP_FILTERS,\n toggleRoadmapHorizon: (title) =>\n set((s) => ({\n roadmapFilters: {\n ...s.roadmapFilters,\n horizons: s.roadmapFilters.horizons.includes(title)\n ? s.roadmapFilters.horizons.filter((x) => x !== title)\n : [...s.roadmapFilters.horizons, title],\n },\n })),\n toggleRoadmapStatus: (status) =>\n set((s) => ({\n roadmapFilters: {\n ...s.roadmapFilters,\n statuses: s.roadmapFilters.statuses.includes(status)\n ? s.roadmapFilters.statuses.filter((x) => x !== status)\n : [...s.roadmapFilters.statuses, status],\n },\n })),\n };\n}\n","import type { MachineProjectSummary } from '@/types/index';\n\n/**\n * A project is chosen once it's embedded under a mount prefix or paired with\n * a runtime it dialled. The hosted client starts with neither.\n */\nexport function hasChosenProject(mountPrefix: string, runtimeUrl: string): boolean {\n return mountPrefix !== '' || runtimeUrl !== '';\n}\n\n/**\n * The third way in, and the one `paper-camp dev` uses: a bundle a runtime\n * serves is same-origin with that runtime's API, so the repo serving the\n * page IS the project — nothing to pair, register, or leave. Only a probe\n * separates it from a hosted bundle, which has no API at its own origin: the\n * daemon root and any other static host answer `/api/*` with a 404.\n */\nexport async function servesOwnRuntime(\n runtimeUrl: string,\n fetchApi: (path: string) => Promise<{ ok: boolean }>,\n): Promise<boolean> {\n if (runtimeUrl !== '') return false;\n try {\n const response = await fetchApi('/api/package-name');\n return response.ok;\n } catch {\n return false;\n }\n}\n\n/**\n * Reuses the same `?runtime=&token=` query params `runtime-connection.ts`\n * already reads and persists, so an address is adopted exactly like a\n * registration link — a pasted or discovered one carries no token, a\n * machine's own project does.\n */\nexport function runtimeAdditionUrl(\n currentPath: string,\n runtimeUrl: string,\n pairingToken?: string | null,\n): string {\n const params = new URLSearchParams({ runtime: runtimeUrl });\n if (pairingToken) params.set('token', pairingToken);\n return `${currentPath}?${params}`;\n}\n\n/**\n * A registered runtime has no announced project name yet, so the address\n * itself is the only row label available.\n */\nexport function runtimeRowLabel(runtimeUrl: string): string {\n try {\n return new URL(runtimeUrl).host;\n } catch {\n return runtimeUrl;\n }\n}\n\n/**\n * A daemon-served project is just a runtime whose base URL happens to be\n * `<machine>/p/<slug>` — the existing runtime-add flow opens it unchanged.\n */\nexport function machineProjectRuntimeUrl(machineUrl: string, slug: string): string {\n return `${machineUrl}/p/${slug}`;\n}\n\n/**\n * A discovered peer already sitting in the registry is not still \"addable\" —\n * compared by runtimeUrl, the same identity a runtime entry's `projectEntryId` uses.\n */\nexport function pickableTailnetPeers<T extends { runtimeUrl: string }>(\n peers: T[],\n chosenRuntimeUrls: string[],\n): T[] {\n const chosen = new Set(chosenRuntimeUrls);\n return peers.filter((peer) => !chosen.has(peer.runtimeUrl));\n}\n\nexport function pickableMachineProjects(\n machineUrl: string,\n projects: MachineProjectSummary[],\n chosenRuntimeUrls: string[],\n): MachineProjectSummary[] {\n const chosen = new Set(chosenRuntimeUrls);\n return projects.filter(\n (project) => !chosen.has(machineProjectRuntimeUrl(machineUrl, project.slug)),\n );\n}\n\n/**\n * The origin serving this SPA is a machine, not just a hosted bundle, when\n * there's no mount prefix to say otherwise and that origin answers its own\n * `/api/machine/projects` — the state a `paper-camp start`/`daemon` root is\n * in before any project is picked. Same-origin, so the request passes the\n * daemon's Host check the way loopback and LAN already do — no pairing\n * token involved, unlike a `?machine=&token=` link.\n */\nexport async function detectThisMachine(\n mountPrefix: string,\n origin: string,\n fetchMachineProjects: (machineUrl: string) => Promise<MachineProjectSummary[] | null>,\n): Promise<MachineProjectSummary[] | null> {\n if (mountPrefix !== '') return null;\n return fetchMachineProjects(origin);\n}\n\nexport function daemonStartCommand(hubOrigin: string): string {\n return new URL(hubOrigin).protocol === 'https:'\n ? 'paper-camp start --tailnet'\n : 'paper-camp start';\n}\n","export const MOUNT_ATTRIBUTE = 'data-paper-camp-mount';\n\nexport function readMountPrefix(\n root: { getAttribute(name: string): string | null } | null,\n): string {\n return root?.getAttribute(MOUNT_ATTRIBUTE) ?? '';\n}\n\nexport const mountPrefix =\n typeof document === 'undefined' ? '' : readMountPrefix(document.getElementById('root'));\n\nexport function injectMountAttribute(html: string, mount: string): string {\n return html.replace('<div id=\"root\">', `<div id=\"root\" ${MOUNT_ATTRIBUTE}=\"${mount}\">`);\n}\n","const PROJECTS_KEY = 'paper-camp.projects';\nconst ACTIVE_PROJECT_KEY = 'paper-camp.activeProjectId';\n\n// Pre-unification keys — read once to carry an existing device's paired\n// runtimes into the unified store instead of losing them.\nconst LEGACY_RUNTIMES_KEY = 'paper-camp.runtimes';\nconst LEGACY_ACTIVE_RUNTIME_KEY = 'paper-camp.activeRuntimeUrl';\n\nexport interface ProjectEntry {\n runtimeUrl: string;\n pairingToken: string | null;\n label?: string;\n}\n\nexport function projectEntryId(entry: ProjectEntry): string {\n return entry.runtimeUrl;\n}\n\nfunction safeParseArray<T>(raw: string | null): T[] {\n if (!raw) return [];\n const parsed: unknown = JSON.parse(raw);\n return Array.isArray(parsed) ? (parsed as T[]) : [];\n}\n\n// A pre-unification entry may carry a GitHub-kind shape with no `runtimeUrl`;\n// nothing can open that any more, so it's dropped rather than migrated.\nfunction isProjectEntry(value: unknown): value is ProjectEntry {\n return (\n !!value &&\n typeof value === 'object' &&\n typeof (value as { runtimeUrl?: unknown }).runtimeUrl === 'string'\n );\n}\n\n// Runs once per device: folds the pre-unification runtimes and active-runtime\n// keys into the unified key before anything reads or writes through it.\nfunction ensureMigrated(storage: Storage): void {\n if (storage.getItem(PROJECTS_KEY) !== null) return;\n const legacyRuntimes = safeParseArray<ProjectEntry>(storage.getItem(LEGACY_RUNTIMES_KEY));\n if (legacyRuntimes.length === 0) return;\n\n storage.setItem(PROJECTS_KEY, JSON.stringify(legacyRuntimes));\n\n const legacyActive = storage.getItem(LEGACY_ACTIVE_RUNTIME_KEY);\n if (legacyActive) storage.setItem(ACTIVE_PROJECT_KEY, legacyActive);\n}\n\nfunction readProjects(storage: Storage | null): ProjectEntry[] {\n if (!storage) return [];\n ensureMigrated(storage);\n return safeParseArray<ProjectEntry>(storage.getItem(PROJECTS_KEY)).filter(isProjectEntry);\n}\n\nfunction writeProjects(storage: Storage | null, projects: ProjectEntry[]): void {\n storage?.setItem(PROJECTS_KEY, JSON.stringify(projects));\n}\n\n// Every runtime this device has ever dialled.\nexport function listProjects(storage: Storage | null): ProjectEntry[] {\n return readProjects(storage);\n}\n\nexport function activeProjectId(storage: Storage | null): string | null {\n if (!storage) return null;\n ensureMigrated(storage);\n return storage.getItem(ACTIVE_PROJECT_KEY);\n}\n\n// A re-dial (the same runtime announcing again, or a reload) carries no label,\n// so a name the user already gave this entry is kept rather than dropped.\nexport function upsertRuntimeProject(\n connection: { runtimeUrl: string; pairingToken: string | null },\n storage: Storage | null,\n): ProjectEntry {\n const existing = readProjects(storage);\n const previousLabel = existing.find((entry) => entry.runtimeUrl === connection.runtimeUrl)?.label;\n const entry: ProjectEntry = {\n runtimeUrl: connection.runtimeUrl,\n pairingToken: connection.pairingToken,\n label: previousLabel,\n };\n const projects = existing.filter((candidate) => candidate.runtimeUrl !== connection.runtimeUrl);\n projects.push(entry);\n writeProjects(storage, projects);\n return entry;\n}\n\n// Only forgets the entry, never anything git holds — a removed project is\n// re-added the same way it was added the first time.\nexport function removeProject(id: string, storage: Storage | null): void {\n const projects = readProjects(storage).filter((entry) => projectEntryId(entry) !== id);\n writeProjects(storage, projects);\n if (storage?.getItem(ACTIVE_PROJECT_KEY) === id) {\n storage.removeItem(ACTIVE_PROJECT_KEY);\n }\n}\n\n// An empty label clears back to whatever name the project itself announces.\nexport function renameProject(\n id: string,\n label: string,\n storage: Storage | null,\n): ProjectEntry | null {\n const projects = readProjects(storage);\n const index = projects.findIndex((entry) => projectEntryId(entry) === id);\n if (index === -1) return null;\n const trimmed = label.trim();\n const renamed: ProjectEntry = { ...projects[index], label: trimmed === '' ? undefined : trimmed };\n projects[index] = renamed;\n writeProjects(storage, projects);\n return renamed;\n}\n\n// Switches which already-known project is active. Takes effect on the next\n// load for a runtime entry, same as a fresh `?runtime=&token=` link.\nexport function selectProject(id: string, storage: Storage | null): ProjectEntry | null {\n const match = readProjects(storage).find((entry) => projectEntryId(entry) === id);\n if (!match) return null;\n storage?.setItem(ACTIVE_PROJECT_KEY, id);\n return match;\n}\n","import {\n type ProjectEntry,\n activeProjectId,\n listProjects,\n removeProject,\n renameProject,\n selectProject,\n upsertRuntimeProject,\n} from './project-registry';\n\nconst RUNTIME_URL_PARAM = 'runtime';\nconst PAIRING_TOKEN_PARAM = 'token';\n\nexport interface RuntimeConnection {\n runtimeUrl: string;\n pairingToken: string | null;\n label?: string;\n}\n\nfunction toRuntimeConnection(entry: ProjectEntry): RuntimeConnection {\n return { runtimeUrl: entry.runtimeUrl, pairingToken: entry.pairingToken, label: entry.label };\n}\n\n// Absent when `paper-camp dev` serves this same bundle locally — a bare page\n// load carries neither param, so apiUrl stays relative and no pairing is needed.\nexport function readRuntimeConnection(location: { search: string } | null): RuntimeConnection {\n const params = new URLSearchParams(location?.search ?? '');\n return {\n runtimeUrl: params.get(RUNTIME_URL_PARAM) ?? '',\n pairingToken: params.get(PAIRING_TOKEN_PARAM),\n };\n}\n\n// The list every runtime this device has ever dialled.\nexport function listRuntimes(storage: Storage | null): RuntimeConnection[] {\n return listProjects(storage).map(toRuntimeConnection);\n}\n\nexport function renameRuntime(\n runtimeUrl: string,\n label: string,\n storage: Storage | null,\n): RuntimeConnection | null {\n const renamed = renameProject(runtimeUrl, label, storage);\n return renamed ? toRuntimeConnection(renamed) : null;\n}\n\nexport function removeRuntime(runtimeUrl: string, storage: Storage | null): void {\n removeProject(runtimeUrl, storage);\n}\n\n// Switches which already-known runtime is active. Takes effect on the next\n// load, same as a fresh `?runtime=&token=` link — there is no live re-dial.\nexport function selectRuntime(\n runtimeUrl: string,\n storage: Storage | null,\n): RuntimeConnection | null {\n const selected = selectProject(runtimeUrl, storage);\n return selected ? toRuntimeConnection(selected) : null;\n}\n\nfunction rememberRuntime(storage: Storage | null, connection: RuntimeConnection): void {\n upsertRuntimeProject(connection, storage);\n selectProject(connection.runtimeUrl, storage);\n}\n\n/**\n * A pasted `?runtime=&token=` link only carries the connection on the visit\n * that used it; storing it is what makes a later reload with no query\n * string still dial the same runtime, and remembering rather than\n * overwriting is what lets the device hold more than one.\n */\nexport function loadRuntimeConnection(\n location: { search: string } | null,\n storage: Storage | null,\n): RuntimeConnection {\n const fromQuery = readRuntimeConnection(location);\n if (fromQuery.runtimeUrl) {\n rememberRuntime(storage, fromQuery);\n return fromQuery;\n }\n const activeId = activeProjectId(storage);\n const active = activeId\n ? listProjects(storage).find((entry) => entry.runtimeUrl === activeId)\n : null;\n return active ? toRuntimeConnection(active) : { runtimeUrl: '', pairingToken: null };\n}\n\nexport const runtimeConnection = loadRuntimeConnection(\n typeof window === 'undefined' ? null : window.location,\n typeof window === 'undefined' ? null : window.localStorage,\n);\n","import { apiUrl } from '@/app/services/api-base';\nimport { servesOwnRuntime } from '@/app/services/hub';\nimport { mountPrefix } from '@/app/services/mount';\nimport { runtimeConnection } from '@/app/services/runtime-connection';\nimport type { SetState } from './slice-helpers';\nimport { loadSlice } from './slice-helpers';\n\nexport type RuntimeSlice = {\n runtimeReachable: boolean;\n runtimeChecking: boolean;\n checkRuntimeReachable: () => Promise<void>;\n};\n\n// Embedded serves itself, so there's nothing to probe; detached needs a probe to\n// confirm; neither has no runtime, so it's just unreachable.\nconst hasEmbeddedRuntime = !!mountPrefix;\nconst hasDetachedRuntime = !!runtimeConnection.runtimeUrl;\n\nconst PROBE_TIMEOUT_MS = 15_000;\nconst PROBE_RETRIES = 2;\nconst PROBE_RETRY_DELAY_MS = 1_500;\n\nconst wait = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));\n\nlet selfServedProbe: Promise<boolean> | undefined;\n\n// Probed once per process and shared with the boot-time hub decision in main.tsx,\n// so a `paper-camp dev` origin is asked at most once.\nexport function probeSelfServed(): Promise<boolean> {\n if (!selfServedProbe) {\n selfServedProbe = servesOwnRuntime('', (path) => fetch(apiUrl(path)));\n }\n return selfServedProbe;\n}\n\n// A fresh --share tunnel can leave the first probe finding nothing — one miss\n// shouldn't be a permanent verdict with no way for the user to prompt a retry.\nexport async function probeReachable(): Promise<boolean> {\n for (let attempt = 0; attempt <= PROBE_RETRIES; attempt++) {\n try {\n const response = await fetch(apiUrl('/api/package-name'), {\n signal: AbortSignal.timeout(PROBE_TIMEOUT_MS),\n });\n if (response.ok) return true;\n } catch {}\n if (attempt < PROBE_RETRIES) await wait(PROBE_RETRY_DELAY_MS);\n }\n return false;\n}\n\nexport function createRuntimeSlice(set: SetState): RuntimeSlice {\n return {\n runtimeReachable: hasEmbeddedRuntime,\n runtimeChecking: !hasEmbeddedRuntime,\n checkRuntimeReachable: loadSlice(\n set,\n async () => {\n if (hasEmbeddedRuntime) return true;\n if (hasDetachedRuntime) return probeReachable();\n return probeSelfServed();\n },\n (reachable) => ({ runtimeReachable: reachable }),\n () => ({ runtimeReachable: false }),\n 'runtimeChecking',\n ),\n };\n}\n","import type { CheckResult } from '@/types/index';\nimport { apiFetch, apiUrl } from './api-base';\n\nexport interface StatusState {\n // The commit gate's own check — not a desk check, so it isn't sourced from\n // `desk.checks` (IDEA-162). Quality/Tests/Build come from `/api/checks` instead.\n consistency: CheckResult;\n // When the on-disk PR map was last written by a GitHub fetch — null until the\n // first successful fetch this install has ever made.\n prFetchedAt: number | null;\n}\n\nexport const fetchStatus = async (): Promise<StatusState> => {\n const response = await apiFetch(apiUrl('/api/status'));\n return response.json();\n};\n\nexport const triggerConsistencyCheck = async (): Promise<void> => {\n await apiFetch(apiUrl('/api/status/check?name=consistency'), { method: 'POST' });\n};\n\n// Drops the server's resolved-PR cache so the reads that follow re-fetch review\n// state from `gh` rather than replaying the cache window.\nexport const dropServerCaches = async (): Promise<void> => {\n const response = await apiFetch(apiUrl('/api/refresh'), { method: 'POST' });\n if (!response.ok) {\n throw new Error(`Failed to drop caches: ${response.statusText}`);\n }\n};\n","import { fetchCapabilities } from '@/app/services/system';\nimport type { DoctorFindingSummary } from '@/core/doctor';\nimport type {\n BranchHygieneStatus,\n CapabilityResult,\n ConsistencyIssue,\n GitStashEntry,\n GitStatusEntry,\n} from '@/types/index';\nimport { fetchConsistency, fetchDoctor } from '../../services/content';\nimport { commitChanges, fetchGitStatus, suggestCommitMessage } from '../../services/git-api';\nimport type { StatusState } from '../../services/status-api';\nimport { dropServerCaches, fetchStatus, triggerConsistencyCheck } from '../../services/status-api';\nimport type { GetState, SetState } from './slice-helpers';\nimport { loadSlice } from './slice-helpers';\n\nexport type StatusSlice = {\n status: StatusState | null;\n loadStatus: () => Promise<void>;\n refreshAll: () => Promise<{ ok: boolean; error?: string }>;\n refreshing: boolean;\n runConsistencyCheck: () => Promise<void>;\n quickCommit: () => Promise<{ ok: boolean; title?: string; error?: string; warning?: string }>;\n // Shared by the status bar and the Stack panel so the two commit flows can't race.\n commitInFlight: boolean;\n setCommitInFlight: (inFlight: boolean) => void;\n\n // Shared across every useBranchSync() mount so push/sync/pull can't run concurrently.\n activeGitAction: 'push' | 'sync' | 'pull' | 'fix-divergence' | null;\n setActiveGitAction: (action: 'push' | 'sync' | 'pull' | 'fix-divergence' | null) => void;\n\n consistency: ConsistencyIssue[];\n loadConsistency: () => Promise<void>;\n\n doctor: DoctorFindingSummary;\n loadDoctor: () => Promise<void>;\n\n gitStatus: GitStatusEntry[] | null;\n gitBranch: string | null;\n gitAhead: number;\n gitBehind: number;\n gitDiverged: boolean;\n gitBranchHygiene: BranchHygieneStatus | null;\n gitStashes: GitStashEntry[];\n // Resolves false on failure (state left stale) so callers like quickCommit can tell.\n loadGitStatus: () => Promise<boolean>;\n\n // Empty until loaded; gating selectors treat empty as \"unknown\" and don't block on it.\n capabilities: CapabilityResult[];\n loadCapabilities: () => Promise<void>;\n};\n\nexport function createStatusSlice(set: SetState, get: GetState): StatusSlice {\n return {\n status: null,\n refreshing: false,\n loadStatus: loadSlice(set, fetchStatus, (data) => ({ status: data })),\n refreshAll: async () => {\n set({ refreshing: true });\n try {\n await dropServerCaches().catch(() => {});\n await Promise.all([\n get().loadPlans(),\n get().loadIdeas(),\n get().loadArchivableIdeas(),\n get().loadSuggestions(),\n get().loadStatus(),\n get().loadConsistency(),\n get().loadDoctor(),\n get().loadGitStatus(),\n get().loadAgentStatus(),\n get().loadAgentAuthStatus(),\n ]);\n // plansError is the one loader that surfaces failure; the rest swallow theirs.\n const error = get().plansError;\n return error ? { ok: false, error } : { ok: true };\n } finally {\n set({ refreshing: false });\n }\n },\n runConsistencyCheck: async () => {\n try {\n await triggerConsistencyCheck();\n } catch {}\n },\n\n commitInFlight: false,\n setCommitInFlight: (inFlight) => set({ commitInFlight: inFlight }),\n\n activeGitAction: null,\n setActiveGitAction: (action) => set({ activeGitAction: action }),\n quickCommit: async () => {\n const { gitStatus, loadGitStatus, commitInFlight } = get();\n if (commitInFlight) {\n return { ok: false, error: 'A commit is already in progress' };\n }\n if (!gitStatus || gitStatus.length === 0) {\n return { ok: false, error: 'Nothing to commit' };\n }\n const files = gitStatus.map((e) => e.path);\n set({ commitInFlight: true });\n try {\n const { title, message } = await suggestCommitMessage(files);\n await commitChanges(files, title, message || undefined);\n const refreshed = await loadGitStatus();\n return refreshed\n ? { ok: true, title }\n : {\n ok: true,\n title,\n warning: 'Committed, but the git status refresh failed — reload to confirm',\n };\n } catch (err) {\n return { ok: false, error: (err as Error).message };\n } finally {\n set({ commitInFlight: false });\n }\n },\n\n consistency: [],\n loadConsistency: loadSlice(set, fetchConsistency, (data) => ({ consistency: data })),\n\n doctor: { findings: [], errorCount: 0, warningCount: 0 },\n loadDoctor: loadSlice(set, fetchDoctor, (data) => ({ doctor: data })),\n\n gitStatus: null,\n gitBranch: null,\n gitAhead: 0,\n gitBehind: 0,\n gitDiverged: false,\n gitBranchHygiene: null,\n gitStashes: [],\n loadGitStatus: async () => {\n try {\n const { branch, entries, ahead, behind, diverged, branchHygiene, stashes } =\n await fetchGitStatus();\n set({\n gitStatus: entries,\n gitBranch: branch,\n gitAhead: ahead,\n gitBehind: behind,\n gitDiverged: diverged,\n gitBranchHygiene: branchHygiene,\n gitStashes: stashes,\n });\n return true;\n } catch {\n return false;\n }\n },\n\n capabilities: [],\n loadCapabilities: loadSlice(\n set,\n fetchCapabilities,\n (data) => ({ capabilities: data ?? [] }),\n () => ({ capabilities: [] }),\n ),\n };\n}\n","import type { RoadmapItem, SuggestionEntry } from '@/types/index';\nimport {\n type PrioritiseResult,\n dismissSuggestion as dismissSuggestionApi,\n fetchSuggestions,\n prioritiseQueue,\n promoteRoadmapItem as promoteRoadmapItemApi,\n promoteSuggestion as promoteSuggestionApi,\n} from '../../services/content';\nimport type { GetState, SetState } from './slice-helpers';\nimport { loadSlice } from './slice-helpers';\n\nexport type SuggestionsSlice = {\n suggestions: SuggestionEntry[];\n suggestionsLoading: boolean;\n loadSuggestions: () => Promise<void>;\n promoteSuggestion: (suggestion: SuggestionEntry) => Promise<string>;\n dismissSuggestion: (suggestion: SuggestionEntry) => Promise<void>;\n\n promoteRoadmapItem: (\n horizonTitle: string,\n item: RoadmapItem,\n subject?: string,\n candidateName?: string,\n ) => Promise<string>;\n\n launchPrioritise: () => Promise<PrioritiseResult>;\n};\n\nexport function createSuggestionsSlice(set: SetState, get: GetState): SuggestionsSlice {\n return {\n suggestions: [],\n suggestionsLoading: true,\n loadSuggestions: loadSlice(\n set,\n fetchSuggestions,\n (data) => ({ suggestions: data.entries }),\n () => ({ suggestions: [] }),\n 'suggestionsLoading',\n ),\n promoteSuggestion: async (suggestion) => {\n const { id } = await promoteSuggestionApi(suggestion);\n await Promise.all([get().loadSuggestions(), get().loadPlans(), get().loadIdeas()]);\n return id;\n },\n dismissSuggestion: async (suggestion) => {\n await dismissSuggestionApi(suggestion);\n await get().loadSuggestions();\n },\n\n promoteRoadmapItem: async (horizonTitle, item, subject, candidateName) => {\n const { id } = await promoteRoadmapItemApi(horizonTitle, item, subject, candidateName);\n await Promise.all([get().loadPlans(), get().loadIdeas()]);\n return id;\n },\n\n launchPrioritise: async () => {\n const result = await prioritiseQueue();\n await get().refreshAll();\n return result;\n },\n };\n}\n","import type { TaskLogEntry } from '@/types/index';\nimport { fetchTaskLog } from '../../services/content';\nimport type { SetState } from './slice-helpers';\nimport { loadSlice } from './slice-helpers';\n\nexport type TaskLogSlice = {\n taskLog: TaskLogEntry[];\n taskLogLoading: boolean;\n loadTaskLog: () => Promise<void>;\n\n activeLogEntryTitle: string | null;\n setActiveLogEntryTitle: (title: string | null) => void;\n};\n\nexport function createTaskLogSlice(set: SetState): TaskLogSlice {\n return {\n taskLog: [],\n taskLogLoading: true,\n loadTaskLog: loadSlice(\n set,\n fetchTaskLog,\n (data) => ({ taskLog: data.entries }),\n () => ({ taskLog: [] }),\n 'taskLogLoading',\n ),\n\n activeLogEntryTitle: null,\n setActiveLogEntryTitle: (title) => set({ activeLogEntryTitle: title }),\n };\n}\n","import { create } from 'zustand';\nimport { type AgentSlice, createAgentSlice } from './slices/agent-slice';\nimport { type CapacitySlice, createCapacitySlice } from './slices/capacity-slice';\nimport { type DiffSlice, createDiffSlice } from './slices/diff-slice';\nimport { type DocsSlice, createDocsSlice } from './slices/docs-slice';\nimport { type IdeasSlice, createIdeasSlice } from './slices/ideas-slice';\nimport { type NotificationsSlice, createNotificationsSlice } from './slices/notifications-slice';\nimport {\n type ParkedQuestionsSlice,\n createParkedQuestionsSlice,\n} from './slices/parked-questions-slice';\nimport { type PlansSlice, createPlansSlice } from './slices/plans-slice';\nimport { type RoadmapSlice, createRoadmapSlice } from './slices/roadmap-slice';\nimport { type RuntimeSlice, createRuntimeSlice } from './slices/runtime-slice';\nimport { type StatusSlice, createStatusSlice } from './slices/status-slice';\nimport { type SuggestionsSlice, createSuggestionsSlice } from './slices/suggestions-slice';\nimport { type TaskLogSlice, createTaskLogSlice } from './slices/task-log-slice';\n\nexport type { DetailView } from './slices/plans-slice';\n\nexport type AppStore = CapacitySlice &\n PlansSlice &\n RoadmapSlice &\n IdeasSlice &\n SuggestionsSlice &\n TaskLogSlice &\n DocsSlice &\n StatusSlice &\n AgentSlice &\n DiffSlice &\n ParkedQuestionsSlice &\n NotificationsSlice &\n RuntimeSlice;\n\nexport const useAppStore = create<AppStore>()((set, get) => ({\n ...createCapacitySlice(set),\n ...createPlansSlice(set),\n ...createRoadmapSlice(set, get),\n ...createIdeasSlice(set, get),\n ...createSuggestionsSlice(set, get),\n ...createTaskLogSlice(set),\n ...createDocsSlice(set, get),\n ...createStatusSlice(set, get),\n ...createAgentSlice(set, get),\n ...createDiffSlice(set, get),\n ...createParkedQuestionsSlice(set),\n ...createNotificationsSlice(set, get),\n ...createRuntimeSlice(set),\n}));\n\nexport const selectAgentBusy = (s: AppStore) =>\n s.agentStatus.some((t) => t.status !== 'done' && t.status !== 'error');\n\n// Capabilities haven't loaded yet: don't block launches on an unknown state.\nexport const selectHasAnyAgent = (s: AppStore) =>\n s.capabilities.length === 0 ||\n s.capabilities.some((c) => c.id.startsWith('agent:') && c.status === 'ok');\n\nexport const selectGhOk = (s: AppStore) => {\n const gh = s.capabilities.find((c) => c.id === 'gh');\n return gh === undefined || gh.status === 'ok';\n};\n\nexport const selectCapabilityGapCount = (s: AppStore) =>\n s.capabilities.filter((c) => c.status !== 'ok').length;\n\n// loggedIn: null means unknown (non claude-code agent, or the probe couldn't tell) — only\n// an explicit false should surface as \"not signed in\".\nexport const selectAgentNotSignedIn = (s: AppStore) => s.agentAuthStatus?.loggedIn === false;\n\nexport const selectLatestRateLimit = (s: AppStore) =>\n s.agentStatus.find((t) => t.rateLimit)?.rateLimit ?? null;\n","// CLI failures (git, agent, etc.) arrive as multi-line output (\"To github…\\n\n// ! [rejected]…\\nhint:…\"); a toast wants the one line that states the problem.\nexport function oneLineErrorSummary(message: string): string {\n const lines = message\n .split('\\n')\n .map((line) => line.trim())\n .filter(Boolean);\n const marked = lines.find(\n (line) => line.startsWith('!') || line.startsWith('error:') || line.startsWith('fatal:'),\n );\n return marked ?? lines.at(-1) ?? message;\n}\n","import { postFeedbackMessage, undoFeedbackEdit } from '@/app/services/agent-api';\nimport { oneLineErrorSummary } from '@/app/utils/error-summary';\nimport type { MountContext, PlanEntry } from '@/types/index';\nimport type { ToastOptions } from '@dendelion/paper-ui';\nimport { useEffect, useState } from 'react';\n\nexport interface SendFeedbackMessageCallbacks {\n /** Refreshes whatever this mount uses to list plans; a toolbar mount whose\n * activity-stream subscription already refetches for it can pass a no-op. */\n reload: () => Promise<void> | void;\n /** paper-ui's `useToast().toast` on the desk — the toolbar lacks `<ToastProvider>`\n * (its portal would escape the shadow DOM), so it supplies its own instead. */\n notify: (options: ToastOptions) => void;\n}\n\n/** Posting a feedback message runs a one-shot agent before the reply lands in the\n * thread, so this can't reuse usePlanStatusPatch's plain PATCH-and-reload shape.\n * `reload`/`notify` are injected rather than read from the app store or paper-ui's\n * toast context, so mounts without either (the toolbar — IDEA-130 phase 6) can\n * supply their own. */\nexport const useSendFeedbackMessage = (\n plan: PlanEntry,\n { reload, notify }: SendFeedbackMessageCallbacks,\n) => {\n const [sending, setSending] = useState(false);\n const [undoing, setUndoing] = useState(false);\n // Only the reply this hook instance just received carries an Undo — reloading\n // the page loses it, which is fine for a one-tap \"just sent\" correction.\n const [undo, setUndo] = useState<{ commitSha: string } | null>(null);\n\n // A stale undo from the previous plan would otherwise pair with this plan's id.\n // biome-ignore lint/correctness/useExhaustiveDependencies: plan.id is the reset trigger, not read in the body.\n useEffect(() => {\n setUndo(null);\n }, [plan.id]);\n\n const send = async (text: string): Promise<boolean> => {\n if (!plan.id) return false;\n setSending(true);\n setUndo(null);\n try {\n const context: MountContext = {\n route: window.location.pathname,\n focusedIdeaId: plan.id,\n viewport: { width: window.innerWidth, height: window.innerHeight },\n };\n const { error, undo: appliedUndo } = await postFeedbackMessage(plan.id, text, context);\n await reload();\n if (appliedUndo) setUndo(appliedUndo);\n if (error) {\n notify({\n title: 'Agent did not reply',\n description: oneLineErrorSummary(error),\n variant: 'error',\n });\n }\n return true;\n } catch (err) {\n notify({\n title: 'Message failed to send',\n description: oneLineErrorSummary((err as Error).message),\n variant: 'error',\n });\n return false;\n } finally {\n setSending(false);\n }\n };\n\n const undoEdit = async () => {\n if (!plan.id || !undo) return;\n setUndoing(true);\n try {\n const { error } = await undoFeedbackEdit(plan.id, undo.commitSha);\n if (error) {\n notify({ title: 'Undo failed', description: oneLineErrorSummary(error), variant: 'error' });\n return;\n }\n setUndo(null);\n await reload();\n } catch (err) {\n notify({\n title: 'Undo failed',\n description: oneLineErrorSummary((err as Error).message),\n variant: 'error',\n });\n } finally {\n setUndoing(false);\n }\n };\n\n return { sending, send, undo, undoing, undoEdit };\n};\n","import { color } from '@/app/styles/tokens';\nimport type { IdeaStatus, PlanEntry, PrState, ReviewDecision } from '@/types/index';\n\nexport const STATUS_COLOR: Record<PlanEntry['status'], string> = {\n 'in-progress': '#C89A5A',\n planned: '#6A9B72',\n idea: '#8A9BAA',\n review: '#9B7AB5',\n done: '#8A7A8A',\n dropped: '#A06060',\n};\n\nexport const STATUS_LABEL: Record<PlanEntry['status'], string> = {\n idea: 'Idea',\n planned: 'Planned',\n 'in-progress': 'In progress',\n review: 'Review',\n done: 'Done',\n dropped: 'Dropped',\n};\n\nexport const STATUS_STAMP: Record<PlanEntry['status'], { fill: string; text: string }> = {\n idea: { fill: 'rgba(138, 155, 168, 0.25)', text: '#5E7080' },\n planned: { fill: 'rgba(143, 185, 150, 0.25)', text: '#5E8A66' },\n 'in-progress': { fill: 'rgba(212, 163, 115, 0.25)', text: '#A67B4F' },\n review: { fill: 'rgba(155, 122, 181, 0.25)', text: '#7B5E9E' },\n done: { fill: 'rgba(168, 155, 168, 0.25)', text: '#6E5E6E' },\n dropped: { fill: 'rgba(201, 139, 139, 0.25)', text: '#6E3A3A' },\n};\n\n// Manual status stamp for `kind: note` ideas only — plan-bearing ideas carry no status.\nexport const IDEA_STATUS_LABEL: Record<IdeaStatus, string> = {\n open: 'Open',\n done: 'Done',\n dropped: 'Dropped',\n};\n\nexport const IDEA_STATUS_STAMP: Record<IdeaStatus, { fill: string; text: string }> = {\n open: { fill: 'rgba(143, 185, 150, 0.25)', text: '#5E8A66' },\n done: { fill: 'rgba(168, 155, 168, 0.25)', text: '#6E5E6E' },\n dropped: { fill: 'rgba(201, 139, 139, 0.25)', text: '#6E3A3A' },\n};\n\nexport const PR_STATE_LABEL: Record<PrState, string> = {\n draft: 'Draft',\n open: 'Open',\n closed: 'Closed',\n merged: 'Merged',\n};\n\nexport const PR_STATE_STAMP: Record<PrState, { fill: string; text: string }> = {\n draft: { fill: 'rgba(138, 155, 168, 0.25)', text: '#5E7080' },\n open: { fill: 'rgba(143, 185, 150, 0.25)', text: '#5E8A66' },\n closed: { fill: 'rgba(201, 139, 139, 0.25)', text: '#6E3A3A' },\n merged: { fill: 'rgba(155, 122, 181, 0.25)', text: '#7B5E9E' },\n};\n\nexport const REVIEW_DECISION_LABEL: Record<ReviewDecision, string> = {\n approved: 'Approved',\n 'changes-requested': 'Changes requested',\n 'review-required': 'Review required',\n};\n\nexport const REVIEW_DECISION_STAMP: Record<ReviewDecision, { fill: string; text: string }> = {\n approved: { fill: 'rgba(143, 185, 150, 0.25)', text: '#5E8A66' },\n 'changes-requested': { fill: 'rgba(201, 139, 139, 0.25)', text: '#6E3A3A' },\n 'review-required': { fill: 'rgba(212, 163, 115, 0.25)', text: '#A67B4F' },\n};\n","import { Progress } from '@dendelion/paper-ui';\n\ninterface ProgressBarProps {\n pct: number;\n color: string;\n height?: number;\n}\n\nexport const ProgressBar = ({ pct, color, height = 6 }: ProgressBarProps) => {\n return <Progress value={pct} color={color} height={height} />;\n};\n","import type { OpenQuestionGroup } from '@/app/features/plans/helpers';\nimport { useSendFeedbackMessage } from '@/app/features/plans/hooks';\nimport type { PlanEntry, ThreadMessage } from '@/types/index';\nimport { Button, Card, Spinner, Stamp, Textarea } from '@dendelion/paper-ui';\nimport type { CSSProperties } from 'react';\nimport { useEffect, useRef, useState } from 'react';\n\nconst rootStyle: CSSProperties = {\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5rem',\n height: '100%',\n minHeight: 0,\n};\n\nconst questionCountStyle: CSSProperties = {\n opacity: 0.6,\n fontSize: '0.75rem',\n flexShrink: 0,\n};\n\nconst threadStyle: CSSProperties = {\n flex: '1 1 auto',\n minHeight: 0,\n overflowY: 'auto',\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5rem',\n};\n\nconst emptyThreadStyle: CSSProperties = {\n opacity: 0.6,\n fontSize: '0.75rem',\n};\n\nconst bubbleColumnStyle = (fromAgent: boolean): CSSProperties => ({\n display: 'flex',\n flexDirection: 'column',\n gap: '0.25rem',\n alignItems: fromAgent ? 'flex-start' : 'flex-end',\n});\n\nconst bubbleWrapStyle: CSSProperties = { maxWidth: '85%' };\n\nconst bubbleTextStyle: CSSProperties = {\n display: 'block',\n fontSize: '0.8125rem',\n whiteSpace: 'pre-wrap',\n};\n\nconst bubbleMetaStyle: CSSProperties = {\n display: 'flex',\n alignItems: 'center',\n gap: '0.375rem',\n fontSize: '0.6875rem',\n opacity: 0.6,\n};\n\nconst footerRowStyle: CSSProperties = {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n gap: '0.5rem',\n};\n\nconst replyBoxStyle: CSSProperties = { flexShrink: 0 };\nconst errorRowStyle: CSSProperties = { marginTop: '0.375rem' };\nconst emptyStateStyle: CSSProperties = { opacity: 0.6, fontSize: '0.75rem' };\n\nconst noopReload = async () => {};\n\nconst ThreadMessages = ({ messages }: { messages: ThreadMessage[] }) => {\n const bottomRef = useRef<HTMLDivElement>(null);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: messages.length is the rescroll trigger, not read in the body.\n useEffect(() => {\n bottomRef.current?.scrollIntoView({ block: 'end' });\n }, [messages.length]);\n\n if (messages.length === 0) {\n return <span style={emptyThreadStyle}>No messages yet — say hello.</span>;\n }\n\n return (\n <>\n {messages.map((message, i) => {\n const fromAgent = message.from === 'agent';\n return (\n <div\n key={`${message.kind}-${message.date ?? ''}-${i}`}\n style={bubbleColumnStyle(fromAgent)}\n >\n <div style={bubbleWrapStyle}>\n <Card size=\"small\">\n <span style={bubbleTextStyle}>{message.text}</span>\n </Card>\n </div>\n <div style={bubbleMetaStyle}>\n {fromAgent && <Stamp size=\"small\">agent</Stamp>}\n {message.date && <span>{message.date}</span>}\n </div>\n </div>\n );\n })}\n <div ref={bottomRef} />\n </>\n );\n};\n\nconst ReplyBox = ({\n plan,\n placeholder,\n onSent,\n}: {\n plan: PlanEntry;\n placeholder: string;\n onSent: () => void;\n}) => {\n const [input, setInput] = useState('');\n const [error, setError] = useState<string | null>(null);\n // No <ToastProvider> inside the toolbar's shadow DOM (its portal would render\n // unstyled in the host page), so failures surface inline here instead.\n const { sending, send } = useSendFeedbackMessage(plan, {\n reload: noopReload,\n notify: (options) => setError(options.title ?? 'Something went wrong'),\n });\n\n const handleSend = async () => {\n setError(null);\n if (!input.trim()) return;\n if (await send(input.trim())) {\n setInput('');\n onSent();\n }\n };\n\n return (\n <div style={replyBoxStyle}>\n <Textarea\n value={input}\n onChange={(e) => setInput(e.target.value)}\n aria-label={`Reply to ${plan.title}`}\n placeholder={placeholder}\n rows={2}\n disabled={sending}\n />\n <div style={footerRowStyle}>\n {sending ? <Spinner size=\"small\" label=\"Scout replying…\" /> : <span />}\n <Button size=\"small\" onClick={handleSend} disabled={sending || !input.trim()}>\n Send\n </Button>\n </div>\n {error && (\n <div style={errorRowStyle}>\n <Stamp size=\"small\" variant=\"error\">\n {error}\n </Stamp>\n </div>\n )}\n </div>\n );\n};\n\nexport interface ScoutThreadProps {\n focusPlan: PlanEntry | null;\n openQuestions: OpenQuestionGroup[];\n onRefresh: () => void;\n}\n\nexport const ScoutThread = ({ focusPlan, openQuestions, onRefresh }: ScoutThreadProps) => {\n const [oldest] = openQuestions;\n const activePlan = oldest?.plan ?? focusPlan;\n\n if (!activePlan) {\n return (\n <div style={rootStyle}>\n <span style={emptyStateStyle}>No active idea and no open questions.</span>\n </div>\n );\n }\n\n const remainingQuestionCount = oldest\n ? openQuestions.reduce((sum, group) => sum + group.questions.length, 0) - 1\n : 0;\n\n return (\n <div style={rootStyle}>\n {remainingQuestionCount > 0 && (\n <span style={questionCountStyle}>{remainingQuestionCount} more open question(s)</span>\n )}\n <div style={threadStyle}>\n <ThreadMessages messages={activePlan.thread ?? []} />\n </div>\n <ReplyBox\n plan={activePlan}\n placeholder={\n oldest\n ? 'Reply to resolve and resume…'\n : 'Ask Scout, jot a note, or say “note this down as an idea”…'\n }\n onSent={onRefresh}\n />\n </div>\n );\n};\n","import { WandIcon } from '@/app/components/icons';\nimport { ProgressBar } from '@/app/features/plans/components';\nimport { STATUS_COLOR, STATUS_LABEL } from '@/app/features/plans/constants';\nimport { type OpenQuestionGroup, phaseProgress } from '@/app/features/plans/helpers';\nimport type { StatusClientState } from '@/app/hooks/use-status-client';\nimport type { PlanEntry } from '@/types/index';\nimport { Button, Card, IconButton, Input, Island, Stamp } from '@dendelion/paper-ui';\nimport { type CSSProperties, type ReactNode, useState } from 'react';\nimport { ScoutThread } from './scout-thread';\n\n// Renders plain text instead of a dead link while the hosted-client pairing\n// link (fetched async from the runtime) hasn't resolved yet.\nconst DeskLink = ({\n href,\n style,\n children,\n}: {\n href: string | null;\n style: CSSProperties;\n children: ReactNode;\n}) =>\n href ? (\n <a style={style} href={href} target=\"_blank\" rel=\"noopener noreferrer\">\n {children}\n </a>\n ) : (\n <span style={style}>{children}</span>\n );\n\nconst bodyStyle: CSSProperties = {\n display: 'flex',\n flexDirection: 'column',\n width: 'min(34rem, calc(100vw - 2rem))',\n height: '100%',\n minHeight: 0,\n overflow: 'hidden',\n};\n\nconst bannerStyle: CSSProperties = {\n display: 'flex',\n alignItems: 'center',\n gap: '0.5rem',\n flexShrink: 0,\n padding: '0.5rem 0.75rem',\n background: 'rgba(61, 53, 43, 0.08)',\n borderBottom: '1px solid rgba(61, 53, 43, 0.12)',\n borderRadius: '28px 28px 0 0',\n};\n\n// The banner above is full-bleed; this wrapper carries the padding instead.\nconst contentPaddingStyle: CSSProperties = {\n display: 'flex',\n flexDirection: 'column',\n flex: '1 1 auto',\n minHeight: 0,\n padding: '0.75rem',\n};\n\nconst branchStyle: CSSProperties = {\n fontFamily: 'monospace',\n fontSize: '0.75rem',\n color: 'var(--pui-text-primary)',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n flex: 1,\n};\n\nconst mutedStyle: CSSProperties = {\n fontSize: '0.75rem',\n color: 'var(--pui-text-secondary)',\n whiteSpace: 'nowrap',\n};\n\nconst columnsStyle: CSSProperties = {\n display: 'flex',\n alignItems: 'stretch',\n gap: '0.75rem',\n flex: '1 1 auto',\n minHeight: 0,\n};\n\nconst glanceColumnStyle: CSSProperties = {\n flex: '0 0 40%',\n display: 'flex',\n flexDirection: 'column',\n minWidth: 0,\n};\n\n// Top-down flow, not space-between, to avoid large content-less gaps; a\n// flex spacer below pins the bottom row instead.\nconst glanceCardBodyStyle: CSSProperties = {\n display: 'flex',\n flexDirection: 'column',\n gap: '0.625rem',\n height: '100%',\n};\n\nconst glanceSpacerStyle: CSSProperties = { flex: 1, minHeight: '0.5rem' };\n\nconst chatColumnStyle: CSSProperties = {\n flex: '1 1 0%',\n minWidth: 0,\n minHeight: 0,\n overflow: 'hidden',\n};\n\nconst stampRowStyle: CSSProperties = {\n display: 'flex',\n alignItems: 'center',\n gap: '0.375rem',\n};\n\nconst stampSpacerStyle: CSSProperties = { flex: 1 };\n\nconst titleTextStyle: CSSProperties = {\n fontSize: '0.8125rem',\n fontWeight: 600,\n color: 'var(--pui-text-primary)',\n lineHeight: 1.35,\n overflowWrap: 'anywhere',\n};\n\nconst phaseTextStyle: CSSProperties = {\n fontSize: '0.75rem',\n color: 'var(--pui-text-secondary)',\n lineHeight: 1.35,\n overflowWrap: 'anywhere',\n};\n\nconst progressRowStyle: CSSProperties = {\n display: 'flex',\n alignItems: 'center',\n gap: '0.375rem',\n};\n\nconst progressBarWrapStyle: CSSProperties = { flex: 1, minWidth: 0 };\n\nconst progressCountStyle: CSSProperties = {\n fontSize: '0.6875rem',\n color: 'var(--pui-text-secondary)',\n flexShrink: 0,\n};\n\nconst deskLinkStyle: CSSProperties = {\n fontSize: '0.75rem',\n color: 'var(--pui-text-primary)',\n};\n\nconst changedCountStyle: CSSProperties = {\n display: 'block',\n fontSize: '0.75rem',\n color: 'var(--pui-text-primary)',\n textAlign: 'center',\n};\n\nconst commitInputWrapStyle: CSSProperties = { marginTop: '0.25rem' };\n\nconst pushRowStyle: CSSProperties = {\n display: 'flex',\n justifyContent: 'center',\n};\n\nconst emptyCommitStyle: CSSProperties = {\n display: 'block',\n fontSize: '0.75rem',\n color: 'var(--pui-text-secondary)',\n textAlign: 'center',\n};\n\n// Overrides paper-ui's 0.875rem Input size to match deskLinkStyle's 0.75rem.\nconst commitInputTextStyle: CSSProperties = { fontSize: '0.75rem' };\n\nconst commitActionsRowStyle: CSSProperties = {\n display: 'flex',\n alignItems: 'center',\n gap: '0.375rem',\n marginTop: '0.125rem',\n};\n\nconst commitActionsSpacerStyle: CSSProperties = { flex: 1 };\n\n// `.pc-scout-island` clips the full-bleed banner's square corners to the\n// Island's own rounded border, which paper-ui's Island doesn't set itself.\nconst scoutCardCss = `\n.pc-scout-island {\n overflow: hidden;\n}\n.pc-scout-id-stamp {\n /* Offsets the Stamp's own 0.75rem padding so its text aligns with the title below. */\n margin-left: -0.75rem;\n}\n.pc-scout-glance-card {\n height: 100%;\n}`;\n\nexport interface ScoutCardProps {\n status: StatusClientState;\n focusPlan: PlanEntry | null;\n openQuestions: OpenQuestionGroup[];\n onRefreshScout: () => void;\n deskUrl: string | null;\n changesUrl: string | null;\n}\n\nexport const ScoutCard = ({\n status,\n focusPlan,\n openQuestions,\n onRefreshScout,\n deskUrl,\n changesUrl,\n}: ScoutCardProps) => {\n const branch = status.gitBranch ?? 'no branch';\n const progress = focusPlan ? phaseProgress(focusPlan) : null;\n const currentPhase = focusPlan?.phases.find((phase) => !phase.done);\n\n const [commitTitle, setCommitTitle] = useState('');\n const [commitMessage, setCommitMessage] = useState('');\n\n const handleSuggestCommit = async () => {\n const suggestion = await status.suggestCommit();\n if (suggestion) {\n setCommitTitle(suggestion.title);\n setCommitMessage(suggestion.message);\n }\n };\n\n const handleCommit = async () => {\n const ok = await status.commitWithTitle(commitTitle, commitMessage || undefined);\n if (ok) {\n setCommitTitle('');\n setCommitMessage('');\n }\n };\n\n return (\n <Island surface=\"paper\" label=\"Paper camp\" className=\"pc-scout-island\">\n <style>{scoutCardCss}</style>\n <div style={bodyStyle}>\n <div style={bannerStyle}>\n <code style={branchStyle} title={branch}>\n {branch}\n </code>\n {status.gitAhead > 0 && <span style={mutedStyle}>↑{status.gitAhead}</span>}\n <span style={mutedStyle}>\n {status.changedFileCount > 0 ? `${status.changedFileCount} changed` : 'clean'}\n </span>\n </div>\n\n <div style={contentPaddingStyle}>\n <div style={columnsStyle}>\n <div style={glanceColumnStyle}>\n <Card size=\"small\" texture=\"canvas\" className=\"pc-scout-glance-card\">\n <div style={glanceCardBodyStyle}>\n {focusPlan ? (\n <>\n <div style={stampRowStyle}>\n <Stamp size=\"small\" className=\"pc-scout-id-stamp\">\n {focusPlan.id ?? '—'}\n </Stamp>\n <span style={stampSpacerStyle} />\n <Stamp size=\"small\">{STATUS_LABEL[focusPlan.status]}</Stamp>\n </div>\n <span style={titleTextStyle}>{focusPlan.title}</span>\n <span style={phaseTextStyle}>\n {currentPhase ? currentPhase.text : 'All phases done'}\n </span>\n {progress && (\n <div style={progressRowStyle}>\n <div style={progressBarWrapStyle}>\n <ProgressBar\n pct={progress.pct}\n color={STATUS_COLOR[focusPlan.status]}\n />\n </div>\n <span style={progressCountStyle}>\n {progress.done}/{progress.total}\n </span>\n </div>\n )}\n <DeskLink href={deskUrl} style={deskLinkStyle}>\n Open Paper Camp →\n </DeskLink>\n </>\n ) : (\n <>\n <span style={mutedStyle}>no active plan</span>\n <DeskLink href={deskUrl} style={deskLinkStyle}>\n Open Paper Camp →\n </DeskLink>\n </>\n )}\n\n <div style={glanceSpacerStyle} />\n\n {status.changedFileCount > 0 ? (\n <>\n <DeskLink href={changesUrl} style={changedCountStyle}>\n {status.changedFileCount} {status.changedFileCount === 1 ? 'file' : 'files'}{' '}\n changed\n </DeskLink>\n\n <div style={commitInputWrapStyle}>\n <Input\n size=\"small\"\n style={commitInputTextStyle}\n placeholder=\"Commit message\"\n value={commitTitle}\n onChange={(e) => setCommitTitle(e.currentTarget.value)}\n />\n </div>\n <div style={commitActionsRowStyle}>\n <Button\n size=\"tiny\"\n disabled={!commitTitle.trim() || status.commitInFlight}\n onClick={handleCommit}\n >\n {status.commitInFlight ? 'Committing…' : 'Commit'}\n </Button>\n <span style={commitActionsSpacerStyle} />\n <IconButton\n icon={<WandIcon size={14} />}\n size=\"tiny\"\n label=\"Suggest commit message from the diff\"\n disabled={status.suggesting}\n onClick={handleSuggestCommit}\n wobble={status.suggesting ? 1 : 0}\n />\n </div>\n </>\n ) : status.gitAhead > 0 ? (\n <div style={pushRowStyle}>\n <Button size=\"tiny\" disabled={status.gitActionBusy} onClick={status.onPush}>\n {status.pushing\n ? 'Pushing…'\n : `Push ${status.gitAhead} commit${status.gitAhead === 1 ? '' : 's'}`}\n </Button>\n </div>\n ) : (\n <span style={emptyCommitStyle}>Nothing to commit</span>\n )}\n </div>\n </Card>\n </div>\n <div style={chatColumnStyle}>\n <ScoutThread\n focusPlan={focusPlan}\n openQuestions={openQuestions}\n onRefresh={onRefreshScout}\n />\n </div>\n </div>\n </div>\n </div>\n </Island>\n );\n};\n","// Raw inline SVG: paper-ui ships no logo component, and the brand mark's fill\n// colours are intrinsic artwork, not themeable chrome, so they can't reduce to a --pui-* token.\nexport const PaperLogo = ({ size = 20 }: { size?: number }) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 300 300\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M201.427 36.2582C179.697 28.0042 105.826 34.7081 71.2201 41.9871C65.7942 43.1853 53.6755 49.4749 48.6082 65.0481C42.274 84.5147 55.7421 133.811 57.5116 174.027C59.2811 214.244 53.7059 250.946 75.0958 270.152C92.2076 285.517 104.181 277.507 135.964 276.109C167.747 274.71 229.263 272.004 231.889 238.31C234.242 208.109 221.342 162.022 222.353 114.967C223.365 67.9123 228.589 46.5758 201.427 36.2582Z\"\n fill=\"#FFD24B\"\n />\n <path\n d=\"M132.817 20.6735C164.075 18.6446 194.755 14.5996 227.534 23.6671C234.799 26.6221 242.562 31.7678 246.636 39.8024C250.711 47.7237 251.209 56.0534 251.342 63.6894C251.327 79.0716 249.647 93.5512 248.908 108.225C246.054 148.899 256.649 188.784 253.676 232.608C252.073 249.127 237.005 259.354 224.736 263.57C199.557 272.22 174.18 271.817 149.619 271.866C139.299 271.75 129.255 272.85 118.138 273.367C107.266 274.521 92.489 269.973 84.7914 261.111C58.118 229.39 72.0942 191.892 70.6915 159.739C71.6006 125.079 62.4206 90.6157 67.1708 53.7931C67.5308 52.2123 67.9894 50.6156 68.597 49.0736C72.997 37.8252 82.365 28.2338 94.7502 25.6519L94.7747 25.6473C107.358 23.3309 120.106 21.8473 132.817 20.6735ZM223.737 32.4893C196.722 24.0984 163.677 26.1147 133.278 27.1435C120.68 27.8144 107.995 28.7723 95.5966 30.5044C85.9061 32.9392 77.7702 41.5456 74.4985 51.2893C74.0877 52.4692 73.7604 53.7772 73.5089 55.1226C70.3974 88.568 80.4744 123.958 80.62 159.739C82.0071 192.64 72.738 231.022 93.2309 252.491C105.593 267.236 127.75 258.118 149.619 259.036C173.875 258.879 198.712 258.732 220.211 251.241C231.015 247.368 239.819 240.602 240.738 231.023C243.753 192.085 233.662 149.684 237.291 107.462C237.598 79.4423 251.392 42.3988 223.737 32.4893Z\"\n fill=\"black\"\n />\n <path\n d=\"M132.757 75.2872C156.24 74.0458 179.785 73.9824 203.392 75.0978C205.078 75.1775 206.765 75.2636 208.452 75.3553C209.068 75.3893 209.67 75.6244 210.127 76.0515C210.584 76.4782 210.86 77.0559 210.892 77.6679C210.925 78.28 210.712 78.8844 210.303 79.357C209.893 79.8298 209.32 80.1264 208.711 80.2253C207.043 80.4943 205.375 80.758 203.706 81.015C180.349 84.6132 156.929 87.0323 133.447 88.2737C126.737 88.6284 119.982 88.1173 113.181 86.7405C111.481 86.3963 109.778 85.9979 108.072 85.5455C107.512 85.3948 106.967 85.132 106.555 84.7165C106.142 84.3014 105.895 83.7741 105.866 83.2202C105.836 82.6664 106.027 82.1166 106.393 81.6604C106.759 81.2038 107.272 80.8844 107.813 80.6755C109.461 80.0458 111.113 79.4698 112.767 78.9483C119.385 76.8621 126.048 75.6419 132.757 75.2872Z\"\n fill=\"black\"\n />\n <path\n d=\"M183.027 103.651C189.806 103.296 196.631 103.807 203.502 105.184C205.219 105.528 206.94 105.927 208.664 106.379C209.23 106.53 209.78 106.793 210.196 107.208C210.613 107.623 210.863 108.151 210.893 108.704C210.922 109.258 210.73 109.808 210.36 110.264C209.99 110.721 209.472 111.04 208.925 111.249C207.26 111.879 205.591 112.455 203.92 112.976C197.234 115.063 190.502 116.283 183.724 116.638C159.999 117.879 136.212 117.942 112.361 116.827C110.658 116.747 108.953 116.661 107.249 116.569C106.627 116.535 106.019 116.3 105.557 115.873C105.095 115.446 104.816 114.869 104.783 114.257C104.751 113.645 104.965 113.04 105.379 112.568C105.793 112.095 106.372 111.798 106.988 111.699C108.672 111.43 110.358 111.167 112.043 110.91C135.641 107.311 159.303 104.892 183.027 103.651Z\"\n fill=\"black\"\n />\n <path\n d=\"M125.839 136.816C143.039 135.693 160.316 135.768 177.669 137.041C178.909 137.132 180.149 137.229 181.389 137.332C181.998 137.384 182.593 137.621 183.048 138.047C183.504 138.474 183.782 139.049 183.821 139.66C183.859 140.27 183.657 140.876 183.26 141.358C182.862 141.841 182.302 142.153 181.705 142.283C180.488 142.547 179.271 142.804 178.053 143.055C161.006 146.573 143.882 148.893 126.682 150.015C121.768 150.336 116.797 149.777 111.77 148.337C110.513 147.977 109.253 147.563 107.989 147.093C107.453 146.891 106.933 146.609 106.537 146.197C106.141 145.786 105.901 145.28 105.867 144.746C105.833 144.212 106.007 143.679 106.348 143.219C106.688 142.76 107.168 142.413 107.674 142.142C108.867 141.512 110.064 140.937 111.265 140.417C116.067 138.337 120.925 137.136 125.839 136.816Z\"\n fill=\"black\"\n />\n </svg>\n);\n","import { type FocusEvent, useCallback, useEffect, useRef, useState } from 'react';\n\nconst HOVER_INTENT_MS = 120;\n\nexport const useScoutReveal = () => {\n const [open, setOpen] = useState(false);\n const rootRef = useRef<HTMLDivElement>(null);\n const openTimer = useRef<number | null>(null);\n\n const cancelOpen = useCallback(() => {\n if (openTimer.current !== null) {\n window.clearTimeout(openTimer.current);\n openTimer.current = null;\n }\n }, []);\n\n const reveal = useCallback(() => {\n cancelOpen();\n setOpen(true);\n }, [cancelOpen]);\n\n const dismiss = useCallback(() => {\n cancelOpen();\n setOpen(false);\n }, [cancelOpen]);\n\n const onPointerEnter = useCallback(() => {\n if (openTimer.current !== null) return;\n openTimer.current = window.setTimeout(() => {\n openTimer.current = null;\n setOpen(true);\n }, HOVER_INTENT_MS);\n }, []);\n\n const onPointerLeave = useCallback(() => {\n cancelOpen();\n }, [cancelOpen]);\n\n const onFocus = useCallback(\n (event: FocusEvent<HTMLElement>) => {\n if (event.currentTarget.matches(':focus-visible')) reveal();\n },\n [reveal],\n );\n\n useEffect(() => {\n if (!open) return;\n const onDocumentPointerDown = (event: PointerEvent) => {\n const root = rootRef.current;\n if (root && !event.composedPath().includes(root)) dismiss();\n };\n const onKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') dismiss();\n };\n document.addEventListener('pointerdown', onDocumentPointerDown, true);\n document.addEventListener('keydown', onKeyDown, true);\n return () => {\n document.removeEventListener('pointerdown', onDocumentPointerDown, true);\n document.removeEventListener('keydown', onKeyDown, true);\n };\n }, [open, dismiss]);\n\n useEffect(() => () => cancelOpen(), [cancelOpen]);\n\n return {\n open,\n rootRef,\n rootProps: { onPointerEnter, onPointerLeave },\n triggerProps: { onClick: reveal, onFocus },\n };\n};\n","import type { CSSProperties, ReactNode } from 'react';\nimport { PaperLogo } from './paper-logo';\nimport { useScoutReveal } from './use-scout-reveal';\n\nconst SPRING = 'cubic-bezier(0.34, 1.56, 0.64, 1)';\n\nconst dockStyle: CSSProperties = {\n position: 'fixed',\n bottom: '1.5rem',\n left: '50%',\n transform: 'translateX(-50%)',\n zIndex: 2147483647,\n pointerEvents: 'none',\n};\n\nconst rootStyle: CSSProperties = {\n position: 'relative',\n display: 'inline-flex',\n pointerEvents: 'auto',\n};\n\n// A plain circle instead of paper-ui's IconButton — its SVG blob background\n// reads as an arbitrary shape at trigger size; the owner wants it round.\nconst triggerStyle = (open: boolean): CSSProperties => ({\n width: '48px',\n height: '48px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n border: '1px solid rgba(61, 53, 43, 0.25)',\n borderRadius: '50%',\n background: '#E5DBC4',\n color: 'var(--pui-text-primary)',\n cursor: 'pointer',\n boxShadow: '0 4px 10px rgba(61, 53, 43, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.5)',\n transform: open ? 'scale(0.6)' : undefined,\n opacity: open ? 0 : 1,\n visibility: open ? 'hidden' : 'visible',\n transition: open\n ? 'transform 0.24s ease, opacity 0.18s ease, visibility 0s 0.24s'\n : `transform 0.3s ${SPRING}, opacity 0.2s ease, visibility 0s, box-shadow 0.2s ease`,\n});\n\nconst cardLayerStyle = (open: boolean): CSSProperties => ({\n position: 'absolute',\n bottom: 0,\n left: '50%',\n transformOrigin: 'bottom center',\n transform: open ? 'translateX(-50%) scale(1)' : 'translateX(-50%) scale(0.82)',\n opacity: open ? 1 : 0,\n visibility: open ? 'visible' : 'hidden',\n pointerEvents: open ? 'auto' : 'none',\n transition: open\n ? `transform 0.34s ${SPRING}, opacity 0.22s ease, visibility 0s`\n : 'transform 0.26s ease, opacity 0.2s ease, visibility 0s 0.26s',\n});\n\n// Neutralises paper-ui's own Island position/transform/size (set via a\n// hashed class) so the card flows inside the grow-from-trigger layer instead.\nconst scoutCss = `\n.pc-scout-trigger:hover {\n border-color: rgba(61, 53, 43, 0.5);\n}\n.pc-scout-card > section {\n position: static;\n transform: none;\n bottom: auto;\n left: auto;\n z-index: auto;\n height: 30rem;\n /* No padding here so the branch banner sits flush; scout-card.tsx pads its own wrapper. */\n padding: 0;\n box-sizing: border-box;\n}\n@media (prefers-reduced-motion: reduce) {\n .pc-scout-card, .pc-scout-trigger {\n transition: none !important;\n }\n}`;\n\nexport const ScoutTrigger = ({ children }: { children?: ReactNode }) => {\n const { open, rootRef, rootProps, triggerProps } = useScoutReveal();\n\n return (\n <div style={dockStyle}>\n <style>{scoutCss}</style>\n <div ref={rootRef} style={rootStyle} {...rootProps}>\n <button\n type=\"button\"\n className=\"pc-scout-trigger\"\n aria-label=\"Open paper camp\"\n style={triggerStyle(open)}\n aria-expanded={open}\n {...triggerProps}\n >\n <PaperLogo size={22} />\n </button>\n <div className=\"pc-scout-card\" style={cardLayerStyle(open)} aria-hidden={!open}>\n {children}\n </div>\n </div>\n </div>\n );\n};\n","import { useFocusClient } from '@/app/hooks/use-focus-client';\nimport { useScoutClient } from '@/app/hooks/use-scout-client';\nimport { useStatusClient } from '@/app/hooks/use-status-client';\nimport { type PairingInfo, fetchPairingInfo } from '@/app/services/pairing-api';\nimport { fetchConfig } from '@/app/services/system';\nimport { useEffect, useState } from 'react';\nimport { ScoutCard } from './scout/scout-card';\nimport { ScoutTrigger } from './scout/scout-trigger';\n\nconst DEFAULT_ROUTE = '/paper-camp';\n\nexport interface ToolbarProps {\n route?: string;\n}\n\n// Same link shape the `dev`/`daemon` banners print, with this app's own proxied\n// runtime origin standing in for the CLI's localhost/network address.\nfunction hostedClientLink(pairing: PairingInfo, runtimeUrl: string, path: string): string {\n const params = new URLSearchParams({ runtime: runtimeUrl, token: pairing.token });\n return `${pairing.hostedClientUrl}${path}?${params}`;\n}\n\nexport const Toolbar = ({ route: injectedRoute }: ToolbarProps) => {\n const status = useStatusClient();\n const focusPlan = useFocusClient();\n const scout = useScoutClient();\n const [route, setRoute] = useState(injectedRoute ?? DEFAULT_ROUTE);\n const [pairing, setPairing] = useState<PairingInfo | null>(null);\n\n useEffect(() => {\n fetchConfig().then((config) => {\n const configuredRoute = config?.integration?.route;\n if (configuredRoute) setRoute(configuredRoute);\n });\n fetchPairingInfo().then(setPairing);\n }, []);\n\n const runtimeUrl = `${window.location.origin}${route}`;\n const deskPath = focusPlan ? `/plans/${encodeURIComponent(focusPlan.title)}` : '/';\n const deskUrl = pairing ? hostedClientLink(pairing, runtimeUrl, deskPath) : null;\n const changesUrl = pairing ? hostedClientLink(pairing, runtimeUrl, '/diff') : null;\n\n return (\n <ScoutTrigger>\n <ScoutCard\n status={status}\n focusPlan={focusPlan}\n openQuestions={scout.openQuestions}\n onRefreshScout={scout.refresh}\n deskUrl={deskUrl}\n changesUrl={changesUrl}\n />\n </ScoutTrigger>\n );\n};\n","import { setApiBase } from '@/app/services/api-base';\nimport paperUiCss from '@dendelion/paper-ui/dist/index.css?raw';\nimport { type Root, createRoot } from 'react-dom/client';\nimport { ROUTE_ATTRIBUTE } from './route-attribute';\nimport { Toolbar } from './toolbar';\n\nexport const TOOLBAR_TAG_NAME = 'paper-camp-toolbar';\n\nconst FONTS_LINK_ID = 'paper-camp-fonts';\nconst FONTS_HREF =\n 'https://fonts.googleapis.com/css2?family=Caveat:wght@400;500;600;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap';\n\n// Shadow-DOM text can only use fonts the host document has loaded, so the embed loads its own.\nfunction ensureFonts(): void {\n if (document.getElementById(FONTS_LINK_ID)) return;\n const link = document.createElement('link');\n link.id = FONTS_LINK_ID;\n link.rel = 'stylesheet';\n link.href = FONTS_HREF;\n document.head.appendChild(link);\n}\n\n// Shadow DOM keeps host page CSS out and this element's own styles in — the\n// paper-ui stylesheet is injected here rather than assumed present on the host.\nexport class PaperCampToolbarElement extends HTMLElement {\n #root: Root | null = null;\n\n connectedCallback(): void {\n ensureFonts();\n const route = this.getAttribute(ROUTE_ATTRIBUTE);\n if (route) setApiBase(route);\n const shadow = this.shadowRoot ?? this.attachShadow({ mode: 'open' });\n shadow.replaceChildren();\n const hostStyle = document.createElement('style');\n // :root font settings never cross the shadow boundary, so set it here too.\n hostStyle.textContent =\n ':host { display: block; width: 100%; font-family: \"Cormorant Garamond\", Georgia, serif; }';\n shadow.appendChild(hostStyle);\n const style = document.createElement('style');\n // :root never matches inside a shadow tree, so re-scope declarations to :host too.\n style.textContent = paperUiCss.replaceAll(':root', ':root, :host');\n shadow.appendChild(style);\n const mountPoint = document.createElement('div');\n // Set on the mount node, not :host, since host-page rules matching the\n // custom element directly (e.g. Tailwind preflight) outrank :host.\n mountPoint.style.fontFamily = '\"Cormorant Garamond\", Georgia, serif';\n shadow.appendChild(mountPoint);\n this.#root = createRoot(mountPoint);\n this.#root.render(<Toolbar route={route ?? undefined} />);\n }\n\n disconnectedCallback(): void {\n this.#root?.unmount();\n this.#root = null;\n }\n}\n","import { ROUTE_ATTRIBUTE, TOOLBAR_SCRIPT_ID } from './route-attribute';\nimport { PaperCampToolbarElement, TOOLBAR_TAG_NAME } from './toolbar-element';\n\nif (!customElements.get(TOOLBAR_TAG_NAME)) {\n customElements.define(TOOLBAR_TAG_NAME, PaperCampToolbarElement);\n}\n\nif (!document.querySelector(TOOLBAR_TAG_NAME)) {\n const el = document.createElement(TOOLBAR_TAG_NAME);\n const route = document.getElementById(TOOLBAR_SCRIPT_ID)?.getAttribute(ROUTE_ATTRIBUTE);\n if (route) el.setAttribute(ROUTE_ATTRIBUTE, route);\n document.body.insertBefore(el, document.body.firstChild);\n}\n"],"names":["TOOLBAR_SCRIPT_ID","ROUTE_ATTRIBUTE","l","n","p","q","r","t","u","v","w","x","y","z","A","a","B","C","D","E","b","e","F","G","H","I","J","K","L","M","d","c","k","h","g","f","m","N","O","escape","P","Q","R","S","T","U","V","W","X","react_production_min","reactModule","require$$0","reactJsxRuntime_production_min","jsxRuntimeModule","base","setApiBase","value","apiUrl","path","apiFetch","url","init","paperUiCss","exports","schedulerModule","aa","ca","require$$1","da","ea","fa","ha","ia","ja","ka","la","ma","oa","pa","qa","ra","sa","ta","ua","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","Ra","Sa","Ta","Ua","Va","Wa","Xa","Ya","Za","ab","bb","cb","db","eb","fb","gb","hb","ib","jb","kb","lb","mb","nb","ob","pb","qb","rb","sb","tb","ub","vb","wb","xb","yb","zb","Ab","Bb","Cb","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Ub","Vb","Wb","Xb","Yb","Zb","$b","ac","bc","cc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","oc","nc","pc","qc","rc","sc","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","Tc","Uc","Vc","Wc","Xc","Yc","Zc","$c","ad","bd","cd","dd","ed","fd","gd","hd","id","jd","kd","ld","md","nd","od","pd","qd","rd","sd","td","ud","vd","wd","xd","yd","Ad","zd","Bd","Cd","Dd","Ed","Fd","Gd","Hd","Id","Jd","Kd","Ld","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","Ud","Vd","Wd","Xd","Yd","Zd","$d","ae","be","ce","de","ee","fe","ge","he","ie","je","ke","le","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","Ge","He","Ie","Je","Ke","Le","Me","Ne","Oe","Pe","Qe","Re","Se","Te","Ue","Ve","We","Xe","Ye","Ze","$e","af","bf","cf","df","ef","ff","gf","hf","jf","kf","lf","mf","nf","of","pf","qf","rf","sf","tf","uf","vf","wf","na","xa","$a","ba","xf","yf","zf","Af","Bf","Cf","Df","Ef","Ff","Gf","Hf","Jf","If","Kf","Lf","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","fh","gh","hh","ih","jh","kh","lh","mh","nh","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","ei","fi","gi","hi","ii","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","aj","bj","cj","dj","ej","fj","gj","hj","ij","jj","kj","lj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","wj","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Kj","Lj","Mj","Nj","Oj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","Xj","Yj","Zj","ak","bk","ck","dk","ek","fk","gk","hk","ik","jk","kk","lk","mk","nk","ok","Y","Z","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","Qk","Rk","Sk","Tk","Uk","Vk","Wk","Xk","Yk","Zk","$k","al","bl","cl","dl","el","fl","gl","hl","il","jl","kl","ll","ml","nl","ol","pl","ql","rl","sl","tl","ul","vl","reactDom_production_min","checkDCE","err","reactDomModule","createRoot","itemProgress","items","done","phaseProgress","plan","isOpenQuestion","message","byDateAscending","collectOpenQuestions","plans","group","findFocusPlan","activePlanTitle","DEFAULT_VISIBLE_STATUSES","DEFAULT_VISIBLE_NOTE_STATUSES","DEFAULT_PLAN_LIST_FILTERS","MIN_RECONNECT_DELAY_MS","MAX_RECONNECT_DELAY_MS","source","reconnectTimer","reconnectDelay","listeners","handleMessage","event","payload","listener","handleOpen","handleError","connect","subscribeToActivityStream","fetchTaskLog","fetchSuggestions","promoteSuggestion","suggestion","res","dismissSuggestion","fetchRepoDocs","fetchRoadmap","promoteRoadmapItem","horizonTitle","item","subject","candidateName","fetchConsistency","fetchDoctor","IDEAS_TIMEOUT_MS","fetchIdeas","fetchArchivableIdeas","archiveIdeas","ids","response","data","prioritiseQueue","fetchNotifications","markNotificationRead","fetchParkedQuestions","PLANS_TIMEOUT_MS","fetchPlans","useFocusClient","focusPlan","setFocusPlan","useState","load","useCallback","entries","useEffect","timer","unsubscribe","useScoutClient","openQuestions","setOpenQuestions","openQuestionCount","sum","handleAgentResponse","fallback","fetchAgentStatus","fetchReconcileQueue","launchAgent","planId","phaseIndex","launchPlanAudit","prompt","launchPlanReconcile","launchPlanDraft","ideaId","launchIdeaExtend","launchSuggestIdeas","launchBatchReconcile","launchBatchDraft","launchRunAll","launchFixReview","launchPrReview","launchIssueFix","issueId","title","reason","output","postFeedbackMessage","text","context","undoFeedbackEdit","commitSha","stopAgent","taskId","startLoginRelay","fetchLoginRelayStatus","cancelLoginRelay","submitLoginRelayCode","code","GIT_TIMEOUT_MS","throwIfNotOk","fallbackError","fetchGitStatus","fetchFileDiffs","commitChanges","files","pushChanges","suggestCommitMessage","syncToMain","pullFromOrigin","fetchCapabilities","fetchAgentAuthStatus","fetchConfig","ACTIVE_TASK_STATUSES","useStatusClient","gitBranch","setGitBranch","gitAhead","setGitAhead","changedFileCount","setChangedFileCount","gitBranchHygiene","setGitBranchHygiene","agentActive","setAgentActive","activeTaskStatus","setActiveTaskStatus","rateLimit","setRateLimit","agentNotSignedIn","setAgentNotSignedIn","capabilityGapCount","setCapabilityGapCount","commitInFlight","setCommitInFlight","gitAction","setGitAction","suggesting","setSuggesting","changedFilesRef","useRef","gitActionRef","commitInFlightRef","loadGitStatus","branch","ahead","branchHygiene","entry","loadAgentStatus","_a","tasks","active","task","capabilities","status","timers","schedule","key","run","ms","runGitAction","kind","action","onPush","onSync","result","onPull","onQuickCommit","suggestCommit","commitWithTitle","trimmedTitle","fetchPairingInfo","WandIcon","size","jsxs","jsx","React","is","objectIs","useLayoutEffect","useDebugValue","useSyncExternalStore$2","subscribe","getSnapshot","_useState","inst","forceUpdate","checkIfSnapshotChanged","latestGetSnapshot","nextValue","useSyncExternalStore$1","shim","useSyncExternalStoreShim_production","shimModule","useSyncExternalStore","useMemo","withSelector_production","getServerSnapshot","selector","isEqual","instRef","memoizedSelector","nextSnapshot","hasMemo","memoizedSnapshot","currentSelection","memoizedSelection","nextSelection","maybeGetServerSnapshot","withSelectorModule","clsx","CLASS_PART_SEPARATOR","createClassGroupUtils","config","classMap","createClassMap","conflictingClassGroups","conflictingClassGroupModifiers","className","classParts","getGroupRecursive","getGroupIdForArbitraryProperty","classGroupId","hasPostfixModifier","conflicts","classPartObject","currentClassPart","nextClassPartObject","classGroupFromNextClassPart","classRest","validator","arbitraryPropertyRegex","arbitraryPropertyClassName","property","theme","prefix","getPrefixedClassGroupEntries","classGroup","processClassesRecursively","classDefinition","classPartObjectToEdit","getPart","isThemeGetter","currentClassPartObject","pathPart","func","classGroupEntries","prefixedClassGroup","createLruCache","maxCacheSize","cacheSize","cache","previousCache","update","IMPORTANT_MODIFIER","createParseClassName","separator","experimentalParseClassName","isSeparatorSingleCharacter","firstSeparatorCharacter","separatorLength","parseClassName","modifiers","bracketDepth","modifierStart","postfixModifierPosition","index","currentCharacter","baseClassNameWithImportantModifier","hasImportantModifier","baseClassName","maybePostfixModifierPosition","sortModifiers","sortedModifiers","unsortedModifiers","modifier","createConfigUtils","SPLIT_CLASSES_REGEX","mergeClassList","classList","configUtils","getClassGroupId","getConflictingClassGroupIds","classGroupsInConflict","classNames","originalClassName","variantModifier","modifierId","classId","conflictGroups","i","twJoin","argument","resolvedValue","string","toValue","mix","createTailwindMerge","createConfigFirst","createConfigRest","cacheGet","cacheSet","functionToCall","initTailwindMerge","previousConfig","createConfigCurrent","tailwindMerge","cachedResult","fromTheme","themeGetter","arbitraryValueRegex","fractionRegex","stringLengths","tshirtUnitRegex","lengthUnitRegex","colorFunctionRegex","shadowRegex","imageRegex","isLength","isNumber","isArbitraryLength","getIsArbitraryValue","isLengthOnly","isArbitraryNumber","isInteger","isPercent","isArbitraryValue","isTshirtSize","sizeLabels","isArbitrarySize","isNever","isArbitraryPosition","imageLabels","isArbitraryImage","isImage","isArbitraryShadow","isShadow","isAny","label","testValue","getDefaultConfig","colors","spacing","blur","brightness","borderColor","borderRadius","borderSpacing","borderWidth","contrast","grayscale","hueRotate","invert","gap","gradientColorStops","gradientColorStopPositions","inset","margin","opacity","padding","saturate","scale","sepia","skew","space","translate","getOverscroll","getOverflow","getSpacingWithAutoAndArbitrary","getSpacingWithArbitrary","getLengthWithEmptyAndArbitrary","getNumberWithAutoAndArbitrary","getPositions","getLineStyles","getBlendModes","getAlign","getZeroAndEmpty","getBreaks","getNumberAndArbitrary","twMerge","s","o","$","j","_","tt","et$1","st$1","et","nt","ot","at","st","Bt","Ct","Dt","Wt","rt","Pt","Ot","kt","qt","zt","_e","Ht","Kt","Ut","Vt","Yt","Xt","Qt","Zt","Jt","eo","to","oo","ao","no","lo","ro","co","so","io","It","_o","uo","mo","ho","bo","po","ct","fo","wo","$o","No","Co","Bo","it","ga","dt","_t","wn","$n","Nn","Cn","Bn","yl","xl","wl","$l","Nl","Cl","Bl","El","Ll","Rl","Tl","Il","Al","Ml","Sl","Fl","Dl","Wl","Pl","Ol","zl","qr","zr","jr","Gr","Hr","Kr","Ur","Vr","Yr","Xr","Qr","Zr","Jr","mt","es","ts","os","as","ns","ls","rs","ht","cs","bt","Rt","createStoreImpl","createState","state","setState","partial","replace","nextState","previousState","getState","api","initialState","__vite_import_meta_env__","createStore","ReactExports","useSyncExternalStoreWithSelector","useSyncExternalStoreExports","didWarnAboutEqualityFn","identity","arg","useStore","equalityFn","slice","createImpl","useBoundStore","create","runDeskCheck","name","loadSlice","set","fetcher","apply","loadingKey","withAgentPoll","get","args","previewCounter","nextPreviewId","createAgentSlice","prev","before","pending","reconcileTask","batchTask","batchTerminal","results","launchAgentApi","launchPlanAuditApi","existing","launchPlanReconcileApi","launchPlanDraftApi","launchIdeaExtendApi","launchBatchReconcileApi","launchBatchDraftApi","launchSuggestIdeasApi","launchRunAllApi","launchFixReviewApi","launchPrReviewApi","launchIssueFixApi","stopAgentApi","startLoginRelayApi","cancelLoginRelayApi","submitLoginRelayCodeApi","previewId","PROBE_TIMEOUT_MS","refreshCapacityProbe","body","createCapacitySlice","stat","createDiffSlice","collapsed","expanded","collapsedPaths","fetchReleaseVersions","versions","createDocsSlice","activeDocTitle","readme","query","version","createIdeasSlice","archiveIdeasApi","createNotificationsSlice","current","createParkedQuestionsSlice","STALENESS_CAP_MS","readLocalDraft","raw","writeLocalDraft","PLAN_FILTERS_KEY","DETAIL_VIEW_KEY","readStoredPlanFilters","readStoredDetailView","storePlanFilters","filters","createPlansSlice","tag","search","sortKey","view","DEFAULT_ROADMAP_FILTERS","createRoadmapSlice","_get","servesOwnRuntime","runtimeUrl","fetchApi","MOUNT_ATTRIBUTE","readMountPrefix","root","mountPrefix","PROJECTS_KEY","ACTIVE_PROJECT_KEY","LEGACY_RUNTIMES_KEY","LEGACY_ACTIVE_RUNTIME_KEY","projectEntryId","safeParseArray","parsed","isProjectEntry","ensureMigrated","storage","legacyRuntimes","legacyActive","readProjects","writeProjects","projects","listProjects","activeProjectId","upsertRuntimeProject","connection","previousLabel","candidate","selectProject","match","RUNTIME_URL_PARAM","PAIRING_TOKEN_PARAM","toRuntimeConnection","readRuntimeConnection","location","params","rememberRuntime","loadRuntimeConnection","fromQuery","activeId","runtimeConnection","hasEmbeddedRuntime","hasDetachedRuntime","PROBE_RETRIES","PROBE_RETRY_DELAY_MS","wait","resolve","selfServedProbe","probeSelfServed","probeReachable","attempt","createRuntimeSlice","reachable","fetchStatus","triggerConsistencyCheck","dropServerCaches","createStatusSlice","error","inFlight","gitStatus","behind","diverged","stashes","createSuggestionsSlice","promoteSuggestionApi","dismissSuggestionApi","promoteRoadmapItemApi","createTaskLogSlice","oneLineErrorSummary","lines","line","useSendFeedbackMessage","reload","notify","sending","setSending","undoing","setUndoing","undo","setUndo","appliedUndo","STATUS_COLOR","STATUS_LABEL","ProgressBar","pct","color","height","Progress","rootStyle","questionCountStyle","threadStyle","emptyThreadStyle","bubbleColumnStyle","fromAgent","bubbleWrapStyle","bubbleTextStyle","bubbleMetaStyle","footerRowStyle","replyBoxStyle","errorRowStyle","emptyStateStyle","noopReload","ThreadMessages","messages","bottomRef","Fragment","Card","Stamp","ReplyBox","placeholder","onSent","input","setInput","setError","send","options","handleSend","Textarea","Spinner","Button","ScoutThread","onRefresh","oldest","activePlan","remainingQuestionCount","DeskLink","href","style","children","bodyStyle","bannerStyle","contentPaddingStyle","branchStyle","mutedStyle","columnsStyle","glanceColumnStyle","glanceCardBodyStyle","glanceSpacerStyle","chatColumnStyle","stampRowStyle","stampSpacerStyle","titleTextStyle","phaseTextStyle","progressRowStyle","progressBarWrapStyle","progressCountStyle","deskLinkStyle","changedCountStyle","commitInputWrapStyle","pushRowStyle","emptyCommitStyle","commitInputTextStyle","commitActionsRowStyle","commitActionsSpacerStyle","scoutCardCss","ScoutCard","onRefreshScout","deskUrl","changesUrl","progress","currentPhase","phase","commitTitle","setCommitTitle","commitMessage","setCommitMessage","handleSuggestCommit","handleCommit","Island","Input","IconButton","PaperLogo","HOVER_INTENT_MS","useScoutReveal","open","setOpen","rootRef","openTimer","cancelOpen","reveal","dismiss","onPointerEnter","onPointerLeave","onFocus","onDocumentPointerDown","onKeyDown","SPRING","dockStyle","triggerStyle","cardLayerStyle","scoutCss","ScoutTrigger","rootProps","triggerProps","DEFAULT_ROUTE","hostedClientLink","pairing","Toolbar","injectedRoute","scout","route","setRoute","setPairing","configuredRoute","deskPath","TOOLBAR_TAG_NAME","FONTS_LINK_ID","FONTS_HREF","ensureFonts","link","_root","PaperCampToolbarElement","__privateAdd","shadow","hostStyle","mountPoint","__privateSet","__privateGet"],"mappings":"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","x_google_ignoreList":[1,2,3,4,6,7,8,9,10,11,29,30,31,32,33,34,35,36,37,38]}