{"version":3,"sources":["https://esm.sh/v127/react@18.2.0","https://esm.sh/stable/react@18.2.0/denonext/react.mjs","https://esm.sh/v127/*react-dom@18.2.0","https://esm.sh/v127/scheduler@0.23.0","https://esm.sh/v127/scheduler@0.23.0/denonext/scheduler.mjs","https://esm.sh/v127/react-dom@18.2.0/X-ZS8q/denonext/react-dom.mjs","https://esm.sh/v127/react-dom@18.2.0/X-ZS8q/denonext/client.js","https://esm.sh/v127/@remix-run/router@1.6.2/denonext/router.mjs","https://esm.sh/v127/react-router@6.11.2/denonext/react-router.mjs","https://esm.sh/v127/react-router-dom@6.11.2/X-ZS8q/denonext/react-router-dom.mjs","https://esm.sh/stable/react@18.2.0/denonext/jsx-runtime.js","/app/components/SiteHeader.jsx","/app/components/SiteFooter.jsx","/app/widgets/Spinner.jsx","/app/components/SearchInput.jsx","/app/screens/Home.jsx","/app/components/ScreenWithSidebar.jsx","https://esm.sh/v127/@tanstack/table-core@8.9.1/denonext/table-core.mjs","https://esm.sh/v127/@tanstack/react-table@8.9.1/denonext/react-table.mjs","/app/widgets/Link.jsx","/app/utils.jsx","/app/components/ProteinTable.jsx","https://esm.sh/v127/radash@10.8.1/denonext/radash.mjs","/app/rest.js","/app/hooks.js","/app/widgets/Select.jsx","/app/components/SpeciesSelect.jsx","/app/widgets/Checkbox.jsx","/app/screens/Search.jsx","/app/components/DomainsTile.jsx","/app/components/ShortLinearMotifsTile.jsx","https://esm.sh/v127/d3-selection@3.0.0/denonext/d3-selection.mjs","https://esm.sh/v127/d3-axis@3.0.0/denonext/d3-axis.mjs","https://esm.sh/v127/d3-array@3.2.4/denonext/d3-array.mjs","https://esm.sh/v127/d3-time@3.1.0/denonext/d3-time.mjs","https://esm.sh/v127/d3-format@3.1.0/denonext/d3-format.mjs","https://esm.sh/v127/d3-time-format@4.1.0/denonext/d3-time-format.mjs","https://esm.sh/v127/d3-color@3.1.0/denonext/d3-color.mjs","https://esm.sh/v127/d3-interpolate@3.0.1/denonext/d3-interpolate.mjs","https://esm.sh/v127/d3-scale@4.0.2/denonext/d3-scale.mjs","https://esm.sh/v127/d3-dispatch@3.0.1/denonext/d3-dispatch.mjs","https://esm.sh/v127/d3-drag@3.0.0/denonext/d3-drag.mjs","https://esm.sh/v127/d3-timer@3.0.1/denonext/d3-timer.mjs","https://esm.sh/v127/d3-ease@3.0.1/denonext/d3-ease.mjs","https://esm.sh/v127/d3-transition@3.0.1/denonext/d3-transition.mjs","https://esm.sh/v127/d3-zoom@3.0.0/denonext/d3-zoom.mjs","/app/components/SpectrumViewer.jsx","/app/widgets/SimpleTable.jsx","/app/components/ConservationTile.jsx","/app/components/RiboseqTile.jsx","https://esm.sh/v127/d3-path@3.1.0/denonext/d3-path.mjs","https://esm.sh/v127/d3-shape@3.0.0/denonext/d3-shape.mjs","/app/components/IdrViewer.jsx","/app/components/TranscriptExpression.jsx","/app/components/ProteinTranscriptsTile.jsx","/app/components/PdbViewer.jsx","/app/components/TrackViewer.jsx","/app/components/RelatedProteinsTile.jsx","/app/components/SubcellLocalisationTile.jsx","/app/screens/ProteinSummary.jsx","/app/screens/Downloads.jsx","/app/screens/Documentation.jsx","/app/screens/Contact.jsx","/app/screens/Legal.jsx","/app/screens/Publications.jsx","/main.jsx"],"sourcesContent":["/* esm.sh - react@18.2.0 */\nexport * from \"https://esm.sh/stable/react@18.2.0/denonext/react.mjs\";\nexport { default } from \"https://esm.sh/stable/react@18.2.0/denonext/react.mjs\";\n","/* esm.sh - esbuild bundle(react@18.2.0) denonext production */\nvar z=Object.create;var E=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var H=Object.getOwnPropertyNames;var W=Object.getPrototypeOf,Y=Object.prototype.hasOwnProperty;var x=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),G=(e,t)=>{for(var r in t)E(e,r,{get:t[r],enumerable:!0})},S=(e,t,r,u)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let o of H(t))!Y.call(e,o)&&o!==r&&E(e,o,{get:()=>t[o],enumerable:!(u=B(t,o))||u.enumerable});return e},y=(e,t,r)=>(S(e,t,\"default\"),r&&S(r,t,\"default\")),O=(e,t,r)=>(r=e!=null?z(W(e)):{},S(t||!e||!e.__esModule?E(r,\"default\",{value:e,enumerable:!0}):r,e));var U=x(n=>{\"use strict\";var _=Symbol.for(\"react.element\"),J=Symbol.for(\"react.portal\"),K=Symbol.for(\"react.fragment\"),Q=Symbol.for(\"react.strict_mode\"),X=Symbol.for(\"react.profiler\"),Z=Symbol.for(\"react.provider\"),ee=Symbol.for(\"react.context\"),te=Symbol.for(\"react.forward_ref\"),re=Symbol.for(\"react.suspense\"),ne=Symbol.for(\"react.memo\"),oe=Symbol.for(\"react.lazy\"),j=Symbol.iterator;function ue(e){return e===null||typeof e!=\"object\"?null:(e=j&&e[j]||e[\"@@iterator\"],typeof e==\"function\"?e:null)}var P={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},T=Object.assign,D={};function d(e,t,r){this.props=e,this.context=t,this.refs=D,this.updater=r||P}d.prototype.isReactComponent={};d.prototype.setState=function(e,t){if(typeof e!=\"object\"&&typeof e!=\"function\"&&e!=null)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,e,t,\"setState\")};d.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,\"forceUpdate\")};function V(){}V.prototype=d.prototype;function C(e,t,r){this.props=e,this.context=t,this.refs=D,this.updater=r||P}var k=C.prototype=new V;k.constructor=C;T(k,d.prototype);k.isPureReactComponent=!0;var I=Array.isArray,L=Object.prototype.hasOwnProperty,w={current:null},N={key:!0,ref:!0,__self:!0,__source:!0};function F(e,t,r){var u,o={},c=null,f=null;if(t!=null)for(u in t.ref!==void 0&&(f=t.ref),t.key!==void 0&&(c=\"\"+t.key),t)L.call(t,u)&&!N.hasOwnProperty(u)&&(o[u]=t[u]);var i=arguments.length-2;if(i===1)o.children=r;else if(1{\"use strict\";q.exports=U()});var p={};G(p,{Children:()=>le,Component:()=>ae,Fragment:()=>pe,Profiler:()=>ye,PureComponent:()=>de,StrictMode:()=>_e,Suspense:()=>me,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:()=>he,cloneElement:()=>ve,createContext:()=>Se,createElement:()=>Ee,createFactory:()=>Re,createRef:()=>Ce,default:()=>We,forwardRef:()=>ke,isValidElement:()=>we,lazy:()=>be,memo:()=>$e,startTransition:()=>xe,unstable_act:()=>Oe,useCallback:()=>je,useContext:()=>Ie,useDebugValue:()=>ge,useDeferredValue:()=>Pe,useEffect:()=>Te,useId:()=>De,useImperativeHandle:()=>Ve,useInsertionEffect:()=>Le,useLayoutEffect:()=>Ne,useMemo:()=>Fe,useReducer:()=>Ue,useRef:()=>qe,useState:()=>Ae,useSyncExternalStore:()=>Me,useTransition:()=>ze,version:()=>Be});var M=O($());y(p,O($()));var{Children:le,Component:ae,Fragment:pe,Profiler:ye,PureComponent:de,StrictMode:_e,Suspense:me,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:he,cloneElement:ve,createContext:Se,createElement:Ee,createFactory:Re,createRef:Ce,forwardRef:ke,isValidElement:we,lazy:be,memo:$e,startTransition:xe,unstable_act:Oe,useCallback:je,useContext:Ie,useDebugValue:ge,useDeferredValue:Pe,useEffect:Te,useId:De,useImperativeHandle:Ve,useInsertionEffect:Le,useLayoutEffect:Ne,useMemo:Fe,useReducer:Ue,useRef:qe,useState:Ae,useSyncExternalStore:Me,useTransition:ze,version:Be}=M,{default:A,...He}=M,We=A!==void 0?A:He;export{le as Children,ae as Component,pe as Fragment,ye as Profiler,de as PureComponent,_e as StrictMode,me as Suspense,he as __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,ve as cloneElement,Se as createContext,Ee as createElement,Re as createFactory,Ce as createRef,We as default,ke as forwardRef,we as isValidElement,be as lazy,$e as memo,xe as startTransition,Oe as unstable_act,je as useCallback,Ie as useContext,ge as useDebugValue,Pe as useDeferredValue,Te as useEffect,De as useId,Ve as useImperativeHandle,Le as useInsertionEffect,Ne as useLayoutEffect,Fe as useMemo,Ue as useReducer,qe as useRef,Ae as useState,Me as useSyncExternalStore,ze as useTransition,Be as version};\n/*! Bundled license information:\n\nreact/cjs/react.production.min.js:\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*/\n//# sourceMappingURL=react.mjs.map","/* esm.sh - react-dom@18.2.0 */\nexport * from \"https://esm.sh/v127/react-dom@18.2.0/X-ZS8q/denonext/react-dom.mjs\";\nexport { default } from \"https://esm.sh/v127/react-dom@18.2.0/X-ZS8q/denonext/react-dom.mjs\";\n","/* esm.sh - scheduler@0.23.0 */\nexport * from \"https://esm.sh/v127/scheduler@0.23.0/denonext/scheduler.mjs\";\nexport { default } from \"https://esm.sh/v127/scheduler@0.23.0/denonext/scheduler.mjs\";\n","/* esm.sh - esbuild bundle(scheduler@0.23.0) denonext production */\nvar __setImmediate$ = (cb, ...args) => setTimeout(cb, 0, ...args);\nvar ee=Object.create;var T=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var te=Object.getOwnPropertyNames;var re=Object.getPrototypeOf,le=Object.prototype.hasOwnProperty;var W=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),ie=(e,n)=>{for(var t in n)T(e,t,{get:n[t],enumerable:!0})},E=(e,n,t,l)=>{if(n&&typeof n==\"object\"||typeof n==\"function\")for(let i of te(n))!le.call(e,i)&&i!==t&&T(e,i,{get:()=>n[i],enumerable:!(l=ne(n,i))||l.enumerable});return e},d=(e,n,t)=>(E(e,n,\"default\"),t&&E(t,n,\"default\")),Y=(e,n,t)=>(t=e!=null?ee(re(e)):{},E(n||!e||!e.__esModule?T(t,\"default\",{value:e,enumerable:!0}):t,e));var U=W(r=>{\"use strict\";function M(e,n){var t=e.length;e.push(n);e:for(;0>>1,i=e[l];if(0>>1;lk(C,t))_k(h,C)?(e[l]=h,e[_]=t,l=_):(e[l]=C,e[b]=t,l=b);else if(_k(h,t))e[l]=h,e[_]=t,l=_;else break e}}return n}function k(e,n){var t=e.sortIndex-n.sortIndex;return t!==0?t:e.id-n.id}typeof performance==\"object\"&&typeof performance.now==\"function\"?(z=performance,r.unstable_now=function(){return z.now()}):(L=Date,A=L.now(),r.unstable_now=function(){return L.now()-A});var z,L,A,s=[],c=[],ue=1,a=null,u=3,x=!1,p=!1,y=!1,J=typeof setTimeout==\"function\"?setTimeout:null,K=typeof clearTimeout==\"function\"?clearTimeout:null,G=typeof __setImmediate$<\"u\"?__setImmediate$:null;typeof navigator<\"u\"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function j(e){for(var n=o(c);n!==null;){if(n.callback===null)w(c);else if(n.startTime<=e)w(c),n.sortIndex=n.expirationTime,M(s,n);else break;n=o(c)}}function R(e){if(y=!1,j(e),!p)if(o(s)!==null)p=!0,D(B);else{var n=o(c);n!==null&&q(R,n.startTime-e)}}function B(e,n){p=!1,y&&(y=!1,K(m),m=-1),x=!0;var t=u;try{for(j(n),a=o(s);a!==null&&(!(a.expirationTime>n)||e&&!V());){var l=a.callback;if(typeof l==\"function\"){a.callback=null,u=a.priorityLevel;var i=l(a.expirationTime<=n);n=r.unstable_now(),typeof i==\"function\"?a.callback=i:a===o(s)&&w(s),j(n)}else w(s);a=o(s)}if(a!==null)var g=!0;else{var b=o(c);b!==null&&q(R,b.startTime-n),g=!1}return g}finally{a=null,u=t,x=!1}}var I=!1,P=null,m=-1,Q=5,S=-1;function V(){return!(r.unstable_now()-Se||125l?(e.sortIndex=t,M(c,e),o(s)===null&&e===o(c)&&(y?(K(m),m=-1):y=!0,q(R,t-l))):(e.sortIndex=i,M(s,e),p||x||(p=!0,D(B))),e};r.unstable_shouldYield=V;r.unstable_wrapCallback=function(e){var n=u;return function(){var t=u;u=n;try{return e.apply(this,arguments)}finally{u=t}}}});var O=W((Ne,X)=>{\"use strict\";X.exports=U()});var f={};ie(f,{default:()=>Ee,unstable_IdlePriority:()=>oe,unstable_ImmediatePriority:()=>se,unstable_LowPriority:()=>ce,unstable_NormalPriority:()=>fe,unstable_Profiling:()=>be,unstable_UserBlockingPriority:()=>_e,unstable_cancelCallback:()=>de,unstable_continueExecution:()=>pe,unstable_forceFrameRate:()=>ve,unstable_getCurrentPriorityLevel:()=>ye,unstable_getFirstCallbackNode:()=>me,unstable_next:()=>ge,unstable_now:()=>ae,unstable_pauseExecution:()=>he,unstable_requestPaint:()=>ke,unstable_runWithPriority:()=>Pe,unstable_scheduleCallback:()=>we,unstable_shouldYield:()=>xe,unstable_wrapCallback:()=>Ie});var $=Y(O());d(f,Y(O()));var{unstable_now:ae,unstable_IdlePriority:oe,unstable_ImmediatePriority:se,unstable_LowPriority:ce,unstable_NormalPriority:fe,unstable_Profiling:be,unstable_UserBlockingPriority:_e,unstable_cancelCallback:de,unstable_continueExecution:pe,unstable_forceFrameRate:ve,unstable_getCurrentPriorityLevel:ye,unstable_getFirstCallbackNode:me,unstable_next:ge,unstable_pauseExecution:he,unstable_requestPaint:ke,unstable_runWithPriority:Pe,unstable_scheduleCallback:we,unstable_shouldYield:xe,unstable_wrapCallback:Ie}=$,{default:Z,...Ce}=$,Ee=Z!==void 0?Z:Ce;export{Ee as default,oe as unstable_IdlePriority,se as unstable_ImmediatePriority,ce as unstable_LowPriority,fe as unstable_NormalPriority,be as unstable_Profiling,_e as unstable_UserBlockingPriority,de as unstable_cancelCallback,pe as unstable_continueExecution,ve as unstable_forceFrameRate,ye as unstable_getCurrentPriorityLevel,me as unstable_getFirstCallbackNode,ge as unstable_next,ae as unstable_now,he as unstable_pauseExecution,ke as unstable_requestPaint,Pe as unstable_runWithPriority,we as unstable_scheduleCallback,xe as unstable_shouldYield,Ie as unstable_wrapCallback};\n/*! Bundled license information:\n\nscheduler/cjs/scheduler.production.min.js:\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*/\n//# sourceMappingURL=scheduler.mjs.map","/* esm.sh - esbuild bundle(react-dom@18.2.0) denonext production */\nimport * as __0$ from \"scheduler\";\nimport * as __1$ from \"react\";\nvar require=n=>{const e=m=>typeof m.default<\"u\"?m.default:m,c=m=>Object.assign({},m);switch(n){case\"scheduler\":return e(__0$);case\"react\":return e(__1$);default:throw new Error(\"module \\\"\"+n+\"\\\" not found\");}};\nvar Ca=Object.create;var tl=Object.defineProperty;var xa=Object.getOwnPropertyDescriptor;var Na=Object.getOwnPropertyNames;var _a=Object.getPrototypeOf,za=Object.prototype.hasOwnProperty;var su=(e=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(e,{get:(n,t)=>(typeof require<\"u\"?require:n)[t]}):e)(function(e){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+e+'\" is not supported')});var au=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),Pa=(e,n)=>{for(var t in n)tl(e,t,{get:n[t],enumerable:!0})},nl=(e,n,t,r)=>{if(n&&typeof n==\"object\"||typeof n==\"function\")for(let l of Na(n))!za.call(e,l)&&l!==t&&tl(e,l,{get:()=>n[l],enumerable:!(r=xa(n,l))||r.enumerable});return e},an=(e,n,t)=>(nl(e,n,\"default\"),t&&nl(t,n,\"default\")),cu=(e,n,t)=>(t=e!=null?Ca(_a(e)):{},nl(n||!e||!e.__esModule?tl(t,\"default\",{value:e,enumerable:!0}):t,e));var ya=au(fe=>{\"use strict\";var go=su(\"react\"),ae=su(\"scheduler\");function v(e){for(var n=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+e,t=1;t\"u\"||typeof window.document>\"u\"||typeof window.document.createElement>\"u\"),Nl=Object.prototype.hasOwnProperty,La=/^[: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]*$/,fu={},du={};function Ta(e){return Nl.call(du,e)?!0:Nl.call(fu,e)?!1:La.test(e)?du[e]=!0:(fu[e]=!0,!1)}function Ma(e,n,t,r){if(t!==null&&t.type===0)return!1;switch(typeof n){case\"function\":case\"symbol\":return!0;case\"boolean\":return r?!1:t!==null?!t.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!==\"data-\"&&e!==\"aria-\");default:return!1}}function Da(e,n,t,r){if(n===null||typeof n>\"u\"||Ma(e,n,t,r))return!0;if(r)return!1;if(t!==null)switch(t.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function ee(e,n,t,r,l,i,u){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=t,this.propertyName=e,this.type=n,this.sanitizeURL=i,this.removeEmptyString=u}var Y={};\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(e){Y[e]=new ee(e,0,!1,e,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(e){var n=e[0];Y[n]=new ee(n,1,!1,e[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(e){Y[e]=new ee(e,2,!1,e.toLowerCase(),null,!1,!1)});[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(e){Y[e]=new ee(e,2,!1,e,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(e){Y[e]=new ee(e,3,!1,e.toLowerCase(),null,!1,!1)});[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(e){Y[e]=new ee(e,3,!0,e,null,!1,!1)});[\"capture\",\"download\"].forEach(function(e){Y[e]=new ee(e,4,!1,e,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(e){Y[e]=new ee(e,6,!1,e,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(e){Y[e]=new ee(e,5,!1,e.toLowerCase(),null,!1,!1)});var yi=/[\\-:]([a-z])/g;function gi(e){return e[1].toUpperCase()}\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(e){var n=e.replace(yi,gi);Y[n]=new ee(n,1,!1,e,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(e){var n=e.replace(yi,gi);Y[n]=new ee(n,1,!1,e,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(e){var n=e.replace(yi,gi);Y[n]=new ee(n,1,!1,e,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(e){Y[e]=new ee(e,1,!1,e.toLowerCase(),null,!1,!1)});Y.xlinkHref=new ee(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(e){Y[e]=new ee(e,1,!1,e.toLowerCase(),null,!0,!0)});function wi(e,n,t,r){var l=Y.hasOwnProperty(n)?Y[n]:null;(l!==null?l.type!==0:r||!(2o||l[u]!==i[o]){var s=`\n`+l[u].replace(\" at new \",\" at \");return e.displayName&&s.includes(\"\")&&(s=s.replace(\"\",e.displayName)),s}while(1<=u&&0<=o);break}}}finally{ll=!1,Error.prepareStackTrace=t}return(e=e?e.displayName||e.name:\"\")?ot(e):\"\"}function Oa(e){switch(e.tag){case 5:return ot(e.type);case 16:return ot(\"Lazy\");case 13:return ot(\"Suspense\");case 19:return ot(\"SuspenseList\");case 0:case 2:case 15:return e=il(e.type,!1),e;case 11:return e=il(e.type.render,!1),e;case 1:return e=il(e.type,!0),e;default:return\"\"}}function Ll(e){if(e==null)return null;if(typeof e==\"function\")return e.displayName||e.name||null;if(typeof e==\"string\")return e;switch(e){case zn:return\"Fragment\";case _n:return\"Portal\";case _l:return\"Profiler\";case Si:return\"StrictMode\";case zl:return\"Suspense\";case Pl:return\"SuspenseList\"}if(typeof e==\"object\")switch(e.$$typeof){case ko:return(e.displayName||\"Context\")+\".Consumer\";case So:return(e._context.displayName||\"Context\")+\".Provider\";case ki:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||\"\",e=e!==\"\"?\"ForwardRef(\"+e+\")\":\"ForwardRef\"),e;case Ei:return n=e.displayName||null,n!==null?n:Ll(e.type)||\"Memo\";case He:n=e._payload,e=e._init;try{return Ll(e(n))}catch{}}return null}function Ra(e){var n=e.type;switch(e.tag){case 24:return\"Cache\";case 9:return(n.displayName||\"Context\")+\".Consumer\";case 10:return(n._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return e=n.render,e=e.displayName||e.name||\"\",n.displayName||(e!==\"\"?\"ForwardRef(\"+e+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return n;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Ll(n);case 8:return n===Si?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";case 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof n==\"function\")return n.displayName||n.name||null;if(typeof n==\"string\")return n}return null}function tn(e){switch(typeof e){case\"boolean\":case\"number\":case\"string\":case\"undefined\":return e;case\"object\":return e;default:return\"\"}}function Co(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()===\"input\"&&(n===\"checkbox\"||n===\"radio\")}function Fa(e){var n=Co(e)?\"checked\":\"value\",t=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),r=\"\"+e[n];if(!e.hasOwnProperty(n)&&typeof t<\"u\"&&typeof t.get==\"function\"&&typeof t.set==\"function\"){var l=t.get,i=t.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return l.call(this)},set:function(u){r=\"\"+u,i.call(this,u)}}),Object.defineProperty(e,n,{enumerable:t.enumerable}),{getValue:function(){return r},setValue:function(u){r=\"\"+u},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function Ht(e){e._valueTracker||(e._valueTracker=Fa(e))}function xo(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var t=n.getValue(),r=\"\";return e&&(r=Co(e)?e.checked?\"true\":\"false\":e.value),e=r,e!==t?(n.setValue(e),!0):!1}function vr(e){if(e=e||(typeof document<\"u\"?document:void 0),typeof e>\"u\")return null;try{return e.activeElement||e.body}catch{return e.body}}function Tl(e,n){var t=n.checked;return F({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:t??e._wrapperState.initialChecked})}function mu(e,n){var t=n.defaultValue==null?\"\":n.defaultValue,r=n.checked!=null?n.checked:n.defaultChecked;t=tn(n.value!=null?n.value:t),e._wrapperState={initialChecked:r,initialValue:t,controlled:n.type===\"checkbox\"||n.type===\"radio\"?n.checked!=null:n.value!=null}}function No(e,n){n=n.checked,n!=null&&wi(e,\"checked\",n,!1)}function Ml(e,n){No(e,n);var t=tn(n.value),r=n.type;if(t!=null)r===\"number\"?(t===0&&e.value===\"\"||e.value!=t)&&(e.value=\"\"+t):e.value!==\"\"+t&&(e.value=\"\"+t);else if(r===\"submit\"||r===\"reset\"){e.removeAttribute(\"value\");return}n.hasOwnProperty(\"value\")?Dl(e,n.type,t):n.hasOwnProperty(\"defaultValue\")&&Dl(e,n.type,tn(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function hu(e,n,t){if(n.hasOwnProperty(\"value\")||n.hasOwnProperty(\"defaultValue\")){var r=n.type;if(!(r!==\"submit\"&&r!==\"reset\"||n.value!==void 0&&n.value!==null))return;n=\"\"+e._wrapperState.initialValue,t||n===e.value||(e.value=n),e.defaultValue=n}t=e.name,t!==\"\"&&(e.name=\"\"),e.defaultChecked=!!e._wrapperState.initialChecked,t!==\"\"&&(e.name=t)}function Dl(e,n,t){(n!==\"number\"||vr(e.ownerDocument)!==e)&&(t==null?e.defaultValue=\"\"+e._wrapperState.initialValue:e.defaultValue!==\"\"+t&&(e.defaultValue=\"\"+t))}var st=Array.isArray;function jn(e,n,t,r){if(e=e.options,n){n={};for(var l=0;l\"+n.valueOf().toString()+\"\",n=Wt.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function kt(e,n){if(n){var t=e.firstChild;if(t&&t===e.lastChild&&t.nodeType===3){t.nodeValue=n;return}}e.textContent=n}var ft={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Ia=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(ft).forEach(function(e){Ia.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),ft[n]=ft[e]})});function Lo(e,n,t){return n==null||typeof n==\"boolean\"||n===\"\"?\"\":t||typeof n!=\"number\"||n===0||ft.hasOwnProperty(e)&&ft[e]?(\"\"+n).trim():n+\"px\"}function To(e,n){e=e.style;for(var t in n)if(n.hasOwnProperty(t)){var r=t.indexOf(\"--\")===0,l=Lo(t,n[t],r);t===\"float\"&&(t=\"cssFloat\"),r?e.setProperty(t,l):e[t]=l}}var Ua=F({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Fl(e,n){if(n){if(Ua[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(v(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(v(60));if(typeof n.dangerouslySetInnerHTML!=\"object\"||!(\"__html\"in n.dangerouslySetInnerHTML))throw Error(v(61))}if(n.style!=null&&typeof n.style!=\"object\")throw Error(v(62))}}function Il(e,n){if(e.indexOf(\"-\")===-1)return typeof n.is==\"string\";switch(e){case\"annotation-xml\":case\"color-profile\":case\"font-face\":case\"font-face-src\":case\"font-face-uri\":case\"font-face-format\":case\"font-face-name\":case\"missing-glyph\":return!1;default:return!0}}var Ul=null;function Ci(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var jl=null,Vn=null,An=null;function gu(e){if(e=Vt(e)){if(typeof jl!=\"function\")throw Error(v(280));var n=e.stateNode;n&&(n=Qr(n),jl(e.stateNode,e.type,n))}}function Mo(e){Vn?An?An.push(e):An=[e]:Vn=e}function Do(){if(Vn){var e=Vn,n=An;if(An=Vn=null,gu(e),n)for(e=0;e>>=0,e===0?32:31-(Xa(e)/Ga|0)|0}var Qt=64,$t=4194304;function at(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Sr(e,n){var t=e.pendingLanes;if(t===0)return 0;var r=0,l=e.suspendedLanes,i=e.pingedLanes,u=t&268435455;if(u!==0){var o=u&~l;o!==0?r=at(o):(i&=u,i!==0&&(r=at(i)))}else u=t&~l,u!==0?r=at(u):i!==0&&(r=at(i));if(r===0)return 0;if(n!==0&&n!==r&&!(n&l)&&(l=r&-r,i=n&-n,l>=i||l===16&&(i&4194240)!==0))return n;if(r&4&&(r|=t&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=r;0t;t++)n.push(e);return n}function Ut(e,n,t){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-Ee(n),e[n]=t}function ba(e,n){var t=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=pt),zu=String.fromCharCode(32),Pu=!1;function qo(e,n){switch(e){case\"keyup\":return zc.indexOf(n.keyCode)!==-1;case\"keydown\":return n.keyCode!==229;case\"keypress\":case\"mousedown\":case\"focusout\":return!0;default:return!1}}function bo(e){return e=e.detail,typeof e==\"object\"&&\"data\"in e?e.data:null}var Pn=!1;function Lc(e,n){switch(e){case\"compositionend\":return bo(n);case\"keypress\":return n.which!==32?null:(Pu=!0,zu);case\"textInput\":return e=n.data,e===zu&&Pu?null:e;default:return null}}function Tc(e,n){if(Pn)return e===\"compositionend\"||!Mi&&qo(e,n)?(e=Zo(),or=Pi=Ke=null,Pn=!1,e):null;switch(e){case\"paste\":return null;case\"keypress\":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1=n)return{node:t,offset:n-e};e=r}e:{for(;t;){if(t.nextSibling){t=t.nextSibling;break e}t=t.parentNode}t=void 0}t=Mu(t)}}function rs(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?rs(e,n.parentNode):\"contains\"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function ls(){for(var e=window,n=vr();n instanceof e.HTMLIFrameElement;){try{var t=typeof n.contentWindow.location.href==\"string\"}catch{t=!1}if(t)e=n.contentWindow;else break;n=vr(e.document)}return n}function Di(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n===\"input\"&&(e.type===\"text\"||e.type===\"search\"||e.type===\"tel\"||e.type===\"url\"||e.type===\"password\")||n===\"textarea\"||e.contentEditable===\"true\")}function Vc(e){var n=ls(),t=e.focusedElem,r=e.selectionRange;if(n!==t&&t&&t.ownerDocument&&rs(t.ownerDocument.documentElement,t)){if(r!==null&&Di(t)){if(n=r.start,e=r.end,e===void 0&&(e=n),\"selectionStart\"in t)t.selectionStart=n,t.selectionEnd=Math.min(e,t.value.length);else if(e=(n=t.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var l=t.textContent.length,i=Math.min(r.start,l);r=r.end===void 0?i:Math.min(r.end,l),!e.extend&&i>r&&(l=r,r=i,i=l),l=Du(t,i);var u=Du(t,r);l&&u&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==u.node||e.focusOffset!==u.offset)&&(n=n.createRange(),n.setStart(l.node,l.offset),e.removeAllRanges(),i>r?(e.addRange(n),e.extend(u.node,u.offset)):(n.setEnd(u.node,u.offset),e.addRange(n)))}}for(n=[],e=t;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof t.focus==\"function\"&&t.focus(),t=0;t=document.documentMode,Ln=null,Ql=null,ht=null,$l=!1;function Ou(e,n,t){var r=t.window===t?t.document:t.nodeType===9?t:t.ownerDocument;$l||Ln==null||Ln!==vr(r)||(r=Ln,\"selectionStart\"in r&&Di(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),ht&&zt(ht,r)||(ht=r,r=Cr(Ql,\"onSelect\"),0Dn||(e.current=Jl[Dn],Jl[Dn]=null,Dn--)}function L(e,n){Dn++,Jl[Dn]=e.current,e.current=n}var rn={},J=un(rn),re=un(!1),yn=rn;function $n(e,n){var t=e.type.contextTypes;if(!t)return rn;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===n)return r.__reactInternalMemoizedMaskedChildContext;var l={},i;for(i in t)l[i]=n[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=l),l}function le(e){return e=e.childContextTypes,e!=null}function Nr(){M(re),M(J)}function Hu(e,n,t){if(J.current!==rn)throw Error(v(168));L(J,n),L(re,t)}function ps(e,n,t){var r=e.stateNode;if(n=n.childContextTypes,typeof r.getChildContext!=\"function\")return t;r=r.getChildContext();for(var l in r)if(!(l in n))throw Error(v(108,Ra(e)||\"Unknown\",l));return F({},t,r)}function _r(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||rn,yn=J.current,L(J,e),L(re,re.current),!0}function Wu(e,n,t){var r=e.stateNode;if(!r)throw Error(v(169));t?(e=ps(e,n,yn),r.__reactInternalMemoizedMergedChildContext=e,M(re),M(J),L(J,e)):M(re),L(re,t)}var Me=null,$r=!1,vl=!1;function ms(e){Me===null?Me=[e]:Me.push(e)}function Gc(e){$r=!0,ms(e)}function on(){if(!vl&&Me!==null){vl=!0;var e=0,n=P;try{var t=Me;for(P=1;e>=u,l-=u,De=1<<32-Ee(n)+l|t<N?(H=x,x=null):H=x.sibling;var z=p(c,x,f[N],y);if(z===null){x===null&&(x=H);break}e&&x&&z.alternate===null&&n(c,x),a=i(z,a,N),C===null?E=z:C.sibling=z,C=z,x=H}if(N===f.length)return t(c,x),D&&cn(c,N),E;if(x===null){for(;NN?(H=x,x=null):H=x.sibling;var Ae=p(c,x,z.value,y);if(Ae===null){x===null&&(x=H);break}e&&x&&Ae.alternate===null&&n(c,x),a=i(Ae,a,N),C===null?E=Ae:C.sibling=Ae,C=Ae,x=H}if(z.done)return t(c,x),D&&cn(c,N),E;if(x===null){for(;!z.done;N++,z=f.next())z=h(c,z.value,y),z!==null&&(a=i(z,a,N),C===null?E=z:C.sibling=z,C=z);return D&&cn(c,N),E}for(x=r(c,x);!z.done;N++,z=f.next())z=g(x,c,N,z.value,y),z!==null&&(e&&z.alternate!==null&&x.delete(z.key===null?N:z.key),a=i(z,a,N),C===null?E=z:C.sibling=z,C=z);return e&&x.forEach(function(Ea){return n(c,Ea)}),D&&cn(c,N),E}function U(c,a,f,y){if(typeof f==\"object\"&&f!==null&&f.type===zn&&f.key===null&&(f=f.props.children),typeof f==\"object\"&&f!==null){switch(f.$$typeof){case Bt:e:{for(var E=f.key,C=a;C!==null;){if(C.key===E){if(E=f.type,E===zn){if(C.tag===7){t(c,C.sibling),a=l(C,f.props.children),a.return=c,c=a;break e}}else if(C.elementType===E||typeof E==\"object\"&&E!==null&&E.$$typeof===He&&Zu(E)===C.type){t(c,C.sibling),a=l(C,f.props),a.ref=rt(c,C,f),a.return=c,c=a;break e}t(c,C);break}else n(c,C);C=C.sibling}f.type===zn?(a=vn(f.props.children,c.mode,y,f.key),a.return=c,c=a):(y=hr(f.type,f.key,f.props,null,c.mode,y),y.ref=rt(c,a,f),y.return=c,c=y)}return u(c);case _n:e:{for(C=f.key;a!==null;){if(a.key===C)if(a.tag===4&&a.stateNode.containerInfo===f.containerInfo&&a.stateNode.implementation===f.implementation){t(c,a.sibling),a=l(a,f.children||[]),a.return=c,c=a;break e}else{t(c,a);break}else n(c,a);a=a.sibling}a=xl(f,c.mode,y),a.return=c,c=a}return u(c);case He:return C=f._init,U(c,a,C(f._payload),y)}if(st(f))return S(c,a,f,y);if(bn(f))return k(c,a,f,y);tr(c,f)}return typeof f==\"string\"&&f!==\"\"||typeof f==\"number\"?(f=\"\"+f,a!==null&&a.tag===6?(t(c,a.sibling),a=l(a,f),a.return=c,c=a):(t(c,a),a=Cl(f,c.mode,y),a.return=c,c=a),u(c)):t(c,a)}return U}var Yn=Es(!0),Cs=Es(!1),At={},Le=un(At),Mt=un(At),Dt=un(At);function mn(e){if(e===At)throw Error(v(174));return e}function Bi(e,n){switch(L(Dt,n),L(Mt,e),L(Le,At),e=n.nodeType,e){case 9:case 11:n=(n=n.documentElement)?n.namespaceURI:Rl(null,\"\");break;default:e=e===8?n.parentNode:n,n=e.namespaceURI||null,e=e.tagName,n=Rl(n,e)}M(Le),L(Le,n)}function Xn(){M(Le),M(Mt),M(Dt)}function xs(e){mn(Dt.current);var n=mn(Le.current),t=Rl(n,e.type);n!==t&&(L(Mt,e),L(Le,t))}function Hi(e){Mt.current===e&&(M(Le),M(Mt))}var O=un(0);function Dr(e){for(var n=e;n!==null;){if(n.tag===13){var t=n.memoizedState;if(t!==null&&(t=t.dehydrated,t===null||t.data===\"$?\"||t.data===\"$!\"))return n}else if(n.tag===19&&n.memoizedProps.revealOrder!==void 0){if(n.flags&128)return n}else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===e)break;for(;n.sibling===null;){if(n.return===null||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}var yl=[];function Wi(){for(var e=0;et?t:4,e(!0);var r=gl.transition;gl.transition={};try{e(!1),n()}finally{P=t,gl.transition=r}}function As(){return ye().memoizedState}function bc(e,n,t){var r=en(e);if(t={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null},Bs(e))Hs(n,t);else if(t=gs(e,n,t,r),t!==null){var l=b();Ce(t,e,r,l),Ws(t,n,r)}}function ef(e,n,t){var r=en(e),l={lane:r,action:t,hasEagerState:!1,eagerState:null,next:null};if(Bs(e))Hs(n,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=n.lastRenderedReducer,i!==null))try{var u=n.lastRenderedState,o=i(u,t);if(l.hasEagerState=!0,l.eagerState=o,xe(o,u)){var s=n.interleaved;s===null?(l.next=l,Vi(n)):(l.next=s.next,s.next=l),n.interleaved=l;return}}catch{}finally{}t=gs(e,n,l,r),t!==null&&(l=b(),Ce(t,e,r,l),Ws(t,n,r))}}function Bs(e){var n=e.alternate;return e===R||n!==null&&n===R}function Hs(e,n){vt=Or=!0;var t=e.pending;t===null?n.next=n:(n.next=t.next,t.next=n),e.pending=n}function Ws(e,n,t){if(t&4194240){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,Ni(e,t)}}var Rr={readContext:ve,useCallback:X,useContext:X,useEffect:X,useImperativeHandle:X,useInsertionEffect:X,useLayoutEffect:X,useMemo:X,useReducer:X,useRef:X,useState:X,useDebugValue:X,useDeferredValue:X,useTransition:X,useMutableSource:X,useSyncExternalStore:X,useId:X,unstable_isNewReconciler:!1},nf={readContext:ve,useCallback:function(e,n){return _e().memoizedState=[e,n===void 0?null:n],e},useContext:ve,useEffect:qu,useImperativeHandle:function(e,n,t){return t=t!=null?t.concat([e]):null,fr(4194308,4,Fs.bind(null,n,e),t)},useLayoutEffect:function(e,n){return fr(4194308,4,e,n)},useInsertionEffect:function(e,n){return fr(4,2,e,n)},useMemo:function(e,n){var t=_e();return n=n===void 0?null:n,e=e(),t.memoizedState=[e,n],e},useReducer:function(e,n,t){var r=_e();return n=t!==void 0?t(n):n,r.memoizedState=r.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},r.queue=e,e=e.dispatch=bc.bind(null,R,e),[r.memoizedState,e]},useRef:function(e){var n=_e();return e={current:e},n.memoizedState=e},useState:Ju,useDebugValue:Xi,useDeferredValue:function(e){return _e().memoizedState=e},useTransition:function(){var e=Ju(!1),n=e[0];return e=qc.bind(null,e[1]),_e().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,t){var r=R,l=_e();if(D){if(t===void 0)throw Error(v(407));t=t()}else{if(t=n(),Q===null)throw Error(v(349));wn&30||zs(r,n,t)}l.memoizedState=t;var i={value:t,getSnapshot:n};return l.queue=i,qu(Ls.bind(null,r,i,e),[e]),r.flags|=2048,Ft(9,Ps.bind(null,r,i,t,n),void 0,null),t},useId:function(){var e=_e(),n=Q.identifierPrefix;if(D){var t=Oe,r=De;t=(r&~(1<<32-Ee(r)-1)).toString(32)+t,n=\":\"+n+\"R\"+t,t=Ot++,0<\\/script>\",e=e.removeChild(e.firstChild)):typeof r.is==\"string\"?e=u.createElement(t,{is:r.is}):(e=u.createElement(t),t===\"select\"&&(u=e,r.multiple?u.multiple=!0:r.size&&(u.size=r.size))):e=u.createElementNS(e,t),e[ze]=n,e[Tt]=r,qs(e,n,!1,!1),n.stateNode=e;e:{switch(u=Il(t,r),t){case\"dialog\":T(\"cancel\",e),T(\"close\",e),l=r;break;case\"iframe\":case\"object\":case\"embed\":T(\"load\",e),l=r;break;case\"video\":case\"audio\":for(l=0;lZn&&(n.flags|=128,r=!0,lt(i,!1),n.lanes=4194304)}else{if(!r)if(e=Dr(u),e!==null){if(n.flags|=128,r=!0,t=e.updateQueue,t!==null&&(n.updateQueue=t,n.flags|=4),lt(i,!0),i.tail===null&&i.tailMode===\"hidden\"&&!u.alternate&&!D)return G(n),null}else 2*j()-i.renderingStartTime>Zn&&t!==1073741824&&(n.flags|=128,r=!0,lt(i,!1),n.lanes=4194304);i.isBackwards?(u.sibling=n.child,n.child=u):(t=i.last,t!==null?t.sibling=u:n.child=u,i.last=u)}return i.tail!==null?(n=i.tail,i.rendering=n,i.tail=n.sibling,i.renderingStartTime=j(),n.sibling=null,t=O.current,L(O,r?t&1|2:t&1),n):(G(n),null);case 22:case 23:return eu(),r=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(n.flags|=8192),r&&n.mode&1?ue&1073741824&&(G(n),n.subtreeFlags&6&&(n.flags|=8192)):G(n),null;case 24:return null;case 25:return null}throw Error(v(156,n.tag))}function cf(e,n){switch(Ri(n),n.tag){case 1:return le(n.type)&&Nr(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return Xn(),M(re),M(J),Wi(),e=n.flags,e&65536&&!(e&128)?(n.flags=e&-65537|128,n):null;case 5:return Hi(n),null;case 13:if(M(O),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(v(340));Kn()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return M(O),null;case 4:return Xn(),null;case 10:return ji(n.type._context),null;case 22:case 23:return eu(),null;case 24:return null;default:return null}}var lr=!1,Z=!1,ff=typeof WeakSet==\"function\"?WeakSet:Set,w=null;function In(e,n){var t=e.ref;if(t!==null)if(typeof t==\"function\")try{t(null)}catch(r){I(e,n,r)}else t.current=null}function ai(e,n,t){try{t()}catch(r){I(e,n,r)}}var oo=!1;function df(e,n){if(Kl=kr,e=ls(),Di(e)){if(\"selectionStart\"in e)var t={start:e.selectionStart,end:e.selectionEnd};else e:{t=(t=e.ownerDocument)&&t.defaultView||window;var r=t.getSelection&&t.getSelection();if(r&&r.rangeCount!==0){t=r.anchorNode;var l=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{t.nodeType,i.nodeType}catch{t=null;break e}var u=0,o=-1,s=-1,d=0,m=0,h=e,p=null;n:for(;;){for(var g;h!==t||l!==0&&h.nodeType!==3||(o=u+l),h!==i||r!==0&&h.nodeType!==3||(s=u+r),h.nodeType===3&&(u+=h.nodeValue.length),(g=h.firstChild)!==null;)p=h,h=g;for(;;){if(h===e)break n;if(p===t&&++d===l&&(o=u),p===i&&++m===r&&(s=u),(g=h.nextSibling)!==null)break;h=p,p=h.parentNode}h=g}t=o===-1||s===-1?null:{start:o,end:s}}else t=null}t=t||{start:0,end:0}}else t=null;for(Yl={focusedElem:e,selectionRange:t},kr=!1,w=n;w!==null;)if(n=w,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,w=e;else for(;w!==null;){n=w;try{var S=n.alternate;if(n.flags&1024)switch(n.tag){case 0:case 11:case 15:break;case 1:if(S!==null){var k=S.memoizedProps,U=S.memoizedState,c=n.stateNode,a=c.getSnapshotBeforeUpdate(n.elementType===n.type?k:we(n.type,k),U);c.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var f=n.stateNode.containerInfo;f.nodeType===1?f.textContent=\"\":f.nodeType===9&&f.documentElement&&f.removeChild(f.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(v(163))}}catch(y){I(n,n.return,y)}if(e=n.sibling,e!==null){e.return=n.return,w=e;break}w=n.return}return S=oo,oo=!1,S}function yt(e,n,t){var r=n.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var i=l.destroy;l.destroy=void 0,i!==void 0&&ai(n,t,i)}l=l.next}while(l!==r)}}function Xr(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var t=n=n.next;do{if((t.tag&e)===e){var r=t.create;t.destroy=r()}t=t.next}while(t!==n)}}function ci(e){var n=e.ref;if(n!==null){var t=e.stateNode;switch(e.tag){case 5:e=t;break;default:e=t}typeof n==\"function\"?n(e):n.current=e}}function na(e){var n=e.alternate;n!==null&&(e.alternate=null,na(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[ze],delete n[Tt],delete n[Zl],delete n[Yc],delete n[Xc])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ta(e){return e.tag===5||e.tag===3||e.tag===4}function so(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ta(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function fi(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.nodeType===8?t.parentNode.insertBefore(e,n):t.insertBefore(e,n):(t.nodeType===8?(n=t.parentNode,n.insertBefore(e,t)):(n=t,n.appendChild(e)),t=t._reactRootContainer,t!=null||n.onclick!==null||(n.onclick=xr));else if(r!==4&&(e=e.child,e!==null))for(fi(e,n,t),e=e.sibling;e!==null;)fi(e,n,t),e=e.sibling}function di(e,n,t){var r=e.tag;if(r===5||r===6)e=e.stateNode,n?t.insertBefore(e,n):t.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(di(e,n,t),e=e.sibling;e!==null;)di(e,n,t),e=e.sibling}var $=null,Se=!1;function Be(e,n,t){for(t=t.child;t!==null;)ra(e,n,t),t=t.sibling}function ra(e,n,t){if(Pe&&typeof Pe.onCommitFiberUnmount==\"function\")try{Pe.onCommitFiberUnmount(Ar,t)}catch{}switch(t.tag){case 5:Z||In(t,n);case 6:var r=$,l=Se;$=null,Be(e,n,t),$=r,Se=l,$!==null&&(Se?(e=$,t=t.stateNode,e.nodeType===8?e.parentNode.removeChild(t):e.removeChild(t)):$.removeChild(t.stateNode));break;case 18:$!==null&&(Se?(e=$,t=t.stateNode,e.nodeType===8?hl(e.parentNode,t):e.nodeType===1&&hl(e,t),Nt(e)):hl($,t.stateNode));break;case 4:r=$,l=Se,$=t.stateNode.containerInfo,Se=!0,Be(e,n,t),$=r,Se=l;break;case 0:case 11:case 14:case 15:if(!Z&&(r=t.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var i=l,u=i.destroy;i=i.tag,u!==void 0&&(i&2||i&4)&&ai(t,n,u),l=l.next}while(l!==r)}Be(e,n,t);break;case 1:if(!Z&&(In(t,n),r=t.stateNode,typeof r.componentWillUnmount==\"function\"))try{r.props=t.memoizedProps,r.state=t.memoizedState,r.componentWillUnmount()}catch(o){I(t,n,o)}Be(e,n,t);break;case 21:Be(e,n,t);break;case 22:t.mode&1?(Z=(r=Z)||t.memoizedState!==null,Be(e,n,t),Z=r):Be(e,n,t);break;default:Be(e,n,t)}}function ao(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var t=e.stateNode;t===null&&(t=e.stateNode=new ff),n.forEach(function(r){var l=kf.bind(null,e,r);t.has(r)||(t.add(r),r.then(l,l))})}}function ge(e,n){var t=n.deletions;if(t!==null)for(var r=0;rl&&(l=u),r&=~i}if(r=l,r=j()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*mf(r/1960))-r,10e?16:e,Ye===null)var r=!1;else{if(e=Ye,Ye=null,Ur=0,_&6)throw Error(v(331));var l=_;for(_|=4,w=e.current;w!==null;){var i=w,u=i.child;if(w.flags&16){var o=i.deletions;if(o!==null){for(var s=0;sj()-qi?hn(e,0):Ji|=t),ie(e,n)}function fa(e,n){n===0&&(e.mode&1?(n=$t,$t<<=1,!($t&130023424)&&($t=4194304)):n=1);var t=b();e=Ue(e,n),e!==null&&(Ut(e,n,t),ie(e,t))}function Sf(e){var n=e.memoizedState,t=0;n!==null&&(t=n.retryLane),fa(e,t)}function kf(e,n){var t=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(t=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(v(314))}r!==null&&r.delete(n),fa(e,t)}var da;da=function(e,n,t){if(e!==null)if(e.memoizedProps!==n.pendingProps||re.current)te=!0;else{if(!(e.lanes&t)&&!(n.flags&128))return te=!1,sf(e,n,t);te=!!(e.flags&131072)}else te=!1,D&&n.flags&1048576&&hs(n,Pr,n.index);switch(n.lanes=0,n.tag){case 2:var r=n.type;dr(e,n),e=n.pendingProps;var l=$n(n,J.current);Hn(n,t),l=$i(null,n,r,e,l,t);var i=Ki();return n.flags|=1,typeof l==\"object\"&&l!==null&&typeof l.render==\"function\"&&l.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,le(r)?(i=!0,_r(n)):i=!1,n.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,Ai(n),l.updater=Kr,n.stateNode=l,l._reactInternals=n,ti(n,r,e,t),n=ii(null,n,r,!0,i,t)):(n.tag=0,D&&i&&Oi(n),q(null,n,l,t),n=n.child),n;case 16:r=n.elementType;e:{switch(dr(e,n),e=n.pendingProps,l=r._init,r=l(r._payload),n.type=r,l=n.tag=Cf(r),e=we(r,e),l){case 0:n=li(null,n,r,e,t);break e;case 1:n=lo(null,n,r,e,t);break e;case 11:n=to(null,n,r,e,t);break e;case 14:n=ro(null,n,r,we(r.type,e),t);break e}throw Error(v(306,r,\"\"))}return n;case 0:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:we(r,l),li(e,n,r,l,t);case 1:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:we(r,l),lo(e,n,r,l,t);case 3:e:{if(Gs(n),e===null)throw Error(v(387));r=n.pendingProps,i=n.memoizedState,l=i.element,ws(e,n),Mr(n,r,null,t);var u=n.memoizedState;if(r=u.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:u.cache,pendingSuspenseBoundaries:u.pendingSuspenseBoundaries,transitions:u.transitions},n.updateQueue.baseState=i,n.memoizedState=i,n.flags&256){l=Gn(Error(v(423)),n),n=io(e,n,r,t,l);break e}else if(r!==l){l=Gn(Error(v(424)),n),n=io(e,n,r,t,l);break e}else for(oe=Je(n.stateNode.containerInfo.firstChild),se=n,D=!0,ke=null,t=Cs(n,null,r,t),n.child=t;t;)t.flags=t.flags&-3|4096,t=t.sibling;else{if(Kn(),r===l){n=je(e,n,t);break e}q(e,n,r,t)}n=n.child}return n;case 5:return xs(n),e===null&&bl(n),r=n.type,l=n.pendingProps,i=e!==null?e.memoizedProps:null,u=l.children,Xl(r,l)?u=null:i!==null&&Xl(r,i)&&(n.flags|=32),Xs(e,n),q(e,n,u,t),n.child;case 6:return e===null&&bl(n),null;case 13:return Zs(e,n,t);case 4:return Bi(n,n.stateNode.containerInfo),r=n.pendingProps,e===null?n.child=Yn(n,null,r,t):q(e,n,r,t),n.child;case 11:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:we(r,l),to(e,n,r,l,t);case 7:return q(e,n,n.pendingProps,t),n.child;case 8:return q(e,n,n.pendingProps.children,t),n.child;case 12:return q(e,n,n.pendingProps.children,t),n.child;case 10:e:{if(r=n.type._context,l=n.pendingProps,i=n.memoizedProps,u=l.value,L(Lr,r._currentValue),r._currentValue=u,i!==null)if(xe(i.value,u)){if(i.children===l.children&&!re.current){n=je(e,n,t);break e}}else for(i=n.child,i!==null&&(i.return=n);i!==null;){var o=i.dependencies;if(o!==null){u=i.child;for(var s=o.firstContext;s!==null;){if(s.context===r){if(i.tag===1){s=Re(-1,t&-t),s.tag=2;var d=i.updateQueue;if(d!==null){d=d.shared;var m=d.pending;m===null?s.next=s:(s.next=m.next,m.next=s),d.pending=s}}i.lanes|=t,s=i.alternate,s!==null&&(s.lanes|=t),ei(i.return,t,n),o.lanes|=t;break}s=s.next}}else if(i.tag===10)u=i.type===n.type?null:i.child;else if(i.tag===18){if(u=i.return,u===null)throw Error(v(341));u.lanes|=t,o=u.alternate,o!==null&&(o.lanes|=t),ei(u,t,n),u=i.sibling}else u=i.child;if(u!==null)u.return=i;else for(u=i;u!==null;){if(u===n){u=null;break}if(i=u.sibling,i!==null){i.return=u.return,u=i;break}u=u.return}i=u}q(e,n,l.children,t),n=n.child}return n;case 9:return l=n.type,r=n.pendingProps.children,Hn(n,t),l=ve(l),r=r(l),n.flags|=1,q(e,n,r,t),n.child;case 14:return r=n.type,l=we(r,n.pendingProps),l=we(r.type,l),ro(e,n,r,l,t);case 15:return Ks(e,n,n.type,n.pendingProps,t);case 17:return r=n.type,l=n.pendingProps,l=n.elementType===r?l:we(r,l),dr(e,n),n.tag=1,le(r)?(e=!0,_r(n)):e=!1,Hn(n,t),ks(n,r,l),ti(n,r,l,t),ii(null,n,r,!0,e,t);case 19:return Js(e,n,t);case 22:return Ys(e,n,t)}throw Error(v(156,n.tag))};function pa(e,n){return Vo(e,n)}function Ef(e,n,t,r){this.tag=e,this.key=t,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function me(e,n,t,r){return new Ef(e,n,t,r)}function tu(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Cf(e){if(typeof e==\"function\")return tu(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ki)return 11;if(e===Ei)return 14}return 2}function nn(e,n){var t=e.alternate;return t===null?(t=me(e.tag,n,e.key,e.mode),t.elementType=e.elementType,t.type=e.type,t.stateNode=e.stateNode,t.alternate=e,e.alternate=t):(t.pendingProps=n,t.type=e.type,t.flags=0,t.subtreeFlags=0,t.deletions=null),t.flags=e.flags&14680064,t.childLanes=e.childLanes,t.lanes=e.lanes,t.child=e.child,t.memoizedProps=e.memoizedProps,t.memoizedState=e.memoizedState,t.updateQueue=e.updateQueue,n=e.dependencies,t.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},t.sibling=e.sibling,t.index=e.index,t.ref=e.ref,t}function hr(e,n,t,r,l,i){var u=2;if(r=e,typeof e==\"function\")tu(e)&&(u=1);else if(typeof e==\"string\")u=5;else e:switch(e){case zn:return vn(t.children,l,i,n);case Si:u=8,l|=8;break;case _l:return e=me(12,t,n,l|2),e.elementType=_l,e.lanes=i,e;case zl:return e=me(13,t,n,l),e.elementType=zl,e.lanes=i,e;case Pl:return e=me(19,t,n,l),e.elementType=Pl,e.lanes=i,e;case Eo:return Zr(t,l,i,n);default:if(typeof e==\"object\"&&e!==null)switch(e.$$typeof){case So:u=10;break e;case ko:u=9;break e;case ki:u=11;break e;case Ei:u=14;break e;case He:u=16,r=null;break e}throw Error(v(130,e==null?e:typeof e,\"\"))}return n=me(u,t,n,l),n.elementType=e,n.type=r,n.lanes=i,n}function vn(e,n,t,r){return e=me(7,e,r,n),e.lanes=t,e}function Zr(e,n,t,r){return e=me(22,e,r,n),e.elementType=Eo,e.lanes=t,e.stateNode={isHidden:!1},e}function Cl(e,n,t){return e=me(6,e,null,n),e.lanes=t,e}function xl(e,n,t){return n=me(4,e.children!==null?e.children:[],e.key,n),n.lanes=t,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function xf(e,n,t,r,l){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ol(0),this.expirationTimes=ol(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ol(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function ru(e,n,t,r,l,i,u,o,s){return e=new xf(e,n,t,o,s),n===1?(n=1,i===!0&&(n|=8)):n=0,i=me(3,null,null,n),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:t,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ai(i),e}function Nf(e,n,t){var r=3{\"use strict\";function ga(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>\"u\"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=\"function\"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ga)}catch(e){console.error(e)}}ga(),wa.exports=ya()});var sn={};Pa(sn,{__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:()=>Tf,createPortal:()=>Mf,createRoot:()=>Df,default:()=>Wf,findDOMNode:()=>Of,flushSync:()=>Rf,hydrate:()=>Ff,hydrateRoot:()=>If,render:()=>Uf,unmountComponentAtNode:()=>jf,unstable_batchedUpdates:()=>Vf,unstable_renderSubtreeIntoContainer:()=>Af,version:()=>Bf});var ka=cu(ou());an(sn,cu(ou()));var{__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:Tf,createPortal:Mf,createRoot:Df,findDOMNode:Of,flushSync:Rf,hydrate:Ff,hydrateRoot:If,render:Uf,unmountComponentAtNode:jf,unstable_batchedUpdates:Vf,unstable_renderSubtreeIntoContainer:Af,version:Bf}=ka,{default:Sa,...Hf}=ka,Wf=Sa!==void 0?Sa:Hf;export{Tf as __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Mf as createPortal,Df as createRoot,Wf as default,Of as findDOMNode,Rf as flushSync,Ff as hydrate,If as hydrateRoot,Uf as render,jf as unmountComponentAtNode,Vf as unstable_batchedUpdates,Af as unstable_renderSubtreeIntoContainer,Bf as version};\n/*! Bundled license information:\n\nreact-dom/cjs/react-dom.production.min.js:\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//# sourceMappingURL=react-dom.mjs.map","/* esm.sh - esbuild bundle(react-dom@18.2.0/client) denonext production */\nimport * as __0$ from \"react-dom\";\nvar require=n=>{const e=m=>typeof m.default<\"u\"?m.default:m,c=m=>Object.assign({},m);switch(n){case\"react-dom\":return e(__0$);default:throw new Error(\"module \\\"\"+n+\"\\\" not found\");}};\nvar d=Object.create;var u=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var p=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var x=(t=>typeof require<\"u\"?require:typeof Proxy<\"u\"?new Proxy(t,{get:(e,o)=>(typeof require<\"u\"?require:e)[o]}):t)(function(t){if(typeof require<\"u\")return require.apply(this,arguments);throw Error('Dynamic require of \"'+t+'\" is not supported')});var C=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),N=(t,e)=>{for(var o in e)u(t,o,{get:e[o],enumerable:!0})},a=(t,e,o,c)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let i of m(e))!h.call(t,i)&&i!==o&&u(t,i,{get:()=>e[i],enumerable:!(c=E(e,i))||c.enumerable});return t},n=(t,e,o)=>(a(t,e,\"default\"),o&&a(o,e,\"default\")),l=(t,e,o)=>(o=t!=null?d(p(t)):{},a(e||!t||!t.__esModule?u(o,\"default\",{value:t,enumerable:!0}):o,t));var s=C(_=>{\"use strict\";var R=x(\"react-dom\");_.createRoot=R.createRoot,_.hydrateRoot=R.hydrateRoot;var I});var r={};N(r,{createRoot:()=>O,default:()=>v,hydrateRoot:()=>g});var y=l(s());n(r,l(s()));var{createRoot:O,hydrateRoot:g}=y,{default:f,...P}=y,v=f!==void 0?f:P;export{O as createRoot,v as default,g as hydrateRoot};\n//# sourceMappingURL=client.js.map","/* esm.sh - esbuild bundle(@remix-run/router@1.6.2) denonext production */\nfunction C(){return C=Object.assign?Object.assign.bind():function(e){for(var t=1;tm(g,typeof g==\"string\"?null:g.state,R===0?\"default\":void 0));let i=p(r??a.length-1),s=z.Pop,u=null;function p(g){return Math.min(Math.max(g,0),a.length-1)}function y(){return a[i]}function m(g,R,P){R===void 0&&(R=null);let c=q(a?y().pathname:\"/\",g,R,P);return Z(c.pathname.charAt(0)===\"/\",\"relative pathnames are not supported in memory history: \"+JSON.stringify(g)),c}function h(g){return typeof g==\"string\"?g:ee(g)}return{get index(){return i},get action(){return s},get location(){return y()},createHref:h,createURL(g){return new URL(h(g),\"http://localhost\")},encodeLocation(g){let R=typeof g==\"string\"?Q(g):g;return{pathname:R.pathname||\"\",search:R.search||\"\",hash:R.hash||\"\"}},push(g,R){s=z.Push;let P=m(g,R);i+=1,a.splice(i,a.length,P),n&&u&&u({action:s,location:P,delta:1})},replace(g,R){s=z.Replace;let P=m(g,R);a[i]=P,n&&u&&u({action:s,location:P,delta:0})},go(g){s=z.Pop;let R=p(i+g),P=a[R];i=R,u&&u({action:s,location:P,delta:g})},listen(g){return u=g,()=>{u=null}}}}function _r(e){e===void 0&&(e={});function t(n,a){let{pathname:i,search:s,hash:u}=n.location;return q(\"\",{pathname:i,search:s,hash:u},a.state&&a.state.usr||null,a.state&&a.state.key||\"default\")}function r(n,a){return typeof a==\"string\"?a:ee(a)}return Rt(t,r,null,e)}function Ir(e){e===void 0&&(e={});function t(a,i){let{pathname:s=\"/\",search:u=\"\",hash:p=\"\"}=Q(a.location.hash.substr(1));return q(\"\",{pathname:s,search:u,hash:p},i.state&&i.state.usr||null,i.state&&i.state.key||\"default\")}function r(a,i){let s=a.document.querySelector(\"base\"),u=\"\";if(s&&s.getAttribute(\"href\")){let p=a.location.href,y=p.indexOf(\"#\");u=y===-1?p:p.slice(0,y)}return u+\"#\"+(typeof i==\"string\"?i:ee(i))}function n(a,i){Z(a.pathname.charAt(0)===\"/\",\"relative pathnames are not supported in hash history.push(\"+JSON.stringify(i)+\")\")}return Rt(t,r,n,e)}function T(e,t){if(e===!1||e===null||typeof e>\"u\")throw new Error(t)}function Z(e,t){if(!e){typeof console<\"u\"&&console.warn(t);try{throw new Error(t)}catch{}}}function Qt(){return Math.random().toString(36).substr(2,8)}function st(e,t){return{usr:e.state,key:e.key,idx:t}}function q(e,t,r,n){return r===void 0&&(r=null),C({pathname:typeof e==\"string\"?e:e.pathname,search:\"\",hash:\"\"},typeof t==\"string\"?Q(t):t,{state:r,key:t&&t.key||n||Qt()})}function ee(e){let{pathname:t=\"/\",search:r=\"\",hash:n=\"\"}=e;return r&&r!==\"?\"&&(t+=r.charAt(0)===\"?\"?r:\"?\"+r),n&&n!==\"#\"&&(t+=n.charAt(0)===\"#\"?n:\"#\"+n),t}function Q(e){let t={};if(e){let r=e.indexOf(\"#\");r>=0&&(t.hash=e.substr(r),e=e.substr(0,r));let n=e.indexOf(\"?\");n>=0&&(t.search=e.substr(n),e=e.substr(0,n)),e&&(t.pathname=e)}return t}function Rt(e,t,r,n){n===void 0&&(n={});let{window:a=document.defaultView,v5Compat:i=!1}=n,s=a.history,u=z.Pop,p=null,y=m();y==null&&(y=0,s.replaceState(C({},s.state,{idx:y}),\"\"));function m(){return(s.state||{idx:null}).idx}function h(){u=z.Pop;let c=m(),o=c==null?null:c-y;y=c,p&&p({action:u,location:P.location,delta:o})}function v(c,o){u=z.Push;let L=q(P.location,c,o);r&&r(L,c),y=m()+1;let S=st(L,y),w=P.createHref(L);try{s.pushState(S,\"\",w)}catch{a.location.assign(w)}i&&p&&p({action:u,location:P.location,delta:1})}function g(c,o){u=z.Replace;let L=q(P.location,c,o);r&&r(L,c),y=m();let S=st(L,y),w=P.createHref(L);s.replaceState(S,\"\",w),i&&p&&p({action:u,location:P.location,delta:0})}function R(c){let o=a.location.origin!==\"null\"?a.location.origin:a.location.href,L=typeof c==\"string\"?c:ee(c);return T(o,\"No window.location.(origin|href) available to create URL for href: \"+L),new URL(L,o)}let P={get action(){return u},get location(){return e(a,s)},listen(c){if(p)throw new Error(\"A history only accepts one active listener\");return a.addEventListener(lt,h),p=c,()=>{a.removeEventListener(lt,h),p=null}},createHref(c){return t(a,c)},createURL:R,encodeLocation(c){let o=R(c);return{pathname:o.pathname,search:o.search,hash:o.hash}},push:v,replace:g,go(c){return s.go(c)}};return P}var I;(function(e){e.data=\"data\",e.deferred=\"deferred\",e.redirect=\"redirect\",e.error=\"error\"})(I||(I={}));var Xt=new Set([\"lazy\",\"caseSensitive\",\"path\",\"id\",\"index\",\"children\"]);function Zt(e){return e.index===!0}function xe(e,t,r,n){return r===void 0&&(r=[]),n===void 0&&(n={}),e.map((a,i)=>{let s=[...r,i],u=typeof a.id==\"string\"?a.id:s.join(\"-\");if(T(a.index!==!0||!a.children,\"Cannot specify children on an index route\"),T(!n[u],'Found a route id collision on id \"'+u+`\". Route id's must be globally unique within Data Router usages`),Zt(a)){let p=C({},a,t(a),{id:u});return n[u]=p,p}else{let p=C({},a,t(a),{id:u,children:void 0});return n[u]=p,a.children&&(p.children=xe(a.children,t,s,n)),p}})}function le(e,t,r){r===void 0&&(r=\"/\");let n=typeof t==\"string\"?Q(t):t,a=Ue(n.pathname||\"/\",r);if(a==null)return null;let i=Dt(e);qt(i);let s=null;for(let u=0;s==null&&u{let p={relativePath:u===void 0?i.path||\"\":u,caseSensitive:i.caseSensitive===!0,childrenIndex:s,route:i};p.relativePath.startsWith(\"/\")&&(T(p.relativePath.startsWith(n),'Absolute route path \"'+p.relativePath+'\" nested under path '+('\"'+n+'\" is not valid. An absolute child route path ')+\"must start with the combined path of all its parent routes.\"),p.relativePath=p.relativePath.slice(n.length));let y=De([n,p.relativePath]),m=r.concat(p);i.children&&i.children.length>0&&(T(i.index!==!0,\"Index routes must not have child routes. Please remove \"+('all child routes from route path \"'+y+'\".')),Dt(i.children,t,m,y)),!(i.path==null&&!i.index)&&t.push({path:y,score:ir(y,i.index),routesMeta:m})};return e.forEach((i,s)=>{var u;if(i.path===\"\"||!((u=i.path)!=null&&u.includes(\"?\")))a(i,s);else for(let p of Et(i.path))a(i,s,p)}),t}function Et(e){let t=e.split(\"/\");if(t.length===0)return[];let[r,...n]=t,a=r.endsWith(\"?\"),i=r.replace(/\\?$/,\"\");if(n.length===0)return a?[i,\"\"]:[i];let s=Et(n.join(\"/\")),u=[];return u.push(...s.map(p=>p===\"\"?i:[i,p].join(\"/\"))),a&&u.push(...s),u.map(p=>e.startsWith(\"/\")&&p===\"\"?\"/\":p)}function qt(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:lr(t.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}var er=/^:\\w+$/,tr=3,rr=2,nr=1,ar=10,or=-2,dt=e=>e===\"*\";function ir(e,t){let r=e.split(\"/\"),n=r.length;return r.some(dt)&&(n+=or),t&&(n+=rr),r.filter(a=>!dt(a)).reduce((a,i)=>a+(er.test(i)?tr:i===\"\"?nr:ar),n)}function lr(e,t){return e.length===t.length&&e.slice(0,-1).every((n,a)=>n===t[a])?e[e.length-1]-t[t.length-1]:0}function sr(e,t){let{routesMeta:r}=e,n={},a=\"/\",i=[];for(let s=0;s{if(s===u.length-1&&i===\"*\")return t[\"*\"];let y=i.match(/^:(\\w+)(\\??)$/);if(y){let[,m,h]=y,v=t[m];return h===\"?\"?v??\"\":(v==null&&T(!1,'Missing \":'+m+'\" param'),v)}return i.replace(/\\?$/g,\"\")}).filter(i=>!!i);return n+a.join(\"/\")}function dr(e,t){typeof e==\"string\"&&(e={path:e,caseSensitive:!1,end:!0});let[r,n]=ur(e.path,e.caseSensitive,e.end),a=t.match(r);if(!a)return null;let i=a[0],s=i.replace(/(.)\\/+$/,\"$1\"),u=a.slice(1);return{params:n.reduce((y,m,h)=>{if(m===\"*\"){let v=u[h]||\"\";s=i.slice(0,i.length-v.length).replace(/(.)\\/+$/,\"$1\")}return y[m]=fr(u[h]||\"\",m),y},{}),pathname:i,pathnameBase:s,pattern:e}}function ur(e,t,r){t===void 0&&(t=!1),r===void 0&&(r=!0),Z(e===\"*\"||!e.endsWith(\"*\")||e.endsWith(\"/*\"),'Route path \"'+e+'\" will be treated as if it were '+('\"'+e.replace(/\\*$/,\"/*\")+'\" because the `*` character must ')+\"always follow a `/` in the pattern. To get rid of this warning, \"+('please change the route path to \"'+e.replace(/\\*$/,\"/*\")+'\".'));let n=[],a=\"^\"+e.replace(/\\/*\\*?$/,\"\").replace(/^\\/*/,\"/\").replace(/[\\\\.*+^$?{}|()[\\]]/g,\"\\\\$&\").replace(/\\/:(\\w+)/g,(s,u)=>(n.push(u),\"/([^\\\\/]+)\"));return e.endsWith(\"*\")?(n.push(\"*\"),a+=e===\"*\"||e===\"/*\"?\"(.*)$\":\"(?:\\\\/(.+)|\\\\/*)$\"):r?a+=\"\\\\/*$\":e!==\"\"&&e!==\"/\"&&(a+=\"(?:(?=\\\\/|$))\"),[new RegExp(a,t?void 0:\"i\"),n]}function cr(e){try{return decodeURI(e)}catch(t){return Z(!1,'The URL path \"'+e+'\" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+(\"encoding (\"+t+\").\")),e}}function fr(e,t){try{return decodeURIComponent(e)}catch(r){return Z(!1,'The value for the URL param \"'+t+'\" will not be decoded because'+(' the string \"'+e+'\" is a malformed URL segment. This is probably')+(\" due to a bad percent encoding (\"+r+\").\")),e}}function Ue(e,t){if(t===\"/\")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith(\"/\")?t.length-1:t.length,n=e.charAt(r);return n&&n!==\"/\"?null:e.slice(r)||\"/\"}function hr(e,t){t===void 0&&(t=\"/\");let{pathname:r,search:n=\"\",hash:a=\"\"}=typeof e==\"string\"?Q(e):e;return{pathname:r?r.startsWith(\"/\")?r:pr(r,t):t,search:yr(n),hash:vr(a)}}function pr(e,t){let r=t.replace(/\\/+$/,\"\").split(\"/\");return e.split(\"/\").forEach(a=>{a===\"..\"?r.length>1&&r.pop():a!==\".\"&&r.push(a)}),r.length>1?r.join(\"/\"):\"/\"}function Ke(e,t,r,n){return\"Cannot include a '\"+e+\"' character in a manually specified \"+(\"`to.\"+t+\"` field [\"+JSON.stringify(n)+\"]. Please separate it out to the \")+(\"`to.\"+r+\"` field. Alternatively you may provide the full path as \")+'a string in and the router will parse it for you.'}function Pt(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function mr(e,t,r,n){n===void 0&&(n=!1);let a;typeof e==\"string\"?a=Q(e):(a=C({},e),T(!a.pathname||!a.pathname.includes(\"?\"),Ke(\"?\",\"pathname\",\"search\",a)),T(!a.pathname||!a.pathname.includes(\"#\"),Ke(\"#\",\"pathname\",\"hash\",a)),T(!a.search||!a.search.includes(\"#\"),Ke(\"#\",\"search\",\"hash\",a)));let i=e===\"\"||a.pathname===\"\",s=i?\"/\":a.pathname,u;if(n||s==null)u=r;else{let h=t.length-1;if(s.startsWith(\"..\")){let v=s.split(\"/\");for(;v[0]===\"..\";)v.shift(),h-=1;a.pathname=v.join(\"/\")}u=h>=0?t[h]:\"/\"}let p=hr(a,u),y=s&&s!==\"/\"&&s.endsWith(\"/\"),m=(i||s===\".\")&&r.endsWith(\"/\");return!p.pathname.endsWith(\"/\")&&(y||m)&&(p.pathname+=\"/\"),p}function zr(e){return e===\"\"||e.pathname===\"\"?\"/\":typeof e==\"string\"?Q(e).pathname:e.pathname}var De=e=>e.join(\"/\").replace(/\\/\\/+/g,\"/\"),gr=e=>e.replace(/\\/+$/,\"\").replace(/^\\/*/,\"/\"),yr=e=>!e||e===\"?\"?\"\":e.startsWith(\"?\")?e:\"?\"+e,vr=e=>!e||e===\"#\"?\"\":e.startsWith(\"#\")?e:\"#\"+e,Hr=function(t,r){r===void 0&&(r={});let n=typeof r==\"number\"?{status:r}:r,a=new Headers(n.headers);return a.has(\"Content-Type\")||a.set(\"Content-Type\",\"application/json; charset=utf-8\"),new Response(JSON.stringify(t),C({},n,{headers:a}))},Ae=class extends Error{},Ye=class{constructor(t,r){this.pendingKeysSet=new Set,this.subscribers=new Set,this.deferredKeys=[],T(t&&typeof t==\"object\"&&!Array.isArray(t),\"defer() only accepts plain objects\");let n;this.abortPromise=new Promise((i,s)=>n=s),this.controller=new AbortController;let a=()=>n(new Ae(\"Deferred data aborted\"));this.unlistenAbortSignal=()=>this.controller.signal.removeEventListener(\"abort\",a),this.controller.signal.addEventListener(\"abort\",a),this.data=Object.entries(t).reduce((i,s)=>{let[u,p]=s;return Object.assign(i,{[u]:this.trackPromise(u,p)})},{}),this.done&&this.unlistenAbortSignal(),this.init=r}trackPromise(t,r){if(!(r instanceof Promise))return r;this.deferredKeys.push(t),this.pendingKeysSet.add(t);let n=Promise.race([r,this.abortPromise]).then(a=>this.onSettle(n,t,null,a),a=>this.onSettle(n,t,a));return n.catch(()=>{}),Object.defineProperty(n,\"_tracked\",{get:()=>!0}),n}onSettle(t,r,n,a){return this.controller.signal.aborted&&n instanceof Ae?(this.unlistenAbortSignal(),Object.defineProperty(t,\"_error\",{get:()=>n}),Promise.reject(n)):(this.pendingKeysSet.delete(r),this.done&&this.unlistenAbortSignal(),n?(Object.defineProperty(t,\"_error\",{get:()=>n}),this.emit(!1,r),Promise.reject(n)):(Object.defineProperty(t,\"_data\",{get:()=>a}),this.emit(!1,r),a))}emit(t,r){this.subscribers.forEach(n=>n(t,r))}subscribe(t){return this.subscribers.add(t),()=>this.subscribers.delete(t)}cancel(){this.controller.abort(),this.pendingKeysSet.forEach((t,r)=>this.pendingKeysSet.delete(r)),this.emit(!0)}async resolveData(t){let r=!1;if(!this.done){let n=()=>this.cancel();t.addEventListener(\"abort\",n),r=await new Promise(a=>{this.subscribe(i=>{t.removeEventListener(\"abort\",n),(i||this.done)&&a(i)})})}return r}get done(){return this.pendingKeysSet.size===0}get unwrappedData(){return T(this.data!==null&&this.done,\"Can only unwrap data on initialized and settled deferreds\"),Object.entries(this.data).reduce((t,r)=>{let[n,a]=r;return Object.assign(t,{[n]:br(a)})},{})}get pendingKeys(){return Array.from(this.pendingKeysSet)}};function wr(e){return e instanceof Promise&&e._tracked===!0}function br(e){if(!wr(e))return e;if(e._error)throw e._error;return e._data}var Nr=function(t,r){r===void 0&&(r={});let n=typeof r==\"number\"?{status:r}:r;return new Ye(t,n)},Br=function(t,r){r===void 0&&(r=302);let n=r;typeof n==\"number\"?n={status:n}:typeof n.status>\"u\"&&(n.status=302);let a=new Headers(n.headers);return a.set(\"Location\",t),new Response(null,C({},n,{headers:a}))},Ce=class{constructor(t,r,n,a){a===void 0&&(a=!1),this.status=t,this.statusText=r||\"\",this.internal=a,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function St(e){return e!=null&&typeof e.status==\"number\"&&typeof e.statusText==\"string\"&&typeof e.internal==\"boolean\"&&\"data\"in e}var Mt=[\"post\",\"put\",\"patch\",\"delete\"],Rr=new Set(Mt),Dr=[\"get\",...Mt],Er=new Set(Dr),Pr=new Set([301,302,303,307,308]),Sr=new Set([307,308]),Ve={state:\"idle\",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0},Mr={state:\"idle\",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0},ut={state:\"unblocked\",proceed:void 0,reset:void 0,location:void 0},Lt=/^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i,xt=typeof Deno <\"u\"&&typeof window.document<\"u\"&&typeof window.document.createElement<\"u\",Lr=!xt,At=e=>({hasErrorBoundary:!!e.hasErrorBoundary});function kr(e){T(e.routes.length>0,\"You must provide a non-empty routes array to createRouter\");let t;if(e.mapRouteProperties)t=e.mapRouteProperties;else if(e.detectErrorBoundary){let l=e.detectErrorBoundary;t=d=>({hasErrorBoundary:l(d)})}else t=At;let r={},n=xe(e.routes,t,void 0,r),a,i=e.basename||\"/\",s=C({v7_normalizeFormMethod:!1,v7_prependBasename:!1},e.future),u=null,p=new Set,y=null,m=null,h=null,v=e.hydrationData!=null,g=le(n,e.history.location,i),R=null;if(g==null){let l=B(404,{pathname:e.history.location.pathname}),{matches:d,route:f}=Fe(n);g=d,R={[f.id]:l}}let P=!g.some(l=>l.route.lazy)&&(!g.some(l=>l.route.loader)||e.hydrationData!=null),c,o={historyAction:e.history.action,location:e.history.location,matches:g,initialized:P,navigation:Ve,restoreScrollPosition:e.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:\"idle\",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||R,fetchers:new Map,blockers:new Map},L=z.Pop,S=!1,w,O=!1,H=!1,U=[],X=[],N=new Map,Xe=0,Te=-1,me=new Map,ge=new Set,ce=new Map,oe=new Map,te=new Map,Oe=!1;function It(){return u=e.history.listen(l=>{let{action:d,location:f,delta:b}=l;if(Oe){Oe=!1;return}Z(te.size===0||b!=null,\"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.\");let D=at({currentLocation:o.location,nextLocation:f,historyAction:d});if(D&&b!=null){Oe=!0,e.history.go(b*-1),Pe(D,{state:\"blocked\",location:f,proceed(){Pe(D,{state:\"proceeding\",proceed:void 0,reset:void 0,location:f}),e.history.go(b)},reset(){we(D),W({blockers:new Map(c.state.blockers)})}});return}return re(d,f)}),o.initialized||re(z.Pop,o.location),c}function jt(){u&&u(),p.clear(),w&&w.abort(),o.fetchers.forEach((l,d)=>je(d)),o.blockers.forEach((l,d)=>we(d))}function zt(l){return p.add(l),()=>p.delete(l)}function W(l){o=C({},o,l),p.forEach(d=>d(o))}function ye(l,d){var f,b;let D=o.actionData!=null&&o.navigation.formMethod!=null&&G(o.navigation.formMethod)&&o.navigation.state===\"loading\"&&((f=l.state)==null?void 0:f._isRedirect)!==!0,x;d.actionData?Object.keys(d.actionData).length>0?x=d.actionData:x=null:D?x=o.actionData:x=null;let A=d.loaderData?gt(o.loaderData,d.loaderData,d.matches||[],d.errors):o.loaderData;for(let[E]of te)we(E);let M=S===!0||o.navigation.formMethod!=null&&G(o.navigation.formMethod)&&((b=l.state)==null?void 0:b._isRedirect)!==!0;a&&(n=a,a=void 0),W(C({},d,{actionData:x,loaderData:A,historyAction:L,location:l,initialized:!0,navigation:Ve,revalidation:\"idle\",restoreScrollPosition:ot(l,d.matches||o.matches),preventScrollReset:M,blockers:new Map(o.blockers)})),O||L===z.Pop||(L===z.Push?e.history.push(l,l.state):L===z.Replace&&e.history.replace(l,l.state)),L=z.Pop,S=!1,O=!1,H=!1,U=[],X=[]}async function Ze(l,d){if(typeof l==\"number\"){e.history.go(l);return}let f=Je(o.location,o.matches,i,s.v7_prependBasename,l,d?.fromRouteId,d?.relative),{path:b,submission:D,error:x}=ct(s.v7_normalizeFormMethod,!1,f,d),A=o.location,M=q(o.location,b,d&&d.state);M=C({},M,e.history.encodeLocation(M));let E=d&&d.replace!=null?d.replace:void 0,F=z.Push;E===!0?F=z.Replace:E===!1||D!=null&&G(D.formMethod)&&D.formAction===o.location.pathname+o.location.search&&(F=z.Replace);let _=d&&\"preventScrollReset\"in d?d.preventScrollReset===!0:void 0,K=at({currentLocation:A,nextLocation:M,historyAction:F});if(K){Pe(K,{state:\"blocked\",location:M,proceed(){Pe(K,{state:\"proceeding\",proceed:void 0,reset:void 0,location:M}),Ze(l,d)},reset(){we(K),W({blockers:new Map(o.blockers)})}});return}return await re(F,M,{submission:D,pendingError:x,preventScrollReset:_,replace:d&&d.replace})}function Ht(){if(_e(),W({revalidation:\"loading\"}),o.navigation.state!==\"submitting\"){if(o.navigation.state===\"idle\"){re(o.historyAction,o.location,{startUninterruptedRevalidation:!0});return}re(L||o.historyAction,o.navigation.location,{overrideNavigation:o.navigation})}}async function re(l,d,f){w&&w.abort(),w=null,L=l,O=(f&&f.startUninterruptedRevalidation)===!0,Yt(o.location,o.matches),S=(f&&f.preventScrollReset)===!0;let b=a||n,D=f&&f.overrideNavigation,x=le(b,d,i);if(!x){let k=B(404,{pathname:d.pathname}),{matches:$,route:Y}=Fe(b);ze(),ye(d,{matches:$,loaderData:{},errors:{[Y.id]:k}});return}if(o.initialized&&Fr(o.location,d)&&!(f&&f.submission&&G(f.submission.formMethod))){ye(d,{matches:x});return}w=new AbortController;let A=Re(e.history,d,w.signal,f&&f.submission),M,E;if(f&&f.pendingError)E={[se(x).route.id]:f.pendingError};else if(f&&f.submission&&G(f.submission.formMethod)){let k=await Nt(A,d,f.submission,x,{replace:f.replace});if(k.shortCircuited)return;M=k.pendingActionData,E=k.pendingActionError,D=C({state:\"loading\",location:d},f.submission),A=new Request(A.url,{signal:A.signal})}let{shortCircuited:F,loaderData:_,errors:K}=await Bt(A,d,x,D,f&&f.submission,f&&f.fetcherSubmission,f&&f.replace,M,E);F||(w=null,ye(d,C({matches:x},M?{actionData:M}:{},{loaderData:_,errors:K})))}async function Nt(l,d,f,b,D){_e();let x=C({state:\"submitting\",location:d},f);W({navigation:x});let A,M=Ee(b,d);if(!M.route.action&&!M.route.lazy)A={type:I.error,error:B(405,{method:l.method,pathname:d.pathname,routeId:M.route.id})};else if(A=await ie(\"action\",l,M,b,r,t,i),l.signal.aborted)return{shortCircuited:!0};if(ue(A)){let E;return D&&D.replace!=null?E=D.replace:E=A.location===o.location.pathname+o.location.search,await ve(o,A,{submission:f,replace:E}),{shortCircuited:!0}}if(de(A)){let E=se(b,M.route.id);return(D&&D.replace)!==!0&&(L=z.Push),{pendingActionData:{},pendingActionError:{[E.route.id]:A.error}}}if(ae(A))throw B(400,{type:\"defer-action\"});return{pendingActionData:{[M.route.id]:A.data}}}async function Bt(l,d,f,b,D,x,A,M,E){let F=b;F||(F=C({state:\"loading\",location:d,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0},D));let _=D||x?D||x:F.formMethod&&F.formAction&&F.formData&&F.formEncType?{formMethod:F.formMethod,formAction:F.formAction,formData:F.formData,formEncType:F.formEncType}:void 0,K=a||n,[k,$]=ft(e.history,o,f,_,d,H,U,X,ce,K,i,M,E);if(ze(j=>!(f&&f.some(J=>J.route.id===j))||k&&k.some(J=>J.route.id===j)),k.length===0&&$.length===0){let j=rt();return ye(d,C({matches:f,loaderData:{},errors:E||null},M?{actionData:M}:{},j?{fetchers:new Map(o.fetchers)}:{})),{shortCircuited:!0}}if(!O){$.forEach(J=>{let he=o.fetchers.get(J.key),$e={state:\"loading\",data:he&&he.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,\" _hasFetcherDoneAnything \":!0};o.fetchers.set(J.key,$e)});let j=M||o.actionData;W(C({navigation:F},j?Object.keys(j).length===0?{actionData:null}:{actionData:j}:{},$.length>0?{fetchers:new Map(o.fetchers)}:{}))}Te=++Xe,$.forEach(j=>{j.controller&&N.set(j.key,j.controller)});let Y=()=>$.forEach(j=>fe(j.key));w&&w.signal.addEventListener(\"abort\",Y);let{results:be,loaderResults:He,fetcherResults:Se}=await et(o.matches,f,k,$,l);if(l.signal.aborted)return{shortCircuited:!0};w&&w.signal.removeEventListener(\"abort\",Y),$.forEach(j=>N.delete(j.key));let ne=yt(be);if(ne)return await ve(o,ne,{replace:A}),{shortCircuited:!0};let{loaderData:Me,errors:Ne}=mt(o,f,k,He,E,$,Se,oe);oe.forEach((j,J)=>{j.subscribe(he=>{(he||j.done)&&oe.delete(J)})});let Be=rt(),ke=nt(Te),Le=Be||ke||$.length>0;return C({loaderData:Me,errors:Ne},Le?{fetchers:new Map(o.fetchers)}:{})}function qe(l){return o.fetchers.get(l)||Mr}function kt(l,d,f,b){if(Lr)throw new Error(\"router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.\");N.has(l)&&fe(l);let D=a||n,x=Je(o.location,o.matches,i,s.v7_prependBasename,f,d,b?.relative),A=le(D,x,i);if(!A){Ie(l,d,B(404,{pathname:x}));return}let{path:M,submission:E}=ct(s.v7_normalizeFormMethod,!0,x,b),F=Ee(A,M);if(S=(b&&b.preventScrollReset)===!0,E&&G(E.formMethod)){$t(l,d,M,F,A,E);return}ce.set(l,{routeId:d,path:M}),Wt(l,d,M,F,A,E)}async function $t(l,d,f,b,D,x){if(_e(),ce.delete(l),!b.route.action&&!b.route.lazy){let V=B(405,{method:x.formMethod,pathname:f,routeId:d});Ie(l,d,V);return}let A=o.fetchers.get(l),M=C({state:\"submitting\"},x,{data:A&&A.data,\" _hasFetcherDoneAnything \":!0});o.fetchers.set(l,M),W({fetchers:new Map(o.fetchers)});let E=new AbortController,F=Re(e.history,f,E.signal,x);N.set(l,E);let _=await ie(\"action\",F,b,D,r,t,i);if(F.signal.aborted){N.get(l)===E&&N.delete(l);return}if(ue(_)){N.delete(l),ge.add(l);let V=C({state:\"loading\"},x,{data:void 0,\" _hasFetcherDoneAnything \":!0});return o.fetchers.set(l,V),W({fetchers:new Map(o.fetchers)}),ve(o,_,{submission:x,isFetchActionRedirect:!0})}if(de(_)){Ie(l,d,_.error);return}if(ae(_))throw B(400,{type:\"defer-action\"});let K=o.navigation.location||o.location,k=Re(e.history,K,E.signal),$=a||n,Y=o.navigation.state!==\"idle\"?le($,o.navigation.location,i):o.matches;T(Y,\"Didn't find any matches after fetcher action\");let be=++Xe;me.set(l,be);let He=C({state:\"loading\",data:_.data},x,{\" _hasFetcherDoneAnything \":!0});o.fetchers.set(l,He);let[Se,ne]=ft(e.history,o,Y,x,K,H,U,X,ce,$,i,{[b.route.id]:_.data},void 0);ne.filter(V=>V.key!==l).forEach(V=>{let We=V.key,it=o.fetchers.get(We),Gt={state:\"loading\",data:it&&it.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,\" _hasFetcherDoneAnything \":!0};o.fetchers.set(We,Gt),V.controller&&N.set(We,V.controller)}),W({fetchers:new Map(o.fetchers)});let Me=()=>ne.forEach(V=>fe(V.key));E.signal.addEventListener(\"abort\",Me);let{results:Ne,loaderResults:Be,fetcherResults:ke}=await et(o.matches,Y,Se,ne,k);if(E.signal.aborted)return;E.signal.removeEventListener(\"abort\",Me),me.delete(l),N.delete(l),ne.forEach(V=>N.delete(V.key));let Le=yt(Ne);if(Le)return ve(o,Le);let{loaderData:j,errors:J}=mt(o,o.matches,Se,Be,void 0,ne,ke,oe),he={state:\"idle\",data:_.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,\" _hasFetcherDoneAnything \":!0};o.fetchers.set(l,he);let $e=nt(be);o.navigation.state===\"loading\"&&be>Te?(T(L,\"Expected pending action\"),w&&w.abort(),ye(o.navigation.location,{matches:Y,loaderData:j,errors:J,fetchers:new Map(o.fetchers)})):(W(C({errors:J,loaderData:gt(o.loaderData,j,Y,J)},$e?{fetchers:new Map(o.fetchers)}:{})),H=!1)}async function Wt(l,d,f,b,D,x){let A=o.fetchers.get(l),M=C({state:\"loading\",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0},x,{data:A&&A.data,\" _hasFetcherDoneAnything \":!0});o.fetchers.set(l,M),W({fetchers:new Map(o.fetchers)});let E=new AbortController,F=Re(e.history,f,E.signal);N.set(l,E);let _=await ie(\"loader\",F,b,D,r,t,i);if(ae(_)&&(_=await _t(_,F.signal,!0)||_),N.get(l)===E&&N.delete(l),F.signal.aborted)return;if(ue(_)){ge.add(l),await ve(o,_);return}if(de(_)){let k=se(o.matches,d);o.fetchers.delete(l),W({fetchers:new Map(o.fetchers),errors:{[k.route.id]:_.error}});return}T(!ae(_),\"Unhandled fetcher deferred data\");let K={state:\"idle\",data:_.data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,\" _hasFetcherDoneAnything \":!0};o.fetchers.set(l,K),W({fetchers:new Map(o.fetchers)})}async function ve(l,d,f){var b;let{submission:D,replace:x,isFetchActionRedirect:A}=f===void 0?{}:f;d.revalidate&&(H=!0);let M=q(l.location,d.location,C({_isRedirect:!0},A?{_isFetchActionRedirect:!0}:{}));if(T(M,\"Expected a location on the redirect navigation\"),Lt.test(d.location)&&xt&&typeof((b=window)==null?void 0:b.location)<\"u\"){let $=e.history.createURL(d.location),Y=Ue($.pathname,i)==null;if(window.location.origin!==$.origin||Y){x?window.location.replace(d.location):window.location.assign(d.location);return}}w=null;let E=x===!0?z.Replace:z.Push,{formMethod:F,formAction:_,formEncType:K,formData:k}=l.navigation;!D&&F&&_&&k&&K&&(D={formMethod:F,formAction:_,formEncType:K,formData:k}),Sr.has(d.status)&&D&&G(D.formMethod)?await re(E,M,{submission:C({},D,{formAction:d.location}),preventScrollReset:S}):A?await re(E,M,{overrideNavigation:{state:\"loading\",location:M,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0},fetcherSubmission:D,preventScrollReset:S}):await re(E,M,{overrideNavigation:{state:\"loading\",location:M,formMethod:D?D.formMethod:void 0,formAction:D?D.formAction:void 0,formEncType:D?D.formEncType:void 0,formData:D?D.formData:void 0},preventScrollReset:S})}async function et(l,d,f,b,D){let x=await Promise.all([...f.map(E=>ie(\"loader\",D,E,d,r,t,i)),...b.map(E=>E.matches&&E.match&&E.controller?ie(\"loader\",Re(e.history,E.path,E.controller.signal),E.match,E.matches,r,t,i):{type:I.error,error:B(404,{pathname:E.path})})]),A=x.slice(0,f.length),M=x.slice(f.length);return await Promise.all([wt(l,f,A,A.map(()=>D.signal),!1,o.loaderData),wt(l,b.map(E=>E.match),M,b.map(E=>E.controller?E.controller.signal:null),!0)]),{results:x,loaderResults:A,fetcherResults:M}}function _e(){H=!0,U.push(...ze()),ce.forEach((l,d)=>{N.has(d)&&(X.push(d),fe(d))})}function Ie(l,d,f){let b=se(o.matches,d);je(l),W({errors:{[b.route.id]:f},fetchers:new Map(o.fetchers)})}function je(l){N.has(l)&&fe(l),ce.delete(l),me.delete(l),ge.delete(l),o.fetchers.delete(l)}function fe(l){let d=N.get(l);T(d,\"Expected fetch controller: \"+l),d.abort(),N.delete(l)}function tt(l){for(let d of l){let b={state:\"idle\",data:qe(d).data,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,\" _hasFetcherDoneAnything \":!0};o.fetchers.set(d,b)}}function rt(){let l=[],d=!1;for(let f of ge){let b=o.fetchers.get(f);T(b,\"Expected fetcher: \"+f),b.state===\"loading\"&&(ge.delete(f),l.push(f),d=!0)}return tt(l),d}function nt(l){let d=[];for(let[f,b]of me)if(b0}function Kt(l,d){let f=o.blockers.get(l)||ut;return te.get(l)!==d&&te.set(l,d),f}function we(l){o.blockers.delete(l),te.delete(l)}function Pe(l,d){let f=o.blockers.get(l)||ut;T(f.state===\"unblocked\"&&d.state===\"blocked\"||f.state===\"blocked\"&&d.state===\"blocked\"||f.state===\"blocked\"&&d.state===\"proceeding\"||f.state===\"blocked\"&&d.state===\"unblocked\"||f.state===\"proceeding\"&&d.state===\"unblocked\",\"Invalid blocker state transition: \"+f.state+\" -> \"+d.state),o.blockers.set(l,d),W({blockers:new Map(o.blockers)})}function at(l){let{currentLocation:d,nextLocation:f,historyAction:b}=l;if(te.size===0)return;te.size>1&&Z(!1,\"A router only supports one blocker at a time\");let D=Array.from(te.entries()),[x,A]=D[D.length-1],M=o.blockers.get(x);if(!(M&&M.state===\"proceeding\")&&A({currentLocation:d,nextLocation:f,historyAction:b}))return x}function ze(l){let d=[];return oe.forEach((f,b)=>{(!l||l(b))&&(f.cancel(),d.push(b),oe.delete(b))}),d}function Vt(l,d,f){if(y=l,h=d,m=f||(b=>b.key),!v&&o.navigation===Ve){v=!0;let b=ot(o.location,o.matches);b!=null&&W({restoreScrollPosition:b})}return()=>{y=null,h=null,m=null}}function Yt(l,d){if(y&&m&&h){let f=d.map(D=>bt(D,o.loaderData)),b=m(l,f)||l.key;y[b]=h()}}function ot(l,d){if(y&&m&&h){let f=d.map(x=>bt(x,o.loaderData)),b=m(l,f)||l.key,D=y[b];if(typeof D==\"number\")return D}return null}function Jt(l){r={},a=xe(l,t,void 0,r)}return c={get basename(){return i},get state(){return o},get routes(){return n},initialize:It,subscribe:zt,enableScrollRestoration:Vt,navigate:Ze,fetch:kt,revalidate:Ht,createHref:l=>e.history.createHref(l),encodeLocation:l=>e.history.encodeLocation(l),getFetcher:qe,deleteFetcher:je,dispose:jt,getBlocker:Kt,deleteBlocker:we,_internalFetchControllers:N,_internalActiveDeferreds:oe,_internalSetRoutes:Jt},c}var xr=Symbol(\"deferred\");function $r(e,t){T(e.length>0,\"You must provide a non-empty routes array to createStaticHandler\");let r={},n=(t?t.basename:null)||\"/\",a;if(t!=null&&t.mapRouteProperties)a=t.mapRouteProperties;else if(t!=null&&t.detectErrorBoundary){let h=t.detectErrorBoundary;a=v=>({hasErrorBoundary:h(v)})}else a=At;let i=xe(e,a,void 0,r);async function s(h,v){let{requestContext:g}=v===void 0?{}:v,R=new URL(h.url),P=h.method,c=q(\"\",ee(R),null,\"default\"),o=le(i,c,n);if(!Ge(P)&&P!==\"HEAD\"){let S=B(405,{method:P}),{matches:w,route:O}=Fe(i);return{basename:n,location:c,matches:w,loaderData:{},actionData:null,errors:{[O.id]:S},statusCode:S.status,loaderHeaders:{},actionHeaders:{},activeDeferreds:null}}else if(!o){let S=B(404,{pathname:c.pathname}),{matches:w,route:O}=Fe(i);return{basename:n,location:c,matches:w,loaderData:{},actionData:null,errors:{[O.id]:S},statusCode:S.status,loaderHeaders:{},actionHeaders:{},activeDeferreds:null}}let L=await p(h,c,o,g);return pe(L)?L:C({location:c,basename:n},L)}async function u(h,v){let{routeId:g,requestContext:R}=v===void 0?{}:v,P=new URL(h.url),c=h.method,o=q(\"\",ee(P),null,\"default\"),L=le(i,o,n);if(!Ge(c)&&c!==\"HEAD\"&&c!==\"OPTIONS\")throw B(405,{method:c});if(!L)throw B(404,{pathname:o.pathname});let S=g?L.find(U=>U.route.id===g):Ee(L,o);if(g&&!S)throw B(403,{pathname:o.pathname,routeId:g});if(!S)throw B(404,{pathname:o.pathname});let w=await p(h,o,L,R,S);if(pe(w))return w;let O=w.errors?Object.values(w.errors)[0]:void 0;if(O!==void 0)throw O;if(w.actionData)return Object.values(w.actionData)[0];if(w.loaderData){var H;let U=Object.values(w.loaderData)[0];return(H=w.activeDeferreds)!=null&&H[S.route.id]&&(U[xr]=w.activeDeferreds[S.route.id]),U}}async function p(h,v,g,R,P){T(h.signal,\"query()/queryRoute() requests must contain an AbortController signal\");try{if(G(h.method.toLowerCase()))return await y(h,g,P||Ee(g,v),R,P!=null);let c=await m(h,g,R,P);return pe(c)?c:C({},c,{actionData:null,actionHeaders:{}})}catch(c){if(Tr(c)){if(c.type===I.error&&!vt(c.response))throw c.response;return c.response}if(vt(c))return c;throw c}}async function y(h,v,g,R,P){let c;if(!g.route.action&&!g.route.lazy){let S=B(405,{method:h.method,pathname:new URL(h.url).pathname,routeId:g.route.id});if(P)throw S;c={type:I.error,error:S}}else if(c=await ie(\"action\",h,g,v,r,a,n,!0,P,R),h.signal.aborted){let S=P?\"queryRoute\":\"query\";throw new Error(S+\"() call aborted\")}if(ue(c))throw new Response(null,{status:c.status,headers:{Location:c.location}});if(ae(c)){let S=B(400,{type:\"defer-action\"});if(P)throw S;c={type:I.error,error:S}}if(P){if(de(c))throw c.error;return{matches:[g],loaderData:{},actionData:{[g.route.id]:c.data},errors:null,statusCode:200,loaderHeaders:{},actionHeaders:{},activeDeferreds:null}}if(de(c)){let S=se(v,g.route.id),w=await m(h,v,R,void 0,{[S.route.id]:c.error});return C({},w,{statusCode:St(c.error)?c.error.status:500,actionData:null,actionHeaders:C({},c.headers?{[g.route.id]:c.headers}:{})})}let o=new Request(h.url,{headers:h.headers,redirect:h.redirect,signal:h.signal}),L=await m(o,v,R);return C({},L,c.statusCode?{statusCode:c.statusCode}:{},{actionData:{[g.route.id]:c.data},actionHeaders:C({},c.headers?{[g.route.id]:c.headers}:{})})}async function m(h,v,g,R,P){let c=R!=null;if(c&&!(R!=null&&R.route.loader)&&!(R!=null&&R.route.lazy))throw B(400,{method:h.method,pathname:new URL(h.url).pathname,routeId:R?.route.id});let L=(R?[R]:Ct(v,Object.keys(P||{})[0])).filter(U=>U.route.loader||U.route.lazy);if(L.length===0)return{matches:v,loaderData:v.reduce((U,X)=>Object.assign(U,{[X.route.id]:null}),{}),errors:P||null,statusCode:200,loaderHeaders:{},activeDeferreds:null};let S=await Promise.all([...L.map(U=>ie(\"loader\",h,U,v,r,a,n,!0,c,g))]);if(h.signal.aborted){let U=c?\"queryRoute\":\"query\";throw new Error(U+\"() call aborted\")}let w=new Map,O=Tt(v,L,S,P,w),H=new Set(L.map(U=>U.route.id));return v.forEach(U=>{H.has(U.route.id)||(O.loaderData[U.route.id]=null)}),C({},O,{matches:v,activeDeferreds:w.size>0?Object.fromEntries(w.entries()):null})}return{dataRoutes:i,query:s,queryRoute:u}}function Wr(e,t,r){return C({},t,{statusCode:500,errors:{[t._deepestRenderedBoundaryId||e[0].id]:r}})}function Ar(e){return e!=null&&\"formData\"in e}function Je(e,t,r,n,a,i,s){let u,p;if(i!=null&&s!==\"path\"){u=[];for(let m of t)if(u.push(m),m.route.id===i){p=m;break}}else u=t,p=t[t.length-1];let y=mr(a||\".\",Pt(u).map(m=>m.pathnameBase),Ue(e.pathname,r)||e.pathname,s===\"path\");return a==null&&(y.search=e.search,y.hash=e.hash),(a==null||a===\"\"||a===\".\")&&p&&p.route.index&&!Qe(y.search)&&(y.search=y.search?y.search.replace(/^\\?/,\"?index&\"):\"?index\"),n&&r!==\"/\"&&(y.pathname=y.pathname===\"/\"?r:De([r,y.pathname])),ee(y)}function ct(e,t,r,n){if(!n||!Ar(n))return{path:r};if(n.formMethod&&!Ge(n.formMethod))return{path:r,error:B(405,{method:n.formMethod})};let a;if(n.formData){let u=n.formMethod||\"get\";if(a={formMethod:e?u.toUpperCase():u.toLowerCase(),formAction:Ot(r),formEncType:n&&n.formEncType||\"application/x-www-form-urlencoded\",formData:n.formData},G(a.formMethod))return{path:r,submission:a}}let i=Q(r),s=Ut(n.formData);return t&&i.search&&Qe(i.search)&&s.append(\"index\",\"\"),i.search=\"?\"+s,{path:ee(i),submission:a}}function Ct(e,t){let r=e;if(t){let n=e.findIndex(a=>a.route.id===t);n>=0&&(r=e.slice(0,n))}return r}function ft(e,t,r,n,a,i,s,u,p,y,m,h,v){let g=v?Object.values(v)[0]:h?Object.values(h)[0]:void 0,R=e.createURL(t.location),P=e.createURL(a),c=v?Object.keys(v)[0]:void 0,L=Ct(r,c).filter((w,O)=>{if(w.route.lazy)return!0;if(w.route.loader==null)return!1;if(Cr(t.loaderData,t.matches[O],w)||s.some(X=>X===w.route.id))return!0;let H=t.matches[O],U=w;return ht(w,C({currentUrl:R,currentParams:H.params,nextUrl:P,nextParams:U.params},n,{actionResult:g,defaultShouldRevalidate:i||R.pathname+R.search===P.pathname+P.search||R.search!==P.search||Ft(H,U)}))}),S=[];return p.forEach((w,O)=>{if(!r.some(N=>N.route.id===w.routeId))return;let H=le(y,w.path,m);if(!H){S.push({key:O,routeId:w.routeId,path:w.path,matches:null,match:null,controller:null});return}let U=Ee(H,w.path);if(u.includes(O)){S.push({key:O,routeId:w.routeId,path:w.path,matches:H,match:U,controller:new AbortController});return}ht(U,C({currentUrl:R,currentParams:t.matches[t.matches.length-1].params,nextUrl:P,nextParams:r[r.length-1].params},n,{actionResult:g,defaultShouldRevalidate:i}))&&S.push({key:O,routeId:w.routeId,path:w.path,matches:H,match:U,controller:new AbortController})}),[L,S]}function Cr(e,t,r){let n=!t||r.route.id!==t.route.id,a=e[r.route.id]===void 0;return n||a}function Ft(e,t){let r=e.route.path;return e.pathname!==t.pathname||r!=null&&r.endsWith(\"*\")&&e.params[\"*\"]!==t.params[\"*\"]}function ht(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if(typeof r==\"boolean\")return r}return t.defaultShouldRevalidate}async function pt(e,t,r){if(!e.lazy)return;let n=await e.lazy();if(!e.lazy)return;let a=r[e.id];T(a,\"No route found in manifest\");let i={};for(let s in n){let p=a[s]!==void 0&&s!==\"hasErrorBoundary\";Z(!p,'Route \"'+a.id+'\" has a static property \"'+s+'\" defined but its lazy function is also returning a value for this property. '+('The lazy route property \"'+s+'\" will be ignored.')),!p&&!Xt.has(s)&&(i[s]=n[s])}Object.assign(a,i),Object.assign(a,C({},t(a),{lazy:void 0}))}async function ie(e,t,r,n,a,i,s,u,p,y){u===void 0&&(u=!1),p===void 0&&(p=!1);let m,h,v,g=c=>{let o,L=new Promise((S,w)=>o=w);return v=()=>o(),t.signal.addEventListener(\"abort\",v),Promise.race([c({request:t,params:r.params,context:y}),L])};try{let c=r.route[e];if(r.route.lazy)if(c)h=(await Promise.all([g(c),pt(r.route,i,a)]))[0];else if(await pt(r.route,i,a),c=r.route[e],c)h=await g(c);else if(e===\"action\"){let o=new URL(t.url),L=o.pathname+o.search;throw B(405,{method:t.method,pathname:L,routeId:r.route.id})}else return{type:I.data,data:void 0};else if(c)h=await g(c);else{let o=new URL(t.url),L=o.pathname+o.search;throw B(404,{pathname:L})}T(h!==void 0,\"You defined \"+(e===\"action\"?\"an action\":\"a loader\")+\" for route \"+('\"'+r.route.id+\"\\\" but didn't return anything from your `\"+e+\"` \")+\"function. Please return a value or `null`.\")}catch(c){m=I.error,h=c}finally{v&&t.signal.removeEventListener(\"abort\",v)}if(pe(h)){let c=h.status;if(Pr.has(c)){let S=h.headers.get(\"Location\");if(T(S,\"Redirects returned/thrown from loaders/actions must have a Location header\"),!Lt.test(S))S=Je(new URL(t.url),n.slice(0,n.indexOf(r)+1),s,!0,S);else if(!u){let w=new URL(t.url),O=S.startsWith(\"//\")?new URL(w.protocol+S):new URL(S),H=Ue(O.pathname,s)!=null;O.origin===w.origin&&H&&(S=O.pathname+O.search+O.hash)}if(u)throw h.headers.set(\"Location\",S),h;return{type:I.redirect,status:c,location:S,revalidate:h.headers.get(\"X-Remix-Revalidate\")!==null}}if(p)throw{type:m||I.data,response:h};let o,L=h.headers.get(\"Content-Type\");return L&&/\\bapplication\\/json\\b/.test(L)?o=await h.json():o=await h.text(),m===I.error?{type:m,error:new Ce(c,h.statusText,o),headers:h.headers}:{type:I.data,data:o,statusCode:h.status,headers:h.headers}}if(m===I.error)return{type:m,error:h};if(Ur(h)){var R,P;return{type:I.deferred,deferredData:h,statusCode:(R=h.init)==null?void 0:R.status,headers:((P=h.init)==null?void 0:P.headers)&&new Headers(h.init.headers)}}return{type:I.data,data:h}}function Re(e,t,r,n){let a=e.createURL(Ot(t)).toString(),i={signal:r};if(n&&G(n.formMethod)){let{formMethod:s,formEncType:u,formData:p}=n;i.method=s.toUpperCase(),i.body=u===\"application/x-www-form-urlencoded\"?Ut(p):p}return new Request(a,i)}function Ut(e){let t=new URLSearchParams;for(let[r,n]of e.entries())t.append(r,n instanceof File?n.name:n);return t}function Tt(e,t,r,n,a){let i={},s=null,u,p=!1,y={};return r.forEach((m,h)=>{let v=t[h].route.id;if(T(!ue(m),\"Cannot handle redirect results in processLoaderData\"),de(m)){let g=se(e,v),R=m.error;n&&(R=Object.values(n)[0],n=void 0),s=s||{},s[g.route.id]==null&&(s[g.route.id]=R),i[v]=void 0,p||(p=!0,u=St(m.error)?m.error.status:500),m.headers&&(y[v]=m.headers)}else ae(m)?(a.set(v,m.deferredData),i[v]=m.deferredData.data):i[v]=m.data,m.statusCode!=null&&m.statusCode!==200&&!p&&(u=m.statusCode),m.headers&&(y[v]=m.headers)}),n&&(s=n,i[Object.keys(n)[0]]=void 0),{loaderData:i,errors:s,statusCode:u||200,loaderHeaders:y}}function mt(e,t,r,n,a,i,s,u){let{loaderData:p,errors:y}=Tt(t,r,n,a,u);for(let m=0;mn.route.id===t)+1):[...e]).reverse().find(n=>n.route.hasErrorBoundary===!0)||e[0]}function Fe(e){let t=e.find(r=>r.index||!r.path||r.path===\"/\")||{id:\"__shim-error-route__\"};return{matches:[{params:{},pathname:\"\",pathnameBase:\"\",route:t}],route:t}}function B(e,t){let{pathname:r,routeId:n,method:a,type:i}=t===void 0?{}:t,s=\"Unknown Server Error\",u=\"Unknown @remix-run/router error\";return e===400?(s=\"Bad Request\",a&&r&&n?u=\"You made a \"+a+' request to \"'+r+'\" but '+('did not provide a `loader` for route \"'+n+'\", ')+\"so there is no way to handle the request.\":i===\"defer-action\"&&(u=\"defer() is not supported in actions\")):e===403?(s=\"Forbidden\",u='Route \"'+n+'\" does not match URL \"'+r+'\"'):e===404?(s=\"Not Found\",u='No route matches URL \"'+r+'\"'):e===405&&(s=\"Method Not Allowed\",a&&r&&n?u=\"You made a \"+a.toUpperCase()+' request to \"'+r+'\" but '+('did not provide an `action` for route \"'+n+'\", ')+\"so there is no way to handle the request.\":a&&(u='Invalid request method \"'+a.toUpperCase()+'\"')),new Ce(e||500,s,new Error(u),!0)}function yt(e){for(let t=e.length-1;t>=0;t--){let r=e[t];if(ue(r))return r}}function Ot(e){let t=typeof e==\"string\"?Q(e):e;return ee(C({},t,{hash:\"\"}))}function Fr(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===\"\"?t.hash!==\"\":e.hash===t.hash?!0:t.hash!==\"\"}function ae(e){return e.type===I.deferred}function de(e){return e.type===I.error}function ue(e){return(e&&e.type)===I.redirect}function Ur(e){let t=e;return t&&typeof t==\"object\"&&typeof t.data==\"object\"&&typeof t.subscribe==\"function\"&&typeof t.cancel==\"function\"&&typeof t.resolveData==\"function\"}function pe(e){return e!=null&&typeof e.status==\"number\"&&typeof e.statusText==\"string\"&&typeof e.headers==\"object\"&&typeof e.body<\"u\"}function vt(e){if(!pe(e))return!1;let t=e.status,r=e.headers.get(\"Location\");return t>=300&&t<=399&&r!=null}function Tr(e){return e&&pe(e.response)&&(e.type===I.data||I.error)}function Ge(e){return Er.has(e.toLowerCase())}function G(e){return Rr.has(e.toLowerCase())}async function wt(e,t,r,n,a,i){for(let s=0;sh.route.id===p.route.id),m=y!=null&&!Ft(y,p)&&(i&&i[p.route.id])!==void 0;if(ae(u)&&(a||m)){let h=n[s];T(h,\"Expected an AbortSignal for revalidating fetcher deferred result\"),await _t(u,h,a).then(v=>{v&&(r[s]=v||r[s])})}}}async function _t(e,t,r){if(r===void 0&&(r=!1),!await e.deferredData.resolveData(t)){if(r)try{return{type:I.data,data:e.deferredData.unwrappedData}}catch(a){return{type:I.error,error:a}}return{type:I.data,data:e.deferredData.data}}}function Qe(e){return new URLSearchParams(e).getAll(\"index\").some(t=>t===\"\")}function bt(e,t){let{route:r,pathname:n,params:a}=e;return{id:r.id,pathname:n,params:a,data:t[r.id],handle:r.handle}}function Ee(e,t){let r=typeof t==\"string\"?Q(t).search:t.search;if(e[e.length-1].route.index&&Qe(r||\"\"))return e[e.length-1];let n=Pt(e);return n[n.length-1]}export{Ae as AbortedDeferredError,z as Action,Ce as ErrorResponse,ut as IDLE_BLOCKER,Mr as IDLE_FETCHER,Ve as IDLE_NAVIGATION,xr as UNSAFE_DEFERRED_SYMBOL,Ye as UNSAFE_DeferredData,xe as UNSAFE_convertRoutesToDataRoutes,Pt as UNSAFE_getPathContributingMatches,T as UNSAFE_invariant,Z as UNSAFE_warning,_r as createBrowserHistory,Ir as createHashHistory,Or as createMemoryHistory,ee as createPath,kr as createRouter,$r as createStaticHandler,Nr as defer,jr as generatePath,Wr as getStaticContextFromError,zr as getToPathname,Ur as isDeferredData,St as isRouteErrorResponse,De as joinPaths,Hr as json,dr as matchPath,le as matchRoutes,gr as normalizePathname,Q as parsePath,Br as redirect,hr as resolvePath,mr as resolveTo,Ue as stripBasename};\n/*! Bundled license information:\n\n@remix-run/router/dist/router.js:\n (**\n * @remix-run/router v1.6.2\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n *)\n*/\n//# sourceMappingURL=router.mjs.map","/* esm.sh - esbuild bundle(react-router@6.11.2) denonext production */\nimport*as r from\"/stable/react@18.2.0/denonext/react.mjs\";import{UNSAFE_invariant as p,joinPaths as P,matchPath as Q,UNSAFE_getPathContributingMatches as I,resolveTo as M,parsePath as k,matchRoutes as Z,Action as T,isRouteErrorResponse as $,createMemoryHistory as J,stripBasename as H,AbortedDeferredError as ee,createRouter as te}from\"/v127/@remix-run/router@1.6.2/denonext/router.mjs\";import{AbortedDeferredError as qe,Action as Ke,createPath as Xe,defer as Ge,generatePath as Qe,isRouteErrorResponse as Ze,json as $e,matchPath as He,matchRoutes as et,parsePath as tt,redirect as rt,resolvePath as nt}from\"/v127/@remix-run/router@1.6.2/denonext/router.mjs\";function _(){return _=Object.assign?Object.assign.bind():function(t){for(var e=1;eQ(t,e),[e,t])}function z(t){r.useContext(D).static||r.useLayoutEffect(t)}function re(){let{isDataRoute:t}=r.useContext(E);return t?fe():ne()}function ne(){C()||p(!1);let t=r.useContext(A),{basename:e,navigator:n}=r.useContext(D),{matches:a}=r.useContext(E),{pathname:o}=O(),i=JSON.stringify(I(a).map(u=>u.pathnameBase)),s=r.useRef(!1);return z(()=>{s.current=!0}),r.useCallback(function(u,c){if(c===void 0&&(c={}),!s.current)return;if(typeof u==\"number\"){n.go(u);return}let d=M(u,JSON.parse(i),o,c.relative===\"path\");t==null&&e!==\"/\"&&(d.pathname=d.pathname===\"/\"?e:P([e,d.pathname])),(c.replace?n.replace:n.push)(d,c.state,c)},[e,n,i,o,t])}var q=r.createContext(null);function be(){return r.useContext(q)}function ae(t){let e=r.useContext(E).outlet;return e&&r.createElement(q.Provider,{value:t},e)}function De(){let{matches:t}=r.useContext(E),e=t[t.length-1];return e?e.params:{}}function oe(t,e){let{relative:n}=e===void 0?{}:e,{matches:a}=r.useContext(E),{pathname:o}=O(),i=JSON.stringify(I(a).map(s=>s.pathnameBase));return r.useMemo(()=>M(t,JSON.parse(i),o,n===\"path\"),[t,i,o,n])}function ie(t,e){return K(t,e)}function K(t,e,n){C()||p(!1);let{navigator:a}=r.useContext(D),{matches:o}=r.useContext(E),i=o[o.length-1],s=i?i.params:{},l=i?i.pathname:\"/\",u=i?i.pathnameBase:\"/\",c=i&&i.route,d=O(),v;if(e){var N;let m=typeof e==\"string\"?k(e):e;u===\"/\"||(N=m.pathname)!=null&&N.startsWith(u)||p(!1),v=m}else v=d;let g=v.pathname||\"/\",R=u===\"/\"?g:g.slice(u.length)||\"/\",x=Z(t,{pathname:R}),V=X(x&&x.map(m=>Object.assign({},m,{params:Object.assign({},s,m.params),pathname:P([u,a.encodeLocation?a.encodeLocation(m.pathname).pathname:m.pathname]),pathnameBase:m.pathnameBase===\"/\"?u:P([u,a.encodeLocation?a.encodeLocation(m.pathnameBase).pathname:m.pathnameBase])})),o,n);return e&&V?r.createElement(U.Provider,{value:{location:_({pathname:\"/\",search:\"\",hash:\"\",state:null,key:\"default\"},v),navigationType:T.Pop}},V):V}function se(){let t=de(),e=$(t)?t.status+\" \"+t.statusText:t instanceof Error?t.message:JSON.stringify(t),n=t instanceof Error?t.stack:null,a=\"rgba(200,200,200, 0.5)\",o={padding:\"0.5rem\",backgroundColor:a},i={padding:\"2px 4px\",backgroundColor:a};return r.createElement(r.Fragment,null,r.createElement(\"h2\",null,\"Unexpected Application Error!\"),r.createElement(\"h3\",{style:{fontStyle:\"italic\"}},e),n?r.createElement(\"pre\",{style:o},n):null,null)}var ue=r.createElement(se,null),w=class extends r.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,n){return n.location!==e.location||n.revalidation!==\"idle\"&&e.revalidation===\"idle\"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error||n.error,location:n.location,revalidation:e.revalidation||n.revalidation}}componentDidCatch(e,n){console.error(\"React Router caught the following error during render\",e,n)}render(){return this.state.error?r.createElement(E.Provider,{value:this.props.routeContext},r.createElement(W.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function le(t){let{routeContext:e,match:n,children:a}=t,o=r.useContext(A);return o&&o.static&&o.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=n.route.id),r.createElement(E.Provider,{value:e},a)}function X(t,e,n){var a;if(e===void 0&&(e=[]),n===void 0&&(n=null),t==null){var o;if((o=n)!=null&&o.errors)t=n.matches;else return null}let i=t,s=(a=n)==null?void 0:a.errors;if(s!=null){let l=i.findIndex(u=>u.route.id&&s?.[u.route.id]);l>=0||p(!1),i=i.slice(0,Math.min(i.length,l+1))}return i.reduceRight((l,u,c)=>{let d=u.route.id?s?.[u.route.id]:null,v=null;n&&(v=u.route.errorElement||ue);let N=e.concat(i.slice(0,c+1)),g=()=>{let R;return d?R=v:u.route.Component?R=r.createElement(u.route.Component,null):u.route.element?R=u.route.element:R=l,r.createElement(le,{match:u,routeContext:{outlet:l,matches:N,isDataRoute:n!=null},children:R})};return n&&(u.route.ErrorBoundary||u.route.errorElement||c===0)?r.createElement(w,{location:n.location,revalidation:n.revalidation,component:v,error:d,children:g(),routeContext:{outlet:null,matches:N,isDataRoute:!0}}):g()},null)}var b;(function(t){t.UseBlocker=\"useBlocker\",t.UseRevalidator=\"useRevalidator\",t.UseNavigateStable=\"useNavigate\"})(b||(b={}));var h;(function(t){t.UseBlocker=\"useBlocker\",t.UseLoaderData=\"useLoaderData\",t.UseActionData=\"useActionData\",t.UseRouteError=\"useRouteError\",t.UseNavigation=\"useNavigation\",t.UseRouteLoaderData=\"useRouteLoaderData\",t.UseMatches=\"useMatches\",t.UseRevalidator=\"useRevalidator\",t.UseNavigateStable=\"useNavigate\",t.UseRouteId=\"useRouteId\"})(h||(h={}));function j(t){let e=r.useContext(A);return e||p(!1),e}function y(t){let e=r.useContext(Y);return e||p(!1),e}function ce(t){let e=r.useContext(E);return e||p(!1),e}function F(t){let e=ce(t),n=e.matches[e.matches.length-1];return n.route.id||p(!1),n.route.id}function Ue(){return F(h.UseRouteId)}function Oe(){return y(h.UseNavigation).navigation}function Pe(){let t=j(b.UseRevalidator),e=y(h.UseRevalidator);return{revalidate:t.router.revalidate,state:e.revalidation}}function Se(){let{matches:t,loaderData:e}=y(h.UseMatches);return r.useMemo(()=>t.map(n=>{let{pathname:a,params:o}=n;return{id:n.route.id,pathname:a,params:o,data:e[n.route.id],handle:n.route.handle}}),[t,e])}function Ae(){let t=y(h.UseLoaderData),e=F(h.UseLoaderData);if(t.errors&&t.errors[e]!=null){console.error(\"You cannot `useLoaderData` in an errorElement (routeId: \"+e+\")\");return}return t.loaderData[e]}function Fe(t){return y(h.UseRouteLoaderData).loaderData[t]}function Ve(){let t=y(h.UseActionData);return r.useContext(E)||p(!1),Object.values(t?.actionData||{})[0]}function de(){var t;let e=r.useContext(W),n=y(h.UseRouteError),a=F(h.UseRouteError);return e||((t=n.errors)==null?void 0:t[a])}function pe(){let t=r.useContext(S);return t?._data}function we(){let t=r.useContext(S);return t?._error}var he=0;function Be(t){let{router:e}=j(b.UseBlocker),n=y(h.UseBlocker),[a]=r.useState(()=>String(++he)),o=r.useCallback(s=>typeof t==\"function\"?!!t(s):!!t,[t]),i=e.getBlocker(a,o);return r.useEffect(()=>()=>e.deleteBlocker(a),[e,a]),n.blockers.get(a)||i}function fe(){let{router:t}=j(b.UseNavigateStable),e=F(h.UseNavigateStable),n=r.useRef(!1);return z(()=>{n.current=!0}),r.useCallback(function(o,i){i===void 0&&(i={}),n.current&&(typeof o==\"number\"?t.navigate(o):t.navigate(o,_({fromRouteId:e},i)))},[t,e])}function Le(t){let{fallbackElement:e,router:n}=t,[a,o]=r.useState(n.state);r.useLayoutEffect(()=>n.subscribe(o),[n,o]);let i=r.useMemo(()=>({createHref:n.createHref,encodeLocation:n.encodeLocation,go:u=>n.navigate(u),push:(u,c,d)=>n.navigate(u,{state:c,preventScrollReset:d?.preventScrollReset}),replace:(u,c,d)=>n.navigate(u,{replace:!0,state:c,preventScrollReset:d?.preventScrollReset})}),[n]),s=n.basename||\"/\",l=r.useMemo(()=>({router:n,navigator:i,static:!1,basename:s}),[n,i,s]);return r.createElement(r.Fragment,null,r.createElement(A.Provider,{value:l},r.createElement(Y.Provider,{value:a},r.createElement(G,{basename:n.basename,location:n.state.location,navigationType:n.state.historyAction,navigator:i},n.state.initialized?r.createElement(ve,{routes:n.routes,state:a}):e))),null)}function ve(t){let{routes:e,state:n}=t;return K(e,void 0,n)}function Ie(t){let{basename:e,children:n,initialEntries:a,initialIndex:o}=t,i=r.useRef();i.current==null&&(i.current=J({initialEntries:a,initialIndex:o,v5Compat:!0}));let s=i.current,[l,u]=r.useState({action:s.action,location:s.location});return r.useLayoutEffect(()=>s.listen(u),[s]),r.createElement(G,{basename:e,children:n,location:l.location,navigationType:l.action,navigator:s})}function Me(t){let{to:e,replace:n,state:a,relative:o}=t;C()||p(!1);let{matches:i}=r.useContext(E),{pathname:s}=O(),l=re(),u=M(e,I(i).map(d=>d.pathnameBase),s,o===\"path\"),c=JSON.stringify(u);return r.useEffect(()=>l(JSON.parse(c),{replace:n,state:a,relative:o}),[l,c,o,n,a]),null}function je(t){return ae(t.context)}function me(t){p(!1)}function G(t){let{basename:e=\"/\",children:n=null,location:a,navigationType:o=T.Pop,navigator:i,static:s=!1}=t;C()&&p(!1);let l=e.replace(/^\\/*/,\"/\"),u=r.useMemo(()=>({basename:l,navigator:i,static:s}),[l,i,s]);typeof a==\"string\"&&(a=k(a));let{pathname:c=\"/\",search:d=\"\",hash:v=\"\",state:N=null,key:g=\"default\"}=a,R=r.useMemo(()=>{let x=H(c,l);return x==null?null:{location:{pathname:x,search:d,hash:v,state:N,key:g},navigationType:o}},[l,c,d,v,N,g,o]);return R==null?null:r.createElement(D.Provider,{value:u},r.createElement(U.Provider,{children:n,value:R}))}function ke(t){let{children:e,location:n}=t;return ie(L(e),n)}function Te(t){let{children:e,errorElement:n,resolve:a}=t;return r.createElement(B,{resolve:a,errorElement:n},r.createElement(Re,null,e))}var f;(function(t){t[t.pending=0]=\"pending\",t[t.success=1]=\"success\",t[t.error=2]=\"error\"})(f||(f={}));var Ee=new Promise(()=>{}),B=class extends r.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,n){console.error(\" caught the following error during render\",e,n)}render(){let{children:e,errorElement:n,resolve:a}=this.props,o=null,i=f.pending;if(!(a instanceof Promise))i=f.success,o=Promise.resolve(),Object.defineProperty(o,\"_tracked\",{get:()=>!0}),Object.defineProperty(o,\"_data\",{get:()=>a});else if(this.state.error){i=f.error;let s=this.state.error;o=Promise.reject().catch(()=>{}),Object.defineProperty(o,\"_tracked\",{get:()=>!0}),Object.defineProperty(o,\"_error\",{get:()=>s})}else a._tracked?(o=a,i=o._error!==void 0?f.error:o._data!==void 0?f.success:f.pending):(i=f.pending,Object.defineProperty(a,\"_tracked\",{get:()=>!0}),o=a.then(s=>Object.defineProperty(a,\"_data\",{get:()=>s}),s=>Object.defineProperty(a,\"_error\",{get:()=>s})));if(i===f.error&&o._error instanceof ee)throw Ee;if(i===f.error&&!n)throw o._error;if(i===f.error)return r.createElement(S.Provider,{value:o,children:n});if(i===f.success)return r.createElement(S.Provider,{value:o,children:e});throw o}};function Re(t){let{children:e}=t,n=pe(),a=typeof e==\"function\"?e(n):e;return r.createElement(r.Fragment,null,a)}function L(t,e){e===void 0&&(e=[]);let n=[];return r.Children.forEach(t,(a,o)=>{if(!r.isValidElement(a))return;let i=[...e,o];if(a.type===r.Fragment){n.push.apply(n,L(a.props.children,i));return}a.type!==me&&p(!1),!a.props.index||!a.props.children||p(!1);let s={id:a.props.id||i.join(\"-\"),caseSensitive:a.props.caseSensitive,element:a.props.element,Component:a.props.Component,index:a.props.index,path:a.props.path,loader:a.props.loader,action:a.props.action,errorElement:a.props.errorElement,ErrorBoundary:a.props.ErrorBoundary,hasErrorBoundary:a.props.ErrorBoundary!=null||a.props.errorElement!=null,shouldRevalidate:a.props.shouldRevalidate,handle:a.props.handle,lazy:a.props.lazy};a.props.children&&(s.children=L(a.props.children,i)),n.push(s)}),n}function Je(t){return X(t)}function Ne(t){let e={hasErrorBoundary:t.ErrorBoundary!=null||t.errorElement!=null};return t.Component&&Object.assign(e,{element:r.createElement(t.Component),Component:void 0}),t.ErrorBoundary&&Object.assign(e,{errorElement:r.createElement(t.ErrorBoundary),ErrorBoundary:void 0}),e}function Ye(t,e){return te({basename:e?.basename,future:_({},e?.future,{v7_prependBasename:!0}),history:J({initialEntries:e?.initialEntries,initialIndex:e?.initialIndex}),hydrationData:e?.hydrationData,routes:t,mapRouteProperties:Ne}).initialize()}export{qe as AbortedDeferredError,Te as Await,Ie as MemoryRouter,Me as Navigate,Ke as NavigationType,je as Outlet,me as Route,G as Router,Le as RouterProvider,ke as Routes,A as UNSAFE_DataRouterContext,Y as UNSAFE_DataRouterStateContext,U as UNSAFE_LocationContext,D as UNSAFE_NavigationContext,E as UNSAFE_RouteContext,Ne as UNSAFE_mapRouteProperties,Ue as UNSAFE_useRouteId,K as UNSAFE_useRoutesImpl,Ye as createMemoryRouter,Xe as createPath,L as createRoutesFromChildren,L as createRoutesFromElements,Ge as defer,Qe as generatePath,Ze as isRouteErrorResponse,$e as json,He as matchPath,et as matchRoutes,tt as parsePath,rt as redirect,Je as renderMatches,nt as resolvePath,Be as unstable_useBlocker,Ve as useActionData,we as useAsyncError,pe as useAsyncValue,Ce as useHref,C as useInRouterContext,Ae as useLoaderData,O as useLocation,_e as useMatch,Se as useMatches,re as useNavigate,Oe as useNavigation,xe as useNavigationType,ae as useOutlet,be as useOutletContext,De as useParams,oe as useResolvedPath,Pe as useRevalidator,de as useRouteError,Fe as useRouteLoaderData,ie as useRoutes};\n/*! Bundled license information:\n\nreact-router/dist/index.js:\n (**\n * React Router v6.11.2\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n *)\n*/\n//# sourceMappingURL=react-router.mjs.map","/* esm.sh - esbuild bundle(react-router-dom@6.11.2) denonext production */\nimport*as n from\"react\";import{UNSAFE_mapRouteProperties as K,Router as I,UNSAFE_NavigationContext as L,useHref as Z,useResolvedPath as T,useLocation as g,UNSAFE_DataRouterStateContext as j,useNavigate as W,createPath as x,UNSAFE_useRouteId as ee,UNSAFE_RouteContext as z,useMatches as te,useNavigation as re,unstable_useBlocker as oe,UNSAFE_DataRouterContext as ae}from\"react-router\";import{AbortedDeferredError as Ye,Await as Ge,MemoryRouter as Je,Navigate as qe,NavigationType as Xe,Outlet as $e,Route as Qe,Router as Ze,RouterProvider as et,Routes as tt,UNSAFE_DataRouterContext as rt,UNSAFE_DataRouterStateContext as ot,UNSAFE_LocationContext as at,UNSAFE_NavigationContext as nt,UNSAFE_RouteContext as it,UNSAFE_useRouteId as st,createMemoryRouter as lt,createPath as ut,createRoutesFromChildren as ct,createRoutesFromElements as ft,defer as dt,generatePath as mt,isRouteErrorResponse as ht,json as pt,matchPath as Rt,matchRoutes as vt,parsePath as Et,redirect as yt,renderMatches as wt,resolvePath as Nt,unstable_useBlocker as St,useActionData as bt,useAsyncError as gt,useAsyncValue as Ft,useHref as _t,useInRouterContext as At,useLoaderData as Ct,useLocation as Lt,useMatch as Ut,useMatches as Dt,useNavigate as Pt,useNavigation as xt,useNavigationType as kt,useOutlet as Ot,useOutletContext as It,useParams as Tt,useResolvedPath as Vt,useRevalidator as Ht,useRouteError as Bt,useRouteLoaderData as Mt,useRoutes as Kt}from\"react-router\";import{stripBasename as k,createRouter as Y,createBrowserHistory as G,createHashHistory as J,ErrorResponse as ne,UNSAFE_invariant as w,joinPaths as ie}from\"@remix-run/router\";function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&(a[o]=e[o]);return a}var A=\"get\",P=\"application/x-www-form-urlencoded\";function U(e){return e!=null&&typeof e.tagName==\"string\"}function se(e){return U(e)&&e.tagName.toLowerCase()===\"button\"}function le(e){return U(e)&&e.tagName.toLowerCase()===\"form\"}function ue(e){return U(e)&&e.tagName.toLowerCase()===\"input\"}function ce(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function fe(e,t){return e.button===0&&(!t||t===\"_self\")&&!ce(e)}function O(e){return e===void 0&&(e=\"\"),new URLSearchParams(typeof e==\"string\"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,a)=>{let r=e[a];return t.concat(Array.isArray(r)?r.map(o=>[a,o]):[[a,r]])},[]))}function de(e,t){let a=O(e);if(t)for(let r of t.keys())a.has(r)||t.getAll(r).forEach(o=>{a.append(r,o)});return a}function me(e,t,a){let r,o=null,s,i;if(le(e)){let l=t.submissionTrigger;if(t.action)o=t.action;else{let c=e.getAttribute(\"action\");o=c?k(c,a):null}r=t.method||e.getAttribute(\"method\")||A,s=t.encType||e.getAttribute(\"enctype\")||P,i=new FormData(e),l&&l.name&&i.append(l.name,l.value)}else if(se(e)||ue(e)&&(e.type===\"submit\"||e.type===\"image\")){let l=e.form;if(l==null)throw new Error('Cannot submit a \n \n}","import { useContext } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport SiteHeader from \"../components/SiteHeader.jsx\";\nimport SiteFooter from \"../components/SiteFooter.jsx\";\nimport SearchInput from \"../components/SearchInput.jsx\";\nimport {OpenProtGlobalContext} from \"../../main.jsx\";\n\n\nconst Home = ({})=> {\n\n const navigate = useNavigate()\n\n const {setGlobalState} = useContext(OpenProtGlobalContext)\n\n const searchClick = (species_sn, query) => {\n\n const go = () => {\n setGlobalState({lastQuery: query})\n navigate(`/proteins/${species_sn}`)\n }\n\n setTimeout(go, 1)\n }\n\n\n return <>\n \n
\n
\n
Explore the extended proteome
\n \n
\n
\n\n
\n \n\n
\n

The concept behind OpenProt

\n
\n
\n

Current annotations

\n Current genome annotations hold limiting criteria for Open Reading Frames (ORF) including a minimal ORF length of 100 codons and a single ORF per transcript. Transcripts that do not meet these criteria are labeled non-coding (ncRNAs) and transcripts from unprocessed pseudogenes are also systematically annotated non-coding.\n
\n
\n \n
\n
\n

OpenProt annotations

\n OpenProt relaxes traditional annotation criteria by including all ORFs longer than 30 codons and allowing multiple ORFs per transcript as well as those encoded in ncRNAs and transcripts of pseudogenes. OpenProt offers a deeper description and thus a more realistic and biologically relevant perspective of the proteome.
\n
\n \n
\n
\n
\n\n
\n

OpenProt discoveries: re-interpret already acquired data

\n
\n The annotation of sequences is central to current research in biomolecular sciences. The addition of unannotated protein sequences in the OpenProt protein library has resulted in many important discoveries in the human proteome through the re-analysis of publicly available data. Many of these have been selected for further investigation:\n
\n
\n \n \n
\n
\n\n
\n

The OpenProt pipeline

\n
\n
\n \n
\n
\n

Prediction pipeline

\n The OpenProt ORF prediction pipeline starts from an exhaustive description of the transcriptome consisting of all RNA transcripts reported by both Ensembl and NCBI RefSeq. A 3-frame in silico translation then yields the ORFeome: any ORF longer than 30 codons in any frame of any transcript. This ORFeome is then filtered to categorize predicted ORFs. The first filter retrieves all known proteins, or reference proteins (all ORF already annotated in Ensembl, NCBI RefSeq, and/or UniProtKB). The second filter is based on the homology of currently not annotated ORFs with the refProt of the same gene (if applicable), and retrieves novel predicted isoforms. The remaining ORFs encode novel proteins, called alternative proteins (altProts).
\n
\n \n
\n
\n

Evidence pipeline

\n
    \n
  • \n Conservation evidence: for every ORF annotated, OpenProt identifies orthologs and paralogs (across the 10 species currently supported by OpenProt).\n
  • \n
  • \n Translation evidence: Publicly available ribosome profiling datasets are re-analysed using the Price algorithm. This gathers translation evidence for any ORF annotated in OpenProt.\n
  • \n
  • \n Expression evidence: Publicly available mass spectrometry datasets are re-analysed using multiple search engines. This gathers expression evidence for any ORF annotated in OpenProt.\n
  • \n
\n
\n
\n \n
\n\n {/* acnkloedgement */}\n
\n

Acknowledgements

\n
\n We would like to thank the tools and servers that made it possible to create the new version of OpenProt\n
\n
\n
    \n
  • \n MMseqs2: which enabled us to perform large-scale multiple sequence alignments\n
  • \n
  • \n AlphaFold: For three-dimensional structure prediction of proteins with msa greater than 30\n
  • \n
  • \n OmegaFold: For predicting the three-dimensional structure of proteins from their protein sequences\n
  • \n
  • \n The Eukaryotic Linear Motif Ressource (ELM): Which enabled us to find short linear motifs in our protein sequences\n
  • \n
  • \n Deeploc2.0: For predicting the subcellular localization from their protein sequences\n
  • \n \n
\n
    \n
  • \n Compomics: For their tools SearchGUI, PeptideShaker, and Ms2Rescore used at the core of our pipeline\n
  • \n
  • \n Interpro: for InterProScan wich enabled us to predict domains in the proteins \n \n
  • \n
  • \n GTEx: for their expression profile in different tissues \n \n
  • \n
  • \n PRICE: used to generate the RIBO score of our proteins\n
  • \n
  • \n InParanoid: For the identification of ortholog and paralog groups \n
  • \n
  • \n jBrowse: For the genome browser in the summary tab.\n
  • \n
  • \n PRIDE: used to find and download most of our ms studies \n
  • \n
\n
\n
\n
\n

Older versions of OpenProt

\n \n \n \n
\n\n\n
\n \n \n}\n\nexport default Home","import SiteHeader from \"./SiteHeader.jsx\";\nimport SiteFooter from \"./SiteFooter.jsx\";\n\nexport default ({sidebarItems, sidebarPanel, children}) =>
\n \n \n
\n
\n {children}\n
\n
\n \n
","/* esm.sh - esbuild bundle(@tanstack/table-core@8.9.1) denonext production */\nfunction b(e,n){return typeof e==\"function\"?e(n):e}function Ke(){}function F(e,n){return t=>{n.setState(o=>({...o,[e]:b(t,o[e])}))}}function H(e){return e instanceof Function}function fe(e){return Array.isArray(e)&&e.every(n=>typeof n==\"number\")}function te(e,n){let t=[],o=r=>{r.forEach(l=>{t.push(l);let i=n(l);i!=null&&i.length&&o(i)})};return o(e),t}function v(e,n,t){let o=[],r;return()=>{let l;t.key&&t.debug&&(l=Date.now());let i=e();if(!(i.length!==o.length||i.some((d,s)=>o[s]!==d)))return r;o=i;let u;if(t.key&&t.debug&&(u=Date.now()),r=n(...i),t==null||t.onChange==null||t.onChange(r),t.key&&t.debug&&t!=null&&t.debug()){let d=Math.round((Date.now()-l)*100)/100,s=Math.round((Date.now()-u)*100)/100,c=s/16,f=(a,p)=>{for(a=String(a);a.length{let a=f;for(let m of u.split(\".\")){var p;a=(p=a)==null?void 0:p[m]}return a}:s=f=>f[g.accessorKey]),!d)throw new Error;let c={id:`${String(d)}`,accessorFn:s,parent:o,depth:t,columnDef:g,columns:[],getFlatColumns:v(()=>[!0],()=>{var f;return[c,...(f=c.columns)==null?void 0:f.flatMap(a=>a.getFlatColumns())]},{key:\"column.getFlatColumns\",debug:()=>{var f;return(f=e.options.debugAll)!=null?f:e.options.debugColumns}}),getLeafColumns:v(()=>[e._getOrderColumnsFn()],f=>{var a;if((a=c.columns)!=null&&a.length){let p=c.columns.flatMap(m=>m.getLeafColumns());return f(p)}return[c]},{key:\"column.getLeafColumns\",debug:()=>{var f;return(f=e.options.debugAll)!=null?f:e.options.debugColumns}})};return c=e._features.reduce((f,a)=>Object.assign(f,a.createColumn==null?void 0:a.createColumn(c,e)),c),c}function W(e,n,t){var o;let l={id:(o=t.id)!=null?o:n.id,column:n,index:t.index,isPlaceholder:!!t.isPlaceholder,placeholderId:t.placeholderId,depth:t.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{let i=[],g=u=>{u.subHeaders&&u.subHeaders.length&&u.subHeaders.map(g),i.push(u)};return g(l),i},getContext:()=>({table:e,header:l,column:n})};return e._features.forEach(i=>{Object.assign(l,i.createHeader==null?void 0:i.createHeader(l,e))}),l}var me={createTable:e=>({getHeaderGroups:v(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,t,o,r)=>{var l,i;let g=(l=o?.map(c=>t.find(f=>f.id===c)).filter(Boolean))!=null?l:[],u=(i=r?.map(c=>t.find(f=>f.id===c)).filter(Boolean))!=null?i:[],d=t.filter(c=>!(o!=null&&o.includes(c.id))&&!(r!=null&&r.includes(c.id)));return D(n,[...g,...d,...u],e)},{key:!1,debug:()=>{var n;return(n=e.options.debugAll)!=null?n:e.options.debugHeaders}}),getCenterHeaderGroups:v(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,t,o,r)=>(t=t.filter(l=>!(o!=null&&o.includes(l.id))&&!(r!=null&&r.includes(l.id))),D(n,t,e,\"center\")),{key:!1,debug:()=>{var n;return(n=e.options.debugAll)!=null?n:e.options.debugHeaders}}),getLeftHeaderGroups:v(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(n,t,o)=>{var r;let l=(r=o?.map(i=>t.find(g=>g.id===i)).filter(Boolean))!=null?r:[];return D(n,l,e,\"left\")},{key:!1,debug:()=>{var n;return(n=e.options.debugAll)!=null?n:e.options.debugHeaders}}),getRightHeaderGroups:v(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(n,t,o)=>{var r;let l=(r=o?.map(i=>t.find(g=>g.id===i)).filter(Boolean))!=null?r:[];return D(n,l,e,\"right\")},{key:!1,debug:()=>{var n;return(n=e.options.debugAll)!=null?n:e.options.debugHeaders}}),getFooterGroups:v(()=>[e.getHeaderGroups()],n=>[...n].reverse(),{key:!1,debug:()=>{var n;return(n=e.options.debugAll)!=null?n:e.options.debugHeaders}}),getLeftFooterGroups:v(()=>[e.getLeftHeaderGroups()],n=>[...n].reverse(),{key:!1,debug:()=>{var n;return(n=e.options.debugAll)!=null?n:e.options.debugHeaders}}),getCenterFooterGroups:v(()=>[e.getCenterHeaderGroups()],n=>[...n].reverse(),{key:!1,debug:()=>{var n;return(n=e.options.debugAll)!=null?n:e.options.debugHeaders}}),getRightFooterGroups:v(()=>[e.getRightHeaderGroups()],n=>[...n].reverse(),{key:!1,debug:()=>{var n;return(n=e.options.debugAll)!=null?n:e.options.debugHeaders}}),getFlatHeaders:v(()=>[e.getHeaderGroups()],n=>n.map(t=>t.headers).flat(),{key:!1,debug:()=>{var n;return(n=e.options.debugAll)!=null?n:e.options.debugHeaders}}),getLeftFlatHeaders:v(()=>[e.getLeftHeaderGroups()],n=>n.map(t=>t.headers).flat(),{key:!1,debug:()=>{var n;return(n=e.options.debugAll)!=null?n:e.options.debugHeaders}}),getCenterFlatHeaders:v(()=>[e.getCenterHeaderGroups()],n=>n.map(t=>t.headers).flat(),{key:!1,debug:()=>{var n;return(n=e.options.debugAll)!=null?n:e.options.debugHeaders}}),getRightFlatHeaders:v(()=>[e.getRightHeaderGroups()],n=>n.map(t=>t.headers).flat(),{key:!1,debug:()=>{var n;return(n=e.options.debugAll)!=null?n:e.options.debugHeaders}}),getCenterLeafHeaders:v(()=>[e.getCenterFlatHeaders()],n=>n.filter(t=>{var o;return!((o=t.subHeaders)!=null&&o.length)}),{key:!1,debug:()=>{var n;return(n=e.options.debugAll)!=null?n:e.options.debugHeaders}}),getLeftLeafHeaders:v(()=>[e.getLeftFlatHeaders()],n=>n.filter(t=>{var o;return!((o=t.subHeaders)!=null&&o.length)}),{key:!1,debug:()=>{var n;return(n=e.options.debugAll)!=null?n:e.options.debugHeaders}}),getRightLeafHeaders:v(()=>[e.getRightFlatHeaders()],n=>n.filter(t=>{var o;return!((o=t.subHeaders)!=null&&o.length)}),{key:!1,debug:()=>{var n;return(n=e.options.debugAll)!=null?n:e.options.debugHeaders}}),getLeafHeaders:v(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(n,t,o)=>{var r,l,i,g,u,d;return[...(r=(l=n[0])==null?void 0:l.headers)!=null?r:[],...(i=(g=t[0])==null?void 0:g.headers)!=null?i:[],...(u=(d=o[0])==null?void 0:d.headers)!=null?u:[]].map(s=>s.getLeafHeaders()).flat()},{key:!1,debug:()=>{var n;return(n=e.options.debugAll)!=null?n:e.options.debugHeaders}})})};function D(e,n,t,o){var r,l;let i=0,g=function(f,a){a===void 0&&(a=1),i=Math.max(i,a),f.filter(p=>p.getIsVisible()).forEach(p=>{var m;(m=p.columns)!=null&&m.length&&g(p.columns,a+1)},0)};g(e);let u=[],d=(f,a)=>{let p={depth:a,id:[o,`${a}`].filter(Boolean).join(\"_\"),headers:[]},m=[];f.forEach(S=>{let C=[...m].reverse()[0],$=S.column.depth===p.depth,R,h=!1;if($&&S.column.parent?R=S.column.parent:(R=S.column,h=!0),C&&C?.column===R)C.subHeaders.push(S);else{let _=W(t,R,{id:[o,a,R.id,S?.id].filter(Boolean).join(\"_\"),isPlaceholder:h,placeholderId:h?`${m.filter(w=>w.column===R).length}`:void 0,depth:a,index:m.length});_.subHeaders.push(S),m.push(_)}p.headers.push(S),S.headerGroup=p}),u.push(p),a>0&&d(m,a-1)},s=n.map((f,a)=>W(t,f,{depth:i,index:a}));d(s,i-1),u.reverse();let c=f=>f.filter(p=>p.column.getIsVisible()).map(p=>{let m=0,S=0,C=[0];p.subHeaders&&p.subHeaders.length?(C=[],c(p.subHeaders).forEach(R=>{let{colSpan:h,rowSpan:_}=R;m+=h,C.push(_)})):m=1;let $=Math.min(...C);return S=S+$,p.colSpan=m,p.rowSpan=S,{colSpan:m,rowSpan:S}});return c((r=(l=u[0])==null?void 0:l.headers)!=null?r:[]),u}var I={size:150,minSize:20,maxSize:Number.MAX_SAFE_INTEGER},O=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),ve={getDefaultColumnDef:()=>I,getInitialState:e=>({columnSizing:{},columnSizingInfo:O(),...e}),getDefaultOptions:e=>({columnResizeMode:\"onEnd\",onColumnSizingChange:F(\"columnSizing\",e),onColumnSizingInfoChange:F(\"columnSizingInfo\",e)}),createColumn:(e,n)=>({getSize:()=>{var t,o,r;let l=n.getState().columnSizing[e.id];return Math.min(Math.max((t=e.columnDef.minSize)!=null?t:I.minSize,(o=l??e.columnDef.size)!=null?o:I.size),(r=e.columnDef.maxSize)!=null?r:I.maxSize)},getStart:t=>{let o=t?t===\"left\"?n.getLeftVisibleLeafColumns():n.getRightVisibleLeafColumns():n.getVisibleLeafColumns(),r=o.findIndex(l=>l.id===e.id);if(r>0){let l=o[r-1];return l.getStart(t)+l.getSize()}return 0},resetSize:()=>{n.setColumnSizing(t=>{let{[e.id]:o,...r}=t;return r})},getCanResize:()=>{var t,o;return((t=e.columnDef.enableResizing)!=null?t:!0)&&((o=n.options.enableColumnResizing)!=null?o:!0)},getIsResizing:()=>n.getState().columnSizingInfo.isResizingColumn===e.id}),createHeader:(e,n)=>({getSize:()=>{let t=0,o=r=>{if(r.subHeaders.length)r.subHeaders.forEach(o);else{var l;t+=(l=r.column.getSize())!=null?l:0}};return o(e),t},getStart:()=>{if(e.index>0){let t=e.headerGroup.headers[e.index-1];return t.getStart()+t.getSize()}return 0},getResizeHandler:()=>{let t=n.getColumn(e.column.id),o=t?.getCanResize();return r=>{if(!t||!o||(r.persist==null||r.persist(),G(r)&&r.touches&&r.touches.length>1))return;let l=e.getSize(),i=e?e.getLeafHeaders().map(m=>[m.column.id,m.column.getSize()]):[[t.id,t.getSize()]],g=G(r)?Math.round(r.touches[0].clientX):r.clientX,u={},d=(m,S)=>{typeof S==\"number\"&&(n.setColumnSizingInfo(C=>{var $,R;let h=S-(($=C?.startOffset)!=null?$:0),_=Math.max(h/((R=C?.startSize)!=null?R:0),-.999999);return C.columnSizingStart.forEach(w=>{let[x,A]=w;u[x]=Math.round(Math.max(A+A*_,0)*100)/100}),{...C,deltaOffset:h,deltaPercentage:_}}),(n.options.columnResizeMode===\"onChange\"||m===\"end\")&&n.setColumnSizing(C=>({...C,...u})))},s=m=>d(\"move\",m),c=m=>{d(\"end\",m),n.setColumnSizingInfo(S=>({...S,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},f={moveHandler:m=>s(m.clientX),upHandler:m=>{document.removeEventListener(\"mousemove\",f.moveHandler),document.removeEventListener(\"mouseup\",f.upHandler),c(m.clientX)}},a={moveHandler:m=>(m.cancelable&&(m.preventDefault(),m.stopPropagation()),s(m.touches[0].clientX),!1),upHandler:m=>{var S;document.removeEventListener(\"touchmove\",a.moveHandler),document.removeEventListener(\"touchend\",a.upHandler),m.cancelable&&(m.preventDefault(),m.stopPropagation()),c((S=m.touches[0])==null?void 0:S.clientX)}},p=Se()?{passive:!1}:!1;G(r)?(document.addEventListener(\"touchmove\",a.moveHandler,p),document.addEventListener(\"touchend\",a.upHandler,p)):(document.addEventListener(\"mousemove\",f.moveHandler,p),document.addEventListener(\"mouseup\",f.upHandler,p)),n.setColumnSizingInfo(m=>({...m,startOffset:g,startSize:l,deltaOffset:0,deltaPercentage:0,columnSizingStart:i,isResizingColumn:t.id}))}}}),createTable:e=>({setColumnSizing:n=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(n),setColumnSizingInfo:n=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(n),resetColumnSizing:n=>{var t;e.setColumnSizing(n?{}:(t=e.initialState.columnSizing)!=null?t:{})},resetHeaderSizeInfo:n=>{var t;e.setColumnSizingInfo(n?O():(t=e.initialState.columnSizingInfo)!=null?t:O())},getTotalSize:()=>{var n,t;return(n=(t=e.getHeaderGroups()[0])==null?void 0:t.headers.reduce((o,r)=>o+r.getSize(),0))!=null?n:0},getLeftTotalSize:()=>{var n,t;return(n=(t=e.getLeftHeaderGroups()[0])==null?void 0:t.headers.reduce((o,r)=>o+r.getSize(),0))!=null?n:0},getCenterTotalSize:()=>{var n,t;return(n=(t=e.getCenterHeaderGroups()[0])==null?void 0:t.headers.reduce((o,r)=>o+r.getSize(),0))!=null?n:0},getRightTotalSize:()=>{var n,t;return(n=(t=e.getRightHeaderGroups()[0])==null?void 0:t.headers.reduce((o,r)=>o+r.getSize(),0))!=null?n:0}})},P=null;function Se(){if(typeof P==\"boolean\")return P;let e=!1;try{let n={get passive(){return e=!0,!1}},t=()=>{};window.addEventListener(\"test\",t,n),window.removeEventListener(\"test\",t)}catch{e=!1}return P=e,P}function G(e){return e.type===\"touchstart\"}var Ce={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:F(\"expanded\",e),paginateExpandedRows:!0}),createTable:e=>{let n=!1,t=!1;return{_autoResetExpanded:()=>{var o,r;if(!n){e._queue(()=>{n=!0});return}if((o=(r=e.options.autoResetAll)!=null?r:e.options.autoResetExpanded)!=null?o:!e.options.manualExpanding){if(t)return;t=!0,e._queue(()=>{e.resetExpanded(),t=!1})}},setExpanded:o=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(o),toggleAllRowsExpanded:o=>{o??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},resetExpanded:o=>{var r,l;e.setExpanded(o?{}:(r=(l=e.initialState)==null?void 0:l.expanded)!=null?r:{})},getCanSomeRowsExpand:()=>e.getPrePaginationRowModel().flatRows.some(o=>o.getCanExpand()),getToggleAllRowsExpandedHandler:()=>o=>{o.persist==null||o.persist(),e.toggleAllRowsExpanded()},getIsSomeRowsExpanded:()=>{let o=e.getState().expanded;return o===!0||Object.values(o).some(Boolean)},getIsAllRowsExpanded:()=>{let o=e.getState().expanded;return typeof o==\"boolean\"?o===!0:!(!Object.keys(o).length||e.getRowModel().flatRows.some(r=>!r.getIsExpanded()))},getExpandedDepth:()=>{let o=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(l=>{let i=l.split(\".\");o=Math.max(o,i.length)}),o},getPreExpandedRowModel:()=>e.getSortedRowModel(),getExpandedRowModel:()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())}},createRow:(e,n)=>({toggleExpanded:t=>{n.setExpanded(o=>{var r;let l=o===!0?!0:!!(o!=null&&o[e.id]),i={};if(o===!0?Object.keys(n.getRowModel().rowsById).forEach(g=>{i[g]=!0}):i=o,t=(r=t)!=null?r:!l,!l&&t)return{...i,[e.id]:!0};if(l&&!t){let{[e.id]:g,...u}=i;return u}return o})},getIsExpanded:()=>{var t;let o=n.getState().expanded;return!!((t=n.options.getIsRowExpanded==null?void 0:n.options.getIsRowExpanded(e))!=null?t:o===!0||o?.[e.id])},getCanExpand:()=>{var t,o,r;return(t=n.options.getRowCanExpand==null?void 0:n.options.getRowCanExpand(e))!=null?t:((o=n.options.enableExpanding)!=null?o:!0)&&!!((r=e.subRows)!=null&&r.length)},getToggleExpandedHandler:()=>{let t=e.getCanExpand();return()=>{t&&e.toggleExpanded()}}})},ne=(e,n,t)=>{var o,r,l;let i=t.toLowerCase();return!!(!((o=e.getValue(n))==null||(r=o.toString())==null||(l=r.toLowerCase())==null)&&l.includes(i))};ne.autoRemove=e=>V(e);var oe=(e,n,t)=>{var o,r;return!!(!((o=e.getValue(n))==null||(r=o.toString())==null)&&r.includes(t))};oe.autoRemove=e=>V(e);var re=(e,n,t)=>{var o,r;return((o=e.getValue(n))==null||(r=o.toString())==null?void 0:r.toLowerCase())===t?.toLowerCase()};re.autoRemove=e=>V(e);var le=(e,n,t)=>{var o;return(o=e.getValue(n))==null?void 0:o.includes(t)};le.autoRemove=e=>V(e)||!(e!=null&&e.length);var ie=(e,n,t)=>!t.some(o=>{var r;return!((r=e.getValue(n))!=null&&r.includes(o))});ie.autoRemove=e=>V(e)||!(e!=null&&e.length);var ue=(e,n,t)=>t.some(o=>{var r;return(r=e.getValue(n))==null?void 0:r.includes(o)});ue.autoRemove=e=>V(e)||!(e!=null&&e.length);var se=(e,n,t)=>e.getValue(n)===t;se.autoRemove=e=>V(e);var ae=(e,n,t)=>e.getValue(n)==t;ae.autoRemove=e=>V(e);var K=(e,n,t)=>{let[o,r]=t,l=e.getValue(n);return l>=o&&l<=r};K.resolveFilterValue=e=>{let[n,t]=e,o=typeof n!=\"number\"?parseFloat(n):n,r=typeof t!=\"number\"?parseFloat(t):t,l=n===null||Number.isNaN(o)?-1/0:o,i=t===null||Number.isNaN(r)?1/0:r;if(l>i){let g=l;l=i,i=g}return[l,i]};K.autoRemove=e=>V(e)||V(e[0])&&V(e[1]);var E={includesString:ne,includesStringSensitive:oe,equalsString:re,arrIncludes:le,arrIncludesAll:ie,arrIncludesSome:ue,equals:se,weakEquals:ae,inNumberRange:K};function V(e){return e==null||e===\"\"}var we={getDefaultColumnDef:()=>({filterFn:\"auto\"}),getInitialState:e=>({columnFilters:[],globalFilter:void 0,...e}),getDefaultOptions:e=>({onColumnFiltersChange:F(\"columnFilters\",e),onGlobalFilterChange:F(\"globalFilter\",e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100,globalFilterFn:\"auto\",getColumnCanGlobalFilter:n=>{var t,o;let r=(t=e.getCoreRowModel().flatRows[0])==null||(o=t._getAllCellsByColumnId()[n.id])==null?void 0:o.getValue();return typeof r==\"string\"||typeof r==\"number\"}}),createColumn:(e,n)=>({getAutoFilterFn:()=>{let t=n.getCoreRowModel().flatRows[0],o=t?.getValue(e.id);return typeof o==\"string\"?E.includesString:typeof o==\"number\"?E.inNumberRange:typeof o==\"boolean\"||o!==null&&typeof o==\"object\"?E.equals:Array.isArray(o)?E.arrIncludes:E.weakEquals},getFilterFn:()=>{var t,o;return H(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn===\"auto\"?e.getAutoFilterFn():(t=(o=n.options.filterFns)==null?void 0:o[e.columnDef.filterFn])!=null?t:E[e.columnDef.filterFn]},getCanFilter:()=>{var t,o,r;return((t=e.columnDef.enableColumnFilter)!=null?t:!0)&&((o=n.options.enableColumnFilters)!=null?o:!0)&&((r=n.options.enableFilters)!=null?r:!0)&&!!e.accessorFn},getCanGlobalFilter:()=>{var t,o,r,l;return((t=e.columnDef.enableGlobalFilter)!=null?t:!0)&&((o=n.options.enableGlobalFilter)!=null?o:!0)&&((r=n.options.enableFilters)!=null?r:!0)&&((l=n.options.getColumnCanGlobalFilter==null?void 0:n.options.getColumnCanGlobalFilter(e))!=null?l:!0)&&!!e.accessorFn},getIsFiltered:()=>e.getFilterIndex()>-1,getFilterValue:()=>{var t,o;return(t=n.getState().columnFilters)==null||(o=t.find(r=>r.id===e.id))==null?void 0:o.value},getFilterIndex:()=>{var t,o;return(t=(o=n.getState().columnFilters)==null?void 0:o.findIndex(r=>r.id===e.id))!=null?t:-1},setFilterValue:t=>{n.setColumnFilters(o=>{let r=e.getFilterFn(),l=o?.find(s=>s.id===e.id),i=b(t,l?l.value:void 0);if(Y(r,i,e)){var g;return(g=o?.filter(s=>s.id!==e.id))!=null?g:[]}let u={id:e.id,value:i};if(l){var d;return(d=o?.map(s=>s.id===e.id?u:s))!=null?d:[]}return o!=null&&o.length?[...o,u]:[u]})},_getFacetedRowModel:n.options.getFacetedRowModel&&n.options.getFacetedRowModel(n,e.id),getFacetedRowModel:()=>e._getFacetedRowModel?e._getFacetedRowModel():n.getPreFilteredRowModel(),_getFacetedUniqueValues:n.options.getFacetedUniqueValues&&n.options.getFacetedUniqueValues(n,e.id),getFacetedUniqueValues:()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,_getFacetedMinMaxValues:n.options.getFacetedMinMaxValues&&n.options.getFacetedMinMaxValues(n,e.id),getFacetedMinMaxValues:()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}),createRow:(e,n)=>({columnFilters:{},columnFiltersMeta:{}}),createTable:e=>({getGlobalAutoFilterFn:()=>E.includesString,getGlobalFilterFn:()=>{var n,t;let{globalFilterFn:o}=e.options;return H(o)?o:o===\"auto\"?e.getGlobalAutoFilterFn():(n=(t=e.options.filterFns)==null?void 0:t[o])!=null?n:E[o]},setColumnFilters:n=>{let t=e.getAllLeafColumns(),o=r=>{var l;return(l=b(n,r))==null?void 0:l.filter(i=>{let g=t.find(u=>u.id===i.id);if(g){let u=g.getFilterFn();if(Y(u,i.value,g))return!1}return!0})};e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(o)},setGlobalFilter:n=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(n)},resetGlobalFilter:n=>{e.setGlobalFilter(n?void 0:e.initialState.globalFilter)},resetColumnFilters:n=>{var t,o;e.setColumnFilters(n?[]:(t=(o=e.initialState)==null?void 0:o.columnFilters)!=null?t:[])},getPreFilteredRowModel:()=>e.getCoreRowModel(),getFilteredRowModel:()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel()),_getGlobalFacetedRowModel:e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,\"__global__\"),getGlobalFacetedRowModel:()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),_getGlobalFacetedUniqueValues:e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,\"__global__\"),getGlobalFacetedUniqueValues:()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,_getGlobalFacetedMinMaxValues:e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,\"__global__\"),getGlobalFacetedMinMaxValues:()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}})};function Y(e,n,t){return(e&&e.autoRemove?e.autoRemove(n,t):!1)||typeof n>\"u\"||typeof n==\"string\"&&!n}var _e=(e,n,t)=>t.reduce((o,r)=>{let l=r.getValue(e);return o+(typeof l==\"number\"?l:0)},0),Re=(e,n,t)=>{let o;return t.forEach(r=>{let l=r.getValue(e);l!=null&&(o>l||o===void 0&&l>=l)&&(o=l)}),o},he=(e,n,t)=>{let o;return t.forEach(r=>{let l=r.getValue(e);l!=null&&(o=l)&&(o=l)}),o},$e=(e,n,t)=>{let o,r;return t.forEach(l=>{let i=l.getValue(e);i!=null&&(o===void 0?i>=i&&(o=r=i):(o>i&&(o=i),r{let t=0,o=0;if(n.forEach(r=>{let l=r.getValue(e);l!=null&&(l=+l)>=l&&(++t,o+=l)}),t)return o/t},Ve=(e,n)=>{if(!n.length)return;let t=n.map(l=>l.getValue(e));if(!fe(t))return;if(t.length===1)return t[0];let o=Math.floor(t.length/2),r=t.sort((l,i)=>l-i);return t.length%2!==0?r[o]:(r[o-1]+r[o])/2},Ee=(e,n)=>Array.from(new Set(n.map(t=>t.getValue(e))).values()),be=(e,n)=>new Set(n.map(t=>t.getValue(e))).size,Me=(e,n)=>n.length,L={sum:_e,min:Re,max:he,extent:$e,mean:Fe,median:Ve,unique:Ee,uniqueCount:be,count:Me},Ae={getDefaultColumnDef:()=>({aggregatedCell:e=>{var n,t;return(n=(t=e.getValue())==null||t.toString==null?void 0:t.toString())!=null?n:null},aggregationFn:\"auto\"}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:F(\"grouping\",e),groupedColumnMode:\"reorder\"}),createColumn:(e,n)=>({toggleGrouping:()=>{n.setGrouping(t=>t!=null&&t.includes(e.id)?t.filter(o=>o!==e.id):[...t??[],e.id])},getCanGroup:()=>{var t,o,r,l;return(t=(o=(r=(l=e.columnDef.enableGrouping)!=null?l:!0)!=null?r:n.options.enableGrouping)!=null?o:!0)!=null?t:!!e.accessorFn},getIsGrouped:()=>{var t;return(t=n.getState().grouping)==null?void 0:t.includes(e.id)},getGroupedIndex:()=>{var t;return(t=n.getState().grouping)==null?void 0:t.indexOf(e.id)},getToggleGroupingHandler:()=>{let t=e.getCanGroup();return()=>{t&&e.toggleGrouping()}},getAutoAggregationFn:()=>{let t=n.getCoreRowModel().flatRows[0],o=t?.getValue(e.id);if(typeof o==\"number\")return L.sum;if(Object.prototype.toString.call(o)===\"[object Date]\")return L.extent},getAggregationFn:()=>{var t,o;if(!e)throw new Error;return H(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn===\"auto\"?e.getAutoAggregationFn():(t=(o=n.options.aggregationFns)==null?void 0:o[e.columnDef.aggregationFn])!=null?t:L[e.columnDef.aggregationFn]}}),createTable:e=>({setGrouping:n=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(n),resetGrouping:n=>{var t,o;e.setGrouping(n?[]:(t=(o=e.initialState)==null?void 0:o.grouping)!=null?t:[])},getPreGroupedRowModel:()=>e.getFilteredRowModel(),getGroupedRowModel:()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())}),createRow:(e,n)=>({getIsGrouped:()=>!!e.groupingColumnId,getGroupingValue:t=>{if(e._groupingValuesCache.hasOwnProperty(t))return e._groupingValuesCache[t];let o=n.getColumn(t);return o!=null&&o.columnDef.getGroupingValue?(e._groupingValuesCache[t]=o.columnDef.getGroupingValue(e.original),e._groupingValuesCache[t]):e.getValue(t)},_groupingValuesCache:{}}),createCell:(e,n,t,o)=>({getIsGrouped:()=>n.getIsGrouped()&&n.id===t.groupingColumnId,getIsPlaceholder:()=>!e.getIsGrouped()&&n.getIsGrouped(),getIsAggregated:()=>{var r;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((r=t.subRows)!=null&&r.length)}})};function ye(e,n,t){if(!(n!=null&&n.length)||!t)return e;let o=e.filter(l=>!n.includes(l.id));return t===\"remove\"?o:[...n.map(l=>e.find(i=>i.id===l)).filter(Boolean),...o]}var xe={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:F(\"columnOrder\",e)}),createTable:e=>({setColumnOrder:n=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(n),resetColumnOrder:n=>{var t;e.setColumnOrder(n?[]:(t=e.initialState.columnOrder)!=null?t:[])},_getOrderColumnsFn:v(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(n,t,o)=>r=>{let l=[];if(!(n!=null&&n.length))l=r;else{let i=[...n],g=[...r];for(;g.length&&i.length;){let u=i.shift(),d=g.findIndex(s=>s.id===u);d>-1&&l.push(g.splice(d,1)[0])}l=[...l,...g]}return ye(l,t,o)},{key:!1})})},q=0,T=10,z=()=>({pageIndex:q,pageSize:T}),De={getInitialState:e=>({...e,pagination:{...z(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:F(\"pagination\",e)}),createTable:e=>{let n=!1,t=!1;return{_autoResetPageIndex:()=>{var o,r;if(!n){e._queue(()=>{n=!0});return}if((o=(r=e.options.autoResetAll)!=null?r:e.options.autoResetPageIndex)!=null?o:!e.options.manualPagination){if(t)return;t=!0,e._queue(()=>{e.resetPageIndex(),t=!1})}},setPagination:o=>{let r=l=>b(o,l);return e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(r)},resetPagination:o=>{var r;e.setPagination(o?z():(r=e.initialState.pagination)!=null?r:z())},setPageIndex:o=>{e.setPagination(r=>{let l=b(o,r.pageIndex),i=typeof e.options.pageCount>\"u\"||e.options.pageCount===-1?Number.MAX_SAFE_INTEGER:e.options.pageCount-1;return l=Math.max(0,Math.min(l,i)),{...r,pageIndex:l}})},resetPageIndex:o=>{var r,l,i;e.setPageIndex(o?q:(r=(l=e.initialState)==null||(i=l.pagination)==null?void 0:i.pageIndex)!=null?r:q)},resetPageSize:o=>{var r,l,i;e.setPageSize(o?T:(r=(l=e.initialState)==null||(i=l.pagination)==null?void 0:i.pageSize)!=null?r:T)},setPageSize:o=>{e.setPagination(r=>{let l=Math.max(1,b(o,r.pageSize)),i=r.pageSize*r.pageIndex,g=Math.floor(i/l);return{...r,pageIndex:g,pageSize:l}})},setPageCount:o=>e.setPagination(r=>{var l;let i=b(o,(l=e.options.pageCount)!=null?l:-1);return typeof i==\"number\"&&(i=Math.max(-1,i)),{...r,pageCount:i}}),getPageOptions:v(()=>[e.getPageCount()],o=>{let r=[];return o&&o>0&&(r=[...new Array(o)].fill(null).map((l,i)=>i)),r},{key:!1,debug:()=>{var o;return(o=e.options.debugAll)!=null?o:e.options.debugTable}}),getCanPreviousPage:()=>e.getState().pagination.pageIndex>0,getCanNextPage:()=>{let{pageIndex:o}=e.getState().pagination,r=e.getPageCount();return r===-1?!0:r===0?!1:oe.setPageIndex(o=>o-1),nextPage:()=>e.setPageIndex(o=>o+1),getPrePaginationRowModel:()=>e.getExpandedRowModel(),getPaginationRowModel:()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),getPageCount:()=>{var o;return(o=e.options.pageCount)!=null?o:Math.ceil(e.getPrePaginationRowModel().rows.length/e.getState().pagination.pageSize)}}}},k=()=>({left:[],right:[]}),Ie={getInitialState:e=>({columnPinning:k(),...e}),getDefaultOptions:e=>({onColumnPinningChange:F(\"columnPinning\",e)}),createColumn:(e,n)=>({pin:t=>{let o=e.getLeafColumns().map(r=>r.id).filter(Boolean);n.setColumnPinning(r=>{var l,i;if(t===\"right\"){var g,u;return{left:((g=r?.left)!=null?g:[]).filter(c=>!(o!=null&&o.includes(c))),right:[...((u=r?.right)!=null?u:[]).filter(c=>!(o!=null&&o.includes(c))),...o]}}if(t===\"left\"){var d,s;return{left:[...((d=r?.left)!=null?d:[]).filter(c=>!(o!=null&&o.includes(c))),...o],right:((s=r?.right)!=null?s:[]).filter(c=>!(o!=null&&o.includes(c)))}}return{left:((l=r?.left)!=null?l:[]).filter(c=>!(o!=null&&o.includes(c))),right:((i=r?.right)!=null?i:[]).filter(c=>!(o!=null&&o.includes(c)))}})},getCanPin:()=>e.getLeafColumns().some(o=>{var r,l;return((r=o.columnDef.enablePinning)!=null?r:!0)&&((l=n.options.enablePinning)!=null?l:!0)}),getIsPinned:()=>{let t=e.getLeafColumns().map(g=>g.id),{left:o,right:r}=n.getState().columnPinning,l=t.some(g=>o?.includes(g)),i=t.some(g=>r?.includes(g));return l?\"left\":i?\"right\":!1},getPinnedIndex:()=>{var t,o,r;let l=e.getIsPinned();return l?(t=(o=n.getState().columnPinning)==null||(r=o[l])==null?void 0:r.indexOf(e.id))!=null?t:-1:0}}),createRow:(e,n)=>({getCenterVisibleCells:v(()=>[e._getAllVisibleCells(),n.getState().columnPinning.left,n.getState().columnPinning.right],(t,o,r)=>{let l=[...o??[],...r??[]];return t.filter(i=>!l.includes(i.column.id))},{key:\"row.getCenterVisibleCells\",debug:()=>{var t;return(t=n.options.debugAll)!=null?t:n.options.debugRows}}),getLeftVisibleCells:v(()=>[e._getAllVisibleCells(),n.getState().columnPinning.left,,],(t,o)=>(o??[]).map(l=>t.find(i=>i.column.id===l)).filter(Boolean).map(l=>({...l,position:\"left\"})),{key:\"row.getLeftVisibleCells\",debug:()=>{var t;return(t=n.options.debugAll)!=null?t:n.options.debugRows}}),getRightVisibleCells:v(()=>[e._getAllVisibleCells(),n.getState().columnPinning.right],(t,o)=>(o??[]).map(l=>t.find(i=>i.column.id===l)).filter(Boolean).map(l=>({...l,position:\"right\"})),{key:\"row.getRightVisibleCells\",debug:()=>{var t;return(t=n.options.debugAll)!=null?t:n.options.debugRows}})}),createTable:e=>({setColumnPinning:n=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(n),resetColumnPinning:n=>{var t,o;return e.setColumnPinning(n?k():(t=(o=e.initialState)==null?void 0:o.columnPinning)!=null?t:k())},getIsSomeColumnsPinned:n=>{var t;let o=e.getState().columnPinning;if(!n){var r,l;return!!((r=o.left)!=null&&r.length||(l=o.right)!=null&&l.length)}return!!((t=o[n])!=null&&t.length)},getLeftLeafColumns:v(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(n,t)=>(t??[]).map(o=>n.find(r=>r.id===o)).filter(Boolean),{key:!1,debug:()=>{var n;return(n=e.options.debugAll)!=null?n:e.options.debugColumns}}),getRightLeafColumns:v(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(n,t)=>(t??[]).map(o=>n.find(r=>r.id===o)).filter(Boolean),{key:!1,debug:()=>{var n;return(n=e.options.debugAll)!=null?n:e.options.debugColumns}}),getCenterLeafColumns:v(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(n,t,o)=>{let r=[...t??[],...o??[]];return n.filter(l=>!r.includes(l.id))},{key:!1,debug:()=>{var n;return(n=e.options.debugAll)!=null?n:e.options.debugColumns}})})},Pe={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:F(\"rowSelection\",e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>({setRowSelection:n=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(n),resetRowSelection:n=>{var t;return e.setRowSelection(n?{}:(t=e.initialState.rowSelection)!=null?t:{})},toggleAllRowsSelected:n=>{e.setRowSelection(t=>{n=typeof n<\"u\"?n:!e.getIsAllRowsSelected();let o={...t},r=e.getPreGroupedRowModel().flatRows;return n?r.forEach(l=>{l.getCanSelect()&&(o[l.id]=!0)}):r.forEach(l=>{delete o[l.id]}),o})},toggleAllPageRowsSelected:n=>e.setRowSelection(t=>{let o=typeof n<\"u\"?n:!e.getIsAllPageRowsSelected(),r={...t};return e.getRowModel().rows.forEach(l=>{j(r,l.id,o,e)}),r}),getPreSelectedRowModel:()=>e.getCoreRowModel(),getSelectedRowModel:v(()=>[e.getState().rowSelection,e.getCoreRowModel()],(n,t)=>Object.keys(n).length?B(e,t):{rows:[],flatRows:[],rowsById:{}},{key:!1,debug:()=>{var n;return(n=e.options.debugAll)!=null?n:e.options.debugTable}}),getFilteredSelectedRowModel:v(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(n,t)=>Object.keys(n).length?B(e,t):{rows:[],flatRows:[],rowsById:{}},{key:\"getFilteredSelectedRowModel\",debug:()=>{var n;return(n=e.options.debugAll)!=null?n:e.options.debugTable}}),getGroupedSelectedRowModel:v(()=>[e.getState().rowSelection,e.getSortedRowModel()],(n,t)=>Object.keys(n).length?B(e,t):{rows:[],flatRows:[],rowsById:{}},{key:\"getGroupedSelectedRowModel\",debug:()=>{var n;return(n=e.options.debugAll)!=null?n:e.options.debugTable}}),getIsAllRowsSelected:()=>{let n=e.getFilteredRowModel().flatRows,{rowSelection:t}=e.getState(),o=!!(n.length&&Object.keys(t).length);return o&&n.some(r=>r.getCanSelect()&&!t[r.id])&&(o=!1),o},getIsAllPageRowsSelected:()=>{let n=e.getPaginationRowModel().flatRows.filter(r=>r.getCanSelect()),{rowSelection:t}=e.getState(),o=!!n.length;return o&&n.some(r=>!t[r.id])&&(o=!1),o},getIsSomeRowsSelected:()=>{var n;let t=Object.keys((n=e.getState().rowSelection)!=null?n:{}).length;return t>0&&t{let n=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:n.filter(t=>t.getCanSelect()).some(t=>t.getIsSelected()||t.getIsSomeSelected())},getToggleAllRowsSelectedHandler:()=>n=>{e.toggleAllRowsSelected(n.target.checked)},getToggleAllPageRowsSelectedHandler:()=>n=>{e.toggleAllPageRowsSelected(n.target.checked)}}),createRow:(e,n)=>({toggleSelected:t=>{let o=e.getIsSelected();n.setRowSelection(r=>{if(t=typeof t<\"u\"?t:!o,o===t)return r;let l={...r};return j(l,e.id,t,n),l})},getIsSelected:()=>{let{rowSelection:t}=n.getState();return X(e,t)},getIsSomeSelected:()=>{let{rowSelection:t}=n.getState();return Z(e,t)===\"some\"},getIsAllSubRowsSelected:()=>{let{rowSelection:t}=n.getState();return Z(e,t)===\"all\"},getCanSelect:()=>{var t;return typeof n.options.enableRowSelection==\"function\"?n.options.enableRowSelection(e):(t=n.options.enableRowSelection)!=null?t:!0},getCanSelectSubRows:()=>{var t;return typeof n.options.enableSubRowSelection==\"function\"?n.options.enableSubRowSelection(e):(t=n.options.enableSubRowSelection)!=null?t:!0},getCanMultiSelect:()=>{var t;return typeof n.options.enableMultiRowSelection==\"function\"?n.options.enableMultiRowSelection(e):(t=n.options.enableMultiRowSelection)!=null?t:!0},getToggleSelectedHandler:()=>{let t=e.getCanSelect();return o=>{var r;t&&e.toggleSelected((r=o.target)==null?void 0:r.checked)}}})},j=(e,n,t,o)=>{var r;let l=o.getRow(n);t?(l.getCanMultiSelect()||Object.keys(e).forEach(i=>delete e[i]),l.getCanSelect()&&(e[n]=!0)):delete e[n],(r=l.subRows)!=null&&r.length&&l.getCanSelectSubRows()&&l.subRows.forEach(i=>j(e,i.id,t,o))};function B(e,n){let t=e.getState().rowSelection,o=[],r={},l=function(i,g){return i.map(u=>{var d;let s=X(u,t);if(s&&(o.push(u),r[u.id]=u),(d=u.subRows)!=null&&d.length&&(u={...u,subRows:l(u.subRows)}),s)return u}).filter(Boolean)};return{rows:l(n.rows),flatRows:o,rowsById:r}}function X(e,n){var t;return(t=n[e.id])!=null?t:!1}function Z(e,n,t){if(e.subRows&&e.subRows.length){let o=!0,r=!1;return e.subRows.forEach(l=>{r&&!o||(X(l,n)?r=!0:o=!1)}),o?\"all\":r?\"some\":!1}return!1}var U=/([0-9]+)/gm,He=(e,n,t)=>ge(M(e.getValue(t)).toLowerCase(),M(n.getValue(t)).toLowerCase()),Ne=(e,n,t)=>ge(M(e.getValue(t)),M(n.getValue(t))),Oe=(e,n,t)=>J(M(e.getValue(t)).toLowerCase(),M(n.getValue(t)).toLowerCase()),Ge=(e,n,t)=>J(M(e.getValue(t)),M(n.getValue(t))),Le=(e,n,t)=>{let o=e.getValue(t),r=n.getValue(t);return o>r?1:oJ(e.getValue(t),n.getValue(t));function J(e,n){return e===n?0:e>n?1:-1}function M(e){return typeof e==\"number\"?isNaN(e)||e===1/0||e===-1/0?\"\":String(e):typeof e==\"string\"?e:\"\"}function ge(e,n){let t=e.split(U).filter(Boolean),o=n.split(U).filter(Boolean);for(;t.length&&o.length;){let r=t.shift(),l=o.shift(),i=parseInt(r,10),g=parseInt(l,10),u=[i,g].sort();if(isNaN(u[0])){if(r>l)return 1;if(l>r)return-1;continue}if(isNaN(u[1]))return isNaN(i)?-1:1;if(i>g)return 1;if(g>i)return-1}return t.length-o.length}var y={alphanumeric:He,alphanumericCaseSensitive:Ne,text:Oe,textCaseSensitive:Ge,datetime:Le,basic:ze},ke={getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:\"auto\"}),getDefaultOptions:e=>({onSortingChange:F(\"sorting\",e),isMultiSortEvent:n=>n.shiftKey}),createColumn:(e,n)=>({getAutoSortingFn:()=>{let t=n.getFilteredRowModel().flatRows.slice(10),o=!1;for(let r of t){let l=r?.getValue(e.id);if(Object.prototype.toString.call(l)===\"[object Date]\")return y.datetime;if(typeof l==\"string\"&&(o=!0,l.split(U).length>1))return y.alphanumeric}return o?y.text:y.basic},getAutoSortDir:()=>{let t=n.getFilteredRowModel().flatRows[0];return typeof t?.getValue(e.id)==\"string\"?\"asc\":\"desc\"},getSortingFn:()=>{var t,o;if(!e)throw new Error;return H(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn===\"auto\"?e.getAutoSortingFn():(t=(o=n.options.sortingFns)==null?void 0:o[e.columnDef.sortingFn])!=null?t:y[e.columnDef.sortingFn]},toggleSorting:(t,o)=>{let r=e.getNextSortingOrder(),l=typeof t<\"u\"&&t!==null;n.setSorting(i=>{let g=i?.find(a=>a.id===e.id),u=i?.findIndex(a=>a.id===e.id),d=[],s,c=l?t:r===\"desc\";if(i!=null&&i.length&&e.getCanMultiSort()&&o?g?s=\"toggle\":s=\"add\":i!=null&&i.length&&u!==i.length-1?s=\"replace\":g?s=\"toggle\":s=\"replace\",s===\"toggle\"&&(l||r||(s=\"remove\")),s===\"add\"){var f;d=[...i,{id:e.id,desc:c}],d.splice(0,d.length-((f=n.options.maxMultiSortColCount)!=null?f:Number.MAX_SAFE_INTEGER))}else s===\"toggle\"?d=i.map(a=>a.id===e.id?{...a,desc:c}:a):s===\"remove\"?d=i.filter(a=>a.id!==e.id):d=[{id:e.id,desc:c}];return d})},getFirstSortDir:()=>{var t,o;return((t=(o=e.columnDef.sortDescFirst)!=null?o:n.options.sortDescFirst)!=null?t:e.getAutoSortDir()===\"desc\")?\"desc\":\"asc\"},getNextSortingOrder:t=>{var o,r;let l=e.getFirstSortDir(),i=e.getIsSorted();return i?i!==l&&((o=n.options.enableSortingRemoval)==null||o)&&(!(t&&(r=n.options.enableMultiRemove)!=null)||r)?!1:i===\"desc\"?\"asc\":\"desc\":l},getCanSort:()=>{var t,o;return((t=e.columnDef.enableSorting)!=null?t:!0)&&((o=n.options.enableSorting)!=null?o:!0)&&!!e.accessorFn},getCanMultiSort:()=>{var t,o;return(t=(o=e.columnDef.enableMultiSort)!=null?o:n.options.enableMultiSort)!=null?t:!!e.accessorFn},getIsSorted:()=>{var t;let o=(t=n.getState().sorting)==null?void 0:t.find(r=>r.id===e.id);return o?o.desc?\"desc\":\"asc\":!1},getSortIndex:()=>{var t,o;return(t=(o=n.getState().sorting)==null?void 0:o.findIndex(r=>r.id===e.id))!=null?t:-1},clearSorting:()=>{n.setSorting(t=>t!=null&&t.length?t.filter(o=>o.id!==e.id):[])},getToggleSortingHandler:()=>{let t=e.getCanSort();return o=>{t&&(o.persist==null||o.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?n.options.isMultiSortEvent==null?void 0:n.options.isMultiSortEvent(o):!1))}}}),createTable:e=>({setSorting:n=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(n),resetSorting:n=>{var t,o;e.setSorting(n?[]:(t=(o=e.initialState)==null?void 0:o.sorting)!=null?t:[])},getPreSortedRowModel:()=>e.getGroupedRowModel(),getSortedRowModel:()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())})},Be={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:F(\"columnVisibility\",e)}),createColumn:(e,n)=>({toggleVisibility:t=>{e.getCanHide()&&n.setColumnVisibility(o=>({...o,[e.id]:t??!e.getIsVisible()}))},getIsVisible:()=>{var t,o;return(t=(o=n.getState().columnVisibility)==null?void 0:o[e.id])!=null?t:!0},getCanHide:()=>{var t,o;return((t=e.columnDef.enableHiding)!=null?t:!0)&&((o=n.options.enableHiding)!=null?o:!0)},getToggleVisibilityHandler:()=>t=>{e.toggleVisibility==null||e.toggleVisibility(t.target.checked)}}),createRow:(e,n)=>({_getAllVisibleCells:v(()=>[e.getAllCells(),n.getState().columnVisibility],t=>t.filter(o=>o.column.getIsVisible()),{key:\"row._getAllVisibleCells\",debug:()=>{var t;return(t=n.options.debugAll)!=null?t:n.options.debugRows}}),getVisibleCells:v(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(t,o,r)=>[...t,...o,...r],{key:!1,debug:()=>{var t;return(t=n.options.debugAll)!=null?t:n.options.debugRows}})}),createTable:e=>{let n=(t,o)=>v(()=>[o(),o().filter(r=>r.getIsVisible()).map(r=>r.id).join(\"_\")],r=>r.filter(l=>l.getIsVisible==null?void 0:l.getIsVisible()),{key:t,debug:()=>{var r;return(r=e.options.debugAll)!=null?r:e.options.debugColumns}});return{getVisibleFlatColumns:n(\"getVisibleFlatColumns\",()=>e.getAllFlatColumns()),getVisibleLeafColumns:n(\"getVisibleLeafColumns\",()=>e.getAllLeafColumns()),getLeftVisibleLeafColumns:n(\"getLeftVisibleLeafColumns\",()=>e.getLeftLeafColumns()),getRightVisibleLeafColumns:n(\"getRightVisibleLeafColumns\",()=>e.getRightLeafColumns()),getCenterVisibleLeafColumns:n(\"getCenterVisibleLeafColumns\",()=>e.getCenterLeafColumns()),setColumnVisibility:t=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(t),resetColumnVisibility:t=>{var o;e.setColumnVisibility(t?{}:(o=e.initialState.columnVisibility)!=null?o:{})},toggleAllColumnsVisible:t=>{var o;t=(o=t)!=null?o:!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((r,l)=>({...r,[l.id]:t||!(l.getCanHide!=null&&l.getCanHide())}),{}))},getIsAllColumnsVisible:()=>!e.getAllLeafColumns().some(t=>!(t.getIsVisible!=null&&t.getIsVisible())),getIsSomeColumnsVisible:()=>e.getAllLeafColumns().some(t=>t.getIsVisible==null?void 0:t.getIsVisible()),getToggleAllColumnsVisibilityHandler:()=>t=>{var o;e.toggleAllColumnsVisible((o=t.target)==null?void 0:o.checked)}}}},ee=[me,Be,xe,Ie,we,ke,Ae,Ce,De,Pe,ve];function Xe(e){var n;(e.debugAll||e.debugTable)&&console.info(\"Creating Table Instance...\");let t={_features:ee},o=t._features.reduce((s,c)=>Object.assign(s,c.getDefaultOptions==null?void 0:c.getDefaultOptions(t)),{}),r=s=>t.options.mergeOptions?t.options.mergeOptions(o,s):{...o,...s},i={...{},...(n=e.initialState)!=null?n:{}};t._features.forEach(s=>{var c;i=(c=s.getInitialState==null?void 0:s.getInitialState(i))!=null?c:i});let g=[],u=!1,d={_features:ee,options:{...o,...e},initialState:i,_queue:s=>{g.push(s),u||(u=!0,Promise.resolve().then(()=>{for(;g.length;)g.shift()();u=!1}).catch(c=>setTimeout(()=>{throw c})))},reset:()=>{t.setState(t.initialState)},setOptions:s=>{let c=b(s,t.options);t.options=r(c)},getState:()=>t.options.state,setState:s=>{t.options.onStateChange==null||t.options.onStateChange(s)},_getRowId:(s,c,f)=>{var a;return(a=t.options.getRowId==null?void 0:t.options.getRowId(s,c,f))!=null?a:`${f?[f.id,c].join(\".\"):c}`},getCoreRowModel:()=>(t._getCoreRowModel||(t._getCoreRowModel=t.options.getCoreRowModel(t)),t._getCoreRowModel()),getRowModel:()=>t.getPaginationRowModel(),getRow:s=>{let c=t.getRowModel().rowsById[s];if(!c)throw new Error;return c},_getDefaultColumnDef:v(()=>[t.options.defaultColumn],s=>{var c;return s=(c=s)!=null?c:{},{header:f=>{let a=f.header.column.columnDef;return a.accessorKey?a.accessorKey:a.accessorFn?a.id:null},cell:f=>{var a,p;return(a=(p=f.renderValue())==null||p.toString==null?void 0:p.toString())!=null?a:null},...t._features.reduce((f,a)=>Object.assign(f,a.getDefaultColumnDef==null?void 0:a.getDefaultColumnDef()),{}),...s}},{debug:()=>{var s;return(s=t.options.debugAll)!=null?s:t.options.debugColumns},key:!1}),_getColumnDefs:()=>t.options.columns,getAllColumns:v(()=>[t._getColumnDefs()],s=>{let c=function(f,a,p){return p===void 0&&(p=0),f.map(m=>{let S=pe(t,m,p,a),C=m;return S.columns=C.columns?c(C.columns,S,p+1):[],S})};return c(s)},{key:!1,debug:()=>{var s;return(s=t.options.debugAll)!=null?s:t.options.debugColumns}}),getAllFlatColumns:v(()=>[t.getAllColumns()],s=>s.flatMap(c=>c.getFlatColumns()),{key:!1,debug:()=>{var s;return(s=t.options.debugAll)!=null?s:t.options.debugColumns}}),_getAllFlatColumnsById:v(()=>[t.getAllFlatColumns()],s=>s.reduce((c,f)=>(c[f.id]=f,c),{}),{key:!1,debug:()=>{var s;return(s=t.options.debugAll)!=null?s:t.options.debugColumns}}),getAllLeafColumns:v(()=>[t.getAllColumns(),t._getOrderColumnsFn()],(s,c)=>{let f=s.flatMap(a=>a.getLeafColumns());return c(f)},{key:!1,debug:()=>{var s;return(s=t.options.debugAll)!=null?s:t.options.debugColumns}}),getColumn:s=>t._getAllFlatColumnsById()[s]};return Object.assign(t,d),t._features.forEach(s=>Object.assign(t,s.createTable==null?void 0:s.createTable(t))),t}function qe(e,n,t,o){let r=()=>{var i;return(i=l.getValue())!=null?i:e.options.renderFallbackValue},l={id:`${n.id}_${t.id}`,row:n,column:t,getValue:()=>n.getValue(o),renderValue:r,getContext:v(()=>[e,t,n,l],(i,g,u,d)=>({table:i,column:g,row:u,cell:d,getValue:d.getValue,renderValue:d.renderValue}),{key:!1,debug:()=>e.options.debugAll})};return e._features.forEach(i=>{Object.assign(l,i.createCell==null?void 0:i.createCell(l,t,n,e))},{}),l}var N=(e,n,t,o,r,l,i)=>{let g={id:n,index:o,original:t,depth:r,parentId:i,_valuesCache:{},_uniqueValuesCache:{},getValue:u=>{if(g._valuesCache.hasOwnProperty(u))return g._valuesCache[u];let d=e.getColumn(u);if(d!=null&&d.accessorFn)return g._valuesCache[u]=d.accessorFn(g.original,o),g._valuesCache[u]},getUniqueValues:u=>{if(g._uniqueValuesCache.hasOwnProperty(u))return g._uniqueValuesCache[u];let d=e.getColumn(u);if(d!=null&&d.accessorFn)return d.columnDef.getUniqueValues?(g._uniqueValuesCache[u]=d.columnDef.getUniqueValues(g.original,o),g._uniqueValuesCache[u]):(g._uniqueValuesCache[u]=[g.getValue(u)],g._uniqueValuesCache[u])},renderValue:u=>{var d;return(d=g.getValue(u))!=null?d:e.options.renderFallbackValue},subRows:l??[],getLeafRows:()=>te(g.subRows,u=>u.subRows),getParentRow:()=>g.parentId?e.getRow(g.parentId):void 0,getParentRows:()=>{let u=[],d=g;for(;;){let s=d.getParentRow();if(!s)break;u.push(s),d=s}return u.reverse()},getAllCells:v(()=>[e.getAllLeafColumns()],u=>u.map(d=>qe(e,g,d,d.id)),{key:!1,debug:()=>{var u;return(u=e.options.debugAll)!=null?u:e.options.debugRows}}),_getAllCellsByColumnId:v(()=>[g.getAllCells()],u=>u.reduce((d,s)=>(d[s.column.id]=s,d),{}),{key:\"row.getAllCellsByColumnId\",debug:()=>{var u;return(u=e.options.debugAll)!=null?u:e.options.debugRows}})};for(let u=0;utypeof e==\"function\"?{...n,accessorFn:e}:{...n,accessorKey:e},display:e=>e,group:e=>e}}function Qe(){return e=>v(()=>[e.options.data],n=>{let t={rows:[],flatRows:[],rowsById:{}},o=function(r,l,i){l===void 0&&(l=0);let g=[];for(let d=0;d{var n;return(n=e.options.debugAll)!=null?n:e.options.debugTable},onChange:()=>{e._autoResetPageIndex()}})}function de(e,n,t){return t.options.filterFromLeafRows?Te(e,n,t):je(e,n,t)}function Te(e,n,t){var o;let r=[],l={},i=(o=t.options.maxLeafRowFilterDepth)!=null?o:100,g=function(u,d){d===void 0&&(d=0);let s=[];for(let f=0;fv(()=>[e.getPreFilteredRowModel(),e.getState().columnFilters,e.getState().globalFilter],(n,t,o)=>{if(!n.rows.length||!(t!=null&&t.length)&&!o){for(let f=0;f{var a;let p=e.getColumn(f.id);if(!p)return;let m=p.getFilterFn();m&&r.push({id:f.id,filterFn:m,resolvedValue:(a=m.resolveFilterValue==null?void 0:m.resolveFilterValue(f.value))!=null?a:f.value})});let i=t.map(f=>f.id),g=e.getGlobalFilterFn(),u=e.getAllLeafColumns().filter(f=>f.getCanGlobalFilter());o&&g&&u.length&&(i.push(\"__global__\"),u.forEach(f=>{var a;l.push({id:f.id,filterFn:g,resolvedValue:(a=g.resolveFilterValue==null?void 0:g.resolveFilterValue(o))!=null?a:o})}));let d,s;for(let f=0;f{a.columnFiltersMeta[m]=S})}if(l.length){for(let p=0;p{a.columnFiltersMeta[m]=S})){a.columnFilters.__global__=!0;break}}a.columnFilters.__global__!==!0&&(a.columnFilters.__global__=!1)}}let c=f=>{for(let a=0;a{var n;return(n=e.options.debugAll)!=null?n:e.options.debugTable},onChange:()=>{e._autoResetPageIndex()}})}function Ye(){return(e,n)=>v(()=>[e.getPreFilteredRowModel(),e.getState().columnFilters,e.getState().globalFilter,e.getFilteredRowModel()],(t,o,r)=>{if(!t.rows.length||!(o!=null&&o.length)&&!r)return t;let l=[...o.map(g=>g.id).filter(g=>g!==n),r?\"__global__\":void 0].filter(Boolean),i=g=>{for(let u=0;u{var t;return(t=e.options.debugAll)!=null?t:e.options.debugTable},onChange:()=>{}})}function Ze(){return(e,n)=>v(()=>{var t;return[(t=e.getColumn(n))==null?void 0:t.getFacetedRowModel()]},t=>{if(!t)return new Map;let o=new Map;for(let l=0;l{var t;return(t=e.options.debugAll)!=null?t:e.options.debugTable},onChange:()=>{}})}function et(){return(e,n)=>v(()=>{var t;return[(t=e.getColumn(n))==null?void 0:t.getFacetedRowModel()]},t=>{var o;if(!t)return;let r=(o=t.flatRows[0])==null?void 0:o.getUniqueValues(n);if(typeof r>\"u\")return;let l=[r,r];for(let i=0;il[1]&&(l[1]=d)}}return l},{key:!1,debug:()=>{var t;return(t=e.options.debugAll)!=null?t:e.options.debugTable},onChange:()=>{}})}function tt(){return e=>v(()=>[e.getState().sorting,e.getPreSortedRowModel()],(n,t)=>{if(!t.rows.length||!(n!=null&&n.length))return t;let o=e.getState().sorting,r=[],l=o.filter(u=>{var d;return(d=e.getColumn(u.id))==null?void 0:d.getCanSort()}),i={};l.forEach(u=>{let d=e.getColumn(u.id);d&&(i[u.id]={sortUndefined:d.columnDef.sortUndefined,invertSorting:d.columnDef.invertSorting,sortingFn:d.getSortingFn()})});let g=u=>{let d=[...u];return d.sort((s,c)=>{for(let a=0;a\"u\",_=typeof R>\"u\";if(h||_)return h&&_?0:h?m.sortUndefined:-m.sortUndefined}let C=m.sortingFn(s,c,p.id);if(C!==0)return S&&(C*=-1),m.invertSorting&&(C*=-1),C}return s.index-c.index}),d.forEach(s=>{var c;r.push(s),(c=s.subRows)!=null&&c.length&&(s.subRows=g(s.subRows))}),d};return{rows:g(t.rows),flatRows:r,rowsById:t.rowsById}},{key:!1,debug:()=>{var n;return(n=e.options.debugAll)!=null?n:e.options.debugTable},onChange:()=>{e._autoResetPageIndex()}})}function nt(){return e=>v(()=>[e.getState().grouping,e.getPreGroupedRowModel()],(n,t)=>{if(!t.rows.length||!n.length)return t;let o=n.filter(u=>e.getColumn(u)),r=[],l={},i=function(u,d,s){if(d===void 0&&(d=0),d>=o.length)return u.map(p=>(p.depth=d,r.push(p),l[p.id]=p,p.subRows&&(p.subRows=i(p.subRows,d+1,p.id)),p));let c=o[d],f=Ue(u,c);return Array.from(f.entries()).map((p,m)=>{let[S,C]=p,$=`${c}:${S}`;$=s?`${s}>${$}`:$;let R=i(C,d+1,$),h=d?te(C,w=>w.subRows):C,_=N(e,$,h[0].original,m,d,void 0,s);return Object.assign(_,{groupingColumnId:c,groupingValue:S,subRows:R,leafRows:h,getValue:w=>{if(o.includes(w)){if(_._valuesCache.hasOwnProperty(w))return _._valuesCache[w];if(C[0]){var x;_._valuesCache[w]=(x=C[0].getValue(w))!=null?x:void 0}return _._valuesCache[w]}if(_._groupingValuesCache.hasOwnProperty(w))return _._groupingValuesCache[w];let A=e.getColumn(w),Q=A?.getAggregationFn();if(Q)return _._groupingValuesCache[w]=Q(w,h,C),_._groupingValuesCache[w]}}),R.forEach(w=>{r.push(w),l[w.id]=w}),_})},g=i(t.rows,0);return g.forEach(u=>{r.push(u),l[u.id]=u}),{rows:g,flatRows:r,rowsById:l}},{key:!1,debug:()=>{var n;return(n=e.options.debugAll)!=null?n:e.options.debugTable},onChange:()=>{e._queue(()=>{e._autoResetExpanded(),e._autoResetPageIndex()})}})}function Ue(e,n){let t=new Map;return e.reduce((o,r)=>{let l=`${r.getGroupingValue(n)}`,i=o.get(l);return i?i.push(r):o.set(l,[r]),o},t)}function ot(){return e=>v(()=>[e.getState().expanded,e.getPreExpandedRowModel(),e.options.paginateExpandedRows],(n,t,o)=>!t.rows.length||n!==!0&&!Object.keys(n??{}).length||!o?t:ce(t),{key:!1,debug:()=>{var n;return(n=e.options.debugAll)!=null?n:e.options.debugTable}})}function ce(e){let n=[],t=o=>{var r;n.push(o),(r=o.subRows)!=null&&r.length&&o.getIsExpanded()&&o.subRows.forEach(t)};return e.rows.forEach(t),{rows:n,flatRows:e.flatRows,rowsById:e.rowsById}}function rt(e){return n=>v(()=>[n.getState().pagination,n.getPrePaginationRowModel(),n.options.paginateExpandedRows?void 0:n.getState().expanded],(t,o)=>{if(!o.rows.length)return o;let{pageSize:r,pageIndex:l}=t,{rows:i,flatRows:g,rowsById:u}=o,d=r*l,s=d+r;i=i.slice(d,s);let c;n.options.paginateExpandedRows?c={rows:i,flatRows:g,rowsById:u}:c=ce({rows:i,flatRows:g,rowsById:u}),c.flatRows=[];let f=a=>{c.flatRows.push(a),a.subRows.length&&a.subRows.forEach(f)};return c.rows.forEach(f),c},{key:!1,debug:()=>{var t;return(t=n.options.debugAll)!=null?t:n.options.debugTable}})}export{ve as ColumnSizing,Ce as Expanding,we as Filters,Ae as Grouping,me as Headers,xe as Ordering,De as Pagination,Ie as Pinning,Pe as RowSelection,ke as Sorting,Be as Visibility,L as aggregationFns,D as buildHeaderGroups,qe as createCell,pe as createColumn,Je as createColumnHelper,N as createRow,Xe as createTable,I as defaultColumnSizing,ce as expandRows,E as filterFns,te as flattenBy,b as functionalUpdate,Qe as getCoreRowModel,ot as getExpandedRowModel,et as getFacetedMinMaxValues,Ye as getFacetedRowModel,Ze as getFacetedUniqueValues,We as getFilteredRowModel,nt as getGroupedRowModel,rt as getPaginationRowModel,tt as getSortedRowModel,H as isFunction,fe as isNumberArray,X as isRowSelected,Z as isSubRowSelected,F as makeStateUpdater,v as memo,Ke as noop,ye as orderColumns,Se as passiveEventSupported,U as reSplitAlphaNumeric,B as selectRowsFn,Y as shouldAutoRemoveFilter,y as sortingFns};\n/*! Bundled license information:\n\n@tanstack/table-core/build/lib/index.mjs:\n (**\n * table-core\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n *)\n*/\n//# sourceMappingURL=table-core.mjs.map","/* esm.sh - esbuild bundle(@tanstack/react-table@8.9.1) denonext production */\nimport*as r from\"/stable/react@18.2.0/denonext/react.mjs\";import{createTable as s}from\"/v127/@tanstack/table-core@8.9.1/denonext/table-core.mjs\";export*from\"/v127/@tanstack/table-core@8.9.1/denonext/table-core.mjs\";function y(t,e){return t?f(t)?r.createElement(t,e):t:null}function f(t){return i(t)||typeof t==\"function\"||l(t)}function i(t){return typeof t==\"function\"&&(()=>{let e=Object.getPrototypeOf(t);return e.prototype&&e.prototype.isReactComponent})()}function l(t){return typeof t==\"object\"&&typeof t.$$typeof==\"symbol\"&&[\"react.memo\",\"react.forward_ref\"].includes(t.$$typeof.description)}function R(t){let e={state:{},onStateChange:()=>{},renderFallbackValue:null,...t},[n]=r.useState(()=>({current:s(e)})),[o,c]=r.useState(()=>n.current.initialState);return n.current.setOptions(u=>({...u,...t,state:{...o,...t.state},onStateChange:a=>{c(a),t.onStateChange==null||t.onStateChange(a)}})),n.current}export{y as flexRender,R as useReactTable};\n/*! Bundled license information:\n\n@tanstack/react-table/build/lib/index.mjs:\n (**\n * react-table\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n *)\n*/\n//# sourceMappingURL=react-table.mjs.map","\n\nexport default ({text, href, onClick, k, extraClasses, target}) =>{\n var linkColor = \"\"\n switch (true) {\n case (text.includes(\"IP_\")):\n linkColor = 'text-[#CB3D58]'\n break\n case (text.includes(\"II_\")):\n linkColor = 'text-[#E0B64C]'\n break\n default:\n linkColor = 'text-[#3C47C7]'\n }\n \n return \n {text}\n \n}\n\n","import { useState } from \"react\";\r\n\r\nexport const downloadFile = ({ data, fileName, fileType }) => {\r\n const blob = new Blob([data], { type: fileType })\r\n \r\n const a = document.createElement('a')\r\n a.download = fileName\r\n a.href = window.URL.createObjectURL(blob)\r\n const clickEvt = new MouseEvent('click', {\r\n view: window,\r\n bubbles: true,\r\n cancelable: true,\r\n })\r\n a.dispatchEvent(clickEvt)\r\n a.remove()\r\n }\r\n\r\nexport const tooltip_ = (text, tooltip=null) =>\r\n
\r\n
{text}
\r\n {tooltip ?
\r\n {tooltip}\r\n
: null}\r\n
\r\n\r\nexport const decoratedlist = (label, data, link=null, hover=null) =>\r\n
\r\n\r\n
\r\n
{label}
\r\n\r\n {hover ?
\r\n {hover}\r\n
: null}\r\n
\r\n\r\n
{data} {link}
\r\n\r\n
\r\n\r\nexport const horizontalList = (label, data, link=null, hover=null) =>\r\n
\r\n
\r\n
{label}
\r\n {hover ?
\r\n {hover}\r\n
: null}\r\n
\r\n
{data} {link}
\r\n
\r\n\r\n\r\nexport const HeaderWithModal = ({title, children}) => {\r\n const [visibleModal, setVisibleModal] = useState(false)\r\n\r\n return <>\r\n setVisibleModal(true)} >{title}i\r\n {visibleModal && setVisibleModal(false)}> {children} }\r\n \r\n}\r\n\r\n\r\nexport const Modal = ({title, onClose, children}) => {\r\n return
\r\n
\r\n
\r\n

{title}

\r\n \r\n
\r\n
{children}
\r\n
\r\n
\r\n}\r\n \r\n\r\n \r\n\r\n","import {\n createColumnHelper,\n flexRender,\n getCoreRowModel,\n useReactTable\n} from \"react-table\";\n\nimport Link from \"../widgets/Link.jsx\";\nimport { tooltip_ } from \"../utils.jsx\";\n\nconst columnHelper = createColumnHelper()\n\nconst ProteinTable = ({species_sn, proteinQueryResult, queryInProgress}) => {\n\n const debug = false\n\n const AccessionsCell = ({accessions, renderAccession}) => {\n\n const displayedAccessions =\n accessions.length > 2 ? accessions.slice(0, 2) : accessions\n\n const hasNonDisplayedAccessions = displayedAccessions.length < accessions.length\n\n const showMore = hasNonDisplayedAccessions ? ... : \"\"\n\n return \n {displayedAccessions.map((a, idx) => renderAccession(a, `a-${idx}`))}\n {showMore}\n \n }\n\n function addMultiIcon(a) {\n if (a.includes(\"*\")) {\n return \n \n
\n
{a.replace('*', '')}
\n
\n
\n }\n return {a}\n }\n\n const columns = [\n columnHelper.accessor(\n row => row,\n {\n id: \"protein\",\n cell: info => {\n const row = info.getValue()\n return \n }\n />\n },\n header: () => Protein\n }\n ),\n columnHelper.accessor(\n row => row.protein_length,\n {\n id: \"length\",\n header: () => length,\n cell: info => info.getValue()\n }\n ),\n columnHelper.accessor(\n row => row.searchable_accessions.g,\n {\n id: \"gene\",\n header: () => Gene,\n cell: info =>\n {addMultiIcon(a)}}\n />\n }\n ),\n columnHelper.accessor(\n row => row.searchable_accessions.t,\n {\n id: \"transcript\",\n header: () => Transcript,\n cell: info =>\n {addMultiIcon(a)}}\n />\n }\n ),\n columnHelper.accessor(\n row => row.ms_score,\n {\n id: \"ms_score\",\n header: () => tooltip_(\"MS Score\", \"number of unique peptides detected by mass spectrometry\"),\n cell: info => info.getValue()\n }\n ),\n columnHelper.accessor(\n row => row.rs_score,\n {\n id: \"rs_score\",\n header: () => tooltip_(\"RS Score\", \"number of hits in riboseq studies\"),\n cell: info => info.getValue()\n }\n ),\n columnHelper.accessor(\n row => row.domains_detected_count,\n {\n id: \"domains_count\",\n header: () => Domains,\n cell: info => info.getValue()\n }\n )\n ]\n\n if(debug) {\n columns.push(\n columnHelper.accessor(\n row => row,\n {\n id: \"debug\",\n header: () => Debug,\n cell: info => {\n const row = info.getValue()\n return {row.annotation_sources}\n \n }\n }\n )\n )\n }\n\n const table = useReactTable({\n data: proteinQueryResult,\n columns,\n getCoreRowModel: getCoreRowModel()\n })\n\n return (\n
\n \n \n {table.getHeaderGroups().map(headerGroup => (\n \n {headerGroup.headers.map(header => (\n \n ))}\n \n ))}\n \n \n {table.getRowModel().rows.map(row => (\n \n {row.getVisibleCells().map(cell => (\n \n ))}\n \n ))}\n \n
\n {header.isPlaceholder\n ? null\n : flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n
\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n
\n
\n )\n}\n\nexport default ProteinTable\n","/* esm.sh - esbuild bundle(radash@10.8.1) denonext production */\nvar B=t=>!!t&&t.constructor===Symbol,h=t=>!!t&&t.constructor===Array,b=t=>!!t&&t.constructor===Object,O=t=>t==null||typeof t!=\"object\"&&typeof t!=\"function\",w=t=>!!(t&&t.constructor&&t.call&&t.apply),U=t=>typeof t==\"string\"||t instanceof String,K=t=>m(t)&&t%1===0,J=t=>m(t)&&t%1!==0,m=t=>{try{return Number(t)===t}catch{return!1}},F=t=>Object.prototype.toString.call(t)===\"[object Date]\",W=t=>{if(t===!0||t===!1||t==null)return!0;if(m(t))return t===0;if(F(t))return isNaN(t.getTime());if(w(t)||B(t))return!1;let e=t.length;if(m(e))return e===0;let r=t.size;return m(r)?r===0:Object.keys(t).length===0},L=(t,e)=>{if(Object.is(t,e))return!0;if(t instanceof Date&&e instanceof Date)return t.getTime()===e.getTime();if(t instanceof RegExp&&e instanceof RegExp)return t.toString()===e.toString();if(typeof t!=\"object\"||t===null||typeof e!=\"object\"||e===null)return!1;let r=Reflect.ownKeys(t),n=Reflect.ownKeys(e);if(r.length!==n.length)return!1;for(let s=0;st.reduce((r,n)=>{let s=e(n);return r[s]||(r[s]=[]),r[s].push(n),r},{});function Y(...t){return!t||!t.length?[]:new Array(Math.max(...t.map(({length:e})=>e))).fill([]).map((e,r)=>t.map(n=>n[r]))}function H(t,e){if(!t||!t.length)return{};let r=w(e)?e:h(e)?(n,s)=>e[s]:(n,s)=>e;return t.reduce((n,s,o)=>(n[s]=r(s,o),n),{})}var A=(t,e)=>!t||(t.length??0)===0?null:t.reduce(e),Q=(t,e)=>(t||[]).reduce((r,n)=>r+(e?e(n):n),0),V=(t,e=void 0)=>t?.length>0?t[0]:e,G=(t,e=void 0)=>t?.length>0?t[t.length-1]:e,C=(t,e,r=!1)=>{if(!t)return[];let n=(o,i)=>e(o)-e(i),s=(o,i)=>e(i)-e(o);return t.slice().sort(r===!0?s:n)},v=(t,e,r=\"asc\")=>{if(!t)return[];let n=(o,i)=>`${e(o)}`.localeCompare(e(i)),s=(o,i)=>`${e(i)}`.localeCompare(e(o));return t.slice().sort(r===\"desc\"?s:n)},tt=(t,e)=>t?t.reduce((r,n)=>{let s=e(n);return r[s]=(r[s]??0)+1,r},{}):{},et=(t,e,r)=>{if(!t)return[];if(!e)return[...t];for(let n=0;nn)=>t.reduce((n,s)=>(n[e(s)]=r(s),n),{}),rt=(t,e,r)=>t?t.reduce((n,s,o)=>(r(s,o)&&n.push(e(s,o)),n),[]):[],nt=(t,e)=>{let r=e||(n=>n);return A(t,(n,s)=>r(n)>r(s)?n:s)},st=(t,e)=>{let r=e||(n=>n);return A(t,(n,s)=>r(n){let r=Math.ceil(t.length/e);return new Array(r).fill(null).map((n,s)=>t.slice(s*e,s*e+e))},it=(t,e)=>{let r=t.reduce((n,s)=>{let o=e?e(s):s;return n[o]||(n[o]=s),n},{});return Object.values(r)};function*k(t,e,r=s=>s,n=1){let s=w(r)?r:()=>r,o=e?t:0,i=e??t;for(let u=o;u<=i&&(yield s(u),!(u+n>i));u+=n);}var y=(t,e,r,n)=>Array.from(k(t,e,r,n)),ut=t=>t.reduce((e,r)=>(e.push(...r),e),[]),ct=(t,e,r)=>{if(!t||!e)return!1;let n=r??(o=>o),s=e.reduce((o,i)=>(o[n(i)]=!0,o),{});return t.some(o=>s[n(o)])},$=(t,e)=>t?t.reduce((r,n)=>{let[s,o]=r;return e(n)?[[...s,n],o]:[s,[...o,n]]},[[],[]]):[[],[]],ft=(t,e,r)=>!e&&!t?[]:e?t?r?t.reduce((n,s)=>{let o=e.find(i=>r(s)===r(i));return o?n.push(o):n.push(s),n},[]):t:[]:t,lt=(t,e,r)=>{if(!t&&!e)return[];if(!e)return[...t];if(!t)return[e];for(let n=0;n{if(!t&&!e)return[];if(!t)return[e];if(!e)return[...t];let s=r?(u,l)=>r(u,l)===r(e,l):u=>u===e;return t.find(s)?t.filter((u,l)=>!s(u,l)):(n?.strategy??\"append\")===\"append\"?[...t,e]:[e,...t]},at=t=>t?.filter(e=>!!e)??[],N=(t,e,r)=>{let n=r;for(let s=1;s<=t;s++)n=e(n,s);return n},mt=(t,e,r=n=>n)=>{if(!t?.length&&!e?.length)return[];if(t?.length===void 0)return[...e];if(!e?.length)return[...t];let n=e.reduce((s,o)=>(s[r(o)]=!0,s),{});return t.filter(s=>!n[r(s)])};function dt(t,e){if(t.length===0)return t;let r=e%t.length;return r===0?t:[...t.slice(-r,t.length),...t.slice(0,-r)]}var gt=async(t,e,r)=>{let n=r!==void 0;if(!n&&t?.length<1)throw new Error(\"Cannot reduce empty array with no init value\");let s=n?t:t.slice(1),o=n?r:t[0];for(let i of s)o=await e(o,i);return o},ht=async(t,e)=>{if(!t)return[];let r=[],n=0;for(let s of t){let o=await e(s,n++);r.push(o)}return r},wt=async t=>{let e=[],r=(o,i)=>e.push({fn:o,rethrow:i?.rethrow??!1}),[n,s]=await d(t)(r);for(let{fn:o,rethrow:i}of e){let[u]=await d(o)(n);if(u&&i)throw u}if(n)throw n;return s},E=class extends Error{constructor(e=[]){super();let r=e.find(n=>n.name)?.name??\"\";this.name=`AggregateError(${r}...)`,this.message=`AggregateError with ${e.length} errors`,this.stack=e.find(n=>n.stack)?.stack??this.stack,this.errors=e}},yt=async(t,e,r)=>{let n=e.map((p,g)=>({index:g,item:p})),s=async p=>{let g=[];for(;;){let c=n.pop();if(!c)return p(g);let[f,a]=await d(r)(c.item);g.push({error:f,result:a,index:c.index})}},o=y(1,t).map(()=>new Promise(s)),i=await Promise.all(o),[u,l]=$(C(i.flat(),p=>p.index),p=>!!p.error);if(u.length>0)throw new E(u.map(p=>p.error));return l.map(p=>p.result)},xt=async(t,e)=>{let r=t?.times??3,n=t?.delay,s=t?.backoff??null;for(let o of k(1,r)){let[i,u]=await d(e)(l=>{throw{_exited:l}});if(!i)return u;if(i._exited)throw i._exited;if(o===r)throw i;n&&await P(n),s&&await P(s(o))}},P=t=>new Promise(e=>setTimeout(e,t)),d=t=>async(...e)=>{try{return[void 0,await t(...e)]}catch(r){return[r,void 0]}},bt=(t,e)=>{let r=s=>{if(e&&!e(s))throw s},n=s=>s instanceof Promise;try{let s=t();return n(s)?s.catch(r):s}catch(s){return r(s)}};var kt=(...t)=>(...e)=>t.slice(1).reduce((r,n)=>n(r),t[0](...e)),Ot=(...t)=>t.reverse().reduce((e,r)=>r(e)),At=(t,...e)=>(...r)=>t(...e,...r),Ct=(t,e)=>r=>t({...e,...r}),_t=t=>new Proxy({},{get:(e,r)=>t(r)}),$t=(t,e,r,n)=>function(...o){let i=r?r(...o):JSON.stringify({args:o}),u=t[i];if(u!==void 0&&(!u.exp||u.exp>new Date().getTime()))return u.value;let l=e(...o);return t[i]={exp:n?new Date().getTime()+n:null,value:l},l},Nt=(t,e={})=>$t({},t,e.key??null,e.ttl??null),Et=({delay:t},e)=>{let r,n=!0,s=(...o)=>{n?(clearTimeout(r),r=setTimeout(()=>{n&&e(...o)},t)):e(...o)};return s.cancel=()=>{n=!1},s.flush=(...o)=>e(...o),s},Pt=({interval:t},e)=>{let r=!0;return(...s)=>{r&&(e(...s),r=!1,setTimeout(()=>{r=!0},t))}},jt=(t,e)=>{let r=()=>{};return new Proxy(Object.assign(r,t),{get:(n,s)=>n[s],set:(n,s,o)=>(n[s]=o,!0),apply:(n,s,o)=>e(Object.assign({},n))(...o)})};var zt=(t,e)=>{let r=e===void 0?0:e;if(t==null)return r;let n=parseFloat(t);return isNaN(n)?r:n},j=(t,e)=>{let r=e===void 0?0:e;if(t==null)return r;let n=parseInt(t);return isNaN(n)?r:n};var St=(t,e=r=>r===void 0)=>t?Object.keys(t).reduce((n,s)=>(e(t[s])||(n[s]=t[s]),n),{}):{},z=(t,e)=>Object.keys(t).reduce((n,s)=>(n[e(s,t[s])]=t[s],n),{}),Tt=(t,e)=>Object.keys(t).reduce((n,s)=>(n[s]=e(t[s],s),n),{}),Bt=(t,e)=>t?Object.entries(t).reduce((r,[n,s])=>{let[o,i]=e(n,s);return r[o]=i,r},{}):{},Ft=t=>t?Object.keys(t).reduce((r,n)=>(r[t[n]]=n,r),{}):{},Lt=t=>z(t,e=>e.toLowerCase()),Mt=t=>z(t,e=>e.toUpperCase()),M=t=>{if(O(t))return t;if(typeof t==\"function\")return t.bind({});let e=new t.constructor;return Object.getOwnPropertyNames(t).forEach(r=>{e[r]=t[r]}),e},Dt=(t,e)=>{if(!t)return[];let r=Object.entries(t);return r.length===0?[]:r.reduce((n,s)=>(n.push(e(s[0],s[1])),n),[])},It=(t,e)=>t?e.reduce((r,n)=>(t.hasOwnProperty(n)&&(r[n]=t[n]),r),{}):{},Rt=(t,e)=>t?!e||e.length===0?t:e.reduce((r,n)=>(delete r[n],r),{...t}):{},D=(t,e,r=null)=>{let n=e.split(/[\\.\\[\\]]/g),s=t;for(let o of n){if(s===null||s===void 0)return r;o.trim()!==\"\"&&(s=s[o])}return s===void 0?r:s},I=(t,e,r)=>{if(!t)return{};if(!e||!r)return t;let n=e.split(/[\\.\\[\\]]/g).filter(i=>!!i.trim()),s=i=>{if(n.length>1){let u=n.shift(),l=j(n[0],null)!==null;i[u]=i[u]===void 0?l?[]:{}:i[u],s(i[u])}else i[n[0]]=r},o=M(t);return s(o),o},R=(t,e)=>!t&&!e?{}:t?e?Object.entries(t).reduce((r,[n,s])=>({...r,[n]:(()=>b(s)?R(s,e[n]):e[n])()}),{}):t:e,Z=t=>{if(!t)return[];let e=(r,n)=>b(r)?Object.entries(r).flatMap(([s,o])=>e(o,[...n,s])):h(r)?r.flatMap((s,o)=>e(s,[...n,`${o}`])):[n.join(\".\")];return e(t,[])},Zt=t=>t?_(Z(t),e=>e,e=>D(t,e)):{},qt=t=>t?Object.keys(t).reduce((e,r)=>I(e,r,t[r]),{}):{};var S=(t,e)=>Math.floor(Math.random()*(e-t+1)+t),Ut=t=>{let e=t.length;if(e===0)return null;let r=S(0,e-1);return t[r]},Kt=t=>t.map(e=>({rand:Math.random(),value:e})).sort((e,r)=>e.rand-r.rand).map(e=>e.value),Jt=(t,e=\"\")=>{let r=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\"+e;return N(t,n=>n+r.charAt(S(0,r.length-1)),\"\")};var Wt=(t,e=r=>`${r}`)=>{let{indexesByKey:r,itemsByIndex:n}=t.reduce((c,f,a)=>({indexesByKey:{...c.indexesByKey,[e(f)]:a},itemsByIndex:{...c.itemsByIndex,[a]:f}}),{indexesByKey:{},itemsByIndex:{}}),s=(c,f)=>r[e(c)]r[e(c)]>r[e(f)]?c:f,i=()=>n[0],u=()=>n[t.length-1],l=(c,f)=>n[r[e(c)]+1]??f??i(),p=(c,f)=>n[r[e(c)]-1]??f??u();return{min:s,max:o,first:i,last:u,next:l,previous:p,spin:(c,f)=>{if(f===0)return c;let a=Math.abs(f),q=a>t.length?a%t.length:a;return y(0,q-1).reduce(T=>f>0?l(T):p(T),c)}}};var x=t=>{if(!t||t.length===0)return\"\";let e=t.toLowerCase();return e.substring(0,1).toUpperCase()+e.substring(1,e.length)},Xt=t=>{let e=t?.replace(/([A-Z])+/g,x)?.split(/(?=[A-Z])|[\\.\\-\\s_]/).map(r=>r.toLowerCase())??[];return e.length===0?\"\":e.length===1?e[0]:e.reduce((r,n)=>`${r}${n.charAt(0).toUpperCase()}${n.slice(1)}`)},Yt=t=>{let e=t?.replace(/([A-Z])+/g,x).split(/(?=[A-Z])|[\\.\\-\\s_]/).map(r=>r.toLowerCase())??[];return e.length===0?\"\":e.length===1?e[0]:e.reduce((r,n)=>`${r}_${n.toLowerCase()}`)},Ht=t=>{let e=t?.replace(/([A-Z])+/g,x)?.split(/(?=[A-Z])|[\\.\\-\\s_]/).map(r=>r.toLowerCase())??[];return e.length===0?\"\":e.length===1?e[0]:e.reduce((r,n)=>`${r}-${n.toLowerCase()}`)},Qt=t=>{let e=t?.split(/[\\.\\-\\s_]/).map(r=>r.toLowerCase())??[];return e.length===0?\"\":e.map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join(\"\")},Vt=t=>t?t.split(/(?=[A-Z])|[\\.\\-\\s_]/).map(e=>e.trim()).filter(e=>!!e).map(e=>x(e.toLowerCase())).join(\" \"):\"\",Gt=(t,e,r=/\\{\\{(.+?)\\}\\}/g)=>Array.from(t.matchAll(r)).reduce((n,s)=>n.replace(s[0],e[s[1]]),t),vt=(t,e=\" \")=>{if(!t)return\"\";let r=new RegExp(`^[${e}]+|[${e}]+$`,\"g\");return t.replace(r,\"\")};export{v as alphabetical,R as assign,A as boil,jt as callable,Xt as camel,x as capitalize,kt as chain,M as clone,ot as cluster,Ot as compose,qt as construct,tt as counting,Zt as crush,Ht as dash,Et as debounce,wt as defer,mt as diff,Ut as draw,V as first,ut as flat,$ as fork,D as get,X as group,bt as guard,ct as intersects,Ft as invert,h as isArray,F as isDate,W as isEmpty,L as isEqual,J as isFloat,w as isFunction,K as isInt,m as isNumber,b as isObject,O as isPrimitive,U as isString,B as isSymbol,N as iterate,Z as keys,G as last,y as list,Dt as listify,Lt as lowerize,ht as map,Bt as mapEntries,z as mapKeys,Tt as mapValues,nt as max,Nt as memo,ft as merge,st as min,_ as objectify,Rt as omit,yt as parallel,At as partial,Ct as partob,Qt as pascal,It as pick,_t as proxied,S as random,k as range,gt as reduce,et as replace,lt as replaceOrAppend,xt as retry,rt as select,Wt as series,I as set,St as shake,dt as shift,Kt as shuffle,at as sift,P as sleep,Yt as snake,C as sort,Q as sum,Gt as template,Pt as throttle,Vt as title,zt as toFloat,j as toInt,pt as toggle,vt as trim,d as try,d as tryit,Jt as uid,it as unique,Mt as upperize,Y as zip,H as zipToObject};\n//# sourceMappingURL=radash.mjs.map","import {objectify, sort} from 'radash'\n\n\nconst apiHost = window.openprot_api_host\n\nconst apiVersion = \"2.0\"\n\nexport const all_species = [\n {sn: \"HS\", id: 2,\n cn: \"Human\",\n sc: \"Homo Sapiens\"},\n {sn: \"PT\", id: 18,\n cn: \"Chimp\",\n sc: \"Pan troglodytes\"},\n {sn: \"RN\", id: 13,\n cn: \"Rat\",\n sc: \"Rattus norvegicus\"}, \n {sn: \"MM\", id: 11,\n cn: \"Mouse\",\n sc: \"Mus musculus\"},\n {sn: \"BT\", id: 16,\n cn: \"Cow\",\n sc: \"Bos taurus\"},\n {sn: \"OA\", id: 20,\n cn: \"Sheep\",\n sc: \"Ovis aries\"}, \n {sn: \"XT\", id: 5,\n cn: \"Xenopus\",\n sc: \"Xenopus tropicalis\"},\n {sn: \"DR\", id: 6,\n cn: \"Zebrafish\",\n sc: \"Danio rerio\"},\n {sn: \"DM\", id: 14,\n cn: \"Fruitfly\",\n sc: \"Drosophila melanogaster\"},\n {sn: \"CE\", id: 15,\n cn: \"Roundworm\",\n sc: \"Caenorhabditis elegans\"},\n {sn: \"AT\", id: 29,\n cn: \"Arabidopsis thaliana\",\n sc: \"Arabidopsis thaliana\"},\n {sn: \"SC\", id: 1,\n cn: \"Yeast S288c\",\n sc: \"Saccharomyces cerevisiae S288c\"}\n ]\n\n\nexport const all_species_by_sn = objectify(all_species, s => s.sn)\n\nexport const all_species_by_id = objectify(all_species, s => s.id)\n\nconst speciesQuery = species_sn => path =>\n fetch(`${apiHost}/api/${apiVersion}/${species_sn}${path}`).then(res => res.json())\n\nexport const fetchDomains = protein_seq_id =>\n fetch(`${apiHost}/api/${apiVersion}/proteins/${protein_seq_id}/domains`).then(res => res.json())\n\nexport const fetchSlims = protein_seq_id =>\n fetch(`${apiHost}/api/${apiVersion}/proteins/${protein_seq_id}/slims`).then(res => res.json())\n\nexport const fetchAlphaOmega = protein_seq_id =>\n fetch(`${apiHost}/api/${apiVersion}/proteins/${protein_seq_id}/alphaomega`).then(res => res.text())\n\nexport const fetchExtSources = (species_sn, protein_seq_id) =>\n fetch(`https://api-test.openprot.org/api/${apiVersion}/${species_sn}/proteins/${protein_seq_id}/external_sources`).then(res => res.json())\n\nexport const fetchSubcellLoc = protein_seq_id =>\n fetch(`${apiHost}/api/${apiVersion}/proteins/${protein_seq_id}/subcell_location`).then(res => res.json())\n\nexport const fetchMsCoverage = (species_sn, protein_seq_id) =>\n fetch(`${apiHost}/api/${apiVersion}/${species_sn}/proteins/${protein_seq_id}/ms_coverage`).then(res => res.json())\n \nexport const fetchEvidenceSummary = (species_sn, protein_seq_id) =>\n fetch(`${apiHost}/api/${apiVersion}/${species_sn}/proteins/${protein_seq_id}/evidence_summary`).then(res => res.json())\n\nexport const fetchIDRs = protein_seq_id =>\n fetch(`${apiHost}/api/${apiVersion}/files/iupred_idrs/${protein_seq_id}.csv`).then(res => res.text())\n\nexport const getPdbUrl = protein_seq_id => {\n return `${apiHost}/api/${apiVersion}/files/predicted_structures/${protein_seq_id}.pdb`\n}\n\nexport const fetchRelatedProteins = (species_sn, protein_seq_id) =>\n fetch(`${apiHost}/api/${apiVersion}/${species_sn}/proteins/${protein_seq_id}/related_proteins`).then(res => res.json())\n\nexport const searchAccessions = (species_sn, query) =>\n speciesQuery(species_sn)(`/pre_search_by_accession/${query}`).then(\n res => {\n if (res.details === \"Not Found\") {\n return []\n }\n return res.map(a => {\n const [text, type_prefix] = a\n switch (type_prefix) {\n case \"g\": return {text, type: \"gene\"}\n case \"t\": return {text, type: \"transcript\"}\n case \"p\": return {text, type: \"protein\"}\n }\n })\n }\n )\n\n\nexport const searchProteins = (species_sn, path_encoded_query) =>\n speciesQuery(species_sn)(`/search_proteins${path_encoded_query}`).then(\n res => {\n if (res.details === \"Not Found\") {\n return []\n }\n\n return res.map(prot_row => {\n const [p, t, g, ga, ua] = prot_row.searchable_accessions.split(\";\").map(s => s.substring(3, s.length))\n prot_row.searchable_accessions = {\n p: sort(ua.split(\",\"), i => i).concat(sort(p.split(\",\"), i => i)),\n t: sort(t.split(\",\"), i => i),\n g: sort(g.split(\",\"), i => i)\n }\n return prot_row\n })\n }\n )\n\nexport const fetchOrthologs = (species_sn, protein_seq_id) =>\n speciesQuery(species_sn)(`/proteins/${protein_seq_id}/orthologs`).then(\n res => {\n if (res.details === \"Not Found\") {\n return []\n }\n\n res.forEach(o => {\n o.subject_species_sn = all_species_by_id[o.subject_species_id].sn\n })\n\n return res\n }\n )\n\nexport const fetchParalogs = (species_sn, protein_seq_id) =>\n speciesQuery(species_sn)(`/proteins/${protein_seq_id}/paralogs`).then(\n res => {\n if (res.details === \"Not Found\") {\n return []\n }\n\n return res\n }\n )\n\n\nexport const fetchRiboseq = (species_sn, protein_seq_id) =>\n speciesQuery(species_sn)(`/proteins/${protein_seq_id}/riboseq`).then(\n res => {\n if (res.details === \"Not Found\") {\n return []\n }\n\n return res\n }\n )\n\n\nexport const fetchTranscripts = (species_sn, protein_seq_id) =>\n speciesQuery(species_sn)(`/proteins/${protein_seq_id}/transcripts`).then(\n res => {\n if (res.details === \"Not Found\") {\n return []\n }\n\n return res\n }\n )\n\n\nexport const fetchProtPsms = (species_sn, protein_seq_id) =>\n speciesQuery(species_sn)(`/proteins/${protein_seq_id}/prot_psms`).then(\n res => {\n \n if (res.details === \"Not Found\") {\n return []\n }\n\n return res\n }\n )\n\n\nexport const fetchPsm = (species_sn, psm_id) => \n speciesQuery(species_sn)(`/psms/${psm_id}`).then(\n res => {\n if (res.details === \"Not Found\") {\n return []\n }\n\n return res\n }\n )\n\nexport const fetchProtDetails = (species_sn, protein_seq_id) => \n speciesQuery(species_sn)(`/proteins/${protein_seq_id}/details`).then(\n res => {\n if (res.details === \"Not Found\") {\n return []\n }\n\n return res\n }\n )\n\nexport const fetchGtex = (transcript_id) => \n fetch(`${apiHost}/api/2.0/gtex/${transcript_id}`).then(\n res => {\n if (res.details === \"Not Found\") {\n return {}\n }\n\n return res.json()\n }).then(res => {\n\n const z = res\n const correctedGtex = JSON.parse(\n z.gtex\n .replaceAll('\"', '')\n .replaceAll(\"'\", '\"')\n .replaceAll(\"(\", \"[\")\n .replaceAll(\")\", \"]\")\n ) // TODO: store valid JSON instead...\n\n z.gtex = correctedGtex\n\n return z\n }\n )\n\nexport const fetchProteinPDB = (protein_seq_id) =>\n fetch(`${apiHost}/api/2.0/files/predicted_structures/${protein_seq_id}.pdb`).then(res =>{\n if(res.ok) {\n return {pdbExists: true, pdbAsText: res.text()}\n }\n else {\n return {pdbExists: false, pdbAsText: null}\n }\n })\n\nexport const fetchDownloadFiles = species_sn =>\n speciesQuery(species_sn)(\"/downloads\").then(\n res => {\n if (res.details === \"Not Found\") {\n return []\n }\n\n res.forEach(f => {\n f.readmeUrl = `${apiHost}/api/2.0/${species_sn}/downloads/${f.fileName}.readme.html`\n f.zipUrl = `${apiHost}/api/2.0/${species_sn}/downloads/${f.fileName}.zip`\n f.fetchReadme = () => fetch(f.readmeUrl).then(res => res.text())\n })\n\n return res\n }\n )","import { useState, useEffect, useReducer, useRef } from \"react\";\nimport { listify, group, sort } from 'radash'\nimport {\n all_species,\n fetchDomains,\n fetchSlims,\n fetchParalogs,\n fetchOrthologs,\n searchAccessions,\n searchProteins,\n fetchRiboseq,\n fetchIDRs,\n fetchTranscripts,\n fetchProteinPDB,\n fetchProtPsms,\n fetchPsm,\n fetchGtex,\n fetchProtDetails,\n all_species_by_id, \n fetchDownloadFiles,\n fetchAlphaOmega,\n fetchRelatedProteins,\n fetchSubcellLoc,\n fetchMsCoverage,\n fetchExtSources,\n fetchEvidenceSummary\n} from \"./rest.js\";\n\n\n\nexport const useOpenProtConstants = () => {\n const species_by_sn = sn => all_species.find(s => s.sn === sn)\n return {\n all_species,\n species_by_sn\n }\n}\n\n\nexport const useSpeciesSelect = ({species_sn, onSelectSpecies}) => {\n\n const {all_species, species_by_sn} = useOpenProtConstants()\n\n const [selectedSpecies, setSelectedSpecies] = useState(species_by_sn(species_sn || 'HS'))\n\n return {\n all_species,\n selectedSpecies,\n setSelectedSpecies: sn => {\n const species = species_by_sn(sn)\n setSelectedSpecies(species)\n if (onSelectSpecies) {\n onSelectSpecies(species)\n }\n }\n }\n}\n\n\nexport const useDomains = protein_seq_id => {\n const [domains, setDomains] = useState({isReady: false, matches:[]})\n\n useEffect(() => {\n fetchDomains(protein_seq_id).then(res => setDomains({isReady: true, matches: res.matches}))\n }, [])\n\n return domains\n}\n\nexport const useSlims = protein_seq_id => {\n const [slims, setSlims] = useState({isReady: false, matches:[]})\n\n useEffect(() => {\n fetchSlims(protein_seq_id).then(res => setSlims({isReady: true, matches: res}))\n }, [])\n\n return slims\n}\n\nexport const useAlphaOmega = protein_seq_id => {\n const [alphaOmega, setAlphaOmega] = useState({isReady: false, alphaOrOmega:''})\n\n useEffect(() => {\n fetchAlphaOmega(protein_seq_id).then(res => setAlphaOmega({isReady: true, alphaOrOmega: res}))\n }, [])\n\n return alphaOmega\n}\n\nexport const useSubcellLoc = protein_seq_id => {\n const [SubcellLoc, setSubcellLoc] = useState({isReady: false, SubcellLoc:{}})\n\n useEffect(() => {\n fetchSubcellLoc(protein_seq_id).then(res => setSubcellLoc({isReady: true, SubcellLoc: res}))\n }, [])\n\n return SubcellLoc\n}\n\nexport const useExtSources = ({species_sn, protein_seq_id}) => {\n const [ExtSources, setExtSources] = useState({isReady_ExtS: false, Extsource:{}})\n\n useEffect(() => {\n fetchExtSources(species_sn, protein_seq_id).then(res => setExtSources({isReady_ExtS: true, Extsource: res}))\n }, [])\n\n return ExtSources\n}\n\nexport const useMsCoverage = ({species_sn, protein_seq_id}) => {\n const [coverage, setCoverage] = useState({isReady: false, coverage:{n_studies:0, n_detected_unique_peps:0, theoretical_coverage:0, detected_coverage:0}})\n\n useEffect(() => {\n fetchMsCoverage(species_sn, protein_seq_id).then(res => setCoverage({isReady: true, coverage: res}))\n }, [])\n\n return coverage\n}\n\nexport const useEvidenceSummary = ({species_sn, protein_seq_id}) => {\n const [evidenceSummary, setEvidenceSummary] = useState({isReady: false, evidence:{ms_score:0, rs_score:0, domains_detected_count:0}})\n\n useEffect(() => {\n fetchEvidenceSummary(species_sn, protein_seq_id).then(res => setEvidenceSummary({isReady: true, evidence: res}))\n }, [])\n\n return evidenceSummary\n}\n\nexport const useIdrs = protein_seq_id => {\n const [idrs, setIdr] = useState({is_ready:false, res:[]})\n\n useEffect(() => {\n fetchIDRs(protein_seq_id).then(res => setIdr({is_ready:true, res:CSVToJSON(res)}))\n }, [])\n\n return idrs\n}\n\nexport const useConservation = ({species_sn, protein_seq_id, renderSpeciesCell}) => {\n\n const [orthologs, setOrthologs] = useState([])\n\n const [paralogs, setParalogs] = useState([])\n\n const emptyRow = [...Array(14)]\n function* tableifyOrthologs(orthologRows){\n\n const cellInfoFromRow = row => [\n row.sseq_a,\n row.pident,\n row.length,\n row.mismatch,\n row.gapopen,\n row.qstart,\n row.qend,\n row.sstart,\n row.send,\n row.evalue,\n row.bitscore,\n row.qcovs,\n row.qlen,\n row.slen\n ].map(content => ({content}))\n\n const orthologsEntries = group(orthologRows, row => row.subject_species_id)\n\n const orthologRowsForAllSpecies = all_species.map(s => {\n const speciesRows = orthologsEntries[s.id]\n if(speciesRows) {\n return [s.id, speciesRows]\n }\n return [s.id, null]\n })\n\n\n for (const t of orthologRowsForAllSpecies) {\n\n const [subject_species_id, group_of_rows] = t\n\n const subject_species = all_species_by_id[subject_species_id]\n\n if(group_of_rows === null) {\n yield [\n {\n content: renderSpeciesCell(subject_species)\n },\n ...[...Array(14)].map(z => ({content: null}))\n ]\n continue\n }\n\n const [firstRow, ...remainingRows] = sort(group_of_rows, row => row.bitscore, true)\n\n yield [\n {\n rowSpan: group_of_rows.length,\n content: renderSpeciesCell(subject_species)\n },\n ...cellInfoFromRow(firstRow)\n ]\n for (const row of remainingRows) {\n yield [\n null,\n ...cellInfoFromRow(row)\n ]\n }\n }\n }\n\n\n useEffect(() => {\n fetchOrthologs(species_sn, protein_seq_id).then(res => {\n setOrthologs(Array.from(tableifyOrthologs(res)))\n })\n fetchParalogs(species_sn, protein_seq_id).then(res => setParalogs(res))\n }, [])\n\n\n return {orthologs, paralogs}\n}\n\n/*\nexport const useAccessionSearchInput = () => {\n\n const [accessions, setAccessions] = useState([])\n\n const comboboxProps = useCombobox({\n onInputValueChange: ({inputValue}) =>\n searchAccessions(\"SC\", inputValue).then(res => {\n if(res.detail == \"Not Found\") {\n setAccessions([])\n }\n else {\n setAccessions(res)\n }\n }),\n items: accessions,\n itemToString:\n accession => accession ? accession.text : '',\n onSelect: selectedItem => {\n debugger\n console.log(selectedItem)\n },\n onChange: e => {\n debugger\n console.log(e)\n }\n })\n\n return {\n ...comboboxProps,\n accessions\n }\n}\n*/\n\n\n\nconst searchReducer = (state, action) => {\n\n switch (action.type) {\n case \"init\":\n return {}\n case \"resultsReceived\": {\n return {\n ...state,\n genes: action.genes,\n transcripts: action.transcripts,\n transcript_translations: action.transcript_translations,\n proteins: action.proteins\n }\n }\n }\n}\n\n\nconst searchFiltersReducer = (state, action) => {\n\n switch (action.type) {\n case \"init\":\n return {\n a: null,\n t: null,\n e: null,\n d: null,\n _query_trigger: 0,\n _search_criterias_versions: 0\n }\n case \"a\":\n return {\n ...state,\n _query_trigger: state._query_trigger + 1,\n a: action.value\n }\n case \"t\":\n return {\n ...state,\n t: action.value,\n _search_criterias_versions: state._search_criterias_versions + 1\n }\n case \"s\":\n return {\n ...state,\n s: action.value,\n _search_criterias_versions: state._search_criterias_versions + 1\n }\n case \"e\":\n return {\n ...state,\n e: action.value,\n _search_criterias_versions: state._search_criterias_versions + 1\n }\n case \"d\":\n return {\n ...state,\n d: action.value,\n _search_criterias_versions: state._search_criterias_versions + 1\n }\n default:\n throw Error(`unknown action type ${action.type}`)\n }\n}\n\nconst encodeQueryAsPath = searchFilters => {\n\n const pathVars =\n listify(searchFilters, (k, v) => {\n if(k.startsWith(\"_\")) {\n return null\n }\n if(v === \"All\") {\n return null\n }\n if(v === \"No Filter\") {\n return null\n }\n if(v === \"\") {\n return null\n }\n return v === null ? null : `${k}/${v}`\n })\n .filter(i => i)\n\n if(pathVars.length === 0) {\n return \"\"\n }\n else {\n return \"/\" + pathVars.join(\"/\")\n }\n}\n\n\n\nexport const useSeachProteins = ({species_sn}) => {\n\n const [queryInProgress, setQueryInProgress] = useState(false)\n\n const [proteinQueryResult, setProteinQueryResult] = useState(null)\n\n const [searchFilters, searchFiltersDispatcher] = useReducer(\n searchFiltersReducer,\n searchFiltersReducer(null, {type: 'init'})\n )\n\n useEffect(() => {\n if(searchFilters._query_trigger > 0) {\n const ec = encodeQueryAsPath(searchFilters)\n setQueryInProgress(true)\n searchProteins(species_sn, ec).then(res => {\n\n const query = searchFilters.a ? searchFilters.a.toUpperCase() : \"\"\n\n res.forEach(row => {\n\n const isExactMatch =\n row.searchable_accessions.p.find(a => query === a.replace('*', '')) ||\n row.searchable_accessions.t.find(a => query === a.replace('*', '')) ||\n row.searchable_accessions.g.find(a => query === a.replace('*', '')) ? 1 : 0\n\n row.sort_key = isExactMatch * 100000 + row.combined_evidence_score\n })\n\n setProteinQueryResult(sort(\n res,\n row => row.sort_key,\n true\n ))\n setQueryInProgress(false)\n })\n }\n }, [`${searchFilters._query_trigger}-${searchFilters._search_criterias_versions}`])\n\n\n return {\n proteinQueryResult,\n setAccessionPattern: p => searchFiltersDispatcher({type: \"a\", value: p}),\n accessionPattern: searchFilters.a,\n setProteinType: t => searchFiltersDispatcher({type: \"t\", value: t}),\n proteinType: searchFilters.t,\n setExperimentalEvidence: e => searchFiltersDispatcher({type: \"e\", value: e}),\n experimentalEvidence: searchFilters.e,\n setWithDomains: d => searchFiltersDispatcher({type: \"d\", value: d}),\n withDomains: searchFilters.d,\n setAnnotationSource: s => searchFiltersDispatcher({type: \"s\", value: s}),\n annotationSource: searchFilters.s,\n queryInProgress\n }\n}\nexport const useFetchProtPsms = ({species_sn, protein_seq_id}) => {\n \n const [response, setResponse] = useState({isReady: false, prot_psms: []})\n \n useEffect(() => {\n fetchProtPsms(species_sn, protein_seq_id).then(res => {\n \n setResponse({isReady: true, prot_psms: res})\n \n })\n }, [])\n\n return {\n ...response\n }\n}\n\nexport const useFetchPsm = () => {\n\n const [response, setResponse] = useState({isReady: false, psm: {}})\n\n return {\n ...response,\n fetchPsm:(species_sn, psm_id) => {\n fetchPsm(species_sn, psm_id).then(res => {\n setResponse({isReady: true, psm: res})\n })\n }\n }\n}\n\nexport const useFetchGtex = ({transcript, paintSvg}) => {\n\n const [gtext_data, set_gtext_data] = useState(null)\n\n const [svgNode, setSVGNode] = useState(null)\n\n const [isLoading, setIsLoading] = useState(false)\n\n const [counter, setCounter] = useState(0)\n\n const incCounter = () => setCounter(counter + 1)\n\n useEffect(() => {\n fetchGtex(transcript.transcript_id).then(res => {\n setIsLoading(true)\n set_gtext_data(res)\n incCounter()\n setIsLoading(false)\n })\n }, [transcript.transcript_id])\n\n useEffect(() => {\n if(svgNode !== null && gtext_data !== null) {\n paintSvg(svgNode, gtext_data, accessionFromServer => `${transcript.accession}`)\n }\n }, [counter])\n\n return {\n setSVGNode,\n isLoading\n }\n}\n\nexport const useFetchProtDetails = ({species_sn, protein_seq_id}) => {\n\n const [response, setResponse] = useState({isReady: false, data: {}})\n\n useEffect(() => {\n fetchProtDetails(species_sn, protein_seq_id).then(res => setResponse({isReady: true, data: res}))\n }, [])\n\n return {\n ...response\n }\n}\n\nexport const useFetchProteinTranscripts = ({species_sn, protein_seq_id}) => {\n\n const [response, setResponse] = useState({isReady: false, rows: []})\n\n useEffect(() => {\n fetchTranscripts(species_sn, protein_seq_id).then(res => setResponse({isReady: true, rows: res}))\n }, [])\n\n return {\n ...response\n }\n}\n\nexport const useFetchRelatedProteins = ({species_sn, protein_seq_id}) => {\n\n const [relatedProts, setRelatedProts] = useState({isReady: false, relatedProts: []})\n\n useEffect(() => {\n fetchRelatedProteins(species_sn, protein_seq_id).then(res => setRelatedProts({isReady: true, relatedProts: res}))\n }, [])\n\n return {\n ...relatedProts\n }\n}\n\nexport const useFetchRiboseqData =\n ({species_sn, protein_seq_id, renderStudy, renderSamples}) => {\n\n function* tableify({\n studies_by_id, price_detected_tts, sample_data_by_price_data_id,\n transcript_accessions, transcript_translation_accessions\n }){\n\n const _renderStudy = study_id => renderStudy(studies_by_id[study_id])\n const renderAnnotationSource = row => row.annotation_source === \"e\" ? \"Ensembl\" : \"Refseq\"\n const renderCodon = row => row.codon\n const renderType = row => row.type\n const startScore = row => row.start_score\n const rangeScore = row => row.range_score\n const pValue = row => row.pvalue\n const samples = row =>\n renderSamples(sample_data_by_price_data_id[row.r_price_data_id])\n const totalValue = row => row.total_value\n const transcriptProtein = row =>\n `${transcript_accessions[row.transcript_id]} : ${transcript_translation_accessions[row.transcript_translation_id]}`\n const percent = row => `${row.percent} %`\n\n const cellInfoFromRow = row => [\n renderAnnotationSource,\n renderCodon,\n renderType,\n startScore,\n rangeScore,\n pValue,\n samples,\n totalValue,\n transcriptProtein,\n percent\n ].map(f => ({content: f(row)}))\n\n for (const [study_id, group_of_rows] of Object.entries(group(price_detected_tts, row => row.study_id))) {\n const [firstRow, ...remainingRows] = group_of_rows\n yield [\n {\n rowSpan: group_of_rows.length,\n content: _renderStudy(study_id)\n },\n ...cellInfoFromRow(firstRow)\n ]\n for (const row of remainingRows) {\n yield [\n null,\n ...cellInfoFromRow(row)\n ]\n }\n }\n }\n\n const [data, setData] = useState({isReady: false, rows: []})\n\n useEffect(() => {\n fetchRiboseq(species_sn, protein_seq_id).then(res => {\n setData({\n isReady: true,\n rows: Array.from(tableify(res))\n })\n })\n },[])\n\n return data\n}\n\nconst CSVToJSON = (data, delimiter = ',') => {\n const titles = data.slice(0, data.indexOf('\\n')).split(delimiter);\n return data\n .slice(data.indexOf('\\n') + 1)\n .split('\\n')\n .map(v => {\n const values = v.split(delimiter);\n return titles.reduce(\n (obj, title, index) => ((obj[title] = values[index]), obj),\n {}\n );\n });\n };\n\nexport const use3DMolViewer = ({protein_seq_id}) => {\n const viewerElementRef = useRef()\n const [pdbNotFound, setPdbNotFound] = useState(true)\n\n useEffect(() => {\n const element = viewerElementRef.current\n const viewer = $3Dmol.createViewer(element)\n //const pdb = \"https://api.openprot.org/api/2.0/files/predicted_structures/2265166.pdb\"\n //const pdb = \"https://files.rcsb.org/view/2POR.pdb\"//\n fetchProteinPDB(protein_seq_id).then(res => {\n if(res.pdbExists) {\n setPdbNotFound(false)\n res.pdbAsText.then(pdbText => {\n viewer.addModel(pdbText, \"pdb\" )\n viewer.setStyle({}, {cartoon: {colorscheme:{prop: 'b', gradient:'linear', min: 0, max: 100, colors: [\"#FF7D45\", \"#FF7D45\", \"#FF7D45\", \"#FF7D45\", \"#FF7D45\",\"#FFDB13\", \"#FFDB13\",\"#55CAF9\", \"#55CAF9\", \"#0053D6\"]}}})\n viewer.render()\n const canvas = element.getElementsByTagName(\"canvas\")[0]\n canvas.style.position = null\n })\n }\n else {\n setPdbNotFound(true)\n }\n })\n }, [])\n\n return {\n viewerElementRef,\n pdbNotFound\n }\n}\n\nconst downloadsReducer = (state, action) => {\n\n\n const filterTableData = nextState => {\n\n\n const r = ({\n ...nextState,\n selectedSpeciesInfo: {\n ...nextState.selectedSpeciesInfo,\n tableData: Array.from(tableifyDownloadFiles(nextState.selectedSpeciesInfo.fileList.filter(\n f => {\n const s = nextState.filters.annotationSources\n if (s !== \"a\" && f.annotationSources !== s) {\n return false\n }\n const pt = nextState.filters.proteinTypes\n if(f.proteinTypes !== pt) {\n return false\n }\n return true\n }\n )))\n }\n })\n\n return r\n }\n\n const availableAnnotationSourcesOptions = [\n {value: \"a\", label: \"All\"},\n {value: \"e\", label: \"Ensembl\"},\n {value: \"r\", label: \"Refseq\"}\n ]\n\n const availableProteinTypesOptions = [\n {value: \"altprots+isoforms\", label: \"Altprots and Isoforms\"},\n {value: \"refprots+altprots+isoforms\", label: \"Altprots, Isoforms and Refprots\"}\n ]\n\n switch (action.type) {\n case \"init\":\n return {\n isReady: false,\n isLoading: false,\n filters: {\n annotationSources: \"a\",\n proteinTypes: \"refprots+altprots+isoforms\"\n },\n availableAnnotationSourcesOptions,\n availableProteinTypesOptions,\n selectedSpeciesInfo: {}\n }\n case \"setIsLoading\":\n return {\n ...state,\n isLoading: true\n }\n case \"receiveSelectedSpeciesInfo\":\n return filterTableData({\n ...state,\n isReady: true,\n isLoading: false,\n selectedSpeciesInfo: {\n species_sn: action.species_sn,\n fileList: action.fileList\n }\n })\n case 'setSupportingEvidence':\n return filterTableData({\n ...state,\n selectedSpeciesInfo: {\n species_sn: action.species_sn,\n fileList: action.fileList\n }\n })\n case 'setAnnotationSource':\n\n const nextAvailableProtTypesOptions =\n action.code === \"a\" ?\n availableProteinTypesOptions :\n [availableProteinTypesOptions[0]]\n\n const nextSelectedProteinType =\n action.code === \"a\" ?\n state.filters.proteinTypes :\n nextAvailableProtTypesOptions[0].value\n\n return filterTableData({\n ...state,\n filters: {\n //...state.filters,\n proteinTypes: nextSelectedProteinType,\n annotationSources: action.code\n },\n availableProteinTypesOptions: nextAvailableProtTypesOptions\n })\n case 'setProteinTypes':\n return filterTableData({\n ...state,\n filters: {\n ...state.filters,\n proteinTypes: action.proteinTypes\n }\n })\n default:\n throw Error(`unknown action type ${action.type}`)\n }\n}\n\n\nfunction* tableifyDownloadFiles(downloadFiles){\n\n const groupedByAnnotations = sort(\n listify(group(downloadFiles, f => f.annotationSources), (k, v) => [k, v]),\n g => g[0]\n )\n\n for (const t of groupedByAnnotations) {\n\n const [annotations, filesInAnnotations] = t\n\n const [firstRow, ...remainingRows] = filesInAnnotations\n\n yield {\n hasFirstCol: true,\n firstColRowSpan: filesInAnnotations.length,\n file: firstRow\n }\n\n for (const row of remainingRows) {\n yield {\n hasFirstCol: false,\n file: row\n }\n }\n }\n}\n\n\nexport const useDownloads = ({species_sn}) => {\n\n const [selectedSpeciesSn, setSelectedSpeciesSn] = useState(species_sn)\n\n const [downloads, downloadsDispatcher] = useReducer(\n downloadsReducer,\n downloadsReducer(null, {type: 'init'})\n )\n\n useEffect(() => {\n downloadsDispatcher({type: 'setIsLoading'})\n fetchDownloadFiles(selectedSpeciesSn).then(fileList => {\n downloadsDispatcher({\n type: 'receiveSelectedSpeciesInfo',\n species_sn: 'HS',\n fileList: fileList\n })\n })\n }, [selectedSpeciesSn])\n\n return {\n selectedSpeciesSn,\n setSelectedSpeciesSn,\n downloads,\n setAnnotationSource: code =>\n downloadsDispatcher({\n type: 'setAnnotationSource',\n code\n }),\n setProteinTypes: proteinTypes =>\n downloadsDispatcher({\n type: 'setProteinTypes',\n proteinTypes\n })\n }\n}","\n\nexport default ({label, onChange, value, children}) =>\n <>\n \n \n {children}\n \n ","\nimport {useSpeciesSelect} from \"../hooks.js\";\nimport Select from \"../widgets/Select.jsx\";\n\nexport default ({species_sn, onSelectSpecies}) => {\n\n const {\n all_species,\n setSelectedSpecies,\n selectedSpecies\n } = useSpeciesSelect({species_sn, onSelectSpecies})\n\n return (\n setSelectedSpecies(e.target.value)}\n value={selectedSpecies.sn}\n >\n {all_species.map((species, idx) =>\n \n {species.sc}\n \n )}\n \n )\n}\n","\nexport default ({label, value, onChange}) => {\n if (!onChange) {\n onChange = () => {}\n }\n const id = `cb-${label}`\n return
\n onChange(e)}\n className=\"w-4 h-4 text-blue-600 bg-gray-100 border-gray-300 rounded focus:ring-blue-500\"\n />\n \n
\n}","import React, { useEffect, useState, useContext, useReducer } from \"react\";\nimport {useLoaderData, useNavigate} from \"react-router-dom\";\nimport ScreenWithSidebar from \"../components/ScreenWithSidebar.jsx\";\nimport SearchInput from \"../components/SearchInput.jsx\";\nimport ProteinTable from \"../components/ProteinTable.jsx\";\nimport SpeciesSelect from \"../components/SpeciesSelect.jsx\";\nimport {OpenProtGlobalContext} from \"../../main.jsx\";\nimport Select from \"../widgets/Select.jsx\";\nimport Checkbox from \"../widgets/Checkbox.jsx\";\nimport {useSeachProteins} from \"../hooks.js\";\nimport {SpinnerLayer} from \"../widgets/Spinner.jsx\";\n\n\nconst Search = ({}) => {\n\n const species_sn = useLoaderData()\n\n const navigate = useNavigate()\n\n const {\n proteinQueryResult,\n setAccessionPattern,\n proteinType,\n setProteinType,\n setExperimentalEvidence,\n experimentalEvidence,\n setWithDomains,\n withDomains,\n annotationSource,\n setAnnotationSource,\n queryInProgress\n } = useSeachProteins({species_sn})\n\n const {globalState} = useContext(OpenProtGlobalContext)\n\n useEffect(() => {\n if(globalState.lastQuery) {\n setAccessionPattern(globalState.lastQuery)\n }\n }, [])\n\n const SidebarPanel = () =>\n
\n Filters\n navigate(`/proteins/${species.sn}`)}\n />\n setExperimentalEvidence(e.target.value)}\n value={experimentalEvidence}\n >\n \n \n \n \n \n setProteinType(e.target.value)}\n value={proteinType}\n >\n \n \n \n \n \n setAnnotationSource(e.target.value)}\n value={annotationSource}\n >\n \n \n \n \n setWithDomains(e.target.checked ? 'y' : null)\n }\n />\n
\n\n const renderSearchResults = () => {\n\n if(proteinQueryResult === null) {\n return null\n }\n\n if(proteinQueryResult.length === 0) {\n return
No proteins found
\n }\n\n return
\n \n { queryInProgress && }\n
\n }\n\n return (\n }\n >\n
\n {\n setAccessionPattern(accession_pattern)\n }}\n inProgress={queryInProgress}\n />\n
\n
\n {renderSearchResults()}\n
\n \n )\n}\n\nexport default Search\n","import { useMemo } from \"react\";\nimport {useDomains} from \"../hooks.js\";\nimport {\n createColumnHelper,\n flexRender,\n getCoreRowModel,\n useReactTable\n } from \"react-table\";\n \nimport Link from \"../widgets/Link.jsx\";\nimport { HeaderWithModal } from \"../utils.jsx\"\n\nconst columnHelper = createColumnHelper()\n\nconst DomainsTile = ({protein_seq_id}) => {\n\n const {isReady, matches} = useDomains(protein_seq_id)\n\n const columns = useMemo(() => [\n columnHelper.accessor(\n row => row,\n {\n id: \"interpro accession\",\n header: () => interpro accession,\n cell: info => {\n const d = info.getValue()\n if (d.signature.entry) {\n return \n }\n }\n }\n ),\n columnHelper.accessor(\n row => row,\n {\n id: \"source accession\",\n header: () => source accession,\n cell: info => {\n const d = info.getValue()\n return d.signature.accession\n }\n }\n ),\n columnHelper.accessor(\n row => row,\n {\n id: \"description\",\n header: () => description,\n cell: info => info.getValue().signature.description\n }\n ),\n columnHelper.accessor(\n row => row,\n {\n id: \"description\",\n header: () => library,\n cell: info => {\n const l = info.getValue().signature.signatureLibraryRelease\n return `${l.library} ${l.version}`\n }\n }\n ),\n columnHelper.accessor(\n row => row,\n {\n id: \"location\",\n header: () => location,\n cell: info => {\n const d = info.getValue()\n if (d.locations) {\n return `${d.locations[0].start} - ${d.locations[0].end}`\n }\n }\n }\n ),\n columnHelper.accessor(\n row => row,\n {\n id: \"score\",\n header: () => score,\n cell: info => info.getValue().score\n }\n )\n ], [])\n\n const table = useReactTable({\n data: matches,\n columns,\n getCoreRowModel: getCoreRowModel()\n })\n\n if(!isReady) {\n return ...loading\n }\n\n if(!matches) {\n return
No Predicted Domains
\n }\nconsole.log(matches)\n return (\n
\n
\n \n

Table of domains identified with InterProScan.

\n

Column Descriptions:

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
ColumnDescription
Interpro AccessionThe InterProScan accession entry for\n the match\n
Source AccessionThe Accession of the source database of\n the match\n
DescriptionA description to give an idea of the\n nature of the match\n
LibraryThe interpro scan module\n
LocationThe location of the match on the amino\n acid sequence\n
ScoreDomain score by InterProScan
\n
\n
\n \n \n {table.getHeaderGroups().map(headerGroup => (\n \n {headerGroup.headers.map(header => (\n \n ))}\n \n ))}\n \n \n {table.getRowModel().rows.map(row => (\n \n {row.getVisibleCells().map(cell => (\n \n ))}\n \n ))}\n \n
\n {header.isPlaceholder\n ? null\n : flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n
\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n
\n
\n);\n}\n\nexport default DomainsTile","import { useMemo } from \"react\";\r\nimport {useSlims} from \"../hooks.js\";\r\nimport {\r\n createColumnHelper,\r\n flexRender,\r\n getCoreRowModel,\r\n useReactTable\r\n } from \"react-table\";\r\n \r\nimport Link from \"../widgets/Link.jsx\";\r\nimport { HeaderWithModal } from \"../utils.jsx\"\r\n\r\nconst columnHelper = createColumnHelper()\r\n\r\nconst SlimsTile = ({protein_seq_id}) => {\r\n\r\n const {isReady, matches} = useSlims(protein_seq_id)\r\n\r\n const columns = useMemo(() => [\r\n columnHelper.accessor(\r\n row => row,\r\n {\r\n id: \"ELM id\",\r\n header: () => ELM id,\r\n cell: info => {\r\n const d = info.getValue()\r\n if (d) {\r\n return \r\n }\r\n }\r\n }\r\n ),\r\n columnHelper.accessor(\r\n row => row,\r\n {\r\n id: \"motif sequence\",\r\n header: () => motif sequence,\r\n cell: info => {\r\n const d = info.getValue()\r\n return d.slim_seq\r\n }\r\n }\r\n ),\r\n columnHelper.accessor(\r\n row => row,\r\n {\r\n id: \"description\",\r\n header: () => description,\r\n cell: info => info.getValue().Description\r\n }\r\n ),\r\n columnHelper.accessor(\r\n row => row,\r\n {\r\n id: \"position\",\r\n header: () => position,\r\n cell: info => {\r\n const d = info.getValue()\r\n return `${d.slim_start} - ${d.slim_end}`\r\n }\r\n }\r\n ),\r\n columnHelper.accessor(\r\n row => row,\r\n {\r\n id: \"score\",\r\n header: () => score,\r\n cell: info => info.getValue().Probability.toExponential(2)\r\n }\r\n )\r\n ], [])\r\n\r\n const table = useReactTable({\r\n data: matches,\r\n columns,\r\n getCoreRowModel: getCoreRowModel()\r\n })\r\n\r\n if(!isReady) {\r\n return ...loading\r\n }\r\n\r\n if(!matches | matches.length==0) {\r\n return (\r\n
\r\n
\r\n

Predicted Short Linear Motifs by ELM

\r\n
\r\n
no detected SLIMs in this sequence
\r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n

SLIM Prediction by ELM. \r\n See the documentation for more details on the method.

\r\n

ELM developers warn against a probable high false positive rate. Context is important when interpreting the result. See the ELM help page for more details.

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
ColumnDescription
ELM IDThe ID of the ELM class detected, click to view details on ELM website.
Motif Sequence The motif detected on the protein that fits the regular expression.
Description A short description of the ELM class.
Position The start and end positions of the motif on the amino acid sequence.
Score Probability of finding the motif on a random amino acid sequence. A lower score means a lower chance of false positive. See the ELM help page for more details.
\r\n

\r\n\r\n
\r\n
\r\n \r\n \r\n {table.getHeaderGroups().map(headerGroup => (\r\n \r\n {headerGroup.headers.map(header => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n \r\n {table.getRowModel().rows.map(row => (\r\n \r\n {row.getVisibleCells().map(cell => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n
\r\n {header.isPlaceholder\r\n ? null\r\n : flexRender(\r\n header.column.columnDef.header,\r\n header.getContext()\r\n )}\r\n
\r\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default SlimsTile","/* esm.sh - esbuild bundle(d3-selection@3.0.0) denonext production */\nvar E=\"http://www.w3.org/1999/xhtml\",N={svg:\"http://www.w3.org/2000/svg\",xhtml:E,xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\",xmlns:\"http://www.w3.org/2000/xmlns/\"};function x(t){var e=t+=\"\",r=e.indexOf(\":\");return r>=0&&(e=t.slice(0,r))!==\"xmlns\"&&(t=t.slice(r+1)),N.hasOwnProperty(e)?{space:N[e],local:t}:t}function Vt(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===E&&e.documentElement.namespaceURI===E?e.createElement(t):e.createElementNS(r,t)}}function Ft(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function d(t){var e=x(t);return(e.local?Ft:Vt)(e)}function Bt(){}function g(t){return t==null?Bt:function(){return this.querySelector(t)}}function H(t){typeof t!=\"function\"&&(t=g(t));for(var e=this._groups,r=e.length,i=new Array(r),n=0;n=C&&(C=y+1);!(k=I[C])&&++C<_;);O._next=k||null}}return f=new a(f,i),f._enter=l,f._exit=u,f}function zt(t){return typeof t==\"object\"&&\"length\"in t?t:Array.from(t)}function Q(){return new a(this._exit||this._groups.map(b),this._parents)}function W(t,e,r){var i=this.enter(),n=this,o=this.exit();return typeof t==\"function\"?(i=t(i),i&&(i=i.selection())):i=i.append(t+\"\"),e!=null&&(n=e(n),n&&(n=n.selection())),r==null?o.remove():r(o),i&&n?i.merge(n).order():n}function Z(t){for(var e=t.selection?t.selection():t,r=this._groups,i=e._groups,n=r.length,o=i.length,f=Math.min(n,o),l=new Array(n),u=0;u=0;)(f=i[n])&&(o&&f.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(f,o),o=f);return this}function j(t){t||(t=Yt);function e(h,m){return h&&m?t(h.__data__,m.__data__):!h-!m}for(var r=this._groups,i=r.length,n=new Array(i),o=0;oe?1:t>=e?0:NaN}function tt(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function et(){return Array.from(this)}function rt(){for(var t=this._groups,e=0,r=t.length;e1?this.each((e==null?$t:typeof e==\"function\"?te:jt)(t,e,r??\"\")):ut(this.node(),t)}function ut(t,e){return t.style.getPropertyValue(e)||A(t).getComputedStyle(t,null).getPropertyValue(e)}function ee(t){return function(){delete this[t]}}function re(t,e){return function(){this[t]=e}}function ne(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function st(t,e){return arguments.length>1?this.each((e==null?ee:typeof e==\"function\"?ne:re)(t,e)):this.node()[t]}function ct(t){return t.trim().split(/^|\\s+/)}function B(t){return t.classList||new at(t)}function at(t){this._node=t,this._names=ct(t.getAttribute(\"class\")||\"\")}at.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute(\"class\",this._names.join(\" \")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute(\"class\",this._names.join(\" \")))},contains:function(t){return this._names.indexOf(t)>=0}};function pt(t,e){for(var r=B(t),i=-1,n=e.length;++i=0&&(r=e.slice(i+1),e=e.slice(0,i)),{type:e,name:r}})}function we(t){return function(){var e=this.__on;if(e){for(var r=0,i=-1,n=e.length,o;rq(r,e))}function Ve(t){return typeof t==\"string\"?new a([document.querySelectorAll(t)],[document.documentElement]):new a([v(t)],S)}export{Le as create,d as creator,P as local,F as matcher,x as namespace,N as namespaces,q as pointer,Re as pointers,M as select,Ve as selectAll,Ne as selection,g as selector,V as selectorAll,ut as style,A as window};\n//# sourceMappingURL=d3-selection.mjs.map","/* esm.sh - esbuild bundle(d3-axis@3.0.0) denonext production */\nfunction R(t){return t}var z=1,F=2,C=3,k=4,B=1e-6;function L(t){return\"translate(\"+t+\",0)\"}function O(t){return\"translate(0,\"+t+\")\"}function T(t){return r=>+t(r)}function N(t,r){return r=Math.max(0,t.bandwidth()-r*2)/2,t.round()&&(r=Math.round(r)),l=>+t(l)+r}function X(){return!this.__axis}function V(t,r){var l=[],m=null,h=null,c=6,a=6,b=3,e=typeof Deno <\"u\"&&window.devicePixelRatio>1?0:.5,o=t===z||t===k?-1:1,x=t===k||t===F?\"x\":\"y\",S=t===z||t===C?L:O;function i(n){var E=m??(r.ticks?r.ticks.apply(r,l):r.domain()),I=h??(r.tickFormat?r.tickFormat.apply(r,l):R),P=Math.max(c,0)+b,H=r.range(),y=+H[0]+e,A=+H[H.length-1]+e,v=(r.bandwidth?N:T)(r.copy(),e),g=n.selection?n.selection():n,f=g.selectAll(\".domain\").data([null]),u=g.selectAll(\".tick\").data(E,r).order(),_=u.exit(),M=u.enter().append(\"g\").attr(\"class\",\"tick\"),p=u.select(\"line\"),d=u.select(\"text\");f=f.merge(f.enter().insert(\"path\",\".tick\").attr(\"class\",\"domain\").attr(\"stroke\",\"currentColor\")),u=u.merge(M),p=p.merge(M.append(\"line\").attr(\"stroke\",\"currentColor\").attr(x+\"2\",o*c)),d=d.merge(M.append(\"text\").attr(\"fill\",\"currentColor\").attr(x,o*P).attr(\"dy\",t===z?\"0em\":t===C?\"0.71em\":\"0.32em\")),n!==g&&(f=f.transition(n),u=u.transition(n),p=p.transition(n),d=d.transition(n),_=_.transition(n).attr(\"opacity\",B).attr(\"transform\",function(s){return isFinite(s=v(s))?S(s+e):this.getAttribute(\"transform\")}),M.attr(\"opacity\",B).attr(\"transform\",function(s){var w=this.parentNode.__axis;return S((w&&isFinite(w=w(s))?w:v(s))+e)})),_.remove(),f.attr(\"d\",t===k||t===F?a?\"M\"+o*a+\",\"+y+\"H\"+e+\"V\"+A+\"H\"+o*a:\"M\"+e+\",\"+y+\"V\"+A:a?\"M\"+y+\",\"+o*a+\"V\"+e+\"H\"+A+\"V\"+o*a:\"M\"+y+\",\"+e+\"H\"+A),u.attr(\"opacity\",1).attr(\"transform\",function(s){return S(v(s)+e)}),p.attr(x+\"2\",o*c),d.attr(x,o*P).text(I),g.filter(X).attr(\"fill\",\"none\").attr(\"font-size\",10).attr(\"font-family\",\"sans-serif\").attr(\"text-anchor\",t===F?\"start\":t===k?\"end\":\"middle\"),g.each(function(){this.__axis=v})}return i.scale=function(n){return arguments.length?(r=n,i):r},i.ticks=function(){return l=Array.from(arguments),i},i.tickArguments=function(n){return arguments.length?(l=n==null?[]:Array.from(n),i):l.slice()},i.tickValues=function(n){return arguments.length?(m=n==null?null:Array.from(n),i):m&&m.slice()},i.tickFormat=function(n){return arguments.length?(h=n,i):h},i.tickSize=function(n){return arguments.length?(c=a=+n,i):c},i.tickSizeInner=function(n){return arguments.length?(c=+n,i):c},i.tickSizeOuter=function(n){return arguments.length?(a=+n,i):a},i.tickPadding=function(n){return arguments.length?(b=+n,i):b},i.offset=function(n){return arguments.length?(e=+n,i):e},i}function Y(t){return V(z,t)}function j(t){return V(F,t)}function q(t){return V(C,t)}function D(t){return V(k,t)}export{q as axisBottom,D as axisLeft,j as axisRight,Y as axisTop};\n//# sourceMappingURL=d3-axis.mjs.map","/* esm.sh - esbuild bundle(d3-array@3.2.4) denonext production */\nfunction s(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function H(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function F(e){let t,n,o;e.length!==2?(t=s,n=(u,c)=>s(e(u),c),o=(u,c)=>e(u)-c):(t=e===s||e===H?e:Xe,n=e,o=e);function r(u,c,l=0,m=u.length){if(l>>1;n(u[d],c)<0?l=d+1:m=d}while(l>>1;n(u[d],c)<=0?l=d+1:m=d}while(ll&&o(u[d-1],c)>-o(u[d],c)?d-1:d}return{left:r,center:i,right:f}}function Xe(){return 0}function b(e){return e===null?NaN:+e}function*ce(e,t){if(t===void 0)for(let n of e)n!=null&&(n=+n)>=n&&(yield n);else{let n=-1;for(let o of e)(o=t(o,++n,e))!=null&&(o=+o)>=o&&(yield o)}}var de=F(s),ae=de.right,Ye=de.left,Ze=F(b).center,re=ae;function $e(e,t){if(!((t=+t)>=0))throw new RangeError(\"invalid r\");let n=e.length;if(!((n=Math.floor(n))>=0))throw new RangeError(\"invalid length\");if(!n||!t)return e;let o=oe(t),r=e.slice();return o(e,r,0,n,1),o(r,e,0,n,1),o(e,r,0,n,1),e}var ve=me(oe),et=me(tt);function me(e){return function(t,n,o=n){if(!((n=+n)>=0))throw new RangeError(\"invalid rx\");if(!((o=+o)>=0))throw new RangeError(\"invalid ry\");let{data:r,width:f,height:i}=t;if(!((f=Math.floor(f))>=0))throw new RangeError(\"invalid width\");if(!((i=Math.floor(i!==void 0?i:r.length/f))>=0))throw new RangeError(\"invalid height\");if(!f||!i||!n&&!o)return t;let u=n&&e(n),c=o&&e(o),l=r.slice();return u&&c?(N(u,l,r,f,i),N(u,r,l,f,i),N(u,l,r,f,i),q(c,r,l,f,i),q(c,l,r,f,i),q(c,r,l,f,i)):u?(N(u,r,l,f,i),N(u,l,r,f,i),N(u,r,l,f,i)):c&&(q(c,r,l,f,i),q(c,l,r,f,i),q(c,r,l,f,i)),t}}function N(e,t,n,o,r){for(let f=0,i=o*r;f{r<<=2,f<<=2,i<<=2,t(n,o,r+0,f+0,i),t(n,o,r+1,f+1,i),t(n,o,r+2,f+2,i),t(n,o,r+3,f+3,i)}}function oe(e){let t=Math.floor(e);if(t===e)return nt(e);let n=e-t,o=2*e+1;return(r,f,i,u,c)=>{if(!((u-=c)>=i))return;let l=t*f[i],m=c*t,d=m+c;for(let a=i,p=i+m;a{if(!((f-=i)>=r))return;let u=e*o[r],c=i*e;for(let l=r,m=r+c;l=o&&++n;else{let o=-1;for(let r of e)(r=t(r,++o,e))!=null&&(r=+r)>=r&&++n}return n}function rt(e){return e.length|0}function ot(e){return!(e>0)}function ft(e){return typeof e!=\"object\"||\"length\"in e?e:Array.from(e)}function it(e){return t=>e(...t)}function se(...e){let t=typeof e[e.length-1]==\"function\"&&it(e.pop());e=e.map(ft);let n=e.map(rt),o=e.length-1,r=new Array(o+1).fill(0),f=[];if(o<0||n.some(ot))return f;for(;;){f.push(r.map((u,c)=>e[c][u]));let i=o;for(;++r[i]===n[i];){if(i===0)return t?f.map(t):f;r[i--]=0}}}function pe(e,t){var n=0,o=0;return Float64Array.from(e,t===void 0?r=>n+=+r||0:r=>n+=+t(r,o++,e)||0)}function J(e,t){let n=0,o,r=0,f=0;if(t===void 0)for(let i of e)i!=null&&(i=+i)>=i&&(o=i-r,r+=o/++n,f+=o*(i-r));else{let i=-1;for(let u of e)(u=t(u,++i,e))!=null&&(u=+u)>=u&&(o=u-r,r+=o/++n,f+=o*(u-r))}if(n>1)return f/(n-1)}function K(e,t){let n=J(e,t);return n&&Math.sqrt(n)}function E(e,t){let n,o;if(t===void 0)for(let r of e)r!=null&&(n===void 0?r>=r&&(n=o=r):(n>r&&(n=r),o=f&&(n=o=f):(n>f&&(n=f),o0){for(i=t[--n];n>0&&(o=i,r=t[--n],i=o+r,f=r-(i-o),!f););n>0&&(f<0&&t[n-1]<0||f>0&&t[n-1]>0)&&(r=f*2,o=i+r,r==o-i&&(i=o))}return i}};function ut(e,t){let n=new V;if(t===void 0)for(let o of e)(o=+o)&&n.add(o);else{let o=-1;for(let r of e)(r=+t(r,++o,e))&&n.add(r)}return+n}function lt(e,t){let n=new V,o=-1;return Float64Array.from(e,t===void 0?r=>n.add(+r||0):r=>n.add(+t(r,++o,e)||0))}import{InternMap as ct}from\"/v127/internmap@2.0.3/denonext/internmap.mjs\";function h(e){return e}function P(e,...t){return S(e,h,h,t)}function xe(e,...t){return S(e,Array.from,h,t)}function he(e,t){for(let n=1,o=t.length;nr.pop().map(([f,i])=>[...r,f,i]));return e}function dt(e,...t){return he(xe(e,...t),t)}function at(e,t,...n){return he(ge(e,t,...n),n)}function fe(e,t,...n){return S(e,h,t,n)}function ge(e,t,...n){return S(e,Array.from,t,n)}function mt(e,...t){return S(e,h,we,t)}function st(e,...t){return S(e,Array.from,we,t)}function we(e){if(e.length!==1)throw new Error(\"duplicate key\");return e[0]}function S(e,t,n,o){return function r(f,i){if(i>=o.length)return n(f);let u=new ct,c=o[i++],l=-1;for(let m of f){let d=c(m,++l,f),a=u.get(d);a?a.push(m):u.set(d,[m])}for(let[m,d]of u)u.set(m,r(d,i));return t(u)}(e,0)}function Q(e,t){return Array.from(t,n=>e[n])}function L(e,...t){if(typeof e[Symbol.iterator]!=\"function\")throw new TypeError(\"values is not iterable\");e=Array.from(e);let[n]=t;if(n&&n.length!==2||t.length>1){let o=Uint32Array.from(e,(r,f)=>f);return t.length>1?(t=t.map(r=>e.map(r)),o.sort((r,f)=>{for(let i of t){let u=g(i[r],i[f]);if(u)return u}})):(n=e.map(n),o.sort((r,f)=>g(n[r],n[f]))),Q(e,o)}return e.sort(O(n))}function O(e=s){if(e===s)return g;if(typeof e!=\"function\")throw new TypeError(\"compare is not a function\");return(t,n)=>{let o=e(t,n);return o||o===0?o:(e(n,n)===0)-(e(t,t)===0)}}function g(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}function Me(e,t,n){return(t.length!==2?L(fe(e,t,n),([o,r],[f,i])=>s(r,i)||s(o,f)):L(P(e,n),([o,r],[f,i])=>t(r,i)||s(o,f))).map(([o])=>o)}var ye=Array.prototype,be=ye.slice,un=ye.map;function C(e){return()=>e}var pt=Math.sqrt(50),xt=Math.sqrt(10),ht=Math.sqrt(2);function W(e,t,n){let o=(t-e)/Math.max(0,n),r=Math.floor(Math.log10(o)),f=o/Math.pow(10,r),i=f>=pt?10:f>=xt?5:f>=ht?2:1,u,c,l;return r<0?(l=Math.pow(10,-r)/i,u=Math.round(e*l),c=Math.round(t*l),u/lt&&--c,l=-l):(l=Math.pow(10,r)*i,u=Math.round(e/l),c=Math.round(t/l),u*lt&&--c),c0))return[];if(e===t)return[e];let o=t=r))return[];let u=f-r+1,c=new Array(u);if(o)if(i<0)for(let l=0;l0?(e=Math.floor(e/r)*r,t=Math.ceil(t/r)*r):r<0&&(e=Math.ceil(e*r)/r,t=Math.floor(t*r)/r),o=r}}function Z(e){return Math.max(1,Math.ceil(Math.log(w(e))/Math.LN2)+1)}function ie(){var e=h,t=E,n=Z;function o(r){Array.isArray(r)||(r=Array.from(r));var f,i=r.length,u,c,l=new Array(i);for(f=0;f=a)if(G>=a&&t===E){let y=M(d,a,_);isFinite(y)&&(y>0?a=(Math.floor(a/y)+1)*y:y<0&&(a=(Math.ceil(a*-y)+1)/-y))}else p.pop()}for(var x=p.length,j=0,T=x;p[j]<=d;)++j;for(;p[T-1]>a;)--T;(j||T0?p[f-1]:d,ne.x1=f0)for(f=0;f=o)&&(n=o);else{let o=-1;for(let r of e)(r=t(r,++o,e))!=null&&(n=r)&&(n=r)}return n}function R(e,t){let n,o=-1,r=-1;if(t===void 0)for(let f of e)++r,f!=null&&(n=f)&&(n=f,o=r);else for(let f of e)(f=t(f,++r,e))!=null&&(n=f)&&(n=f,o=r);return o}function I(e,t){let n;if(t===void 0)for(let o of e)o!=null&&(n>o||n===void 0&&o>=o)&&(n=o);else{let o=-1;for(let r of e)(r=t(r,++o,e))!=null&&(n>r||n===void 0&&r>=r)&&(n=r)}return n}function k(e,t){let n,o=-1,r=-1;if(t===void 0)for(let f of e)++r,f!=null&&(n>f||n===void 0&&f>=f)&&(n=f,o=r);else for(let f of e)(f=t(f,++r,e))!=null&&(n>f||n===void 0&&f>=f)&&(n=f,o=r);return o}function D(e,t,n=0,o=1/0,r){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),o=Math.floor(Math.min(e.length-1,o)),!(n<=t&&t<=o))return e;for(r=r===void 0?g:O(r);o>n;){if(o-n>600){let c=o-n+1,l=t-n+1,m=Math.log(c),d=.5*Math.exp(2*m/3),a=.5*Math.sqrt(m*d*(c-d)/c)*(l-c/2<0?-1:1),p=Math.max(n,Math.floor(t-l*d/c+a)),x=Math.min(o,Math.floor(t+(c-l)*d/c+a));D(e,t,p,x,r)}let f=e[t],i=n,u=o;for(B(e,n,t),r(e[o],f)>0&&B(e,n,o);i0;)--u}r(e[n],f)===0?B(e,n,u):(++u,B(e,u,o)),u<=t&&(n=u+1),t<=u&&(o=u-1)}return e}function B(e,t,n){let o=e[t];e[t]=e[n],e[n]=o}function $(e,t=s){let n,o=!1;if(t.length===1){let r;for(let f of e){let i=t(f);(o?s(i,r)>0:s(i,i)===0)&&(n=f,r=i,o=!0)}}else for(let r of e)(o?t(r,n)>0:t(r,r)===0)&&(n=r,o=!0);return n}function A(e,t,n){if(e=Float64Array.from(ce(e,n)),!(!(o=e.length)||isNaN(t=+t))){if(t<=0||o<2)return I(e);if(t>=1)return U(e);var o,r=(o-1)*t,f=Math.floor(r),i=U(D(e,f).subarray(0,f+1)),u=I(e.subarray(f+1));return i+(u-i)*(r-f)}}function wt(e,t,n=b){if(!(!(o=e.length)||isNaN(t=+t))){if(t<=0||o<2)return+n(e[0],0,e);if(t>=1)return+n(e[o-1],o-1,e);var o,r=(o-1)*t,f=Math.floor(r),i=+n(e[f],f,e),u=+n(e[f+1],f+1,e);return i+(u-i)*(r-f)}}function ue(e,t,n=b){if(!isNaN(t=+t)){if(o=Float64Array.from(e,(u,c)=>b(n(e[c],c,e))),t<=0)return k(o);if(t>=1)return R(o);var o,r=Uint32Array.from(e,(u,c)=>c),f=o.length-1,i=Math.floor(f*t);return D(r,i,0,f,(u,c)=>g(o[u],o[c])),i=$(r.subarray(0,i+1),u=>o[u]),i>=0?i:-1}}function Ie(e,t,n){let o=w(e),r=A(e,.75)-A(e,.25);return o&&r?Math.ceil((n-t)/(2*r*Math.pow(o,-1/3))):1}function Ae(e,t,n){let o=w(e),r=K(e);return o&&r?Math.ceil((n-t)*Math.cbrt(o)/(3.49*r)):1}function Ne(e,t){let n=0,o=0;if(t===void 0)for(let r of e)r!=null&&(r=+r)>=r&&(++n,o+=r);else{let r=-1;for(let f of e)(f=t(f,++r,e))!=null&&(f=+f)>=f&&(++n,o+=f)}if(n)return o/n}function qe(e,t){return A(e,.5,t)}function Mt(e,t){return ue(e,.5,t)}function*yt(e){for(let t of e)yield*t}function Ee(e){return Array.from(yt(e))}import{InternMap as bt}from\"/v127/internmap@2.0.3/denonext/internmap.mjs\";function Se(e,t){let n=new bt;if(t===void 0)for(let f of e)f!=null&&f>=f&&n.set(f,(n.get(f)||0)+1);else{let f=-1;for(let i of e)(i=t(i,++f,e))!=null&&i>=i&&n.set(i,(n.get(i)||0)+1)}let o,r=0;for(let[f,i]of n)i>r&&(r=i,o=f);return o}function Re(e,t=It){let n=[],o,r=!1;for(let f of e)r&&n.push(t(o,f)),o=f,r=!0;return n}function It(e,t){return[e,t]}function ke(e,t,n){e=+e,t=+t,n=(r=arguments.length)<2?(t=e,e=0,1):r<3?1:+n;for(var o=-1,r=Math.max(0,Math.ceil((t-e)/n))|0,f=new Array(r);++ot(n[u],n[c]),f,i;return e=Uint32Array.from(n,(u,c)=>c),e.sort(t===s?(u,c)=>g(n[u],n[c]):O(r)),e.forEach((u,c)=>{let l=r(u,f===void 0?u:f);l>=0?((f===void 0||l>0)&&(f=u,i=c),o[u]=i):o[u]=NaN}),o}function je(e,t=s){let n,o=!1;if(t.length===1){let r;for(let f of e){let i=t(f);(o?s(i,r)<0:s(i,i)===0)&&(n=f,r=i,o=!0)}}else for(let r of e)(o?t(r,n)<0:t(r,r)===0)&&(n=r,o=!0);return n}function v(e,t=s){if(t.length===1)return k(e,t);let n,o=-1,r=-1;for(let f of e)++r,(o<0?t(f,f)===0:t(f,n)<0)&&(n=f,o=r);return o}function Te(e,t=s){if(t.length===1)return R(e,t);let n,o=-1,r=-1;for(let f of e)++r,(o<0?t(f,f)===0:t(f,n)>0)&&(n=f,o=r);return o}function ze(e,t){let n=v(e,t);return n<0?void 0:n}var At=Fe(Math.random);function Fe(e){return function(n,o=0,r=n.length){let f=r-(o=+o);for(;f;){let i=e()*f--|0,u=n[f+o];n[f+o]=n[i+o],n[i+o]=u}return n}}function Ve(e,t){let n=0;if(t===void 0)for(let o of e)(o=+o)&&(n+=o);else{let o=-1;for(let r of e)(r=+t(r,++o,e))&&(n+=r)}return n}function ee(e){if(!(f=e.length))return[];for(var t=-1,n=I(e,Nt),o=new Array(n);++tt(n,o,e))}function Ge(e,t,n){if(typeof t!=\"function\")throw new TypeError(\"reducer is not a function\");let o=e[Symbol.iterator](),r,f,i=-1;if(arguments.length<3){if({done:r,value:n}=o.next(),r)return;++i}for(;{done:r,value:f}=o.next(),!r;)n=t(n,f,++i,e);return n}function _e(e){if(typeof e[Symbol.iterator]!=\"function\")throw new TypeError(\"values is not iterable\");return Array.from(e).reverse()}import{InternSet as qt}from\"/v127/internmap@2.0.3/denonext/internmap.mjs\";function He(e,...t){e=new qt(e);for(let n of t)for(let o of n)e.delete(o);return e}import{InternSet as Et}from\"/v127/internmap@2.0.3/denonext/internmap.mjs\";function Je(e,t){let n=t[Symbol.iterator](),o=new Et;for(let r of e){if(o.has(r))return!1;let f,i;for(;({value:f,done:i}=n.next())&&!i;){if(Object.is(r,f))return!1;o.add(f)}}return!0}import{InternSet as le}from\"/v127/internmap@2.0.3/denonext/internmap.mjs\";function Ke(e,...t){e=new le(e),t=t.map(St);e:for(let n of e)for(let o of t)if(!o.has(n)){e.delete(n);continue e}return e}function St(e){return e instanceof le?e:new le(e)}function te(e,t){let n=e[Symbol.iterator](),o=new Set;for(let r of t){let f=Pe(r);if(o.has(f))continue;let i,u;for(;{value:i,done:u}=n.next();){if(u)return!1;let c=Pe(i);if(o.add(c),Object.is(f,c))break}}return!0}function Pe(e){return e!==null&&typeof e==\"object\"?e.valueOf():e}function Qe(e,t){return te(t,e)}import{InternSet as Rt}from\"/v127/internmap@2.0.3/denonext/internmap.mjs\";function We(...e){let t=new Rt;for(let n of e)for(let o of n)t.add(o);return t}import{InternMap as _o,InternSet as Ho}from\"/v127/internmap@2.0.3/denonext/internmap.mjs\";export{V as Adder,_o as InternMap,Ho as InternSet,s as ascending,ie as bin,re as bisect,Ze as bisectCenter,Ye as bisectLeft,ae as bisectRight,F as bisector,$e as blur,ve as blur2,et as blurImage,w as count,se as cross,pe as cumsum,H as descending,K as deviation,He as difference,Je as disjoint,Oe as every,E as extent,lt as fcumsum,Ue as filter,dt as flatGroup,at as flatRollup,ut as fsum,$ as greatest,Te as greatestIndex,P as group,Me as groupSort,xe as groups,ie as histogram,mt as index,st as indexes,Ke as intersection,je as least,v as leastIndex,Be as map,U as max,R as maxIndex,Ne as mean,qe as median,Mt as medianIndex,Ee as merge,I as min,k as minIndex,Se as mode,Y as nice,Re as pairs,Q as permute,A as quantile,ue as quantileIndex,wt as quantileSorted,D as quickselect,ke as range,De as rank,Ge as reduce,_e as reverse,fe as rollup,ge as rollups,ze as scan,At as shuffle,Fe as shuffler,Ce as some,L as sort,Qe as subset,Ve as sum,te as superset,Ie as thresholdFreedmanDiaconis,Ae as thresholdScott,Z as thresholdSturges,M as tickIncrement,gt as tickStep,X as ticks,ee as transpose,We as union,J as variance,Le as zip};\n//# sourceMappingURL=d3-array.mjs.map","/* esm.sh - esbuild bundle(d3-time@3.1.0) denonext production */\nvar j=new Date,q=new Date;function o(e,t,u,D){function i(r){return e(r=arguments.length===0?new Date:new Date(+r)),r}return i.floor=r=>(e(r=new Date(+r)),r),i.ceil=r=>(e(r=new Date(r-1)),t(r,1),e(r),r),i.round=r=>{let n=i(r),s=i.ceil(r);return r-n(t(r=new Date(+r),n==null?1:Math.floor(n)),r),i.range=(r,n,s)=>{let d=[];if(r=i.ceil(r),s=s==null?1:Math.floor(s),!(r0))return d;let c;do d.push(c=new Date(+r)),t(r,s),e(r);while(co(n=>{if(n>=n)for(;e(n),!r(n);)n.setTime(n-1)},(n,s)=>{if(n>=n)if(s<0)for(;++s<=0;)for(;t(n,-1),!r(n););else for(;--s>=0;)for(;t(n,1),!r(n););}),u&&(i.count=(r,n)=>(j.setTime(+r),q.setTime(+n),e(j),e(q),Math.floor(u(j,q))),i.every=r=>(r=Math.floor(r),!isFinite(r)||!(r>0)?null:r>1?i.filter(D?n=>D(n)%r===0:n=>i.count(0,n)%r===0):i)),i}var T=o(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);T.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?o(t=>{t.setTime(Math.floor(t/e)*e)},(t,u)=>{t.setTime(+t+u*e)},(t,u)=>(u-t)/e):T);var A=T.range;var g=o(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*1e3)},(e,t)=>(t-e)/1e3,e=>e.getUTCSeconds()),B=g.range;var H=o(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getMinutes()),se=H.range,I=o(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getUTCMinutes()),ce=I.range;var W=o(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3-e.getMinutes()*6e4)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getHours()),ae=W.range,w=o(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getUTCHours()),me=w.range;var k=o(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/864e5,e=>e.getDate()-1),le=k.range,E=o(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>e.getUTCDate()-1),ye=E.range,z=o(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>Math.floor(e/864e5)),ge=z.range;function M(e){return o(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,u)=>{t.setDate(t.getDate()+u*7)},(t,u)=>(u-t-(u.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/6048e5)}var U=M(0),J=M(1),K=M(2),L=M(3),N=M(4),P=M(5),Q=M(6),R=U.range,Te=J.range,pe=K.range,xe=L.range,Me=N.range,fe=P.range,de=Q.range;function f(e){return o(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,u)=>{t.setUTCDate(t.getUTCDate()+u*7)},(t,u)=>(u-t)/6048e5)}var S=f(0),V=f(1),X=f(2),Z=f(3),_=f(4),$=f(5),ee=f(6),te=S.range,he=V.range,De=X.range,Ce=Z.range,Ue=_.range,Se=$.range,Fe=ee.range;var O=o(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth()),Ye=O.range,b=o(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth()),ve=b.range;var F=o(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());F.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:o(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,u)=>{t.setFullYear(t.getFullYear()+u*e)});var He=F.range,Y=o(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());Y.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:o(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,u)=>{t.setUTCFullYear(t.getUTCFullYear()+u*e)});var Ie=Y.range;import{bisector as we,tickStep as ne}from\"/v127/d3-array@3.2.4/denonext/d3-array.mjs\";function oe(e,t,u,D,i,r){let n=[[g,1,1e3],[g,5,5*1e3],[g,15,15*1e3],[g,30,30*1e3],[r,1,6e4],[r,5,5*6e4],[r,15,15*6e4],[r,30,30*6e4],[i,1,36e5],[i,3,3*36e5],[i,6,6*36e5],[i,12,12*36e5],[D,1,864e5],[D,2,2*864e5],[u,1,6048e5],[t,1,2592e6],[t,3,3*2592e6],[e,1,31536e6]];function s(c,m,y){let h=mie).right(n,h);if(l===n.length)return e.every(ne(c/31536e6,m/31536e6,y));if(l===0)return T.every(Math.max(ne(c,m,y),1));let[v,ue]=n[h/n[l-1][2]=1e21?t.toLocaleString(\"en\").replace(/,/g,\"\"):t.toString(10)}function g(t,r){if((e=(t=r?t.toExponential(r-1):t.toExponential()).indexOf(\"e\"))<0)return null;var e,o=t.slice(0,e);return[o.length>1?o[0]+o.slice(2):o,+t.slice(e+1)]}function h(t){return t=g(Math.abs(t)),t?t[1]:NaN}function q(t,r){return function(e,o){for(var i=e.length,f=[],c=0,s=t[0],w=0;i>0&&s>0&&(w+s+1>o&&(s=Math.max(1,o-w)),f.push(e.substring(i-=s,i+s)),!((w+=s+1)>o));)s=t[c=(c+1)%t.length];return f.reverse().join(r)}}function B(t){return function(r){return r.replace(/[0-9]/g,function(e){return t[+e]})}}var nt=/^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;function b(t){if(!(r=nt.exec(t)))throw new Error(\"invalid format: \"+t);var r;return new D({fill:r[1],align:r[2],sign:r[3],symbol:r[4],zero:r[5],width:r[6],comma:r[7],precision:r[8]&&r[8].slice(1),trim:r[9],type:r[10]})}b.prototype=D.prototype;function D(t){this.fill=t.fill===void 0?\" \":t.fill+\"\",this.align=t.align===void 0?\">\":t.align+\"\",this.sign=t.sign===void 0?\"-\":t.sign+\"\",this.symbol=t.symbol===void 0?\"\":t.symbol+\"\",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?\"\":t.type+\"\"}D.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?\"0\":\"\")+(this.width===void 0?\"\":Math.max(1,this.width|0))+(this.comma?\",\":\"\")+(this.precision===void 0?\"\":\".\"+Math.max(0,this.precision|0))+(this.trim?\"~\":\"\")+this.type};function H(t){t:for(var r=t.length,e=1,o=-1,i;e0&&(o=0);break}return o>0?t.slice(0,o)+t.slice(i+1):t}var N;function J(t,r){var e=g(t,r);if(!e)return t+\"\";var o=e[0],i=e[1],f=i-(N=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,c=o.length;return f===c?o:f>c?o+new Array(f-c+1).join(\"0\"):f>0?o.slice(0,f)+\".\"+o.slice(f):\"0.\"+new Array(1-f).join(\"0\")+g(t,Math.max(0,r+f-1))[0]}function $(t,r){var e=g(t,r);if(!e)return t+\"\";var o=e[0],i=e[1];return i<0?\"0.\"+new Array(-i).join(\"0\")+o:o.length>i+1?o.slice(0,i+1)+\".\"+o.slice(i+1):o+new Array(i-o.length+2).join(\"0\")}var T={\"%\":(t,r)=>(t*100).toFixed(r),b:t=>Math.round(t).toString(2),c:t=>t+\"\",d:Z,e:(t,r)=>t.toExponential(r),f:(t,r)=>t.toFixed(r),g:(t,r)=>t.toPrecision(r),o:t=>Math.round(t).toString(8),p:(t,r)=>$(t*100,r),r:$,s:J,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function C(t){return t}var K=Array.prototype.map,Q=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"\\xB5\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];function G(t){var r=t.grouping===void 0||t.thousands===void 0?C:q(K.call(t.grouping,Number),t.thousands+\"\"),e=t.currency===void 0?\"\":t.currency[0]+\"\",o=t.currency===void 0?\"\":t.currency[1]+\"\",i=t.decimal===void 0?\".\":t.decimal+\"\",f=t.numerals===void 0?C:B(K.call(t.numerals,String)),c=t.percent===void 0?\"%\":t.percent+\"\",s=t.minus===void 0?\"\\u2212\":t.minus+\"\",w=t.nan===void 0?\"NaN\":t.nan+\"\";function R(a){a=b(a);var S=a.fill,P=a.align,d=a.sign,k=a.symbol,y=a.zero,z=a.width,L=a.comma,x=a.precision,X=a.trim,m=a.type;m===\"n\"?(L=!0,m=\"g\"):T[m]||(x===void 0&&(x=12),X=!0,m=\"g\"),(y||S===\"0\"&&P===\"=\")&&(y=!0,S=\"0\",P=\"=\");var v=k===\"$\"?e:k===\"#\"&&/[boxX]/.test(m)?\"0\"+m.toLowerCase():\"\",tt=k===\"$\"?o:/[%p]/.test(m)?c:\"\",O=T[m],rt=/[defgprs%]/.test(m);x=x===void 0?6:/[gprs]/.test(m)?Math.max(1,Math.min(21,x)):Math.max(0,Math.min(20,x));function U(n){var l=v,u=tt,M,Y,A;if(m===\"c\")u=O(n)+u,n=\"\";else{n=+n;var j=n<0||1/n<0;if(n=isNaN(n)?w:O(Math.abs(n),x),X&&(n=H(n)),j&&+n==0&&d!==\"+\"&&(j=!1),l=(j?d===\"(\"?d:s:d===\"-\"||d===\"(\"?\"\":d)+l,u=(m===\"s\"?Q[8+N/3]:\"\")+u+(j&&d===\"(\"?\")\":\"\"),rt){for(M=-1,Y=n.length;++MA||A>57){u=(A===46?i+n.slice(M+1):n.slice(M))+u,n=n.slice(0,M);break}}}L&&!y&&(n=r(n,1/0));var E=l.length+n.length+u.length,p=E>1)+l+n+u+p.slice(E);break;default:n=p+l+n+u;break}return f(n)}return U.toString=function(){return a+\"\"},U}function _(a,S){var P=R((a=b(a),a.type=\"f\",a)),d=Math.max(-8,Math.min(8,Math.floor(h(S)/3)))*3,k=Math.pow(10,-d),y=Q[8+d/3];return function(z){return P(k*z)+y}}return{format:R,formatPrefix:_}}var F,V,W;I({thousands:\",\",grouping:[3],currency:[\"$\",\"\"]});function I(t){return F=G(t),V=F.format,W=F.formatPrefix,F}function ot(t){return Math.max(0,-h(Math.abs(t)))}function et(t,r){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(h(r)/3)))*3-h(Math.abs(t)))}function it(t,r){return t=Math.abs(t),r=Math.abs(r)-t,Math.max(0,h(r)-h(t))+1}export{D as FormatSpecifier,V as format,I as formatDefaultLocale,G as formatLocale,W as formatPrefix,b as formatSpecifier,ot as precisionFixed,et as precisionPrefix,it as precisionRound};\n//# sourceMappingURL=d3-format.mjs.map","/* esm.sh - esbuild bundle(d3-time-format@4.1.0) denonext production */\nimport{timeDay as K,timeSunday as Ae,timeMonday as Z,timeThursday as D,timeYear as x,utcDay as ee,utcSunday as Pe,utcMonday as A,utcThursday as w,utcYear as L}from\"/v127/d3-time@3.1.0/denonext/d3-time.mjs\";function O(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function I(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function d(e,t,r){return{y:e,m:t,d:r,H:0,M:0,S:0,L:0}}function b(e){var t=e.dateTime,r=e.date,o=e.time,g=e.periods,p=e.days,k=e.shortDays,W=e.months,F=e.shortMonths,ce=v(g),fe=S(g),ie=v(p),se=S(p),me=v(k),le=S(k),ye=v(W),ge=S(W),he=v(F),pe=S(F),T={a:we,A:Le,b:ke,B:We,c:null,d:B,e:B,f:ft,g:Mt,G:Ct,H:at,I:ut,j:ct,L:te,m:it,M:st,p:Fe,q:Ye,Q:$,s:E,S:mt,u:lt,U:yt,V:gt,w:ht,W:pt,x:null,X:null,y:Tt,Y:Ut,Z:dt,\"%\":z},M={a:be,A:He,b:Ne,B:Oe,c:null,d:G,e:G,f:xt,g:Ot,G:Zt,H:vt,I:St,j:Dt,L:ne,m:wt,M:Lt,p:Ie,q:Ze,Q:$,s:E,S:kt,u:Wt,U:Ft,V:Yt,w:bt,W:Ht,x:null,X:null,y:Nt,Y:It,Z:At,\"%\":z},Te={a:Ue,A:Ce,b:de,B:ve,c:Se,d:X,e:X,f:tt,g:J,G:q,H:j,I:j,j:$e,L:et,m:ze,M:Ee,p:Me,q:Ge,Q:nt,s:ot,S:Ke,u:qe,U:Je,V:Xe,w:_e,W:je,x:De,X:xe,y:J,Y:q,Z:Be,\"%\":rt};T.x=h(r,T),T.X=h(o,T),T.c=h(t,T),M.x=h(r,M),M.X=h(o,M),M.c=h(t,M);function h(a,u){return function(c){var n=[],m=-1,i=0,l=a.length,y,U,V;for(c instanceof Date||(c=new Date(+c));++m53)return null;\"w\"in n||(n.w=1),\"Z\"in n?(i=I(d(n.y,0,1)),l=i.getUTCDay(),i=l>4||l===0?A.ceil(i):A(i),i=ee.offset(i,(n.V-1)*7),n.y=i.getUTCFullYear(),n.m=i.getUTCMonth(),n.d=i.getUTCDate()+(n.w+6)%7):(i=O(d(n.y,0,1)),l=i.getDay(),i=l>4||l===0?Z.ceil(i):Z(i),i=K.offset(i,(n.V-1)*7),n.y=i.getFullYear(),n.m=i.getMonth(),n.d=i.getDate()+(n.w+6)%7)}else(\"W\"in n||\"U\"in n)&&(\"w\"in n||(n.w=\"u\"in n?n.u%7:\"W\"in n?1:0),l=\"Z\"in n?I(d(n.y,0,1)).getUTCDay():O(d(n.y,0,1)).getDay(),n.m=0,n.d=\"W\"in n?(n.w+6)%7+n.W*7-(l+5)%7:n.w+n.U*7-(l+6)%7);return\"Z\"in n?(n.H+=n.Z/100|0,n.M+=n.Z%100,I(n)):O(n)}}function Y(a,u,c,n){for(var m=0,i=u.length,l=c.length,y,U;m=l)return-1;if(y=u.charCodeAt(m++),y===37){if(y=u.charAt(m++),U=Te[y in _?u.charAt(m++):y],!U||(n=U(a,c,n))<0)return-1}else if(y!=c.charCodeAt(n++))return-1}return n}function Me(a,u,c){var n=ce.exec(u.slice(c));return n?(a.p=fe.get(n[0].toLowerCase()),c+n[0].length):-1}function Ue(a,u,c){var n=me.exec(u.slice(c));return n?(a.w=le.get(n[0].toLowerCase()),c+n[0].length):-1}function Ce(a,u,c){var n=ie.exec(u.slice(c));return n?(a.w=se.get(n[0].toLowerCase()),c+n[0].length):-1}function de(a,u,c){var n=he.exec(u.slice(c));return n?(a.m=pe.get(n[0].toLowerCase()),c+n[0].length):-1}function ve(a,u,c){var n=ye.exec(u.slice(c));return n?(a.m=ge.get(n[0].toLowerCase()),c+n[0].length):-1}function Se(a,u,c){return Y(a,t,u,c)}function De(a,u,c){return Y(a,r,u,c)}function xe(a,u,c){return Y(a,o,u,c)}function we(a){return k[a.getDay()]}function Le(a){return p[a.getDay()]}function ke(a){return F[a.getMonth()]}function We(a){return W[a.getMonth()]}function Fe(a){return g[+(a.getHours()>=12)]}function Ye(a){return 1+~~(a.getMonth()/3)}function be(a){return k[a.getUTCDay()]}function He(a){return p[a.getUTCDay()]}function Ne(a){return F[a.getUTCMonth()]}function Oe(a){return W[a.getUTCMonth()]}function Ie(a){return g[+(a.getUTCHours()>=12)]}function Ze(a){return 1+~~(a.getUTCMonth()/3)}return{format:function(a){var u=h(a+=\"\",T);return u.toString=function(){return a},u},parse:function(a){var u=Q(a+=\"\",!1);return u.toString=function(){return a},u},utcFormat:function(a){var u=h(a+=\"\",M);return u.toString=function(){return a},u},utcParse:function(a){var u=Q(a+=\"\",!0);return u.toString=function(){return a},u}}}var _={\"-\":\"\",_:\" \",0:\"0\"},s=/^\\s*\\d+/,Re=/^%/,Qe=/[\\\\^$*+?|[\\]().{}]/g;function f(e,t,r){var o=e<0?\"-\":\"\",g=(o?-e:e)+\"\",p=g.length;return o+(p[t.toLowerCase(),r]))}function _e(e,t,r){var o=s.exec(t.slice(r,r+1));return o?(e.w=+o[0],r+o[0].length):-1}function qe(e,t,r){var o=s.exec(t.slice(r,r+1));return o?(e.u=+o[0],r+o[0].length):-1}function Je(e,t,r){var o=s.exec(t.slice(r,r+2));return o?(e.U=+o[0],r+o[0].length):-1}function Xe(e,t,r){var o=s.exec(t.slice(r,r+2));return o?(e.V=+o[0],r+o[0].length):-1}function je(e,t,r){var o=s.exec(t.slice(r,r+2));return o?(e.W=+o[0],r+o[0].length):-1}function q(e,t,r){var o=s.exec(t.slice(r,r+4));return o?(e.y=+o[0],r+o[0].length):-1}function J(e,t,r){var o=s.exec(t.slice(r,r+2));return o?(e.y=+o[0]+(+o[0]>68?1900:2e3),r+o[0].length):-1}function Be(e,t,r){var o=/^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(t.slice(r,r+6));return o?(e.Z=o[1]?0:-(o[2]+(o[3]||\"00\")),r+o[0].length):-1}function Ge(e,t,r){var o=s.exec(t.slice(r,r+1));return o?(e.q=o[0]*3-3,r+o[0].length):-1}function ze(e,t,r){var o=s.exec(t.slice(r,r+2));return o?(e.m=o[0]-1,r+o[0].length):-1}function X(e,t,r){var o=s.exec(t.slice(r,r+2));return o?(e.d=+o[0],r+o[0].length):-1}function $e(e,t,r){var o=s.exec(t.slice(r,r+3));return o?(e.m=0,e.d=+o[0],r+o[0].length):-1}function j(e,t,r){var o=s.exec(t.slice(r,r+2));return o?(e.H=+o[0],r+o[0].length):-1}function Ee(e,t,r){var o=s.exec(t.slice(r,r+2));return o?(e.M=+o[0],r+o[0].length):-1}function Ke(e,t,r){var o=s.exec(t.slice(r,r+2));return o?(e.S=+o[0],r+o[0].length):-1}function et(e,t,r){var o=s.exec(t.slice(r,r+3));return o?(e.L=+o[0],r+o[0].length):-1}function tt(e,t,r){var o=s.exec(t.slice(r,r+6));return o?(e.L=Math.floor(o[0]/1e3),r+o[0].length):-1}function rt(e,t,r){var o=Re.exec(t.slice(r,r+1));return o?r+o[0].length:-1}function nt(e,t,r){var o=s.exec(t.slice(r));return o?(e.Q=+o[0],r+o[0].length):-1}function ot(e,t,r){var o=s.exec(t.slice(r));return o?(e.s=+o[0],r+o[0].length):-1}function B(e,t){return f(e.getDate(),t,2)}function at(e,t){return f(e.getHours(),t,2)}function ut(e,t){return f(e.getHours()%12||12,t,2)}function ct(e,t){return f(1+K.count(x(e),e),t,3)}function te(e,t){return f(e.getMilliseconds(),t,3)}function ft(e,t){return te(e,t)+\"000\"}function it(e,t){return f(e.getMonth()+1,t,2)}function st(e,t){return f(e.getMinutes(),t,2)}function mt(e,t){return f(e.getSeconds(),t,2)}function lt(e){var t=e.getDay();return t===0?7:t}function yt(e,t){return f(Ae.count(x(e)-1,e),t,2)}function re(e){var t=e.getDay();return t>=4||t===0?D(e):D.ceil(e)}function gt(e,t){return e=re(e),f(D.count(x(e),e)+(x(e).getDay()===4),t,2)}function ht(e){return e.getDay()}function pt(e,t){return f(Z.count(x(e)-1,e),t,2)}function Tt(e,t){return f(e.getFullYear()%100,t,2)}function Mt(e,t){return e=re(e),f(e.getFullYear()%100,t,2)}function Ut(e,t){return f(e.getFullYear()%1e4,t,4)}function Ct(e,t){var r=e.getDay();return e=r>=4||r===0?D(e):D.ceil(e),f(e.getFullYear()%1e4,t,4)}function dt(e){var t=e.getTimezoneOffset();return(t>0?\"-\":(t*=-1,\"+\"))+f(t/60|0,\"0\",2)+f(t%60,\"0\",2)}function G(e,t){return f(e.getUTCDate(),t,2)}function vt(e,t){return f(e.getUTCHours(),t,2)}function St(e,t){return f(e.getUTCHours()%12||12,t,2)}function Dt(e,t){return f(1+ee.count(L(e),e),t,3)}function ne(e,t){return f(e.getUTCMilliseconds(),t,3)}function xt(e,t){return ne(e,t)+\"000\"}function wt(e,t){return f(e.getUTCMonth()+1,t,2)}function Lt(e,t){return f(e.getUTCMinutes(),t,2)}function kt(e,t){return f(e.getUTCSeconds(),t,2)}function Wt(e){var t=e.getUTCDay();return t===0?7:t}function Ft(e,t){return f(Pe.count(L(e)-1,e),t,2)}function oe(e){var t=e.getUTCDay();return t>=4||t===0?w(e):w.ceil(e)}function Yt(e,t){return e=oe(e),f(w.count(L(e),e)+(L(e).getUTCDay()===4),t,2)}function bt(e){return e.getUTCDay()}function Ht(e,t){return f(A.count(L(e)-1,e),t,2)}function Nt(e,t){return f(e.getUTCFullYear()%100,t,2)}function Ot(e,t){return e=oe(e),f(e.getUTCFullYear()%100,t,2)}function It(e,t){return f(e.getUTCFullYear()%1e4,t,4)}function Zt(e,t){var r=e.getUTCDay();return e=r>=4||r===0?w(e):w.ceil(e),f(e.getUTCFullYear()%1e4,t,4)}function At(){return\"+0000\"}function z(){return\"%\"}function $(e){return+e}function E(e){return Math.floor(+e/1e3)}var C,ae,ue,H,N;P({dateTime:\"%x, %X\",date:\"%-m/%-d/%Y\",time:\"%-I:%M:%S %p\",periods:[\"AM\",\"PM\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]});function P(e){return C=b(e),ae=C.format,ue=C.parse,H=C.utcFormat,N=C.utcParse,C}var R=\"%Y-%m-%dT%H:%M:%S.%LZ\";function Pt(e){return e.toISOString()}var Rt=Date.prototype.toISOString?Pt:H(R),Qt=Rt;function Vt(e){var t=new Date(e);return isNaN(t)?null:t}var _t=+new Date(\"2000-01-01T00:00:00.000Z\")?Vt:N(R),qt=_t;export{Qt as isoFormat,qt as isoParse,ae as timeFormat,P as timeFormatDefaultLocale,b as timeFormatLocale,ue as timeParse,H as utcFormat,N as utcParse};\n//# sourceMappingURL=d3-time-format.mjs.map","/* esm.sh - esbuild bundle(d3-color@3.1.0) denonext production */\nfunction b(e,t,r){e.prototype=t.prototype=r,r.constructor=e}function g(e,t){var r=Object.create(e.prototype);for(var n in t)r[n]=t[n];return r}function u(){}var p=.7,y=1/p,N=\"\\\\s*([+-]?\\\\d+)\\\\s*\",M=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",c=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",be=/^#([0-9a-f]{3,8})$/,de=new RegExp(`^rgb\\\\(${N},${N},${N}\\\\)$`),ge=new RegExp(`^rgb\\\\(${c},${c},${c}\\\\)$`),pe=new RegExp(`^rgba\\\\(${N},${N},${N},${M}\\\\)$`),me=new RegExp(`^rgba\\\\(${c},${c},${c},${M}\\\\)$`),we=new RegExp(`^hsl\\\\(${M},${c},${c}\\\\)$`),ye=new RegExp(`^hsla\\\\(${M},${c},${c},${M}\\\\)$`),Y={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};b(u,H,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Z,formatHex:Z,formatHex8:$e,formatHsl:Ne,formatRgb:F,toString:F});function Z(){return this.rgb().formatHex()}function $e(){return this.rgb().formatHex8()}function Ne(){return W(this).formatHsl()}function F(){return this.rgb().formatRgb()}function H(e){var t,r;return e=(e+\"\").trim().toLowerCase(),(t=be.exec(e))?(r=t[1].length,t=parseInt(t[1],16),r===6?G(t):r===3?new a(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?C(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?C(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=de.exec(e))?new a(t[1],t[2],t[3],1):(t=ge.exec(e))?new a(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=pe.exec(e))?C(t[1],t[2],t[3],t[4]):(t=me.exec(e))?C(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=we.exec(e))?T(t[1],t[2]/100,t[3]/100,1):(t=ye.exec(e))?T(t[1],t[2]/100,t[3]/100,t[4]):Y.hasOwnProperty(e)?G(Y[e]):e===\"transparent\"?new a(NaN,NaN,NaN,0):null}function G(e){return new a(e>>16&255,e>>8&255,e&255,1)}function C(e,t,r,n){return n<=0&&(e=t=r=NaN),new a(e,t,r,n)}function R(e){return e instanceof u||(e=H(e)),e?(e=e.rgb(),new a(e.r,e.g,e.b,e.opacity)):new a}function V(e,t,r,n){return arguments.length===1?R(e):new a(e,t,r,n??1)}function a(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}b(a,V,g(u,{brighter(e){return e=e==null?y:Math.pow(y,e),new a(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?p:Math.pow(p,e),new a(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new a(w(this.r),w(this.g),w(this.b),E(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:J,formatHex:J,formatHex8:ve,formatRgb:Q,toString:Q}));function J(){return`#${m(this.r)}${m(this.g)}${m(this.b)}`}function ve(){return`#${m(this.r)}${m(this.g)}${m(this.b)}${m((isNaN(this.opacity)?1:this.opacity)*255)}`}function Q(){let e=E(this.opacity);return`${e===1?\"rgb(\":\"rgba(\"}${w(this.r)}, ${w(this.g)}, ${w(this.b)}${e===1?\")\":`, ${e})`}`}function E(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function w(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function m(e){return e=w(e),(e<16?\"0\":\"\")+e.toString(16)}function T(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new h(e,t,r,n)}function W(e){if(e instanceof h)return new h(e.h,e.s,e.l,e.opacity);if(e instanceof u||(e=H(e)),!e)return new h;if(e instanceof h)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,i=Math.min(t,r,n),f=Math.max(t,r,n),s=NaN,x=f-i,d=(f+i)/2;return x?(t===f?s=(r-n)/x+(r0&&d<1?0:s,new h(s,x,d,e.opacity)}function ee(e,t,r,n){return arguments.length===1?W(e):new h(e,t,r,n??1)}function h(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}b(h,ee,g(u,{brighter(e){return e=e==null?y:Math.pow(y,e),new h(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?p:Math.pow(p,e),new h(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,i=2*r-n;return new a(j(e>=240?e-240:e+120,i,n),j(e,i,n),j(e<120?e+240:e-120,i,n),this.opacity)},clamp(){return new h(U(this.h),q(this.s),q(this.l),E(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=E(this.opacity);return`${e===1?\"hsl(\":\"hsla(\"}${U(this.h)}, ${q(this.s)*100}%, ${q(this.l)*100}%${e===1?\")\":`, ${e})`}`}}));function U(e){return e=(e||0)%360,e<0?e+360:e}function q(e){return Math.max(0,Math.min(1,e||0))}function j(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}var P=Math.PI/180,_=180/Math.PI;var I=18,te=.96422,re=1,ne=.82521,ie=4/29,v=6/29,ae=3*v*v,Me=v*v*v;function fe(e){if(e instanceof l)return new l(e.l,e.a,e.b,e.opacity);if(e instanceof o)return le(e);e instanceof a||(e=R(e));var t=S(e.r),r=S(e.g),n=S(e.b),i=B((.2225045*t+.7168786*r+.0606169*n)/re),f,s;return t===r&&r===n?f=s=i:(f=B((.4360747*t+.3850649*r+.1430804*n)/te),s=B((.0139322*t+.0971045*r+.7141733*n)/ne)),new l(116*i-16,500*(f-i),200*(i-s),e.opacity)}function He(e,t){return new l(e,0,0,t??1)}function A(e,t,r,n){return arguments.length===1?fe(e):new l(e,t,r,n??1)}function l(e,t,r,n){this.l=+e,this.a=+t,this.b=+r,this.opacity=+n}b(l,A,g(u,{brighter(e){return new l(this.l+I*(e??1),this.a,this.b,this.opacity)},darker(e){return new l(this.l-I*(e??1),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,r=isNaN(this.b)?e:e-this.b/200;return t=te*D(t),e=re*D(e),r=ne*D(r),new a(O(3.1338561*t-1.6168667*e-.4906146*r),O(-.9787684*t+1.9161415*e+.033454*r),O(.0719453*t-.2289914*e+1.4052427*r),this.opacity)}}));function B(e){return e>Me?Math.pow(e,1/3):e/ae+ie}function D(e){return e>v?e*e*e:ae*(e-ie)}function O(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function S(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function se(e){if(e instanceof o)return new o(e.h,e.c,e.l,e.opacity);if(e instanceof l||(e=fe(e)),e.a===0&&e.b===0)return new o(NaN,0=1?(t=1,r-1):Math.floor(t*r),o=e[n],u=e[n+1],i=n>0?e[n-1]:2*o-u,f=n()=>e;function Z(e,r){return function(t){return e+t*r}}function mr(e,r,t){return e=Math.pow(e,t),r=Math.pow(r,t)-e,t=1/t,function(n){return Math.pow(e+n*r,t)}}function v(e,r){var t=r-e;return t?Z(e,t>180||t<-180?t-360*Math.round(t/360):t):w(isNaN(e)?r:e)}function F(e){return(e=+e)==1?s:function(r,t){return t-r?mr(r,t,e):w(isNaN(r)?t:r)}}function s(e,r){var t=r-e;return t?Z(e,t):w(isNaN(e)?r:e)}var C=function e(r){var t=F(r);function n(o,u){var i=t((o=j(o)).r,(u=j(u)).r),f=t(o.g,u.g),c=t(o.b,u.b),l=s(o.opacity,u.opacity);return function(a){return o.r=i(a),o.g=f(a),o.b=c(a),o.opacity=l(a),o+\"\"}}return n.gamma=e,n}(1);function J(e){return function(r){var t=r.length,n=new Array(t),o=new Array(t),u=new Array(t),i,f;for(i=0;it&&(u=r.slice(t,u),f[i]?f[i]+=u:f[++i]=u),(n=n[0])===(o=o[0])?f[i]?f[i]+=o:f[++i]=o:(f[++i]=null,c.push({i,x:x(n,o)})),t=E.lastIndex;return t180?a+=360:a-l>180&&(l+=360),m.push({i:p.push(o(p)+\"rotate(\",null,n)-2,x:x(l,a)})):a&&p.push(o(p)+\"rotate(\"+a+n)}function f(l,a,p,m){l!==a?m.push({i:p.push(o(p)+\"skewX(\",null,n)-2,x:x(l,a)}):a&&p.push(o(p)+\"skewX(\"+a+n)}function c(l,a,p,m,h,d){if(l!==p||a!==m){var g=h.push(o(h)+\"scale(\",null,\",\",null,\")\");d.push({i:g-4,x:x(l,p)},{i:g-2,x:x(a,m)})}else(p!==1||m!==1)&&h.push(o(h)+\"scale(\"+p+\",\"+m+\")\")}return function(l,a){var p=[],m=[];return l=e(l),a=e(a),u(l.translateX,l.translateY,a.translateX,a.translateY,p,m),i(l.rotate,a.rotate,p,m),f(l.skewX,a.skewX,p,m),c(l.scaleX,l.scaleY,a.scaleX,a.scaleY,p,m),l=a=null,function(h){for(var d=-1,g=m.length,M;++dr&&(o=n,n=r,r=o),function(t){return Math.max(n,Math.min(r,t))}}function Fn(n,r,o){var t=n[0],u=n[1],e=r[0],i=r[1];return u2?Ln:Fn,c=a=null,m}function m(l){return l==null||isNaN(l=+l)?e:(c||(c=f(n.map(t),r,o)))(t(i(l)))}return m.invert=function(l){return i(u((a||(a=f(r,n.map(t),In)))(l)))},m.domain=function(l){return arguments.length?(n=Array.from(l,b),s()):n.slice()},m.range=function(l){return arguments.length?(r=Array.from(l),s()):r.slice()},m.rangeRound=function(l){return r=Array.from(l),o=An,s()},m.clamp=function(l){return arguments.length?(i=l?!0:v,s()):i!==v},m.interpolate=function(l){return arguments.length?(o=l,s()):o},m.unknown=function(l){return arguments.length?(e=l,m):e},function(l,g){return t=l,u=g,s()}}function I(){return R()(v,v)}import{tickStep as Pn}from\"/v127/d3-array@3.2.4/denonext/d3-array.mjs\";import{format as On,formatPrefix as Tn,formatSpecifier as En,precisionFixed as zn,precisionPrefix as Qn,precisionRound as Yn}from\"/v127/d3-format@3.1.0/denonext/d3-format.mjs\";function z(n,r,o,t){var u=Pn(n,r,o),e;switch(t=En(t??\",f\"),t.type){case\"s\":{var i=Math.max(Math.abs(n),Math.abs(r));return t.precision==null&&!isNaN(e=Qn(u,i))&&(t.precision=e),Tn(t,i)}case\"\":case\"e\":case\"g\":case\"p\":case\"r\":{t.precision==null&&!isNaN(e=Yn(u,Math.max(Math.abs(n),Math.abs(r))))&&(t.precision=e-(t.type===\"e\"));break}case\"f\":case\"%\":{t.precision==null&&!isNaN(e=zn(u))&&(t.precision=e-(t.type===\"%\")*2);break}}return On(t)}function M(n){var r=n.domain;return n.ticks=function(o){var t=r();return Hn(t[0],t[t.length-1],o??10)},n.tickFormat=function(o,t){var u=r();return z(u[0],u[u.length-1],o??10,t)},n.nice=function(o){o==null&&(o=10);var t=r(),u=0,e=t.length-1,i=t[u],f=t[e],c,a,s=10;for(f0;){if(a=Un(i,f,o),a===c)return t[u]=i,t[e]=f,r(t);if(a>0)i=Math.floor(i/a)*a,f=Math.ceil(f/a)*a;else if(a<0)i=Math.ceil(i*a)/a,f=Math.floor(f*a)/a;else break;c=a}return n},n}function C(){var n=I();return n.copy=function(){return N(n,C())},y.apply(n,arguments),M(n)}function V(n){var r;function o(t){return t==null||isNaN(t=+t)?r:t}return o.invert=o,o.domain=o.range=function(t){return arguments.length?(n=Array.from(t,b),o):n.slice()},o.unknown=function(t){return arguments.length?(r=t,o):r},o.copy=function(){return V(n).unknown(r)},n=arguments.length?Array.from(n,b):[0,1],M(o)}import{ticks as ln}from\"/v127/d3-array@3.2.4/denonext/d3-array.mjs\";import{format as Wn,formatSpecifier as jn}from\"/v127/d3-format@3.1.0/denonext/d3-format.mjs\";function D(n,r){n=n.slice();var o=0,t=n.length-1,u=n[o],e=n[t],i;return eMath.pow(n,r)}function Gn(n){return n===Math.E?Math.log:n===10&&Math.log10||n===2&&Math.log2||(n=Math.log(n),r=>Math.log(r)/n)}function mn(n){return(r,o)=>-n(-r,o)}function F(n){let r=n(fn,cn),o=r.domain,t=10,u,e;function i(){return u=Gn(t),e=_n(t),o()[0]<0?(u=mn(u),e=mn(e),n(Bn,Cn)):n(fn,cn),r}return r.base=function(f){return arguments.length?(t=+f,i()):t},r.domain=function(f){return arguments.length?(o(f),i()):o()},r.ticks=f=>{let c=o(),a=c[0],s=c[c.length-1],m=s0){for(;l<=g;++l)for(d=1;ds)break;w.push(p)}}else for(;l<=g;++l)for(d=t-1;d>=1;--d)if(p=l>0?d/e(-l):d*e(l),!(ps)break;w.push(p)}w.length*2{if(f==null&&(f=10),c==null&&(c=t===10?\"s\":\",\"),typeof c!=\"function\"&&(!(t%1)&&(c=jn(c)).precision==null&&(c.trim=!0),c=Wn(c)),f===1/0)return c;let a=Math.max(1,t*f/r.ticks().length);return s=>{let m=s/e(Math.round(u(s)));return m*to(D(o(),{floor:f=>e(Math.floor(u(f))),ceil:f=>e(Math.ceil(u(f)))})),r}function _(){let n=F(R()).domain([1,10]);return n.copy=()=>N(n,_()).base(n.base()),y.apply(n,arguments),n}function sn(n){return function(r){return Math.sign(r)*Math.log1p(Math.abs(r/n))}}function pn(n){return function(r){return Math.sign(r)*Math.expm1(Math.abs(r))*n}}function L(n){var r=1,o=n(sn(r),pn(r));return o.constant=function(t){return arguments.length?n(sn(r=+t),pn(r)):r},M(o)}function G(){var n=L(R());return n.copy=function(){return N(n,G()).constant(n.constant())},y.apply(n,arguments)}function gn(n){return function(r){return r<0?-Math.pow(-r,n):Math.pow(r,n)}}function Jn(n){return n<0?-Math.sqrt(-n):Math.sqrt(n)}function Kn(n){return n<0?-n*n:n*n}function P(n){var r=n(v,v),o=1;function t(){return o===1?n(v,v):o===.5?n(Jn,Kn):n(gn(o),gn(1/o))}return r.exponent=function(u){return arguments.length?(o=+u,t()):o},M(r)}function Q(){var n=P(R());return n.copy=function(){return N(n,Q()).exponent(n.exponent())},y.apply(n,arguments),n}function Xn(){return Q.apply(null,arguments).exponent(.5)}function hn(n){return Math.sign(n)*n*n}function Zn(n){return Math.sign(n)*Math.sqrt(Math.abs(n))}function J(){var n=I(),r=[0,1],o=!1,t;function u(e){var i=Zn(n(e));return isNaN(i)?t:o?Math.round(i):i}return u.invert=function(e){return n.invert(hn(e))},u.domain=function(e){return arguments.length?(n.domain(e),u):n.domain()},u.range=function(e){return arguments.length?(n.range((r=Array.from(e,b)).map(hn)),u):r.slice()},u.rangeRound=function(e){return u.range(e).round(!0)},u.round=function(e){return arguments.length?(o=!!e,u):o},u.clamp=function(e){return arguments.length?(n.clamp(e),u):n.clamp()},u.unknown=function(e){return arguments.length?(t=e,u):t},u.copy=function(){return J(n.domain(),r).round(o).clamp(n.clamp()).unknown(t)},y.apply(u,arguments),M(u)}import{ascending as $n,bisect as nt,quantileSorted as tt}from\"/v127/d3-array@3.2.4/denonext/d3-array.mjs\";function K(){var n=[],r=[],o=[],t;function u(){var i=0,f=Math.max(1,r.length);for(o=new Array(f-1);++i0?o[f-1]:n[0],f=o?[t[o-1],r]:[t[a-1],t[a]]},i.unknown=function(c){return arguments.length&&(e=c),i},i.thresholds=function(){return t.slice()},i.copy=function(){return X().domain([n,r]).range(u).unknown(e)},y.apply(M(i),arguments)}import{bisect as et}from\"/v127/d3-array@3.2.4/denonext/d3-array.mjs\";function Z(){var n=[.5],r=[0,1],o,t=1;function u(e){return e!=null&&e<=e?r[et(n,e,0,t)]:o}return u.domain=function(e){return arguments.length?(n=Array.from(e),t=Math.min(n.length,r.length-1),u):n.slice()},u.range=function(e){return arguments.length?(r=Array.from(e),t=Math.min(n.length,r.length-1),u):r.slice()},u.invertExtent=function(e){var i=r.indexOf(e);return[n[i-1],n[i]]},u.unknown=function(e){return arguments.length?(o=e,u):o},u.copy=function(){return Z().domain(n).range(r).unknown(o)},y.apply(u,arguments)}import{timeYear as ot,timeMonth as ut,timeWeek as it,timeDay as at,timeHour as lt,timeMinute as ft,timeSecond as ct,timeTicks as mt,timeTickInterval as st}from\"/v127/d3-time@3.1.0/denonext/d3-time.mjs\";import{timeFormat as pt}from\"/v127/d3-time-format@4.1.0/denonext/d3-time-format.mjs\";function gt(n){return new Date(n)}function ht(n){return n instanceof Date?+n:+new Date(+n)}function Y(n,r,o,t,u,e,i,f,c,a){var s=I(),m=s.invert,l=s.domain,g=a(\".%L\"),d=a(\":%S\"),p=a(\"%I:%M\"),x=a(\"%I %p\"),w=a(\"%a %d\"),O=a(\"%b %d\"),T=a(\"%B\"),xn=a(\"%Y\");function qn(h){return(c(h)r(u/(n.length-1)))},o.quantiles=function(t){return Array.from({length:t+1},(u,e)=>Ft(n,e/t))},o.copy=function(){return tn(r).domain(n)},k.apply(o,arguments)}import{interpolate as Lt,interpolateRound as Pt,piecewise as Ot}from\"/v127/d3-interpolate@3.0.1/denonext/d3-interpolate.mjs\";function U(){var n=0,r=.5,o=1,t=1,u,e,i,f,c,a=v,s,m=!1,l;function g(p){return isNaN(p=+p)?l:(p=.5+((p=+s(p))-e)*(t*p{}};function s(){for(var r=0,t=arguments.length,n={},e;r=0&&(e=n.slice(o+1),n=n.slice(0,o)),n&&!t.hasOwnProperty(n))throw new Error(\"unknown type: \"+n);return{type:n,name:e}})}f.prototype=s.prototype={constructor:f,on:function(r,t){var n=this._,e=h(r+\"\",n),o,u=-1,i=e.length;if(arguments.length<2){for(;++u0)for(var n=new Array(o),e=0,o,u;e()=>t;function w(t,{sourceEvent:o,subject:i,target:l,identifier:f,active:h,x:b,y:E,dx:T,dy:y,dispatch:m}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:o,enumerable:!0,configurable:!0},subject:{value:i,enumerable:!0,configurable:!0},target:{value:l,enumerable:!0,configurable:!0},identifier:{value:f,enumerable:!0,configurable:!0},active:{value:h,enumerable:!0,configurable:!0},x:{value:b,enumerable:!0,configurable:!0},y:{value:E,enumerable:!0,configurable:!0},dx:{value:T,enumerable:!0,configurable:!0},dy:{value:y,enumerable:!0,configurable:!0},_:{value:m}})}w.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function V(t){return!t.ctrlKey&&!t.button}function W(){return this.parentNode}function Z(t,o){return o??{x:t.x,y:t.y}}function _(){return navigator.maxTouchPoints||\"ontouchstart\"in this}function $(){var t=V,o=W,i=Z,l=_,f={},h=R(\"start\",\"drag\",\"end\"),b=0,E,T,y,m,D=0;function a(e){e.on(\"mousedown.drag\",O).filter(l).on(\"touchstart.drag\",G).on(\"touchmove.drag\",H,C).on(\"touchend.drag touchcancel.drag\",J).style(\"touch-action\",\"none\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\")}function O(e,r){if(!(m||!t.call(this,e,r))){var n=U(this,o.call(this,e,r),e,r,\"mouse\");n&&(K(e.view).on(\"mousemove.drag\",A,p).on(\"mouseup.drag\",B,p),S(e.view),j(e),y=!1,E=e.clientX,T=e.clientY,n(\"start\",e))}}function A(e){if(d(e),!y){var r=e.clientX-E,n=e.clientY-T;y=r*r+n*n>D}f.mouse(\"drag\",e)}function B(e){K(e.view).on(\"mousemove.drag mouseup.drag\",null),z(e.view,y),d(e),f.mouse(\"end\",e)}function G(e,r){if(t.call(this,e,r)){var n=e.changedTouches,u=o.call(this,e,r),c=n.length,g,v;for(g=0;g=0&&n._call.call(void 0,t),n=n._next;--f}function T(){o=(h=c.now())+x,f=l=0;try{b()}finally{f=0,D(),o=0}}function A(){var n=c.now(),t=n-h;t>F&&(x-=t,h=n)}function D(){for(var n,t=_,r,e=1/0;t;)t._call?(e>t._time&&(e=t._time),n=t,t=t._next):(r=t._next,t._next=null,t=n?n._next=r:_=r);s=n,v(e)}function v(n){if(!f){l&&(l=clearTimeout(l));var t=n-o;t>24?(n<1/0&&(l=setTimeout(T,n-c.now()-x)),u&&(u=clearInterval(u))):(u||(h=c.now(),u=setInterval(A,F)),f=1,I(T))}}function N(n,t,r){var e=new i;return t=t==null?0:+t,e.restart(p=>{e.stop(),n(p+t)},t,r),e}function E(n,t,r){var e=new i,p=t;return t==null?(e.restart(n,t,r),e):(e._restart=e.restart,e.restart=function(d,m,a){m=+m,a=a==null?w():+a,e._restart(function j(k){k+=p,e._restart(j,p+=m,a),d(k)},m,a)},e.restart(n,t,r),e)}export{E as interval,w as now,N as timeout,y as timer,b as timerFlush};\n//# sourceMappingURL=d3-timer.mjs.map","/* esm.sh - esbuild bundle(d3-ease@3.0.1) denonext production */\nvar B=n=>+n;function C(n){return n*n}function E(n){return n*(2-n)}function l(n){return((n*=2)<=1?n*n:--n*(2-n)+1)/2}function P(n){return n*n*n}function w(n){return--n*n*n+1}function b(n){return((n*=2)<=1?n*n*n:(n-=2)*n*n+2)/2}var p=3,Q=function n(e){e=+e;function u(t){return Math.pow(t,e)}return u.exponent=n,u}(p),S=function n(e){e=+e;function u(t){return 1-Math.pow(1-t,e)}return u.exponent=n,u}(p),m=function n(e){e=+e;function u(t){return((t*=2)<=1?Math.pow(t,e):2-Math.pow(2-t,e))/2}return u.exponent=n,u}(p);var h=Math.PI,M=h/2;function L(n){return+n==1?1:1-Math.cos(n*M)}function g(n){return Math.sin(n*M)}function v(n){return(1-Math.cos(h*n))/2}function o(n){return(Math.pow(2,-10*n)-.0009765625)*1.0009775171065494}function j(n){return o(1-+n)}function z(n){return 1-o(n)}function d(n){return((n*=2)<=1?o(1-n):2-o(n-1))/2}function A(n){return 1-Math.sqrt(1-n*n)}function D(n){return Math.sqrt(1- --n*n)}function k(n){return((n*=2)<=1?1-Math.sqrt(1-n*n):Math.sqrt(1-(n-=2)*n)+1)/2}var I=.36363636363636365,F=6/11,G=8/11,H=3/4,J=9/11,K=10/11,N=15/16,R=21/22,T=63/64,i=1/I/I;function U(n){return 1-s(1-n)}function s(n){return(n=+n)G)throw new Error(\"too late; already scheduled\");return n}function _(t,r){var n=h(t,r);if(n.state>N)throw new Error(\"too late; already running\");return n}function h(t,r){var n=t.__transition;if(!n||!(n=n[r]))throw new Error(\"transition not found\");return n}function mt(t,r,n){var e=t.__transition,i;e[r]=n,n.timer=ct(a,0,n.time);function a(f){n.state=A,n.timer.restart(o,n.delay,n.time),n.delay<=f&&o(f-n.delay)}function o(f){var l,m,p,c;if(n.state!==A)return s();for(l in e)if(c=e[l],c.name===n.name){if(c.state===N)return b(o);c.state===V?(c.state=g,c.timer.stop(),c.on.call(\"interrupt\",t,t.__data__,c.index,c.group),delete e[l]):+lC&&e.state=0&&(r=r.slice(0,n)),!r||r===\"start\"})}function Ht(t,r,n){var e,i,a=Ut(r)?x:_;return function(){var o=a(this,t),u=o.on;u!==e&&(i=(e=u).copy()).on(r,n),o.on=i}}function K(t,r){var n=this._id;return arguments.length<2?h(this.node(),n).on.on(t):this.each(Ht(n,t,r))}function Lt(t){return function(){var r=this.parentNode;for(var n in this.__transition)if(+n!==t)return;r&&r.removeChild(this)}}function Q(){return this.on(\"end.remove\",Lt(this._id))}import{selector as Mt}from\"/v127/d3-selection@3.0.0/denonext/d3-selection.mjs\";function W(t){var r=this._name,n=this._id;typeof t!=\"function\"&&(t=Mt(t));for(var e=this._groups,i=e.length,a=new Array(i),o=0;oA&&e.name===r)return new d([[t]],sr,r,+i)}return null}export{fr as active,R as interrupt,F as transition};\n//# sourceMappingURL=d3-transition.mjs.map","/* esm.sh - esbuild bundle(d3-zoom@3.0.0) denonext production */\nimport{dispatch as ot}from\"/v127/d3-dispatch@3.0.1/denonext/d3-dispatch.mjs\";import{dragDisable as it,dragEnable as ut}from\"/v127/d3-drag@3.0.0/denonext/d3-drag.mjs\";import{interpolateZoom as rt}from\"/v127/d3-interpolate@3.0.1/denonext/d3-interpolate.mjs\";import{select as B,pointer as T}from\"/v127/d3-selection@3.0.0/denonext/d3-selection.mjs\";import{interrupt as H}from\"/v127/d3-transition@3.0.1/denonext/d3-transition.mjs\";var X=n=>()=>n;function C(n,{sourceEvent:f,target:m,transform:w,dispatch:_}){Object.defineProperties(this,{type:{value:n,enumerable:!0,configurable:!0},sourceEvent:{value:f,enumerable:!0,configurable:!0},target:{value:m,enumerable:!0,configurable:!0},transform:{value:w,enumerable:!0,configurable:!0},_:{value:_}})}function v(n,f,m){this.k=n,this.x=f,this.y=m}v.prototype={constructor:v,scale:function(n){return n===1?this:new v(this.k*n,this.x,this.y)},translate:function(n,f){return n===0&f===0?this:new v(this.k,this.x+this.k*n,this.y+this.k*f)},apply:function(n){return[n[0]*this.k+this.x,n[1]*this.k+this.y]},applyX:function(n){return n*this.k+this.x},applyY:function(n){return n*this.k+this.y},invert:function(n){return[(n[0]-this.x)/this.k,(n[1]-this.y)/this.k]},invertX:function(n){return(n-this.x)/this.k},invertY:function(n){return(n-this.y)/this.k},rescaleX:function(n){return n.copy().domain(n.range().map(this.invertX,this).map(n.invert,n))},rescaleY:function(n){return n.copy().domain(n.range().map(this.invertY,this).map(n.invert,n))},toString:function(){return\"translate(\"+this.x+\",\"+this.y+\") scale(\"+this.k+\")\"}};var V=new v(1,0,0);F.prototype=v.prototype;function F(n){for(;!n.__zoom;)if(!(n=n.parentNode))return V;return n.__zoom}function G(n){n.stopImmediatePropagation()}function E(n){n.preventDefault(),n.stopImmediatePropagation()}function st(n){return(!n.ctrlKey||n.type===\"wheel\")&&!n.button}function at(){var n=this;return n instanceof SVGElement?(n=n.ownerSVGElement||n,n.hasAttribute(\"viewBox\")?(n=n.viewBox.baseVal,[[n.x,n.y],[n.x+n.width,n.y+n.height]]):[[0,0],[n.width.baseVal.value,n.height.baseVal.value]]):[[0,0],[n.clientWidth,n.clientHeight]]}function L(){return this.__zoom||V}function ht(n){return-n.deltaY*(n.deltaMode===1?.05:n.deltaMode?1:.002)*(n.ctrlKey?10:1)}function ct(){return navigator.maxTouchPoints||\"ontouchstart\"in this}function ft(n,f,m){var w=n.invertX(f[0][0])-m[0][0],_=n.invertX(f[1][0])-m[1][0],g=n.invertY(f[0][1])-m[0][1],l=n.invertY(f[1][1])-m[1][1];return n.translate(_>w?(w+_)/2:Math.min(0,w)||Math.max(0,_),l>g?(g+l)/2:Math.min(0,g)||Math.max(0,l))}function lt(){var n=st,f=at,m=ft,w=ht,_=ct,g=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],P=250,K=rt,D=ot(\"start\",\"zoom\",\"end\"),M,S,Y,N=500,Q=150,q=0,W=10;function r(t){t.property(\"__zoom\",L).on(\"wheel.zoom\",R,{passive:!1}).on(\"mousedown.zoom\",U).on(\"dblclick.zoom\",$).filter(_).on(\"touchstart.zoom\",tt).on(\"touchmove.zoom\",et).on(\"touchend.zoom touchcancel.zoom\",nt).style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\")}r.transform=function(t,o,e,i){var u=t.selection?t.selection():t;u.property(\"__zoom\",L),t!==u?O(t,o,e,i):u.interrupt().each(function(){x(this,arguments).event(i).start().zoom(null,typeof o==\"function\"?o.apply(this,arguments):o).end()})},r.scaleBy=function(t,o,e,i){r.scaleTo(t,function(){var u=this.__zoom.k,s=typeof o==\"function\"?o.apply(this,arguments):o;return u*s},e,i)},r.scaleTo=function(t,o,e,i){r.transform(t,function(){var u=f.apply(this,arguments),s=this.__zoom,a=e==null?j(u):typeof e==\"function\"?e.apply(this,arguments):e,h=s.invert(a),c=typeof o==\"function\"?o.apply(this,arguments):o;return m(I(Z(s,c),a,h),u,l)},e,i)},r.translateBy=function(t,o,e,i){r.transform(t,function(){return m(this.__zoom.translate(typeof o==\"function\"?o.apply(this,arguments):o,typeof e==\"function\"?e.apply(this,arguments):e),f.apply(this,arguments),l)},null,i)},r.translateTo=function(t,o,e,i,u){r.transform(t,function(){var s=f.apply(this,arguments),a=this.__zoom,h=i==null?j(s):typeof i==\"function\"?i.apply(this,arguments):i;return m(V.translate(h[0],h[1]).scale(a.k).translate(typeof o==\"function\"?-o.apply(this,arguments):-o,typeof e==\"function\"?-e.apply(this,arguments):-e),s,l)},i,u)};function Z(t,o){return o=Math.max(g[0],Math.min(g[1],o)),o===t.k?t:new v(o,t.x,t.y)}function I(t,o,e){var i=o[0]-e[0]*t.k,u=o[1]-e[1]*t.k;return i===t.x&&u===t.y?t:new v(t.k,i,u)}function j(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function O(t,o,e,i){t.on(\"start.zoom\",function(){x(this,arguments).event(i).start()}).on(\"interrupt.zoom end.zoom\",function(){x(this,arguments).event(i).end()}).tween(\"zoom\",function(){var u=this,s=arguments,a=x(u,s).event(i),h=f.apply(u,s),c=e==null?j(h):typeof e==\"function\"?e.apply(u,s):e,z=Math.max(h[1][0]-h[0][0],h[1][1]-h[0][1]),p=u.__zoom,d=typeof o==\"function\"?o.apply(u,s):o,b=K(p.invert(c).concat(z/p.k),d.invert(c).concat(z/d.k));return function(y){if(y===1)y=d;else{var k=b(y),A=z/k[2];y=new v(A,c[0]-k[0]*A,c[1]-k[1]*A)}a.zoom(null,y)}})}function x(t,o,e){return!e&&t.__zooming||new J(t,o)}function J(t,o){this.that=t,this.args=o,this.active=0,this.sourceEvent=null,this.extent=f.apply(t,o),this.taps=0}J.prototype={event:function(t){return t&&(this.sourceEvent=t),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit(\"start\")),this},zoom:function(t,o){return this.mouse&&t!==\"mouse\"&&(this.mouse[1]=o.invert(this.mouse[0])),this.touch0&&t!==\"touch\"&&(this.touch0[1]=o.invert(this.touch0[0])),this.touch1&&t!==\"touch\"&&(this.touch1[1]=o.invert(this.touch1[0])),this.that.__zoom=o,this.emit(\"zoom\"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit(\"end\")),this},emit:function(t){var o=B(this.that).datum();D.call(t,this.that,new C(t,{sourceEvent:this.sourceEvent,target:r,type:t,transform:this.that.__zoom,dispatch:D}),o)}};function R(t,...o){if(!n.apply(this,arguments))return;var e=x(this,o).event(t),i=this.__zoom,u=Math.max(g[0],Math.min(g[1],i.k*Math.pow(2,w.apply(this,arguments)))),s=T(t);if(e.wheel)(e.mouse[0][0]!==s[0]||e.mouse[0][1]!==s[1])&&(e.mouse[1]=i.invert(e.mouse[0]=s)),clearTimeout(e.wheel);else{if(i.k===u)return;e.mouse=[s,i.invert(s)],H(this),e.start()}E(t),e.wheel=setTimeout(a,Q),e.zoom(\"mouse\",m(I(Z(i,u),e.mouse[0],e.mouse[1]),e.extent,l));function a(){e.wheel=null,e.end()}}function U(t,...o){if(Y||!n.apply(this,arguments))return;var e=t.currentTarget,i=x(this,o,!0).event(t),u=B(t.view).on(\"mousemove.zoom\",c,!0).on(\"mouseup.zoom\",z,!0),s=T(t,e),a=t.clientX,h=t.clientY;it(t.view),G(t),i.mouse=[s,this.__zoom.invert(s)],H(this),i.start();function c(p){if(E(p),!i.moved){var d=p.clientX-a,b=p.clientY-h;i.moved=d*d+b*b>q}i.event(p).zoom(\"mouse\",m(I(i.that.__zoom,i.mouse[0]=T(p,e),i.mouse[1]),i.extent,l))}function z(p){u.on(\"mousemove.zoom mouseup.zoom\",null),ut(p.view,i.moved),E(p),i.event(p).end()}}function $(t,...o){if(n.apply(this,arguments)){var e=this.__zoom,i=T(t.changedTouches?t.changedTouches[0]:t,this),u=e.invert(i),s=e.k*(t.shiftKey?.5:2),a=m(I(Z(e,s),i,u),f.apply(this,o),l);E(t),P>0?B(this).transition().duration(P).call(O,a,i,t):B(this).call(r.transform,a,i,t)}}function tt(t,...o){if(n.apply(this,arguments)){var e=t.touches,i=e.length,u=x(this,o,t.changedTouches.length===i).event(t),s,a,h,c;for(G(t),a=0;a\r\n `${title,split('scan=').slice(-1)[0]}`\r\n\r\nconst SpectrumViewer = ({species_sn, protein_seq_id}) => {\r\n const {isReady: coverageisReady, coverage} = useMsCoverage({species_sn, protein_seq_id})\r\n\r\n const {isReady, prot_psms} = useFetchProtPsms({species_sn, protein_seq_id})\r\n\r\n const pmsStateReducer = (state, action) => {\r\n const { type, payload } = action;\r\n switch (type) {\r\n case 'init':{\r\n return {\r\n selected_psm: {\r\n study_id: \"\",\r\n peptide_seq: \"\",\r\n scan_number: \"\",\r\n psm_id: -1\r\n },\r\n psms: [],\r\n spectrum: {},\r\n spectrum_annotation: {},\r\n studies: [],\r\n filteredPeptides: [],\r\n filteredSpectra: [],\r\n }\r\n }\r\n case 'load_psms':{\r\n if (payload.length <1) {\r\n return {...state}\r\n }\r\n const best_psm = payload.reduce((prev, current) => (prev.psm_score > current.psm_score) ? prev : current)\r\n return {\r\n ...state,\r\n psms: payload,\r\n studies: Array.from(new Set(payload.map((item) => item.study_id))),\r\n filteredPeptides: Array.from(new Set(payload.filter((c) => c.study_id === best_psm.study_id).map(item => item.peptide_seq))),\r\n filteredSpectra: payload.filter((c) => c.study_id === best_psm.study_id & c.peptide_seq === best_psm.peptide_seq).map(item => item.scan_number),\r\n selected_psm: best_psm,\r\n };\r\n }\r\n case 'select_study': {\r\n const filteredPeptides = Array.from(new Set(state.psms.filter((c) => c.study_id === payload.value).map(item => item.peptide_seq)))\r\n const filteredSpectra = state.psms.filter((c) => c.study_id === payload.value & filteredPeptides.includes(c.peptide_seq)).map(item => item.scan_number)\r\n const selected_psm = state.psms.filter((c) => filteredSpectra.includes(c.scan_number)).reduce((prev, current) => (prev.psm_score > current.psm_score) ? prev : current)\r\n return {\r\n ...state,\r\n filteredPeptides: filteredPeptides,\r\n filteredSpectra: filteredSpectra,\r\n selected_psm: selected_psm,\r\n };\r\n }\r\n case 'select_peptide': {\r\n const filteredSpectra = state.psms.filter((c) => c.study_id === state.selected_psm.study_id & c.peptide_seq === payload.value).map(item => item.scan_number)\r\n const selected_psm = state.psms.filter((c) => filteredSpectra.includes(c.scan_number)).reduce((prev, current) => (prev.psm_score > current.psm_score) ? prev : current)\r\n return {\r\n ...state,\r\n peptide_seq: payload.value,\r\n filteredSpectra: filteredSpectra,\r\n selected_psm: selected_psm,\r\n };\r\n }\r\n case 'select_spectrum': {\r\n return {\r\n ...state,\r\n selected_psm: state.psms.filter((c) => c.scan_number === payload.value)[0],\r\n };\r\n }\r\n default:\r\n return { ...state };\r\n }\r\n };\r\n\r\n const [psmStateView, dispatchPsmStates] = useReducer(pmsStateReducer, pmsStateReducer(null, {type:'init', payload:null}));\r\n\r\n useEffect(() => {dispatchPsmStates({type: 'load_psms', payload: prot_psms})}, [isReady]);\r\n\r\n const {isReady:psmIsReady, psm, fetchPsm} = useFetchPsm()\r\n\r\n useEffect(() => {\r\n if (psmStateView.selected_psm.psm_id !== -1) {\r\n \r\n fetchPsm(species_sn, psmStateView.selected_psm.psm_id)\r\n }\r\n }, [psmStateView.selected_psm.psm_id])\r\n\r\n const [currentZoomState, setCurrentZoomState] = useState();\r\n const svgRef = useRef();\r\n\r\n useEffect(() => {\r\n if (!psmIsReady){\r\n return;\r\n }\r\n const spectrum = psm.spectrum\r\n const spectrum_annotation = psm.spec_ann\r\n\r\n const svg = select(svgRef.current);\r\n const xScale = scaleLinear().domain(\r\n [Math.min(...spectrum[\"m/z\"]), Math.max(...spectrum[\"m/z\"])]\r\n ).range([margin.left, width]);\r\n\r\n if (currentZoomState) {\r\n const newXScale = currentZoomState.rescaleX(xScale);\r\n xScale.domain(newXScale.domain());\r\n }\r\n\r\n const yScale = scaleLinear().domain([0, 1]).range([height, margin.top]);\r\n\r\n const xAxis = axisBottom(xScale);\r\n const yAxis = axisLeft(yScale);\r\n svg.select(\".x-axis\").style(\"transform\", \"translateY(\"+height+\"px)\").call(xAxis);\r\n svg.select(\".y-axis\").style(\"transform\", \"translateX(\"+margin.left+\"px)\").call(yAxis);\r\n\r\n function getRelInt(intensity) {\r\n return (intensity / Math.max(...spectrum.intensity));\r\n }\r\n\r\n function getPeaksD(mz, intensity) {\r\n return (`M${xScale(mz)},${yScale(0)}L${xScale(mz)},${yScale(getRelInt(intensity))}`);\r\n }\r\n\r\n function getPeakColor(data) {\r\n switch (data.Subtype) {\r\n case \"y\":\r\n return (\"red\");\r\n case \"b\":\r\n return (\"blue\");\r\n }\r\n }\r\n\r\n svg\r\n .selectAll(\".peak-bg\")\r\n .data(spectrum[\"m/z\"])\r\n .join(\"path\")\r\n .attr(\"class\", \"peak-bg\")\r\n .attr(\"d\", (value, idx) => getPeaksD(value, spectrum.intensity[idx]))\r\n .attr(\"fill\", \"none\")\r\n .attr(\"stroke\", \"grey\");\r\n \r\n svg\r\n .selectAll(\".tooltip-ion-name\")\r\n .data(spectrum_annotation.peak_anns)\r\n .join(\"text\")\r\n .attr(\"class\", \"tooltip-ion-name\")\r\n .text(value => value.Name)\r\n .attr(\"text-anchor\", \"middle\")\r\n .style(\"fill\", value => getPeakColor(value))\r\n .attr(\"x\", value => xScale(value[\"m/z\"]))\r\n .attr(\"y\", value => yScale(getRelInt(value.Intensity)) - 8)\r\n .on(\"mouseenter\", value => {\r\n svg\r\n .selectAll(\".tooltip-bg\")\r\n .data([value])\r\n .join(\"rect\")\r\n .attr(\"class\", \"tooltip-bg\")\r\n .attr(\"width\", 150)\r\n .attr(\"height\", 50)\r\n .attr(\"fill\", \"white\")\r\n .attr(\"x\", xScale(value.srcElement.__data__[\"m/z\"]) + 18)\r\n .attr(\"y\", yScale(getRelInt(value.srcElement.__data__.Intensity)) - 38);\r\n svg\r\n .selectAll(\".tooltip-charge\")\r\n .data([value])\r\n .join(\"text\")\r\n .attr(\"class\", \"tooltip-charge\")\r\n .text(`charge: ${value.srcElement.__data__[\"Fragment Charge\"]}+`)\r\n .attr(\"x\", xScale(value.srcElement.__data__[\"m/z\"]) + 18)\r\n .attr(\"y\", yScale(getRelInt(value.srcElement.__data__.Intensity)) - 24);\r\n svg\r\n .selectAll(\".tooltip-mz\")\r\n .data([value])\r\n .join(\"text\")\r\n .attr(\"class\", \"tooltip-mz\")\r\n .text(`m/z: ${value.srcElement.__data__[\"m/z\"]}`)\r\n .attr(\"x\", xScale(value.srcElement.__data__[\"m/z\"]) + 18)\r\n .attr(\"y\", yScale(getRelInt(value.srcElement.__data__.Intensity)) - 8);\r\n svg\r\n .selectAll(\".tooltip-abundance\")\r\n .data([value])\r\n .join(\"text\")\r\n .attr(\"class\", \"tooltip-abundance\")\r\n .text(`rel. abundance: ${Math.round(getRelInt(value.srcElement.__data__.Intensity) * 100)/100}`)\r\n .attr(\"x\", xScale(value.srcElement.__data__[\"m/z\"]) + 18)\r\n .attr(\"y\", yScale(getRelInt(value.srcElement.__data__.Intensity)) + 8);\r\n })\r\n .on(\"mouseleave\", () => {\r\n svg.select(\".tooltip-charge\").remove();\r\n svg.select(\".tooltip-mz\").remove();\r\n svg.select(\".tooltip-abundance\").remove();\r\n svg.select(\".tooltip-bg\").remove();\r\n });\r\n\r\n svg\r\n .selectAll(\".peak-ann\")\r\n .data(spectrum_annotation.peak_anns)\r\n .join(\"path\")\r\n .attr(\"class\", \"peak-ann\")\r\n .attr(\"d\", value => getPeaksD(value[\"m/z\"], value.Intensity))\r\n .attr(\"fill\", \"none\")\r\n .attr(\"stroke-width\", 2)\r\n .attr(\"stroke\", value => getPeakColor(value))\r\n .on(\"mouseenter\", value => {\r\n svg\r\n .selectAll(\".tooltip-charge\")\r\n .data([value])\r\n .join(\"text\")\r\n .attr(\"class\", \"tooltip-charge\")\r\n .text(`charge: ${value.srcElement.__data__[\"Fragment Charge\"]}+`)\r\n .attr(\"x\", xScale(value.srcElement.__data__.mz) + 18)\r\n .attr(\"y\", yScale(getRelInt(value.srcElement.__data__.Intensity)) - 24);\r\n svg\r\n .selectAll(\".tooltip-mz\")\r\n .data([value])\r\n .join(\"text\")\r\n .attr(\"class\", \"tooltip-mz\")\r\n .text(`m/z: ${value.srcElement.__data__.mz}`)\r\n .attr(\"x\", xScale(value.srcElement.__data__.mz) + 18)\r\n .attr(\"y\", yScale(getRelInt(value.srcElement.__data__.Intensity)) - 8);\r\n svg\r\n .selectAll(\".tooltip-abundance\")\r\n .data([value])\r\n .join(\"text\")\r\n .attr(\"class\", \"tooltip-abundance\")\r\n .text(`rel. abundance: ${Math.round(getRelInt(value.srcElement.__data__.Intensity) * 100)/100}`)\r\n .attr(\"x\", xScale(value.srcElement.__data__.mz) + 18)\r\n .attr(\"y\", yScale(getRelInt(value.srcElement.__data__.Intensity)) + 8);\r\n })\r\n .on(\"mouseleave\", () => {\r\n svg.select(\".tooltip-charge\").remove();\r\n svg.select(\".tooltip-mz\").remove();\r\n svg.select(\".tooltip-abundance\").remove();\r\n });\r\n\r\n svg\r\n .selectAll('.x-axis-label')\r\n .data(['m/z'])\r\n .join('text')\r\n .attr('class', 'x-axis-label')\r\n .attr('x', width/2)\r\n .attr('y', height + 28)\r\n .text(v => v)\r\n svg\r\n .selectAll('.y-axis-label')\r\n .data(['rel. intensity'])\r\n .join('text')\r\n .attr('class', 'y-axis-label')\r\n .attr('x', 10)\r\n .attr('y', height/2 + 60 )\r\n .text(v => v)\r\n .attr('transform', `rotate(-90,10,${height/2 + 60})`)\r\n \r\n\r\n const peptide_position = {\r\n \"x\":width - (spectrum_annotation.Sequence.length * 18), \r\n \"y\":12\r\n };\r\n\r\n svg\r\n .selectAll(\".peptide-frag\")\r\n .data(spectrum_annotation.Sequence)\r\n .join(\"text\")\r\n .attr(\"class\", \"peptide-frag\")\r\n .attr(\"fill\", \"black\")\r\n .attr(\"x\", (value, index) => peptide_position.x + index * 18)\r\n .attr(\"y\", peptide_position.y)\r\n .attr(\"text-anchor\", \"middle\")\r\n .attr(\"font-family\", \"Courier\")\r\n .style(\"font-size\", 16)\r\n .text(value => value);\r\n \r\n function getSeparator(p_ann) {\r\n switch (p_ann.Subtype) {\r\n case 'b':// top blue\r\n var i = p_ann.Number -1\r\n return (`M${peptide_position.x + 3 + 18*i},${0}L${peptide_position.x + 9 + 18*i},${3}L${peptide_position.x + 9 + 18*i},${10}`);\r\n\r\n case 'y':// bottom red\r\n var i = spectrum_annotation.Sequence.length - p_ann.Number -1\r\n return (`M${peptide_position.x + 9 + 18*i},${10}L${peptide_position.x + 9 + 18*i},${18}L${peptide_position.x + 15 + 18*i},${21}`);\r\n }\r\n }\r\n\r\n const yb = /y|b/;\r\n\r\n svg\r\n .selectAll(\".frag-sep\")\r\n .data(spectrum_annotation.peak_anns.filter(p => yb.test(p.Name)))\r\n .join(\"path\")\r\n .attr(\"class\", \"frag-sep\")\r\n .attr(\"d\", value => getSeparator(value)) \r\n .attr(\"fill\", \"none\")\r\n .attr(\"stroke\", value => getPeakColor(value));\r\n \r\n const zoomBehavior = zoom()\r\n .scaleExtent([1, 5])\r\n .translateExtent([[0,0], [width, height]])\r\n .on(\"zoom\", (event) => {\r\n const zoomState = event.transform;\r\n setCurrentZoomState(zoomState);\r\n });\r\n \r\n zoomBehavior(svg);\r\n\r\n }, [currentZoomState, prot_psms, psm]);\r\n\r\n const downloadPsms = e => {\r\n \r\n e.preventDefault()\r\n\r\n let headers = [\"psm_id,peptide_seq,experiment_id,study_id,scan_number,psm_score\"]\r\n downloadFile({\r\n data: [...headers, ...prot_psms.map(r => Object.values(r).join(','))].join('\\n'),\r\n fileName: `PSMs_${protein_seq_id}.csv`,\r\n fileType: 'text/csv',\r\n })\r\n }\r\n\r\n const downloadMgf = e => {\r\n e.preventDefault()\r\n\r\n let headers = [\r\n 'BEGIN IONS',\r\n `TITLE=${psm.spectrum.TITLE}`,\r\n `RTINSECONDS=${psm.spectrum.RTINSECONDS}`,\r\n `PEPMASS=${psm.spectrum.PEPMASS}`,\r\n `CHARGE=${psm.spectrum.CHARGE}`]\r\n\r\n downloadFile({\r\n data: [...headers, ...psm.spectrum['m/z'].map((mz, idx) => `${mz},${psm.spectrum['intensity'][idx]}`), 'END IONS'].join('\\n'),\r\n fileName: `spectrum_${protein_seq_id}_${psm.spectrum.TITLE}.mgf`,\r\n fileType: 'text',\r\n })\r\n }\r\n\r\n if (!isReady | !psmIsReady) {\r\n return Loading\r\n };\r\nconsole.log(psm)\r\n return ( \r\n
\r\n
\r\n \r\n

Browse peptide spectrum matches (PSMs) resulting from the re-analyses of public mass spectrometry data using the OpenProt protein library. \r\n See the documentation for more details on the method.

\r\n

Select a study name, a peptide and a specific spectrum to see it on the spectrum viewer. The viewer can zoom (by rolling the mouse wheel) and pan (by clicking and dragging).

\r\n
\r\n
\r\n\r\n
\r\n {horizontalList('studies', coverage.n_studies, null, \"number of independent studies\" )}\r\n {horizontalList('unique peptides', coverage.n_detected_unique_peps, null, \"number of detected unique peptides\" )}\r\n {horizontalList('detected coverage', `${(coverage.detected_coverage*100).toFixed(1)}%`, null, \"sequence coverage from detected peptides following peptide assignation rules\" )}\r\n
\r\n\r\n\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n dispatchPsmStates({\r\n type: 'select_study',\r\n payload: { value: e},\r\n })\r\n }\r\n />
\r\n
\r\n dispatchPsmStates({\r\n type: 'select_peptide',\r\n payload: { value: e},\r\n })\r\n }\r\n />
\r\n
\r\n dispatchPsmStates({\r\n type: 'select_spectrum',\r\n payload: { value: e },\r\n })\r\n }\r\n />
\r\n
\r\n {decoratedlist('PSM score', psmStateView.selected_psm.psm_score, null, \"Percolator score output from Ms2Rescore\")}\r\n {decoratedlist('PEP', psm.PEP.toExponential(2), null, \"posterior error probability\")}\r\n {decoratedlist('experiment', psmStateView.selected_psm.experiment_id, null, \"name of spectrum file within dataset\")}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nconst Selector = ({label, items, selectedItem, onChange}) =>\r\n onChange(e.target.value)}\r\n value={selectedItem}\r\n >\r\n {\r\n items.map((item) => (\r\n \r\n ))\r\n }\r\n \r\n\r\nexport default SpectrumViewer","import { listify } from 'radash'\n\nexport const SimpleDictTable = ({colDefs, rows}) =>\n \n \n \n {\n listify(\n colDefs,\n (k, label) =>\n \n {label}\n \n )\n }\n \n \n \n {\n rows.map(\n (o,idx) => \n {\n listify(\n colDefs,\n (k, _) =>\n \n {o[k]}\n \n )\n }\n \n )\n }\n \n
\n","import { useMemo } from \"react\"\nimport {\n useReactTable,\n getCoreRowModel,\n createColumnHelper,\n flexRender\n} from 'react-table'\n\nimport {useConservation} from \"../hooks.js\"\nimport {SimpleDictTable} from \"../widgets/SimpleTable.jsx\"\nimport { downloadFile, HeaderWithModal } from \"../utils.jsx\"\n\nconst columnHelper = createColumnHelper()\n\nexport default ({species_sn, protein_seq_id}) => {\n\n const {\n orthologs,\n paralogs\n } = useConservation({\n species_sn,\n protein_seq_id,\n renderSpeciesCell: species => species.sc\n })\n\n\n const blastColumnTitles = {\n sseq_a: \"subject\",\n pident: \"pident\",\n length: \"length\",\n mismatch: \"mismatch\",\n gapopen: \"gapopen\",\n qstart: \"qstart\",\n qend: \"qend\",\n sstart: \"sstart\",\n send: \"send\",\n evalue: \"evalue\",\n bitscore: \"bitscore\",\n qcovs: \"qcovs\",\n qlen: \"qlen\",\n slen: \"slen\"\n }\n\n\n const paralogColumTitles = {\n ...blastColumnTitles,\n is_isoform: \"isoform\"\n }\n\n\n const columns= useMemo(() =>[\n columnHelper.accessor(\n row => row[0],\n {\n header: 'Species',\n cell: info => {\n const o = info.getValue()\n if(o === null) {\n return null\n }\n\n return o.content\n }\n }\n ),\n ...[\"subject\",\n \"pident\",\n \"length\",\n \"mismatch\",\n \"gapopen\",\n \"qstart\",\n \"qend\",\n \"sstart\",\n \"send\",\n \"evalue\",\n \"bitscore\",\n \"qcovs\",\n \"qlen\",\n \"slen\"\n ].map(\n (title, idx) =>\n columnHelper.accessor(\n row => row[idx + 1],\n {\n header: title,\n cell: info => info.getValue().content\n }\n )\n )\n ],[])\n\n const orthologTable = useReactTable({\n data: orthologs,\n columns,\n getCoreRowModel: getCoreRowModel()\n })\n \n const downloadOrthologs = e => {\n \n e.preventDefault()\n\n let headers = [\"species,subject,pident,length,mismatch,gapopen,qstart,qend,sstart,send,evalue,bitscore,qcovs,qlen,slen\"]\n \n let rows = orthologs.reduce((acc, orth) => {\n const u = orth.map((x, idx)=> x !== null ? x.content : acc[acc.length-1][0])\n acc.push(u)\n return acc\n }, [])\n \n downloadFile({\n data: [...headers, ...rows.map(r => r.join(','))].join('\\n'),\n fileName: `orthologs_${protein_seq_id}.csv`,\n fileType: 'text/csv',\n })\n }\n\n const downloadParalogs = e => {\n \n e.preventDefault()\n\n let headers = [\"subject,pident,length,mismatch,gapopen,qstart,qend,sstart,send,evalue,bitscore,qcovs,qlen,slen,isoform\"]\n const columns = ['sseq_a','pident','length','mismatch','gapopen','qstart','qend','sstart','send','evalue','bitscore','qcovs','qlen','slen','is_isoform']\n console.log(paralogs)\n console.log(paralogColumTitles)\n const rows = paralogs.map(p => columns.map(t => p[t]))\n downloadFile({\n data: [...headers, ...rows.map(r => r.join(','))].join('\\n'),\n fileName: `paralogs_${protein_seq_id}.csv`,\n fileType: 'text/csv',\n })\n }\n\n const renderOrthologTable = () => \n \n {orthologTable.getHeaderGroups().map(headerGroup => (\n \n {headerGroup.headers.map(header => {\n return (\n \n {header.isPlaceholder ? null : (\n flexRender(\n header.column.columnDef.header,\n header.getContext()\n )\n )}\n \n )\n })}\n \n ))}\n \n \n {orthologTable.getRowModel().rows.map(row => {\n return (\n \n {\n row.getVisibleCells().map(cell => {\n const ctx = cell.getContext()\n const v = ctx.getValue()\n if(v === null) {\n return null\n }\n if(!v) {\n return null\n }\n return (\n \n {flexRender(cell.column.columnDef.cell, ctx)}\n \n )\n })\n }\n \n )\n })}\n \n
\n\n return
\n
\n \n

These tables contain the results of a phylogenetic conservation analyses of the protein sequence. \n See the documentation for more details on the method.

\n

Column description:

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
ColumnDescription
pidentPercentage of identical matches
mismatch Number of mismatches
gapopen Number of gap openings
qstart Start of alignment in query
qend End of alignment in query
sstart End of alignment in subject
send Percentage of identical matches
qcovs Query Coverage Per Subject
qlen query length
slen subject length
\n
\n
\n
\n

Orthologs

\n \n
\n\n {renderOrthologTable()}\n
\n

Paralogs

\n \n
\n \n
\n}\n\n\n","import { useMemo } from \"react\";\nimport {\n useReactTable,\n getCoreRowModel,\n getGroupedRowModel,\n getExpandedRowModel,\n flexRender,\n createColumnHelper\n} from 'react-table'\nimport Link from \"../widgets/Link.jsx\";\nimport {useFetchRiboseqData} from \"../hooks.js\";\nimport { HeaderWithModal } from \"../utils.jsx\"\n\nconst columnHelper = createColumnHelper()\n\n//good test: ENSP00000367263.4, http://localhost:3000/proteins/HS/196752\n\nconst RiboseqTable = ({species_sn, protein_seq_id}) => {\n\n const {isReady, rows} = useFetchRiboseqData({\n species_sn,\n protein_seq_id,\n renderStudy: study =>\n
\n \n {study.citation &&
PMID: {study.citation}
}\n
,\n renderSamples: samples => samples.map(\n sample =>\n \n {sample.accession}: {sample.value}\n \n )\n })\n\n const columns= useMemo(\n () => [\n columnHelper.accessor(\n row => row[0],\n {\n header: 'study',\n cell: info => {\n const o = info.getValue()\n if(o === null) {\n return null\n }\n\n return o.content\n }\n }\n ),\n ...[\"annotation source\",\n \"codon\",\n \"type\",\n \"start score\",\n \"range score\",\n \"p value\",\n \"samples\",\n \"total readcount\",\n \"transcript,protein\",\n \"overlap %\"\n ].map(\n (title, idx) =>\n columnHelper.accessor(\n row => row[idx + 1],\n {\n header: title,\n cell: info => info.getValue().content\n }\n )\n )\n ],\n []\n )\n\n const table = useReactTable({\n data: rows,\n columns,\n //onGroupingChange: () => {},\n //getExpandedRowModel: getExpandedRowModel(),\n //getGroupedRowModel: getGroupedRowModel(),\n getCoreRowModel: getCoreRowModel()\n })\n\n if(!isReady) {\n return
loading...
\n }\n\n return \n \n {table.getHeaderGroups().map(headerGroup => (\n \n {headerGroup.headers.map(header => {\n return (\n \n {header.isPlaceholder ? null : (\n flexRender(\n header.column.columnDef.header,\n header.getContext()\n )\n )}\n \n )\n })}\n \n ))}\n \n \n {table.getRowModel().rows.map(row => {\n return (\n \n {\n row.getVisibleCells().map(cell => {\n const ctx = cell.getContext()\n const v = ctx.getValue()\n if(v === null) {\n return null\n }\n return (\n \n {flexRender(cell.column.columnDef.cell, ctx)}\n \n )\n })\n }\n \n )\n })}\n \n
\n}\n\n\nexport default ({species_sn, protein_seq_id}) => {\n\n\n return
\n
\n \n

See the results from the re-analysis of public ribosome profiling data using the OpenProt 2.0 annotations and the PRICE algorithm.\n See the documentation for more details on the method.

\n

Column description:

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
ColumnDescription
StudyName of the study that originated the data.
annotation sourceAnnotation from which the transcript originates.
codon Codon aligned with ribosome protected fragments.
type \n inferred ORF type:\n
    \n
  • CDS: ORF is exactly as in the annotation
  • \n
  • Ext: ORF contains a CDS, ending at its stop codon
  • \n
  • Trunc: ORF is contained in a CDS, ending at its stop codon
  • \n
  • Variant: ORF ends at a CDS stop codon, but is neither Ext nor Trunc
  • \n
  • uoORF: ORF starts in 5'-UTR, ends within a CDS
  • \n
  • uORF: ORF starts and ends in 5'-UTR
  • \n
  • iORF: ORF is contained within a CDS
  • \n
  • dORF: ORF ends in 3'-UTR
  • \n
  • ncORF: ORF is located on non-coding transcript
  • \n
  • intronORF: ORF is located in an intron
  • \n
  • orphan: everything else
  • \n
\n
start score Start of alignment in query
range score End of alignment in query
p value End of alignment in subject
samples Percentage of identical matches
total readcount Query Coverage Per Subject
transcript, protein query length
% overlap subject length
\n
\n
\n \n
\n}\n","/* esm.sh - esbuild bundle(d3-path@3.1.0) denonext production */\nvar c=Math.PI,y=2*c,u=1e-6,q=y-u;function A($){this._+=$[0];for(let t=1,h=$.length;t=0))throw new Error(`invalid digits: ${$}`);if(t>15)return A;let h=10**t;return function(i){this._+=i[0];for(let s=1,e=i.length;su)if(!(Math.abs(o*l-p*_)>u)||!e)this._append`L${this._x1=t},${this._y1=h}`;else{let f=i-a,M=s-r,v=l*l+p*p,L=f*f+M*M,b=Math.sqrt(v),T=Math.sqrt(n),m=e*Math.tan((c-Math.acos((v+n-L)/(2*b*T)))/2),x=m/T,w=m/b;Math.abs(x-1)>u&&this._append`L${t+x*_},${h+x*o}`,this._append`A${e},${e},0,0,${+(o*f>_*M)},${this._x1=t+w*l},${this._y1=h+w*p}`}}arc(t,h,i,s,e,a){if(t=+t,h=+h,i=+i,a=!!a,i<0)throw new Error(`negative radius: ${i}`);let r=i*Math.cos(s),l=i*Math.sin(s),p=t+r,_=h+l,o=1^a,n=a?s-e:e-s;this._x1===null?this._append`M${p},${_}`:(Math.abs(this._x1-p)>u||Math.abs(this._y1-_)>u)&&this._append`L${p},${_}`,i&&(n<0&&(n=n%y+y),n>q?this._append`A${i},${i},0,1,${o},${t-r},${h-l}A${i},${i},0,1,${o},${this._x1=p},${this._y1=_}`:n>u&&this._append`A${i},${i},0,${+(n>=c)},${o},${this._x1=t+i*Math.cos(e)},${this._y1=h+i*Math.sin(e)}`)}rect(t,h,i,s){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+h}h${i=+i}v${+s}h${-i}Z`}toString(){return this._}};function E(){return new d}E.prototype=d.prototype;function R($=3){return new d(+$)}export{d as Path,E as path,R as pathRound};\n//# sourceMappingURL=d3-path.mjs.map","/* esm.sh - esbuild bundle(d3-shape@3.0.0) denonext production */\nimport{path as dn}from\"/v127/d3-path@3.1.0/denonext/d3-path.mjs\";function f(t){return function(){return t}}var Mt=Math.abs,N=Math.atan2,D=Math.cos,Ft=Math.max,_t=Math.min,X=Math.sin,G=Math.sqrt,w=1e-12,Y=Math.PI,et=Y/2,E=2*Y;function Gt(t){return t>1?0:t<-1?Y:Math.acos(t)}function At(t){return t>=1?et:t<=-1?-et:Math.asin(t)}function yn(t){return t.innerRadius}function vn(t){return t.outerRadius}function gn(t){return t.startAngle}function Tn(t){return t.endAngle}function bn(t){return t&&t.padAngle}function kn(t,n,i,e,r,s,a,o){var u=i-t,l=e-n,h=a-r,_=o-s,c=_*u-h*l;if(!(c*cW*W+F*F&&(V=O,A=q),{cx:V,cy:A,x01:-h,y01:-_,x11:V*(r/M-1),y11:A*(r/M-1)}}function wn(){var t=yn,n=vn,i=f(0),e=null,r=gn,s=Tn,a=bn,o=null;function u(){var l,h,_=+t.apply(this,arguments),c=+n.apply(this,arguments),y=r.apply(this,arguments)-et,x=s.apply(this,arguments)-et,v=Mt(x-y),m=x>y;if(o||(o=l=dn()),c<_&&(h=c,c=_,_=h),!(c>w))o.moveTo(0,0);else if(v>E-w)o.moveTo(c*D(y),c*X(y)),o.arc(0,0,c,y,x,!m),_>w&&(o.moveTo(_*D(x),_*X(x)),o.arc(0,0,_,x,y,m));else{var b=y,T=x,g=y,k=x,M=v,S=v,I=a.apply(this,arguments)/2,V=I>w&&(e?+e.apply(this,arguments):G(_*_+c*c)),A=_t(Mt(c-_)/2,+i.apply(this,arguments)),O=A,q=A,p,d;if(V>w){var W=At(V/_*X(I)),F=At(V/c*X(I));(M-=W*2)>w?(W*=m?1:-1,g+=W,k-=W):(M=0,g=k=(y+x)/2),(S-=F*2)>w?(F*=m?1:-1,b+=F,T-=F):(S=0,b=T=(y+x)/2)}var K=c*D(b),Q=c*X(b),at=_*D(k),ut=_*X(k);if(A>w){var ht=c*D(T),lt=c*X(T),Tt=_*D(g),bt=_*X(g),L;if(vw?q>w?(p=ft(Tt,bt,K,Q,c,q,m),d=ft(ht,lt,at,ut,c,q,m),o.moveTo(p.cx+p.x01,p.cy+p.y01),qw)||!(M>w)?o.lineTo(at,ut):O>w?(p=ft(at,ut,ht,lt,_,-O,m),d=ft(K,Q,Tt,bt,_,-O,m),o.lineTo(p.cx+p.x01,p.cy+p.y01),O=c;--y)o.point(T[y],g[y]);o.lineEnd(),o.areaEnd()}m&&(T[_]=+t(v,_,h),g[_]=+n(v,_,h),o.point(e?+e(v,_,h):T[_],i?+i(v,_,h):g[_]))}if(b)return o=null,b+\"\"||null}function l(){return ot().defined(r).curve(a).context(s)}return u.x=function(h){return arguments.length?(t=typeof h==\"function\"?h:f(+h),e=null,u):t},u.x0=function(h){return arguments.length?(t=typeof h==\"function\"?h:f(+h),u):t},u.x1=function(h){return arguments.length?(e=h==null?null:typeof h==\"function\"?h:f(+h),u):e},u.y=function(h){return arguments.length?(n=typeof h==\"function\"?h:f(+h),i=null,u):n},u.y0=function(h){return arguments.length?(n=typeof h==\"function\"?h:f(+h),u):n},u.y1=function(h){return arguments.length?(i=h==null?null:typeof h==\"function\"?h:f(+h),u):i},u.lineX0=u.lineY0=function(){return l().x(t).y(n)},u.lineY1=function(){return l().x(t).y(i)},u.lineX1=function(){return l().x(e).y(n)},u.defined=function(h){return arguments.length?(r=typeof h==\"function\"?h:f(!!h),u):r},u.curve=function(h){return arguments.length?(a=h,s!=null&&(o=a(s)),u):a},u.context=function(h){return arguments.length?(h==null?s=o=null:o=a(s=h),u):s},u}function Qt(t,n){return nt?1:n>=t?0:NaN}function Ut(t){return t}function Mn(){var t=Ut,n=Qt,i=null,e=f(0),r=f(E),s=f(0);function a(o){var u,l=(o=H(o)).length,h,_,c=0,y=new Array(l),x=new Array(l),v=+e.apply(this,arguments),m=Math.min(E,Math.max(-E,r.apply(this,arguments)-v)),b,T=Math.min(Math.abs(m)/l,s.apply(this,arguments)),g=T*(m<0?-1:1),k;for(u=0;u0&&(c+=k);for(n!=null?y.sort(function(M,S){return n(x[M],x[S])}):i!=null&&y.sort(function(M,S){return i(o[M],o[S])}),u=0,_=c?(m-l*g)/c:0;u0?k*_:0)+g,x[h]={data:o[h],index:u,value:k,startAngle:v,endAngle:b,padAngle:T};return x}return a.value=function(o){return arguments.length?(t=typeof o==\"function\"?o:f(+o),a):t},a.sortValues=function(o){return arguments.length?(n=o,i=null,a):n},a.sort=function(o){return arguments.length?(i=o,n=null,a):i},a.startAngle=function(o){return arguments.length?(e=typeof o==\"function\"?o:f(+o),a):e},a.endAngle=function(o){return arguments.length?(r=typeof o==\"function\"?o:f(+o),a):r},a.padAngle=function(o){return arguments.length?(s=typeof o==\"function\"?o:f(+o),a):s},a}var ct=$(J);function Zt(t){this._curve=t}Zt.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,n){this._curve.point(n*Math.sin(t),n*-Math.cos(t))}};function $(t){function n(i){return new Zt(t(i))}return n._curve=t,n}function j(t){var n=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(i){return arguments.length?n($(i)):n()._curve},t}function $t(){return j(ot().curve(ct))}function jt(){var t=Et().curve(ct),n=t.curve,i=t.lineX0,e=t.lineX1,r=t.lineY0,s=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return j(i())},delete t.lineX0,t.lineEndAngle=function(){return j(e())},delete t.lineX1,t.lineInnerRadius=function(){return j(r())},delete t.lineY0,t.lineOuterRadius=function(){return j(s())},delete t.lineY1,t.curve=function(a){return arguments.length?n($(a)):n()._curve},t}function tt(t,n){return[(n=+n)*Math.cos(t-=Math.PI/2),n*Math.sin(t)]}import{path as An}from\"/v127/d3-path@3.1.0/denonext/d3-path.mjs\";function En(t){return t.source}function Rn(t){return t.target}function Rt(t){var n=En,i=Rn,e=U,r=Z,s=null;function a(){var o,u=Jt.call(arguments),l=n.apply(this,u),h=i.apply(this,u);if(s||(s=o=An()),t(s,+e.apply(this,(u[0]=l,u)),+r.apply(this,u),+e.apply(this,(u[0]=h,u)),+r.apply(this,u)),o)return s=null,o+\"\"||null}return a.source=function(o){return arguments.length?(n=o,a):n},a.target=function(o){return arguments.length?(i=o,a):i},a.x=function(o){return arguments.length?(e=typeof o==\"function\"?o:f(+o),a):e},a.y=function(o){return arguments.length?(r=typeof o==\"function\"?o:f(+o),a):r},a.context=function(o){return arguments.length?(s=o??null,a):s},a}function Cn(t,n,i,e,r){t.moveTo(n,i),t.bezierCurveTo(n=(n+e)/2,i,n,r,e,r)}function Pn(t,n,i,e,r){t.moveTo(n,i),t.bezierCurveTo(n,i=(i+r)/2,e,i,e,r)}function On(t,n,i,e,r){var s=tt(n,i),a=tt(n,i=(i+r)/2),o=tt(e,i),u=tt(e,r);t.moveTo(s[0],s[1]),t.bezierCurveTo(a[0],a[1],o[0],o[1],u[0],u[1])}function qn(){return Rt(Cn)}function Xn(){return Rt(Pn)}function Yn(){var t=Rt(On);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}import{path as Dn}from\"/v127/d3-path@3.1.0/denonext/d3-path.mjs\";var pt={draw:function(t,n){var i=Math.sqrt(n/Y);t.moveTo(i,0),t.arc(0,0,i,0,E)}};var Ct={draw:function(t,n){var i=Math.sqrt(n/5)/2;t.moveTo(-3*i,-i),t.lineTo(-i,-i),t.lineTo(-i,-3*i),t.lineTo(i,-3*i),t.lineTo(i,-i),t.lineTo(3*i,-i),t.lineTo(3*i,i),t.lineTo(i,i),t.lineTo(i,3*i),t.lineTo(-i,3*i),t.lineTo(-i,i),t.lineTo(-3*i,i),t.closePath()}};var tn=Math.sqrt(.3333333333333333),zn=tn*2,Pt={draw:function(t,n){var i=Math.sqrt(n/zn),e=i*tn;t.moveTo(0,-i),t.lineTo(e,0),t.lineTo(0,i),t.lineTo(-e,0),t.closePath()}};var Bn=.8908130915292852,nn=Math.sin(Y/10)/Math.sin(7*Y/10),Ln=Math.sin(E/10)*nn,In=-Math.cos(E/10)*nn,Ot={draw:function(t,n){var i=Math.sqrt(n*Bn),e=Ln*i,r=In*i;t.moveTo(0,-i),t.lineTo(e,r);for(var s=1;s<5;++s){var a=E*s/5,o=Math.cos(a),u=Math.sin(a);t.lineTo(u*i,-o*i),t.lineTo(o*e-u*r,u*e+o*r)}t.closePath()}};var qt={draw:function(t,n){var i=Math.sqrt(n),e=-i/2;t.rect(e,e,i,i)}};var Xt=Math.sqrt(3),Yt={draw:function(t,n){var i=-Math.sqrt(n/(Xt*3));t.moveTo(0,i*2),t.lineTo(-Xt*i,-i),t.lineTo(Xt*i,-i),t.closePath()}};var R=-.5,C=Math.sqrt(3)/2,zt=1/Math.sqrt(12),Vn=(zt/2+1)*3,Bt={draw:function(t,n){var i=Math.sqrt(n/Vn),e=i/2,r=i*zt,s=e,a=i*zt+i,o=-s,u=a;t.moveTo(e,r),t.lineTo(s,a),t.lineTo(o,u),t.lineTo(R*e-C*r,C*e+R*r),t.lineTo(R*s-C*a,C*s+R*a),t.lineTo(R*o-C*u,C*o+R*u),t.lineTo(R*e+C*r,R*r-C*e),t.lineTo(R*s+C*a,R*a-C*s),t.lineTo(R*o+C*u,R*u-C*o),t.closePath()}};var Hn=[pt,Ct,Pt,qt,Ot,Yt,Bt];function Wn(t,n){var i=null;t=typeof t==\"function\"?t:f(t||pt),n=typeof n==\"function\"?n:f(n===void 0?64:+n);function e(){var r;if(i||(i=r=Dn()),t.apply(this,arguments).draw(i,+n.apply(this,arguments)),r)return i=null,r+\"\"||null}return e.type=function(r){return arguments.length?(t=typeof r==\"function\"?r:f(r),e):t},e.size=function(r){return arguments.length?(n=typeof r==\"function\"?r:f(+r),e):n},e.context=function(r){return arguments.length?(i=r??null,e):i},e}function P(){}function nt(t,n,i){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+n)/6,(t._y0+4*t._y1+i)/6)}function rt(t){this._context=t}rt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:nt(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:nt(this,t,n);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};function Fn(t){return new rt(t)}function en(t){this._context=t}en.prototype={areaStart:P,areaEnd:P,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x2=t,this._y2=n;break;case 1:this._point=2,this._x3=t,this._y3=n;break;case 2:this._point=3,this._x4=t,this._y4=n,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+n)/6);break;default:nt(this,t,n);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};function Gn(t){return new en(t)}function on(t){this._context=t}on.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var i=(this._x0+4*this._x1+t)/6,e=(this._y0+4*this._y1+n)/6;this._line?this._context.lineTo(i,e):this._context.moveTo(i,e);break;case 3:this._point=4;default:nt(this,t,n);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};function Jn(t){return new on(t)}var mt=class{constructor(n,i){this._context=n,this._x=i}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(n,i){switch(n=+n,i=+i,this._point){case 0:{this._point=1,this._line?this._context.lineTo(n,i):this._context.moveTo(n,i);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+n)/2,this._y0,this._x0,i,n,i):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+i)/2,n,this._y0,n,i);break}}this._x0=n,this._y0=i}};function Kn(t){return new mt(t,!0)}function Qn(t){return new mt(t,!1)}function rn(t,n){this._basis=new rt(t),this._beta=n}rn.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,n=this._y,i=t.length-1;if(i>0)for(var e=t[0],r=n[0],s=t[i]-e,a=n[i]-r,o=-1,u;++o<=i;)u=o/i,this._basis.point(this._beta*t[o]+(1-this._beta)*(e+u*s),this._beta*n[o]+(1-this._beta)*(r+u*a));this._x=this._y=null,this._basis.lineEnd()},point:function(t,n){this._x.push(+t),this._y.push(+n)}};var Un=function t(n){function i(e){return n===1?new rt(e):new rn(e,n)}return i.beta=function(e){return t(+e)},i}(.85);function it(t,n,i){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-n),t._y2+t._k*(t._y1-i),t._x2,t._y2)}function xt(t,n){this._context=t,this._k=(1-n)/6}xt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:it(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2,this._x1=t,this._y1=n;break;case 2:this._point=3;default:it(this,t,n);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Zn=function t(n){function i(e){return new xt(e,n)}return i.tension=function(e){return t(+e)},i}(0);function dt(t,n){this._context=t,this._k=(1-n)/6}dt.prototype={areaStart:P,areaEnd:P,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:it(this,t,n);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var $n=function t(n){function i(e){return new dt(e,n)}return i.tension=function(e){return t(+e)},i}(0);function yt(t,n){this._context=t,this._k=(1-n)/6}yt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:it(this,t,n);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var jn=function t(n){function i(e){return new yt(e,n)}return i.tension=function(e){return t(+e)},i}(0);function st(t,n,i){var e=t._x1,r=t._y1,s=t._x2,a=t._y2;if(t._l01_a>w){var o=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,u=3*t._l01_a*(t._l01_a+t._l12_a);e=(e*o-t._x0*t._l12_2a+t._x2*t._l01_2a)/u,r=(r*o-t._y0*t._l12_2a+t._y2*t._l01_2a)/u}if(t._l23_a>w){var l=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,h=3*t._l23_a*(t._l23_a+t._l12_a);s=(s*l+t._x1*t._l23_2a-n*t._l12_2a)/h,a=(a*l+t._y1*t._l23_2a-i*t._l12_2a)/h}t._context.bezierCurveTo(e,r,s,a,t._x2,t._y2)}function sn(t,n){this._context=t,this._alpha=n}sn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var i=this._x2-t,e=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+e*e,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3;default:st(this,t,n);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var ti=function t(n){function i(e){return n?new sn(e,n):new xt(e,0)}return i.alpha=function(e){return t(+e)},i}(.5);function an(t,n){this._context=t,this._alpha=n}an.prototype={areaStart:P,areaEnd:P,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(t,n){if(t=+t,n=+n,this._point){var i=this._x2-t,e=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+e*e,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:st(this,t,n);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var ni=function t(n){function i(e){return n?new an(e,n):new dt(e,0)}return i.alpha=function(e){return t(+e)},i}(.5);function un(t,n){this._context=t,this._alpha=n}un.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var i=this._x2-t,e=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(i*i+e*e,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:st(this,t,n);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var ii=function t(n){function i(e){return n?new un(e,n):new yt(e,0)}return i.alpha=function(e){return t(+e)},i}(.5);function hn(t){this._context=t}hn.prototype={areaStart:P,areaEnd:P,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,n){t=+t,n=+n,this._point?this._context.lineTo(t,n):(this._point=1,this._context.moveTo(t,n))}};function ei(t){return new hn(t)}function ln(t){return t<0?-1:1}function _n(t,n,i){var e=t._x1-t._x0,r=n-t._x1,s=(t._y1-t._y0)/(e||r<0&&-0),a=(i-t._y1)/(r||e<0&&-0),o=(s*r+a*e)/(e+r);return(ln(s)+ln(a))*Math.min(Math.abs(s),Math.abs(a),.5*Math.abs(o))||0}function fn(t,n){var i=t._x1-t._x0;return i?(3*(t._y1-t._y0)/i-n)/2:n}function Lt(t,n,i){var e=t._x0,r=t._y0,s=t._x1,a=t._y1,o=(s-e)/3;t._context.bezierCurveTo(e+o,r+o*n,s-o,a-o*i,s,a)}function vt(t){this._context=t}vt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Lt(this,this._t0,fn(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){var i=NaN;if(t=+t,n=+n,!(t===this._x1&&n===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,Lt(this,fn(this,i=_n(this,t,n)),i);break;default:Lt(this,this._t0,i=_n(this,t,n));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n,this._t0=i}}};function cn(t){this._context=new pn(t)}(cn.prototype=Object.create(vt.prototype)).point=function(t,n){vt.prototype.point.call(this,n,t)};function pn(t){this._context=t}pn.prototype={moveTo:function(t,n){this._context.moveTo(n,t)},closePath:function(){this._context.closePath()},lineTo:function(t,n){this._context.lineTo(n,t)},bezierCurveTo:function(t,n,i,e,r,s){this._context.bezierCurveTo(n,t,e,i,s,r)}};function oi(t){return new vt(t)}function ri(t){return new cn(t)}function xn(t){this._context=t}xn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,n=this._y,i=t.length;if(i)if(this._line?this._context.lineTo(t[0],n[0]):this._context.moveTo(t[0],n[0]),i===2)this._context.lineTo(t[1],n[1]);else for(var e=mn(t),r=mn(n),s=0,a=1;a=0;--n)r[n]=(a[n]-r[n+1])/s[n];for(s[i-1]=(t[i]+r[i-1])/2,n=0;n=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,n),this._context.lineTo(t,n);else{var i=this._x*(1-this._t)+t*this._t;this._context.lineTo(i,this._y),this._context.lineTo(i,n)}break}}this._x=t,this._y=n}};function ai(t){return new gt(t,.5)}function ui(t){return new gt(t,0)}function hi(t){return new gt(t,1)}function z(t,n){if((a=t.length)>1)for(var i=1,e,r,s=t[n[0]],a,o=s.length;i=0;)i[n]=n;return i}function li(t,n){return t[n]}function _i(t){let n=[];return n.key=t,n}function fi(){var t=f([]),n=B,i=z,e=li;function r(s){var a=Array.from(t.apply(this,arguments),_i),o,u=a.length,l=-1,h;for(let _ of s)for(o=0,++l;o0){for(var i,e,r=0,s=t[0].length,a;r0)for(var i,e=0,r,s,a,o,u,l=t[n[0]].length;e0?(r[0]=a,r[1]=a+=s):s<0?(r[1]=o,r[0]=o+=s):(r[0]=0,r[1]=s)}function mi(t,n){if((r=t.length)>0){for(var i=0,e=t[n[0]],r,s=e.length;i0)||!((s=(r=t[n[0]]).length)>0))){for(var i=0,e=1,r,s,a;es&&(s=r,i=n);return i}function Vt(t){var n=t.map(Dt);return B(t).sort(function(i,e){return n[i]-n[e]})}function Dt(t){for(var n=0,i=-1,e=t.length,r;++i {\r\n// const idrs = useIdrs(protein_seq_id)\r\n// const svgRef = useRef();\r\n\r\n// useEffect(() => {\r\n// const svg = select(svgRef.current);\r\n\r\n// const fldpnn_scores = idrs.res.map(val => parseFloat(val[\"IUPRED2\"])).filter(val => !Number.isNaN(val))\r\n// //const disorder_blocks = fldpnn_scores.map((val, idx) => (val > 0.3) ? val : NaN).filter(val => !Number.isNaN(val))\r\n// const disorder_blocks_idx = fldpnn_scores.map((val, idx) => (val > 0.3) ? idx : NaN).filter(val => !Number.isNaN(val))\r\n// const disorder_blocks_rdp_p = idrs.res.map(val => parseFloat(val[\"rdp_p\"])).filter(val => !Number.isNaN(val))\r\n// const disorder_blocks_rdp_d = idrs.res.map(val => parseFloat(val[\"rdp_d\"])).filter(val => !Number.isNaN(val))\r\n// const disorder_blocks_rdp_r = idrs.res.map(val => parseFloat(val[\"rdp_r\"])).filter(val => !Number.isNaN(val))\r\n// const disorder_blocks_dfl = idrs.res.map(val => parseFloat(val[\"dfl\"])).filter(val => !Number.isNaN(val))\r\n\r\n// const block_width = Math.ceil((1000-100)/fldpnn_scores.length)\r\n\r\n// const xScale = scaleLinear().domain([0, fldpnn_scores.length]).range([100, 1000]);\r\n// const yScale = scaleLinear().domain([0, 1]).range([130, 10]);\r\n// const xAxis = axisBottom(xScale);\r\n// const yAxis = axisLeft(yScale);\r\n\r\n// const colorScale = scaleSequential()\r\n// .domain([1,0])\r\n// .interpolator(interpolateViridis)\r\n \r\n// const fldpnn_line = line()\r\n// .x((val, idx) => xScale(idx))\r\n// .y(val => yScale(val));\r\n\r\n// const threshold_line = line()\r\n// .x((val, idx) => xScale(idx))\r\n// .y(yScale(0.3))\r\n\r\n// svg.select(\".x-axis\").style(\"transform\", \"translateY(130px)\").call(xAxis);\r\n// svg.select(\".y-axis\").style(\"transform\", \"translateX(100px)\").call(yAxis);\r\n\r\n// svg\r\n// .selectAll(\".fldpnn-scores\")\r\n// .data([fldpnn_scores])\r\n// .join(\"path\")\r\n// .attr(\"class\", \"fldpnn-scores\")\r\n// .attr(\"d\", value => fldpnn_line(value))\r\n// .attr(\"fill\", \"none\")\r\n// .attr(\"stroke\", \"black\")\r\n\r\n// svg\r\n// .selectAll(\".threshold-line\")\r\n// .data([fldpnn_scores])\r\n// .join(\"path\")\r\n// .attr(\"class\", \"threshold-line\")\r\n// .attr(\"d\", value => threshold_line(value))\r\n// .attr(\"fill\", \"none\")\r\n// .attr(\"stroke\", \"black\")\r\n// .style(\"stroke-dasharray\", (\"3, 3\"))\r\n \r\n// svg\r\n// .selectAll(\".line_legend\")\r\n// .data(['fldpnn_score'])\r\n// .join(\"path\")\r\n// .attr(\"class\", \"threshold-line\")\r\n// .attr(\"d\", 'M900,8L920,8')\r\n// .attr(\"stroke\", \"black\")\r\n// svg\r\n// .selectAll(\".line_legend\")\r\n// .data(['fldpnn_score'])\r\n// .join(\"path\")\r\n// .attr(\"class\", \"threshold-line\")\r\n// .attr(\"d\", 'M900,23L920,23')\r\n// .attr(\"stroke\", \"black\")\r\n// .style(\"stroke-dasharray\", (\"3, 3\"))\r\n// svg\r\n// .selectAll(\".line_legend_labels\")\r\n// .data(['flDPnn score', 'threshold'])\r\n// .join(\"text\")\r\n// .attr(\"x\", 925)\r\n// .attr(\"y\", (v, idx) => [5, 20][idx]+6)\r\n// .style(\"font-size\", 12)\r\n// .text(value => value)\r\n// svg\r\n// .selectAll(\".xaxis_label\")\r\n// .data(['residue position'])\r\n// .join(\"text\")\r\n// .attr(\"x\", 5)\r\n// .attr(\"y\", 148)\r\n// .style(\"font-size\", 12)\r\n// .text(value => value)\r\n\r\n// svg\r\n// .selectAll(\".idr-blocks\")\r\n// .data(disorder_blocks_idx)\r\n// .join(\"rect\")\r\n// .attr(\"x\", value => xScale(value)-block_width/2)\r\n// .attr(\"y\", 170)\r\n// .attr(\"width\", block_width)\r\n// .attr(\"height\", 20)\r\n// .attr(\"fill\", \"black\")\r\n\r\n// svg\r\n// .selectAll(\".drp_p_blocks\")\r\n// .data(disorder_blocks_idx)\r\n// .join(\"rect\")\r\n// .attr(\"x\", value => xScale(value)-block_width/2)\r\n// .attr(\"y\", 170+30)\r\n// .attr(\"width\", block_width)\r\n// .attr(\"height\", 20)\r\n// .attr(\"fill\", (val, idx) => colorScale(disorder_blocks_rdp_p[idx]))\r\n \r\n// svg\r\n// .selectAll(\".drp_d_blocks\")\r\n// .data(disorder_blocks_idx)\r\n// .join(\"rect\")\r\n// .attr(\"x\", value => xScale(value)-block_width/2)\r\n// .attr(\"y\", 170+30+25)\r\n// .attr(\"width\", block_width)\r\n// .attr(\"height\", 20)\r\n// .attr(\"fill\", (val, idx) => colorScale(disorder_blocks_rdp_d[idx]))\r\n \r\n// svg\r\n// .selectAll(\".drp_r_blocks\")\r\n// .data(disorder_blocks_idx)\r\n// .join(\"rect\")\r\n// .attr(\"x\", value => xScale(value)-block_width/2)\r\n// .attr(\"y\", 170+30+25*2)\r\n// .attr(\"width\", block_width)\r\n// .attr(\"height\", 20)\r\n// .attr(\"fill\", (val, idx) => colorScale(disorder_blocks_rdp_r[idx]))\r\n\r\n// svg\r\n// .selectAll(\".dfl_blocks\")\r\n// .data(disorder_blocks_idx)\r\n// .join(\"rect\")\r\n// .attr(\"x\", value => xScale(value)-block_width/2)\r\n// .attr(\"y\", 170+30+25*3)\r\n// .attr(\"width\", block_width)\r\n// .attr(\"height\", 20)\r\n// .attr(\"fill\", (val, idx) => colorScale(disorder_blocks_dfl[idx]))\r\n \r\n// svg\r\n// .selectAll(\".yaxis-label\")\r\n// .data(['probability of disorder'])\r\n// .join(\"text\")\r\n// .attr(\"x\", 60)\r\n// .attr(\"y\", 130)\r\n// .style(\"font-size\", 12)\r\n// .text(value => value)\r\n// .attr(\"transform\", \"rotate(-90,60,130)\")\r\n\r\n// svg\r\n// .selectAll(\".block_titles\")\r\n// .data(['IDRs'])\r\n// .join(\"text\")\r\n// .attr(\"x\", 0)\r\n// .attr(\"y\", 170+15)\r\n// .style(\"font-size\", 12)\r\n// .text(value => value)\r\n\r\n// svg\r\n// .selectAll(\".block_titles\")\r\n// .data(['protein binding', 'DNA binding', 'RNA binding', 'linker'])\r\n// .join(\"text\")\r\n// .attr(\"x\", 0)\r\n// .attr(\"y\", (value, idx) => 170+30+15+25*idx)\r\n// .style(\"font-size\", 12)\r\n// .text(value => value)\r\n// svg\r\n// .selectAll(\".block_titles\")\r\n// .data(['probability'])\r\n// .join(\"text\")\r\n// .attr(\"x\", 920)\r\n// .attr(\"y\", 170+48+25*5)\r\n// .style(\"font-size\", 12)\r\n// .text(value => value)\r\n\r\n// const legend_points = [...Array(10).keys()].map(d=> ({color:colorScale(d/10), value:d}))\r\n// const extent = [0, 9]\r\n\r\n// const defs = svg.append(\"defs\")\r\n// var linearGradient = defs.append(\"linearGradient\").attr(\"id\", \"viridisGradient\")\r\n// linearGradient.selectAll(\"stop\")\r\n// .data(legend_points)\r\n// .enter().append(\"stop\")\r\n// .attr(\"offset\", d => ((d.value - extent[0]) / (extent[1] - extent[0]) * 100) + \"%\")\r\n// .attr(\"stop-color\", d => d.color);\r\n\r\n// const g = svg.append(\"g\").attr(\"transform\", \"translate(910,300)\");\r\n// g\r\n// .append(\"rect\")\r\n// .attr(\"width\", 80)\r\n// .attr(\"height\", 15)\r\n// .style(\"fill\", \"url(#viridisGradient)\");\r\n// const legendTicks = [0.0, 0.5, 1.0]\r\n// const legendScale = scaleLinear().domain([0, 1]).range([0, 80]);\r\n// const legendAxis = axisBottom(legendScale)\r\n// .tickSize(20)\r\n// .tickValues(legendTicks)\r\n// g\r\n// .append(\"g\")\r\n// .call(legendAxis)\r\n// .select(\".domain\")\r\n// .remove()\r\n\r\n\r\n// }, [idrs.res]);\r\n\r\n// if (species_sn != 'HS') {\r\n// return (\r\n//
\r\n//
\r\n//

Intrinsically Disordered Regions predicted by flDPnn

\r\n//
\r\n//
Anlysis in progress... Results will be available soon.
\r\n//
\r\n// );\r\n// }\r\n\r\n// if (idrs.res.length==0) {\r\n// return (\r\n//
\r\n//
\r\n//

Intrinsically Disordered Regions predicted by flDPnn

\r\n//
\r\n//
IDR prediction not available
\r\n//
\r\n// );\r\n// }\r\n\r\n// return (\r\n//
\r\n//
\r\n// \r\n \r\n// \r\n//
\r\n//
\r\n//

We are updating our IDR prediction toolset. Computations are currently under way, come back soon!

\r\n//
\r\n//
\r\n// );\r\n// }\r\n\r\n// export default IdrViewer\r\n\r\n////////////////////////////////////////////////////////////////////\r\n\r\n// import { useRef, useEffect } from \"react\";\r\n// import { useIdrs } from \"../hooks.js\";\r\n// import { select } from 'd3-selection';\r\n// import { axisBottom, axisLeft } from 'd3-axis';\r\n// import { scaleLinear } from 'd3-scale';\r\n// import { line } from 'd3-shape';\r\n// import { HeaderWithModal } from \"../utils.jsx\";\r\n\r\n// const IdrViewer = ({species_sn, protein_seq_id}) => {\r\n// const idrs = useIdrs(protein_seq_id);\r\n// const svgRef = useRef();\r\n\r\n// useEffect(() => {\r\n// if (idrs.res.length > 0) {\r\n// const svg = select(svgRef.current);\r\n// const iupred_scores = idrs.res.map(val => parseFloat(val.IUPRED2)).filter(val => !Number.isNaN(val));\r\n\r\n// const xScale = scaleLinear().domain([0, iupred_scores.length]).range([100, 1000]);\r\n// const yScale = scaleLinear().domain([0, 1]).range([130, 10]);\r\n\r\n// const xAxis = axisBottom(xScale);\r\n// const yAxis = axisLeft(yScale);\r\n\r\n// svg.select(\".x-axis\").style(\"transform\", \"translateY(130px)\").call(xAxis);\r\n// svg.select(\".y-axis\").style(\"transform\", \"translateX(100px)\").call(yAxis);\r\n\r\n// const scoreLine = line()\r\n// .x((val, idx) => xScale(idx))\r\n// .y(val => yScale(val));\r\n\r\n// svg.selectAll(\".score-line\")\r\n// .data([iupred_scores])\r\n// .join(\"path\")\r\n// .attr(\"class\", \"score-line\")\r\n// .attr(\"d\", scoreLine)\r\n// .attr(\"fill\", \"none\")\r\n// .attr(\"stroke\", \"black\");\r\n\r\n// // Ajout de la ligne hachée pour le seuil IDR à 0.5\r\n// svg.append(\"line\")\r\n// .attr(\"x1\", xScale(0))\r\n// .attr(\"x2\", xScale(iupred_scores.length))\r\n// .attr(\"y1\", yScale(0.5))\r\n// .attr(\"y2\", yScale(0.5))\r\n// .attr(\"stroke\", \"red\")\r\n// .attr(\"stroke-width\", 2)\r\n// .attr(\"stroke-dasharray\", \"5,5\"); // Style haché\r\n// }\r\n// }, [idrs.res]);\r\n\r\n// // Autres éléments de rendu...\r\n// return (\r\n//
\r\n// {/* Contenu conditionnel basé sur species_sn et idrs.res... */}\r\n// \r\n// \r\n// \r\n// \r\n//
\r\n// );\r\n \r\n// }\r\n\r\n\r\n// export default IdrViewer;\r\n\r\n\r\n////////////////////////////////////////////////////////////////////////////////////////////\r\n\r\nimport { useRef, useEffect } from \"react\";\r\nimport { useIdrs } from \"../hooks.js\";\r\nimport { select } from 'd3-selection';\r\nimport { axisBottom, axisLeft } from 'd3-axis';\r\nimport { scaleLinear } from 'd3-scale';\r\nimport { line } from 'd3-shape';\r\nimport { HeaderWithModal } from \"../utils.jsx\";\r\n\r\nconst IdrViewer = ({ species_sn, protein_seq_id }) => {\r\n const idrs = useIdrs(protein_seq_id);\r\n const svgRef = useRef();\r\n\r\n useEffect(() => {\r\n if (idrs && idrs.res && idrs.res.length > 0) {\r\n const svg = select(svgRef.current);\r\n const iupred_scores = idrs.res.map(val => parseFloat(val.IUPRED2)).filter(val => !Number.isNaN(val));\r\n\r\n const xScale = scaleLinear().domain([0, iupred_scores.length]).range([100, 1000]);\r\n const yScale = scaleLinear().domain([0, 1]).range([130, 10]);\r\n\r\n const xAxis = axisBottom(xScale);\r\n const yAxis = axisLeft(yScale);\r\n\r\n const xAxisGroup = svg.append(\"g\")\r\n .attr(\"class\", \"x-axis\")\r\n .attr(\"transform\", \"translate(0,130)\")\r\n .call(xAxis);\r\n xAxisGroup.append(\"text\")\r\n .attr(\"class\", \"axis-label\")\r\n .attr(\"x\", 550) \r\n .attr(\"y\", 30) \r\n .style(\"text-anchor\", \"middle\")\r\n .text(\"Residue Position\");\r\n\r\n const yAxisGroup = svg.append(\"g\")\r\n .attr(\"class\", \"y-axis\")\r\n .attr(\"transform\", \"translate(100,0)\")\r\n .call(yAxis);\r\n yAxisGroup.append(\"text\")\r\n .attr(\"class\", \"axis-label\")\r\n .attr(\"transform\", \"rotate(-90)\")\r\n .attr(\"y\", -50) \r\n .attr(\"x\", -70) \r\n .style(\"text-anchor\", \"middle\")\r\n .text(\"Prediction Score of Disorder\");\r\n\r\n const scoreLine = line()\r\n .x((val, idx) => xScale(idx))\r\n .y(val => yScale(val));\r\n\r\n svg.selectAll(\".score-line\")\r\n .data([iupred_scores])\r\n .join(\"path\")\r\n .attr(\"class\", \"score-line\")\r\n .attr(\"d\", scoreLine)\r\n .attr(\"fill\", \"none\")\r\n .attr(\"stroke\", \"black\");\r\n\r\n svg.append(\"line\")\r\n .attr(\"x1\", xScale(0))\r\n .attr(\"x2\", xScale(iupred_scores.length))\r\n .attr(\"y1\", yScale(0.5))\r\n .attr(\"y2\", yScale(0.5))\r\n .attr(\"stroke\", \"red\")\r\n .attr(\"stroke-width\", 2)\r\n .attr(\"stroke-dasharray\", \"5,5\");\r\n svg\r\n .selectAll(\".xaxis_label\")\r\n .data(['residue position'])\r\n .join(\"text\")\r\n .attr(\"x\", 490)\r\n .attr(\"y\", 190)\r\n .style(\"font-size\", 12)\r\n .text(value => value)\r\n svg\r\n .selectAll(\".yaxis-label\")\r\n .data(['probability of disorder'])\r\n .join(\"text\")\r\n .attr(\"x\", 60)\r\n .attr(\"y\", 130)\r\n .style(\"font-size\", 12)\r\n .text(value => value)\r\n .attr(\"transform\", \"rotate(-90,60,130)\")\r\n }\r\n }, [idrs.res]);\r\n\r\n return (\r\n
\r\n
\r\n \r\n

\r\n {idrs && idrs.res && idrs.res.length > 0 ? \"Intrinsically Disordered Regions predicted by IUPRED3\" :\r\n \"IDR prediction not available\"}\r\n

\r\n
\r\n
\r\n
\r\n {idrs && idrs.res && idrs.res.length > 0 ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n
IDR prediction not available
\r\n )}\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default IdrViewer;\r\n\r\n\r\n\r\n","import { useState, useRef, useEffect } from \"react\"\r\nimport { select } from 'd3-selection'\r\nimport { group, bin } from 'd3-array'\r\nimport { area, curveBumpY } from 'd3-shape'\r\nimport { axisBottom, axisLeft } from 'd3-axis'\r\nimport { scaleLinear, scaleBand } from 'd3-scale'\r\nimport { useFetchGtex } from '../hooks.js'\r\n\r\nconst colors = {\r\n \"Adipose_Subcutaneous\": \"#FFB27F\",\r\n \"Adipose_Visceral\": \"#FFD47F\",\r\n \"Adrenal_Gland\": \"#99EE99\",\r\n \"Artery_Aorta\": \"#FFAAAA\",\r\n \"Artery_Coronary\": \"#FFD4CC\",\r\n \"Artery_Tibial\": \"#FF7F7F\",\r\n \"Bladder\": \"#D47F7F\",\r\n \"Brain_Amygdala\": \"#F6F67F\",\r\n \"Brain_Anterior_cingulate_cortex\": \"#F6F67F\",\r\n \"Brain_Caudate\": \"#F6F67F\",\r\n \"Brain_Cerebellar_Hemisphere\": \"#F6F67F\",\r\n \"Brain_Cerebellum\": \"#F6F67F\",\r\n \"Brain_Cortex\": \"#F6F67F\",\r\n \"Brain_Frontal_Cortex\": \"#F6F67F\",\r\n \"Brain_Hippocampus\": \"#F6F67F\",\r\n \"Brain_Hypothalamus\": \"#F6F67F\",\r\n \"Brain_Nucleus_accumbens\": \"#F6F67F\",\r\n \"Brain_Putamen\": \"#F6F67F\",\r\n \"Brain_Spinal_cord\": \"#F6F67F\",\r\n \"Brain_Substantia_nigra\": \"#F6F67F\",\r\n \"Breast_Mammary_Tissue\": \"#99E5E5\",\r\n \"Cells_Cultured_fibroblasts\": \"#D4F6FF\",\r\n \"Cells_EBV_transformed_lymphocytes\": \"#E5B2FF\",\r\n \"Cervix_Ectocervix\": \"#FFE5E5\",\r\n \"Cervix_Endocervix\": \"#E5D4EE\",\r\n \"Colon_Sigmoid\": \"#F6DDBB\",\r\n \"Colon_Transverse\": \"#E5CCAA\",\r\n \"Esophagus_Gastroesophageal_Junction\": \"#C5B9AA\",\r\n \"Esophagus_Mucosa\": \"#AA907F\",\r\n \"Esophagus_Muscularis\": \"#DDCCC3\",\r\n \"Fallopian_Tube\": \"#FFE5E5\",\r\n \"Heart_Atrial_Appendage\": \"#CC7FFF\",\r\n \"Heart_Left_Ventricle\": \"#99FFE0\",\r\n \"Kidney_Cortex\": \"#90FFEE\",\r\n \"Kidney_Medulla\": \"#99FFE0\",\r\n \"Liver\": \"#D4DDB2\",\r\n \"Lung\": \"#CCFF7F\",\r\n \"Minor_Salivary_Gland\": \"#CCDDC3\",\r\n \"Muscle_Skeletal\": \"#D4D4FF\",\r\n \"Nerve_Tibial\": \"#FFEB7F\",\r\n \"Ovary\": \"#FFD4FF\",\r\n \"Pancreas\": \"#CCAA90\",\r\n \"Pituitary\": \"#D4FFCC\",\r\n \"Prostate\": \"#EEEEEE\",\r\n \"Skin_Not_Sun_Exposed\": \"#7F7FFF\",\r\n \"Skin_Sun_Exposed\": \"#BBBBFF\",\r\n \"Small_Intestine_Terminal_Ileum\": \"#AAAA90\",\r\n \"Spleen\": \"#BBC3AA\",\r\n \"Stomach\": \"#FFEECC\",\r\n \"Testis\": \"#D4D4D4\",\r\n \"Thyroid\": \"#7FB27F\",\r\n \"Uterus\": \"#FFB2FF\",\r\n \"Vagina\": \"#FFAACC\",\r\n \"Whole_Blood\": \"#FF7FDD\"\r\n }\r\n\r\nconst margin = {top: 30, right: 30, bottom: 30, left: 40}\r\nconst width = 1400 - margin.left - margin.right\r\nconst height = 300 - margin.top - margin.bottom\r\n\r\n/*\r\n*\r\n* titleFunc: accession => title\r\n* */\r\nconst paintSvg = (svg, {gtex, accession}, titleFunc) => {\r\n\r\n const data = gtex\r\n\r\n svg.selectAll('*').remove()\r\n\r\n const max_x0 = Math.max.apply(null, Object.values(data).map((d, idx) => Math.max.apply(null, d)))\r\n\r\n const yScale = scaleLinear().domain([0, max_x0]).range([height, 0])\r\n const yAxis = axisLeft(yScale)\r\n\r\n const band_width = 22\r\n function getViolin(data, idx) {\r\n const wScale = scaleLinear().domain([0, data.length]).range([(band_width*idx), (band_width*idx)+20])\r\n const areaBuilder = area()\r\n .x0((d) => wScale(-d.length))\r\n .x1((d) => wScale(d.length))\r\n .y((d) => yScale(d.x0))\r\n .curve(curveBumpY)\r\n const binsGenarator = bin().thresholds(12)\r\n const bins = binsGenarator(data)\r\n return areaBuilder(bins)\r\n }\r\n\r\n //svg.select(\".y-axis\").style(\"transform\", \"translate(30px,\"+ margin.top +\"px)\").call(yAxis)\r\n\r\n svg\r\n .selectAll(\".title\")\r\n .data([titleFunc(accession)])\r\n .join(\"text\")\r\n .attr(\"x\", 40)\r\n .attr(\"y\", 20)\r\n .text(v => v)\r\n\r\n\r\n\r\n const g = svg.append(\"g\").attr(\r\n \"transform\", \"translate(\" + margin.left + \",\" + margin.top + \")\"\r\n )\r\n\r\n svg.append(\"g\").attr(\r\n \"transform\", \"translate(30,\"+ margin.top +\")\"\r\n ).call(yAxis)\r\n\r\n g\r\n .selectAll(\".violin\")\r\n .data(Object.entries(data))\r\n .join(\"path\")\r\n .attr(\"class\", \"violin\")\r\n .attr(\"d\", ([t, d], idx) => getViolin(d, idx))\r\n .attr(\"fill\", ([t, d], idx) => colors[t])\r\n\r\n g\r\n .selectAll(\".violin_label\")\r\n .data(Object.entries(data))\r\n .join(\"text\")\r\n .attr(\"class\", \"violin_label\")\r\n .attr(\"y\", height+12)\r\n .attr(\"x\", ([t, d], idx) => idx*band_width)\r\n .attr(\"transform\", ([t, d], idx) => \"rotate(30,\"+ idx*band_width +\",\"+ height +\")\")\r\n .style(\"font-size\", \"11px\")\r\n .text(([t, d], idx) => t)\r\n\r\n g\r\n .selectAll(\".x-axis\")\r\n .data([0])\r\n .join(\"path\")\r\n .attr(\"class\", \"x-axis\")\r\n .attr(\"d\", \"M-10,\"+height+\"L1200,\"+height)\r\n .attr(\"stroke\", \"black\")\r\n .attr(\"fill\", \"none\")\r\n .attr(\"stroke-width\", .5)\r\n\r\n g\r\n .selectAll(\".y-axis-label\")\r\n .data(['TPM'])\r\n .join(\"text\")\r\n .attr(\"y\", 150)\r\n .attr(\"x\", -32)\r\n .attr(\"transform\", \"rotate(-90,-32,150)\")\r\n .style(\"font-size\", \"11px\")\r\n .text(v => v)\r\n}\r\n\r\nconst TranscriptExpression = ({transcript}) => {\r\n\r\n const { setSVGNode } = useFetchGtex({transcript, paintSvg})\r\n \r\n const svgRef = useRef()\r\n\r\n useEffect(() => {\r\n const svg = select(svgRef.current)\r\n setSVGNode(svg)\r\n }, [])\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default TranscriptExpression","import { useMemo, useState, useEffect } from \"react\";\nimport {\n useReactTable,\n getCoreRowModel,\n flexRender,\n createColumnHelper\n} from 'react-table';\nimport Link from \"../widgets/Link.jsx\";\nimport {useFetchProteinTranscripts} from \"../hooks.js\";\nimport TranscriptExpression from \"../components/TranscriptExpression.jsx\";\nimport { HeaderWithModal } from \"../utils.jsx\"\n\nconst columnHelper = createColumnHelper()\n\n\nconst TranscriptsTable = ({species_sn, protein_seq_id, onSelectedTranscript}) => {\n\n const {isReady, rows} = useFetchProteinTranscripts({\n species_sn,\n protein_seq_id\n })\n\n useEffect(() => {\n if(isReady) {\n for(let row of rows) {\n if(row.gtex_available) {\n onSelectedTranscript(row)\n return\n }\n }\n }\n },[`${isReady}`])\n\n const columns= useMemo(\n () => [\n columnHelper.accessor(\n row => row.annotation_source === \"e\" ? \"Ensembl\": \"Refseq\",\n {\n header: \"annotation\",\n cell: info => info.getValue()\n }\n ),\n columnHelper.accessor(\n row => row.accession,\n {\n header: \"accession\",\n cell: info => {\n const t_acc = info.getValue()\n if(species_sn != 'HS') {\n return t_acc\n }\n if(t_acc.includes('ENST')) {\n return {t_acc}\n }\n return {t_acc}\n }\n }\n ),\n columnHelper.accessor(\n row => row,\n {\n header: \"tissue expression\",\n cell: info => {\n const row = info.getValue()\n if(! row.gtex_available) {\n return null\n }\n return onSelectedTranscript(row)}>\n GTEx data\n \n }\n }\n ),\n columnHelper.accessor(\n row => row.type,\n {\n header: \"type\",\n cell: info => info.getValue()\n }\n ),\n columnHelper.accessor(\n row => row.frame,\n {\n header: \"frame\",\n cell: info => info.getValue()\n }\n ),\n columnHelper.accessor(\n row => row.strand,\n {\n header: \"strand\",\n cell: info => info.getValue()\n }\n ),\n columnHelper.accessor(\n row => row.as_kosak_motif === 1 ? \"+\": \"-\",\n {\n header: \"kozak\",\n cell: info => info.getValue()\n }\n ),\n columnHelper.accessor(\n row => row.high_eff_tis_motif === 1 ? \"+\": \"-\",\n {\n header: \"high eff. TIS\",\n cell: info => info.getValue()\n }\n )\n ],\n []\n )\n\n const table = useReactTable({\n data: rows,\n columns,\n getCoreRowModel: getCoreRowModel()\n })\n\n if(!isReady) {\n return
loading...
\n }\n\n return \n \n {table.getHeaderGroups().map(headerGroup => (\n \n {headerGroup.headers.map(header => {\n return (\n \n {header.isPlaceholder ? null : (\n flexRender(\n header.column.columnDef.header,\n header.getContext()\n )\n )}\n \n )\n })}\n \n ))}\n \n \n {table.getRowModel().rows.map(row => {\n return (\n \n {\n row.getVisibleCells().map(cell => {\n const ctx = cell.getContext()\n const v = ctx.getValue()\n return \n {flexRender(cell.column.columnDef.cell, ctx)}\n \n })\n }\n \n )\n })}\n \n
\n}\n\n\nexport default ({species_sn, protein_seq_id}) => {\n\n const [selectedTranscript, setSelectedTranscript] = useState(null)\n\n return
\n
\n \n

Table of all transcripts containing an ORF that encodes this protein.

\n

Annotation: source annotation for the transcript

\n

Accession: accession of the corresponding transcript

\n

Tissue expression: click on the GTEx button of corresponding transcripts to see their expression profile in different tissues.

\n

Type: biotype of the transcript

\n

Frame: The reading frame for the three-nucleotide codons is determined with respect to the first nucleotide of each transcript (+1 reading frame). AltORFs completely nested within CDSs must be in a different reading frame than the CDSs. AltORFs present in UTRs or in ncRNAs may be in any of the 3 reading frames.

\n

Strand: strand on the chromosome where transcript is transcribed from

\n

Kozak: If the simplified Kozak sequence RNNATGG (where R = A or G) derived from Kozak M, 1981 and 2002 (PMID: 7301588, 12459250 ) is present (+) or not (-).

\n

High Eff. TIS: If the high-efficiency TIS motif (RYMRMVAUGGC, where Y = U or C, M = A or C, R = A or G, and V = A, C, or G) derived from Noderer WL et al., 2014 (PMID: 25170020) is present (+) or not (-).

\n
\n
\n
\n \n {selectedTranscript && } \n
\n
\n}\n","import {use3DMolViewer} from \"../hooks.js\";\r\nimport {useAlphaOmega} from \"../hooks.js\";\r\nimport {getPdbUrl} from \"../rest.js\";\r\nimport { HeaderWithModal } from \"../utils.jsx\"\r\n\r\nconst PdbViewer = ({protein_seq_id}) => {\r\n\r\n const {viewerElementRef, pdbNotFound} = use3DMolViewer({protein_seq_id})\r\n const {isReady, alphaOrOmega} = useAlphaOmega(protein_seq_id)\r\n const pdbUrl = getPdbUrl(protein_seq_id)\r\n console.log(viewerElementRef, pdbNotFound)\r\n return (\r\n
\r\n {\r\n pdbNotFound ?\r\n
No PDB for protein {protein_seq_id}
:\r\n
\r\n \r\n

Structure predictions by Alphafold and Omegafold. \r\n See the documentation for more details on the method.

\r\n

The structure is predicted either by AlphaFold if the multiple sequence alignment (MSA) is greater than 30. Or by OmegaFold if the MSA is less than 30. The RefProts structures have been downloaded from the AlphaFold DB

\r\n

plDDT score : The plDDT score is a confidence score that provides information on the predicted structure. It ranges from 0-100 %.. The closer the plDDT is to 100, the more confident the predicted structure is.

\r\n
\r\n
\r\n }\r\n \r\n
\r\n { \r\n pdbNotFound ?\r\n \"\":\r\n
\r\n

predicted by {alphaOrOmega}

\r\n

download pdb

\r\n \r\n
\r\n }\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default PdbViewer\r\n","import React, { useState, useEffect, useRef } from 'react'\n\n\nconst TrackViewer = ({onClose, title, argsReady, chrom, regionStart, regionEnd, strand}) => {\n\n const trackIFrameParentElement = useRef()\n\n const [iFrameReady, setIFrameReady] = useState(false)\n\n useEffect(() => {\n\n const iFrame = document.getElementById(\"trackFrame\")\n\n iFrame.onload = function() {\n setIFrameReady(true)\n }\n\n },[])\n\n const tracker = () => [`${argsReady}-${iFrameReady}`]\n\n useEffect(() => {\n if(argsReady && iFrameReady) {\n const iFrame = document.getElementById(\"trackFrame\")\n const data = {\n chrom,\n regionStart,\n regionEnd,\n strand,\n apiHost: window.openprot_api_host\n }\n iFrame.contentWindow.postMessage(JSON.stringify(data), \"*\")\n }\n\n }, tracker())\n\n const iframe = `