@galaxyproject/igv 0.0.22 → 0.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +2 -2
  2. package/static/index.js +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galaxyproject/igv",
3
- "version": "0.0.22",
3
+ "version": "0.0.23",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -23,7 +23,7 @@
23
23
  "@vitejs/plugin-vue": "^5.0.5",
24
24
  "@vitest/ui": "^3.0.9",
25
25
  "autoprefixer": "^10.4.19",
26
- "galaxy-charts": "^0.0.92",
26
+ "galaxy-charts": "^0.0.93",
27
27
  "galaxy-charts-xml-parser": "^1.0.3",
28
28
  "igv": "^3.5.0",
29
29
  "jsdom": "^25.0.1",
package/static/index.js CHANGED
@@ -1993,7 +1993,7 @@ ${e}
1993
1993
  border-top: 1px solid var(--n-tab-border-color);
1994
1994
  `),ie("tabs-pad",`
1995
1995
  border-top: 1px solid var(--n-tab-border-color);
1996
- `)])])])]),AD=Object.assign(Object.assign({},dt.props),{value:[String,Number],defaultValue:[String,Number],trigger:{type:String,default:"click"},type:{type:String,default:"bar"},closable:Boolean,justifyContent:String,size:{type:String,default:"medium"},placement:{type:String,default:"top"},tabStyle:[String,Object],tabClass:String,addTabStyle:[String,Object],addTabClass:String,barWidth:Number,paneClass:String,paneStyle:[String,Object],paneWrapperClass:String,paneWrapperStyle:[String,Object],addable:[Boolean,Object],tabsPadding:{type:Number,default:0},animated:Boolean,onBeforeLeave:Function,onAdd:Function,"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array],onClose:[Function,Array],labelSize:String,activeName:[String,Number],onActiveNameChange:[Function,Array]}),kD=Te({name:"Tabs",props:AD,setup(i,{slots:e}){var t,r,n,o;const{mergedClsPrefixRef:s,inlineThemeDisabled:a}=bi(i),l=dt("Tabs","-tabs",xD,dD,i,s),c=ce(null),h=ce(null),d=ce(null),u=ce(null),f=ce(null),p=ce(null),m=ce(!0),v=ce(!0),g=Vd(i,["labelSize","size"]),b=Vd(i,["activeName","value"]),w=ce((r=(t=b.value)!==null&&t!==void 0?t:i.defaultValue)!==null&&r!==void 0?r:e.default?(o=(n=ua(e.default())[0])===null||n===void 0?void 0:n.props)===null||o===void 0?void 0:o.name:null),F=un(b,w),k={id:0},I=be(()=>{if(!(!i.justifyContent||i.type==="card"))return{display:"flex",justifyContent:i.justifyContent}});ft(F,()=>{k.id=0,S(),_()});function C(){var K;const{value:Q}=F;return Q===null?null:(K=c.value)===null||K===void 0?void 0:K.querySelector(`[data-name="${Q}"]`)}function A(K){if(i.type==="card")return;const{value:Q}=h;if(!Q)return;const ae=Q.style.opacity==="0";if(K){const Z=`${s.value}-tabs-bar--disabled`,{barWidth:W,placement:te}=i;if(K.dataset.disabled==="true"?Q.classList.add(Z):Q.classList.remove(Z),["top","bottom"].includes(te)){if(y(["top","maxHeight","height"]),typeof W=="number"&&K.offsetWidth>=W){const we=Math.floor((K.offsetWidth-W)/2)+K.offsetLeft;Q.style.left=`${we}px`,Q.style.maxWidth=`${W}px`}else Q.style.left=`${K.offsetLeft}px`,Q.style.maxWidth=`${K.offsetWidth}px`;Q.style.width="8192px",ae&&(Q.style.transition="none"),Q.offsetWidth,ae&&(Q.style.transition="",Q.style.opacity="1")}else{if(y(["left","maxWidth","width"]),typeof W=="number"&&K.offsetHeight>=W){const we=Math.floor((K.offsetHeight-W)/2)+K.offsetTop;Q.style.top=`${we}px`,Q.style.maxHeight=`${W}px`}else Q.style.top=`${K.offsetTop}px`,Q.style.maxHeight=`${K.offsetHeight}px`;Q.style.height="8192px",ae&&(Q.style.transition="none"),Q.offsetHeight,ae&&(Q.style.transition="",Q.style.opacity="1")}}}function E(){if(i.type==="card")return;const{value:K}=h;K&&(K.style.opacity="0")}function y(K){const{value:Q}=h;if(Q)for(const ae of K)Q.style[ae]=""}function S(){if(i.type==="card")return;const K=C();K?A(K):E()}function _(){var K;const Q=(K=f.value)===null||K===void 0?void 0:K.$el;if(!Q)return;const ae=C();if(!ae)return;const{scrollLeft:Z,offsetWidth:W}=Q,{offsetLeft:te,offsetWidth:we}=ae;Z>te?Q.scrollTo({top:0,left:te,behavior:"smooth"}):te+we>Z+W&&Q.scrollTo({top:0,left:te+we-W,behavior:"smooth"})}const M=ce(null);let R=0,T=null;function z(K){const Q=M.value;if(Q){R=K.getBoundingClientRect().height;const ae=`${R}px`,Z=()=>{Q.style.height=ae,Q.style.maxHeight=ae};T?(Z(),T(),T=null):T=Z}}function L(K){const Q=M.value;if(Q){const ae=K.getBoundingClientRect().height,Z=()=>{document.body.offsetHeight,Q.style.maxHeight=`${ae}px`,Q.style.height=`${Math.max(R,ae)}px`};T?(T(),T=null,Z()):T=Z}}function U(){const K=M.value;if(K){K.style.maxHeight="",K.style.height="";const{paneWrapperStyle:Q}=i;if(typeof Q=="string")K.style.cssText=Q;else if(Q){const{maxHeight:ae,height:Z}=Q;ae!==void 0&&(K.style.maxHeight=ae),Z!==void 0&&(K.style.height=Z)}}}const B={value:[]},x=ce("next");function P(K){const Q=F.value;let ae="next";for(const Z of B.value){if(Z===Q)break;if(Z===K){ae="prev";break}}x.value=ae,O(K)}function O(K){const{onActiveNameChange:Q,onUpdateValue:ae,"onUpdate:value":Z}=i;Q&&je(Q,K),ae&&je(ae,K),Z&&je(Z,K),w.value=K}function N(K){const{onClose:Q}=i;Q&&je(Q,K)}function D(){const{value:K}=h;if(!K)return;const Q="transition-disabled";K.classList.add(Q),S(),K.classList.remove(Q)}const $=ce(null);function j({transitionDisabled:K}){const Q=c.value;if(!Q)return;K&&Q.classList.add("transition-disabled");const ae=C();ae&&$.value&&($.value.style.width=`${ae.offsetWidth}px`,$.value.style.height=`${ae.offsetHeight}px`,$.value.style.transform=`translateX(${ae.offsetLeft-Oi(getComputedStyle(Q).paddingLeft)}px)`,K&&$.value.offsetWidth),K&&Q.classList.remove("transition-disabled")}ft([F],()=>{i.type==="segment"&&Ci(()=>{j({transitionDisabled:!1})})}),xi(()=>{i.type==="segment"&&j({transitionDisabled:!0})});let X=0;function G(K){var Q;if(K.contentRect.width===0&&K.contentRect.height===0||X===K.contentRect.width)return;X=K.contentRect.width;const{type:ae}=i;if((ae==="line"||ae==="bar")&&D(),ae!=="segment"){const{placement:Z}=i;ee((Z==="top"||Z==="bottom"?(Q=f.value)===null||Q===void 0?void 0:Q.$el:p.value)||null)}}const re=Jf(G,64);ft([()=>i.justifyContent,()=>i.size],()=>{Ci(()=>{const{type:K}=i;(K==="line"||K==="bar")&&D()})});const fe=ce(!1);function pe(K){var Q;const{target:ae,contentRect:{width:Z,height:W}}=K,te=ae.parentElement.parentElement.offsetWidth,we=ae.parentElement.parentElement.offsetHeight,{placement:Se}=i;if(!fe.value)Se==="top"||Se==="bottom"?te<Z&&(fe.value=!0):we<W&&(fe.value=!0);else{const{value:Me}=u;if(!Me)return;Se==="top"||Se==="bottom"?te-Z>Me.$el.offsetWidth&&(fe.value=!1):we-W>Me.$el.offsetHeight&&(fe.value=!1)}ee(((Q=f.value)===null||Q===void 0?void 0:Q.$el)||null)}const V=Jf(pe,64);function q(){const{onAdd:K}=i;K&&K(),Ci(()=>{const Q=C(),{value:ae}=f;!Q||!ae||ae.scrollTo({left:Q.offsetLeft,top:0,behavior:"smooth"})})}function ee(K){if(!K)return;const{placement:Q}=i;if(Q==="top"||Q==="bottom"){const{scrollLeft:ae,scrollWidth:Z,offsetWidth:W}=K;m.value=ae<=0,v.value=ae+W>=Z}else{const{scrollTop:ae,scrollHeight:Z,offsetHeight:W}=K;m.value=ae<=0,v.value=ae+W>=Z}}const ue=Jf(K=>{ee(K.target)},64);Zi(G0,{triggerRef:Qe(i,"trigger"),tabStyleRef:Qe(i,"tabStyle"),tabClassRef:Qe(i,"tabClass"),addTabStyleRef:Qe(i,"addTabStyle"),addTabClassRef:Qe(i,"addTabClass"),paneClassRef:Qe(i,"paneClass"),paneStyleRef:Qe(i,"paneStyle"),mergedClsPrefixRef:s,typeRef:Qe(i,"type"),closableRef:Qe(i,"closable"),valueRef:F,tabChangeIdRef:k,onBeforeLeaveRef:Qe(i,"onBeforeLeave"),activateTab:P,handleClose:N,handleAdd:q}),B3(()=>{S(),_()}),Rr(()=>{const{value:K}=d;if(!K)return;const{value:Q}=s,ae=`${Q}-tabs-nav-scroll-wrapper--shadow-start`,Z=`${Q}-tabs-nav-scroll-wrapper--shadow-end`;m.value?K.classList.remove(ae):K.classList.add(ae),v.value?K.classList.remove(Z):K.classList.add(Z)});const de={syncBarPosition:()=>{S()}},J=()=>{j({transitionDisabled:!0})},Y=be(()=>{const{value:K}=g,{type:Q}=i,ae={card:"Card",bar:"Bar",line:"Line",segment:"Segment"}[Q],Z=`${K}${ae}`,{self:{barColor:W,closeIconColor:te,closeIconColorHover:we,closeIconColorPressed:Se,tabColor:Me,tabBorderColor:Je,paneTextColor:it,tabFontWeight:nt,tabBorderRadius:kt,tabFontWeightActive:Vt,colorSegment:Ct,fontWeightStrong:ye,tabColorSegment:ne,closeSize:ve,closeIconSize:Re,closeColorHover:De,closeColorPressed:$e,closeBorderRadius:Le,[ke("panePadding",K)]:ze,[ke("tabPadding",Z)]:at,[ke("tabPaddingVertical",Z)]:Ot,[ke("tabGap",Z)]:St,[ke("tabGap",`${Z}Vertical`)]:Di,[ke("tabTextColor",Q)]:wn,[ke("tabTextColorActive",Q)]:Or,[ke("tabTextColorHover",Q)]:Sr,[ke("tabTextColorDisabled",Q)]:Wn,[ke("tabFontSize",K)]:Qn},common:{cubicBezierEaseInOut:Kn}}=l.value;return{"--n-bezier":Kn,"--n-color-segment":Ct,"--n-bar-color":W,"--n-tab-font-size":Qn,"--n-tab-text-color":wn,"--n-tab-text-color-active":Or,"--n-tab-text-color-disabled":Wn,"--n-tab-text-color-hover":Sr,"--n-pane-text-color":it,"--n-tab-border-color":Je,"--n-tab-border-radius":kt,"--n-close-size":ve,"--n-close-icon-size":Re,"--n-close-color-hover":De,"--n-close-color-pressed":$e,"--n-close-border-radius":Le,"--n-close-icon-color":te,"--n-close-icon-color-hover":we,"--n-close-icon-color-pressed":Se,"--n-tab-color":Me,"--n-tab-font-weight":nt,"--n-tab-font-weight-active":Vt,"--n-tab-padding":at,"--n-tab-padding-vertical":Ot,"--n-tab-gap":St,"--n-tab-gap-vertical":Di,"--n-pane-padding-left":ir(ze,"left"),"--n-pane-padding-right":ir(ze,"right"),"--n-pane-padding-top":ir(ze,"top"),"--n-pane-padding-bottom":ir(ze,"bottom"),"--n-font-weight-strong":ye,"--n-tab-color-segment":ne}}),se=a?Ni("tabs",be(()=>`${g.value[0]}${i.type[0]}`),Y,i):void 0;return Object.assign({mergedClsPrefix:s,mergedValue:F,renderedNames:new Set,segmentCapsuleElRef:$,tabsPaneWrapperRef:M,tabsElRef:c,barElRef:h,addTabInstRef:u,xScrollInstRef:f,scrollWrapperElRef:d,addTabFixed:fe,tabWrapperStyle:I,handleNavResize:re,mergedSize:g,handleScroll:ue,handleTabsResize:V,cssVars:a?void 0:Y,themeClass:se==null?void 0:se.themeClass,animationDirection:x,renderNameListRef:B,yScrollElRef:p,handleSegmentResize:J,onAnimationBeforeLeave:z,onAnimationEnter:L,onAnimationAfterEnter:U,onRender:se==null?void 0:se.onRender},de)},render(){const{mergedClsPrefix:i,type:e,placement:t,addTabFixed:r,addable:n,mergedSize:o,renderNameListRef:s,onRender:a,paneWrapperClass:l,paneWrapperStyle:c,$slots:{default:h,prefix:d,suffix:u}}=this;a==null||a();const f=h?ua(h()).filter(k=>k.type.__TAB_PANE__===!0):[],p=h?ua(h()).filter(k=>k.type.__TAB__===!0):[],m=!p.length,v=e==="card",g=e==="segment",b=!v&&!g&&this.justifyContent;s.value=[];const w=()=>{const k=H("div",{style:this.tabWrapperStyle,class:`${i}-tabs-wrapper`},b?null:H("div",{class:`${i}-tabs-scroll-padding`,style:t==="top"||t==="bottom"?{width:`${this.tabsPadding}px`}:{height:`${this.tabsPadding}px`}}),m?f.map((I,C)=>(s.value.push(I.props.name),Ww(H(sm,Object.assign({},I.props,{internalCreatedByPane:!0,internalLeftPadded:C!==0&&(!b||b==="center"||b==="start"||b==="end")}),I.children?{default:I.children.tab}:void 0)))):p.map((I,C)=>(s.value.push(I.props.name),Ww(C!==0&&!b?Gw(I):I))),!r&&n&&v?qw(n,(m?f.length:p.length)!==0):null,b?null:H("div",{class:`${i}-tabs-scroll-padding`,style:{width:`${this.tabsPadding}px`}}));return H("div",{ref:"tabsElRef",class:`${i}-tabs-nav-scroll-content`},v&&n?H(yo,{onResize:this.handleTabsResize},{default:()=>k}):k,v?H("div",{class:`${i}-tabs-pad`}):null,v?null:H("div",{ref:"barElRef",class:`${i}-tabs-bar`}))},F=g?"top":t;return H("div",{class:[`${i}-tabs`,this.themeClass,`${i}-tabs--${e}-type`,`${i}-tabs--${o}-size`,b&&`${i}-tabs--flex`,`${i}-tabs--${F}`],style:this.cssVars},H("div",{class:[`${i}-tabs-nav--${e}-type`,`${i}-tabs-nav--${F}`,`${i}-tabs-nav`]},qt(d,k=>k&&H("div",{class:`${i}-tabs-nav__prefix`},k)),g?H(yo,{onResize:this.handleSegmentResize},{default:()=>H("div",{class:`${i}-tabs-rail`,ref:"tabsElRef"},H("div",{class:`${i}-tabs-capsule`,ref:"segmentCapsuleElRef"},H("div",{class:`${i}-tabs-wrapper`},H("div",{class:`${i}-tabs-tab`}))),m?f.map((k,I)=>(s.value.push(k.props.name),H(sm,Object.assign({},k.props,{internalCreatedByPane:!0,internalLeftPadded:I!==0}),k.children?{default:k.children.tab}:void 0))):p.map((k,I)=>(s.value.push(k.props.name),I===0?k:Gw(k))))}):H(yo,{onResize:this.handleNavResize},{default:()=>H("div",{class:`${i}-tabs-nav-scroll-wrapper`,ref:"scrollWrapperElRef"},["top","bottom"].includes(F)?H(z7,{ref:"xScrollInstRef",onScroll:this.handleScroll},{default:w}):H("div",{class:`${i}-tabs-nav-y-scroll`,onScroll:this.handleScroll,ref:"yScrollElRef"},w()))}),r&&n&&v?qw(n,!0):null,qt(u,k=>k&&H("div",{class:`${i}-tabs-nav__suffix`},k))),m&&(this.animated&&(F==="top"||F==="bottom")?H("div",{ref:"tabsPaneWrapperRef",style:c,class:[`${i}-tabs-pane-wrapper`,l]},jw(f,this.mergedValue,this.renderedNames,this.onAnimationBeforeLeave,this.onAnimationEnter,this.onAnimationAfterEnter,this.animationDirection)):jw(f,this.mergedValue,this.renderedNames)))}});function jw(i,e,t,r,n,o,s){const a=[];return i.forEach(l=>{const{name:c,displayDirective:h,"display-directive":d}=l.props,u=p=>h===p||d===p,f=e===c;if(l.key!==void 0&&(l.key=c),f||u("show")||u("show:lazy")&&t.has(c)){t.has(c)||t.add(c);const p=!u("if");a.push(p?zo(l,[[Ku,f]]):l)}}),s?H(f3,{name:`${s}-transition`,onBeforeLeave:r,onEnter:n,onAfterEnter:o},{default:()=>a}):a}function qw(i,e){return H(sm,{ref:"addTabInstRef",key:"__addable",name:"__addable",internalCreatedByPane:!0,internalAddable:!0,internalLeftPadded:e,disabled:typeof i=="object"&&i.disabled})}function Gw(i){const e=hn(i);return e.props?e.props.internalLeftPadded=!0:e.props={internalLeftPadded:!0},e}function Ww(i){return Array.isArray(i.dynamicProps)?i.dynamicProps.includes("internalLeftPadded")||i.dynamicProps.push("internalLeftPadded"):i.dynamicProps=["internalLeftPadded"],i}async function Z5(i,e,t){try{const{data:r}=await Ss().POST("/api/visualizations",{type:i,title:e,config:t});return r.id}catch(r){Ia(r)}}async function SD(i,e,t,r){try{if(e)await J5(e,t,r);else return await Z5(i,t,r)}catch(n){Ia(n)}}async function J5(i,e,t){try{await Ss().PUT(`/api/visualizations/${i}`,{title:e,config:t})}catch(r){Ia(r)}}function io(i){return String(i).toLowerCase()==="true"}async function ID(i,e={}){const t=Kc(i.settings,e.settings),r=i.specs,n=MD(i.tracks,e.tracks);return{plugin:i,settings:t,specs:r,tracks:n}}function ED(i,e){let t=e??i.value;return["float","integer"].includes(i.type)?t=Number(t):i.type==="boolean"&&(t=io(t)),t}function TD(i,e={}){var t,r,n;const o=e,s=(t=i.test_param)==null?void 0:t.name;if(!s)console.error(`[charts] Test parameter has no name: ${i.name}.`);else{const a=o[s]??((r=i.test_param)==null?void 0:r.value);for(const l of i.cases||[])l.value===a&&(o[s]=a,(n=l.inputs)!=null&&n.length&&Kc(l.inputs,o))}return o}function Kc(i,e){const t=e||{};return i==null||i.forEach(r=>{r.type==="conditional"?t[r.name]=TD(r,t[r.name]):t[r.name]=ED(r,t[r.name])}),t}function MD(i,e){const t=e||[];return i&&(t.length===0&&t.push({}),t.forEach((r,n)=>{t[n]=Kc(i,r)})),t}const ND={key:2,class:"border border-dotted border-green-600 rounded mt-2 p-2"},RD=Te({__name:"InputConditional",props:{datasetId:{},input:{},value:{}},emits:["update:value"],setup(i,{emit:e}){const t=i,r=e;if(!t.input.test_param)throw`The conditional '${t.input.name}' is missing a test parameter.`;if(!t.input.cases||t.input.cases.length===0)throw`The conditional '${t.input.name}' is missing cases.`;const n=t.input.test_param,o=n.name;o||console.error(`[charts] Test parameter has no name: ${t.input.name}.`);const s=be(()=>{const u={};for(const f of t.input.cases)u[f.value]=Kc(f.inputs),u[f.value][o]=f.value;return u}),a=be(()=>{const u={};for(const f of t.input.cases)u[f.value]=f.inputs;return u}),l=be({get(){var u;return String(((u=t.value)==null?void 0:u[o])??n.value??"")},set(u){const f=s.value[u]||{};r("update:value",{...f})}}),c=be({get(){return l.value==="true"},set(u){l.value=String(u)}}),h=be(()=>a.value[l.value]||[]);function d(u){const f={...t.value,...u,[o]:l.value};r("update:value",f)}return(u,f)=>(Be(),st(Pt,null,[He(n).type==="boolean"?(Be(),Mt(He(Y5),{key:0,value:c.value,"onUpdate:value":f[0]||(f[0]=p=>c.value=p)},null,8,["value"])):(Be(),Mt(He(cf),{key:1,value:l.value,"onUpdate:value":f[1]||(f[1]=p=>l.value=p),options:He(n).data},null,8,["value","options"])),h.value.length?(Be(),st("div",ND,[Ue(Q0,{"dataset-id":u.datasetId,inputs:h.value,values:u.value,"onUpdate:values":d},null,8,["dataset-id","inputs","values"])])):$i("",!0)],64))}}),BD=100;async function DD(i,e="",t="",r=BD){const n="q=deleted&qv=false&q=history_content_type&qv=dataset&q=visible&qv=true&",o=t?`q=extension-in&qv=${t}&`:"",s=e?`q=name-contains&qv=${e}&`:"";try{const{data:a}=await Ss().GET(`/api/histories/${i}/contents?v=dev&order=hid&${n}${o}${s}limit=${r}`);return a}catch(a){Ia(a)}}const Th=ce({});function eC(){async function i(e){return Th.value[e]||(Th.value[e]=Ss().GET(`/api/datasets/${e}`).catch(t=>{throw delete Th.value[e],t})),await Th.value[e]}return{getDataset:i}}const zD={key:0,class:"text-red-600 mb-1"},W0=Te({__name:"InputSelect",props:ka({loading:{type:Boolean,default:!1},options:{},optional:{type:Boolean,default:!1},placeholder:{default:"Select a value"},title:{default:"Please select a value."},sort:{type:Boolean,default:!1}},{value:{},valueModifiers:{}}),emits:ka(["search"],["update:value"]),setup(i,{emit:e}){const t=i,r=e,n=Vc(i,"value"),o=ce(null),s=ce({}),a=be(()=>{s.value={};const d=t.options.map(u=>{var f;return u.value&&(s.value[u.value.id]=u.value),{label:u.label,value:((f=u.value)==null?void 0:f.id)||"",disabled:u.disabled}});return n.value&&n.value.id&&!s.value[n.value.id]&&(s.value[n.value.id]=n.value,d.unshift({label:n.value.name||n.value.id,value:n.value.id,disabled:!1})),t.optional&&d.unshift({label:"-- Clear Selection --",value:"",disabled:!1}),t.sort&&d.sort((u,f)=>u.label.localeCompare(f.label)),d});function l(d){o.value=d,n.value=d?s.value[d]:null}function c(d){return H("div",{class:"my-1 whitespace-normal break-all"},[H(Nr,{class:"size-3 mr-1"},{default:()=>H(v3)}),d.label])}function h({option:d}){return H("div",{class:"z-[1] whitespace-nowrap text-ellipsis overflow-hidden"},d.label??"")}return ft(()=>n.value,d=>{o.value=(d==null?void 0:d.id)??null},{immediate:!0}),(d,u)=>(Be(),st("div",null,[!d.optional&&!n.value?(Be(),st("div",zD,[Ue(He(Nr),{class:"size-3 mr-1"},{default:pt(()=>[Ue(He(w3))]),_:1}),We("span",null,Fr(d.title),1)])):$i("",!0),Ue(He(cf),{filterable:"",placeholder:d.placeholder,loading:d.loading,"render-label":c,"render-tag":h,options:a.value,value:o.value,onSearch:u[0]||(u[0]=f=>r("search",f)),"onUpdate:value":l},null,8,["placeholder","loading","options","value"])]))}}),LD={key:0},PD={key:1},Qw=100,OD=Te({__name:"InputData",props:ka({datasetId:{},extension:{},optional:{type:Boolean}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(i){const{getDataset:e}=eC(),t=i,r=ce([]),n=Vc(i,"value"),o=ce(!1);async function s(a){if(t.datasetId){o.value=!0;try{const{data:l}=await e(t.datasetId),c=await DD(l.history_id,a,t.extension,Qw);if(c&&c.length>0){const h=c.map(d=>({label:`${d.hid}: ${d.name}`,value:{id:d.id,extension:d.extension,hid:d.hid,name:d.name}}));c.length>=Qw&&h.push({label:"...filter for more",value:null,disabled:!0}),r.value=h}}catch(l){console.debug("[charts] Failed to request datasets.",l)}finally{o.value=!1}}else console.debug("[charts] Data selector disabled, since `datasetId` is unavailable.")}return s(),(a,l)=>a.datasetId?(Be(),st("div",LD,[Ue(W0,{value:n.value,"onUpdate:value":l[0]||(l[0]=c=>n.value=c),loading:o.value,options:r.value,optional:a.optional,placeholder:"Select a dataset",title:"Please select a dataset.",onSearch:s},null,8,["value","loading","options","optional"])])):(Be(),st("div",PD,"Selection deferred."))}});function HD(i,e,t,r){const n=[];e&&n.push({label:"Column: Default",value:"auto"});const o=i.metadata_column_types;for(const s in o)(r&&["int","float"].includes(o[s])||t&&o[s]==="str"||!r&&!t)&&n.push({label:"Column: "+(parseInt(s)+1),value:s});return n}const $D=Te({__name:"InputDataColumn",props:ka({datasetId:{},isAuto:{type:Boolean},isText:{type:Boolean},isNumber:{type:Boolean}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(i){const{getDataset:e}=eC(),t=i,r=ce([]),n=Vc(i,"value");async function o(){if(t.datasetId)try{const{data:a}=await e(t.datasetId),l=HD(a,t.isAuto,t.isText,t.isNumber);r.value=l,s()}catch(a){console.debug("[charts] Failed to handle dataset columns.",a)}else console.debug("[charts] Data column selector disabled, since `datasetId` is unavailable.")}function s(){r.value.length>0&&n.value===null&&(n.value=r.value[0].value)}return o(),ft(()=>n.value,()=>s()),(a,l)=>a.datasetId?(Be(),Mt(He(cf),{key:0,value:n.value,"onUpdate:value":l[0]||(l[0]=c=>n.value=c),options:r.value},null,8,["value","options"])):(Be(),Mt(He(Ma),{key:1,value:n.value,"onUpdate:value":l[1]||(l[1]=c=>n.value=c)},null,8,["value"]))}}),UD=Te({__name:"InputDataJson",props:ka({datasetId:{},optional:{type:Boolean},placeholder:{},title:{},url:{}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(i){const e=i,t=ce([]),r=Vc(i,"value"),n=ce(!1),{getDataJson:o}=m3();async function s(){n.value=!0;try{console.debug("[charts] Requesting data json from:",e.url);const a=await o(e.url);a.length===0?console.debug("[charts] No entries found in data json."):t.value=a}catch(a){console.debug("[charts] Failed to request data json.",a)}finally{n.value=!1}}return s(),(a,l)=>(Be(),Mt(W0,{value:r.value,"onUpdate:value":l[0]||(l[0]=c=>r.value=c),loading:n.value,options:t.value,optional:e.optional,placeholder:e.placeholder,title:e.title},null,8,["value","loading","options","optional","placeholder","title"]))}}),VD=Te({__name:"InputDataTable",props:ka({datasetId:{},optional:{type:Boolean},placeholder:{},tables:{},title:{}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(i){const e=b3(),t=i,r=ce([]),n=Vc(i,"value"),o=ce(!1);async function s(){var a;o.value=!0;const l=[],c=new Set;if(t.tables&&t.tables.length>0)for(const h of t.tables)try{const d=await e.getDataTable(h);for(const u of d){const f=(a=u==null?void 0:u.value)==null?void 0:a.id;f&&!c.has(f)&&(c.add(f),l.push(u))}}catch(d){console.debug("[charts] Failed to request data table.",d)}r.value=l,o.value=!1}return s(),(a,l)=>(Be(),Mt(W0,{value:n.value,"onUpdate:value":l[0]||(l[0]=c=>n.value=c),loading:o.value,options:r.value,optional:a.optional,placeholder:a.placeholder,sort:!0,title:a.title},null,8,["value","loading","options","optional","placeholder","title"]))}}),jD={class:"select-none"},qD={class:"font-bold mb-1"},GD={key:0,class:"text-xs mb-1"},WD={key:7},Kw=.01,Q0=Te({__name:"InputForm",props:{datasetId:{},inputs:{},values:{}},emits:["update:values"],setup(i,{emit:e}){const t=i,r=e,n=ce(o());function o(){const a={...t.values};return t.inputs.forEach(l=>{a[l.name]===void 0&&(a[l.name]=null)}),a}function s(){r("update:values",n.value)}return ft(()=>t.values,()=>{n.value=o()}),(a,l)=>(Be(),st("div",jD,[(Be(!0),st(Pt,null,B4(a.inputs,(c,h)=>(Be(),st("div",{key:h,class:Uc(h<a.inputs.length-1?"pb-2":"")},[We("div",qD,Fr(c.label||c.name),1),c.help?(Be(),st("div",GD,Fr(c.help),1)):$i("",!0),We("div",null,[c.type==="boolean"?(Be(),Mt(He(Y5),{key:0,value:n.value[c.name],"onUpdate:value":[d=>n.value[c.name]=d,s]},null,8,["value","onUpdate:value"])):c.type==="color"?(Be(),Mt(He(UB),{key:1,value:n.value[c.name],"onUpdate:value":[d=>n.value[c.name]=d,s],modes:["hex"],"show-alpha":!1},null,8,["value","onUpdate:value"])):c.type==="conditional"?(Be(),Mt(RD,{key:2,value:n.value[c.name],"onUpdate:value":[d=>n.value[c.name]=d,s],"dataset-id":a.datasetId,input:c},null,8,["value","onUpdate:value","dataset-id","input"])):c.type==="data"?(Be(),Mt(OD,{key:3,value:n.value[c.name],"onUpdate:value":[d=>n.value[c.name]=d,s],"dataset-id":a.datasetId,extension:c.extension,optional:He(io)(c.optional)},null,8,["value","onUpdate:value","dataset-id","extension","optional"])):c.type==="data_column"?(Be(),Mt($D,{key:4,value:n.value[c.name],"onUpdate:value":[d=>n.value[c.name]=d,s],"dataset-id":a.datasetId,"is-auto":He(io)(c.is_auto),"is-text":He(io)(c.is_text),"is-number":He(io)(c.is_number)},null,8,["value","onUpdate:value","dataset-id","is-auto","is-text","is-number"])):c.type==="data_json"?(Be(),Mt(UD,{key:5,value:n.value[c.name],"onUpdate:value":[d=>n.value[c.name]=d,s],optional:He(io)(c.optional),url:c.url},null,8,["value","onUpdate:value","optional","url"])):c.type==="data_table"?(Be(),Mt(VD,{key:6,value:n.value[c.name],"onUpdate:value":[d=>n.value[c.name]=d,s],optional:He(io)(c.optional),tables:c.tables},null,8,["value","onUpdate:value","optional","tables"])):["float","integer"].includes(c.type)?(Be(),st("div",WD,[c.min!==void 0&&c.max!==void 0?(Be(),Mt(He(FD),{key:0,class:"mb-2",value:n.value[c.name],"onUpdate:value":[d=>n.value[c.name]=d,s],min:Number(c.min),max:Number(c.max),step:c.type==="float"?Kw:1},null,8,["value","onUpdate:value","min","max","step"])):$i("",!0),Ue(He(mD),{value:n.value[c.name],"onUpdate:value":[d=>n.value[c.name]=d,s],size:"small",min:Number(c.min),max:Number(c.max),step:c.type==="float"?Kw:1},null,8,["value","onUpdate:value","min","max","step"])])):c.type==="select"?(Be(),Mt(He(cf),{key:8,value:n.value[c.name],"onUpdate:value":[d=>n.value[c.name]=d,s],filterable:He(io)(c.filterable),options:c.data},null,8,["value","onUpdate:value","filterable","options"])):c.type==="textarea"?(Be(),Mt(He(Ma),{key:9,value:n.value[c.name],"onUpdate:value":[d=>n.value[c.name]=d,s],rows:Number(c.rows),type:"textarea"},null,8,["value","onUpdate:value","rows"])):(Be(),Mt(He(Ma),{key:10,value:n.value[c.name],"onUpdate:value":[d=>n.value[c.name]=d,()=>!c.deferred&&s()],onChange:()=>c.deferred&&s()},null,8,["value","onUpdate:value","onChange"]))])],2))),128))]))}}),QD={class:"border border-dotted border-green-600 rounded p-2"},KD={class:"mx-1"},YD=Te({__name:"InputRepeats",props:{datasetId:{},inputs:{},valuesArray:{}},emits:["update:values-array"],setup(i,{emit:e}){const t=i,r=e,n=be(()=>Kc(t.inputs));function o(){const l=[...t.valuesArray];l.unshift(n.value),r("update:values-array",l)}function s(l){const c=[...t.valuesArray];c.splice(l,1),r("update:values-array",c)}function a(l,c){const h=[...t.valuesArray];h[l]={...c},r("update:values-array",h)}return(l,c)=>(Be(),st(Pt,null,[Ue(He(en),{size:"tiny",type:"primary",onClick:o},{default:pt(()=>[Ue(He(Nr),null,{default:pt(()=>[Ue(He(v3))]),_:1}),c[0]||(c[0]=We("span",{class:"mx-1"},"Add New Track",-1))]),_:1}),(Be(!0),st(Pt,null,B4(l.valuesArray,(h,d)=>(Be(),st("div",{key:d,class:"py-2"},[We("div",QD,[Ue(Q0,{"dataset-id":l.datasetId,inputs:l.inputs,values:h,"onUpdate:values":u=>a(d,u)},null,8,["dataset-id","inputs","values","onUpdate:values"]),Ue(He(en),{class:"w-full mt-2","data-description":"remove repeat block",disabled:l.valuesArray.length<=1,size:"tiny",type:"primary",onClick:u=>s(d)},{default:pt(()=>[Ue(He(Nr),null,{default:pt(()=>[Ue(He(nk))]),_:1}),We("span",KD,"Remove Track "+Fr(l.valuesArray.length-d),1)]),_:2},1032,["disabled","onClick"])])]))),128))],64))}}),XD=2e3,ZD=Te({__name:"AlertNotify",props:{message:{},messageType:{default:"info"}},emits:["timeout"],setup(i,{emit:e}){const t=i,r=e;let n=null;return ft(()=>t.message,()=>{n&&clearTimeout(n),n=setTimeout(()=>r("timeout"),XD)}),(o,s)=>o.message?(Be(),Mt(He(q5),{key:0,type:o.messageType},{default:pt(()=>[bs(Fr(o.message),1)]),_:1},8,["type"])):$i("",!0)}}),JD={class:"text-xs"},ez=Te({__name:"ApiStatus",setup(i){const e=ce("...");async function t(){try{const{data:r}=await Ss().GET("/api/version");e.value=r.version_major}catch{console.debug("[charts] Unable to connect to Galaxy. Verify Galaxy is running and refer to docs."),e.value=""}}return t(),(r,n)=>e.value?(Be(),Mt(He(fc),{key:0,class:"mx-1",trigger:"hover",to:!1},{trigger:pt(()=>[Ue(He(Nr),{class:"mx-1"},{default:pt(()=>[Ue(He(J9),{class:"text-green-600"})]),_:1})]),default:pt(()=>[We("span",JD,"Connected to Galaxy Version "+Fr(e.value)+".",1)]),_:1})):(Be(),Mt(He(fc),{key:1,class:"mx-1",trigger:"hover",to:!1},{trigger:pt(()=>[Ue(He(Nr),{class:"mx-1"},{default:pt(()=>[Ue(He(w3),{class:"text-red-600"})]),_:1})]),default:pt(()=>[n[0]||(n[0]=We("span",{class:"text-xs"},"Galaxy is not accessible!",-1))]),_:1}))}}),tz=(i,e)=>{const t=i.__vccOpts||i;for(const[r,n]of e)t[r]=n;return t},iz={},rz={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 100 100",class:"size-14"};function nz(i,e){return Be(),st("svg",rz,e[0]||(e[0]=[We("circle",{cx:"50",cy:"50",r:"45",stroke:"#E30A17","stroke-width":"5"},null,-1),We("path",{d:"M 50,5 A 45,45 0 0,1 95,50 L 50,50 Z",fill:"#E30A17"},null,-1)]))}const oz=tz(iz,[["render",nz]]),sz={class:"overflow-auto select-none bg-white z-10 p-2"},az={key:0,class:"flex"},lz={class:"flex-1 font-thin text-lg mt-1"},cz={class:"bg-sky-50 text-sky-900 rounded my-2 p-2"},hz={class:"flex"},dz={class:"flex justify-center center-items"},uz={class:"m-2"},fz=["src"],pz={class:"overflow-hidden break-words p-1"},gz={class:"font-bold"},mz=["innerHTML"],bz=Te({__name:"SidePanel",props:{datasetId:{},description:{},logoUrl:{},html:{},name:{},settingInputs:{},settingValues:{},trackInputs:{},trackValues:{},visualizationId:{},visualizationTitle:{}},emits:["update:tracks","update:settings","update:visualization-id","update:visualization-title","toggle"],setup(i,{emit:e}){const t=i,r=e,n=ce(""),o=ce("info"),s=be(()=>t.settingInputs.length===0||t.trackInputs.length===0);async function a(){try{if(t.visualizationId)await J5(t.visualizationId,t.visualizationTitle,{dataset_id:t.datasetId,settings:t.settingValues,tracks:t.trackValues}),n.value="Successfully saved.",o.value="success";else{const d=await Z5(t.name,t.visualizationTitle,{dataset_id:t.datasetId,settings:t.settingValues,tracks:t.trackValues});d?(n.value="Successfully created.",o.value="success",r("update:visualization-id",d)):(n.value="Something went wrong.",o.value="error")}}catch(d){n.value=p3(d),o.value="error"}}function l(d){r("update:settings",d)}function c(d){r("update:tracks",d)}function h(d){r("update:visualization-title",d)}return(d,u)=>(Be(),st("div",sz,[d.datasetId?(Be(),st("div",az,[We("div",lz,[u[2]||(u[2]=We("span",null,"Charts",-1)),Ue(ez)]),We("div",null,[Ue(He(fc),{trigger:"hover",to:!1},{trigger:pt(()=>[Ue(He(en),{strong:"",secondary:"",circle:"",class:"bg-sky-100 mr-2","data-description":"sidepanel save button",onClick:a},{icon:pt(()=>[Ue(He(Nr),null,{default:pt(()=>[Ue(He(ik))]),_:1})]),_:1})]),default:pt(()=>[u[3]||(u[3]=We("span",{class:"text-xs"},"Save",-1))]),_:1}),Ue(He(fc),{trigger:"hover",to:!1},{trigger:pt(()=>[Ue(He(en),{strong:"",secondary:"",circle:"",class:"bg-sky-100",onClick:u[0]||(u[0]=f=>r("toggle"))},{icon:pt(()=>[Ue(He(Nr),null,{default:pt(()=>[Ue(He(tk))]),_:1})]),_:1})]),default:pt(()=>[u[4]||(u[4]=We("span",{class:"text-xs"},"Collapse",-1))]),_:1})])])):$i("",!0),Ue(ZD,{message:n.value,"message-type":o.value,onTimeout:u[1]||(u[1]=f=>n.value=""),class:"mt-2"},null,8,["message","message-type"]),We("div",cz,[We("div",hz,[We("div",dz,[We("div",uz,[t.logoUrl?(Be(),st("img",{key:0,src:t.logoUrl,class:"min-w-14 max-w-14 object-contain"},null,8,fz)):(Be(),Mt(oz,{key:1}))])]),We("div",pz,[We("span",gz,Fr(d.html),1),We("div",{class:"text-xs",innerHTML:d.description},null,8,mz)])])]),We("div",null,[u[5]||(u[5]=We("div",{class:"font-bold"},"Title",-1)),u[6]||(u[6]=We("div",{class:"text-xs py-1"},"Specify a visualization title.",-1)),Ue(He(Ma),{value:d.visualizationTitle,onInput:h},null,8,["value"])]),Ue(He(kD),{type:"line",animated:"",class:"mt-2","pane-wrapper-class":"!overflow-visible","tab-class":s.value?"!hidden":""},{default:pt(()=>[d.trackInputs.length>0?(Be(),Mt(He(Vw),{key:0,name:"tracks"},{tab:pt(()=>[Ue(He(Nr),null,{default:pt(()=>[Ue(He(rk))]),_:1}),u[7]||(u[7]=We("span",{class:"mx-1"},"Tracks",-1))]),default:pt(()=>[Ue(YD,{"dataset-id":d.datasetId,inputs:d.trackInputs,"values-array":d.trackValues,"onUpdate:valuesArray":c},null,8,["dataset-id","inputs","values-array"])]),_:1})):$i("",!0),d.settingInputs.length>0?(Be(),Mt(He(Vw),{key:1,name:"settings"},{tab:pt(()=>[Ue(He(Nr),null,{default:pt(()=>[Ue(He(X9))]),_:1}),u[8]||(u[8]=We("span",{class:"mx-1"},"Settings",-1))]),default:pt(()=>[Ue(Q0,{"dataset-id":d.datasetId,inputs:d.settingInputs,values:d.settingValues,"onUpdate:values":l},null,8,["dataset-id","inputs","values"])]),_:1})):$i("",!0)]),_:1},8,["tab-class"])]))}});function wz(i,e="app"){if(i===void 0){const a=document.getElementById(e);if(a)i=JSON.parse((a==null?void 0:a.dataset.incoming)||"{}");else throw new Error(`Container element '${e}' not found.`)}const t=(i==null?void 0:i.root)??"/",r=(i==null?void 0:i.visualization_config)??{},n=(i==null?void 0:i.visualization_id)??null,o=(i==null?void 0:i.visualization_plugin)??{},s=(i==null?void 0:i.visualization_title)??"Unnamed Visualization";return{root:t,visualizationConfig:r,visualizationId:n,visualizationPlugin:o,visualizationTitle:s}}const vz={key:1,class:"m-2"},Fz={key:0,class:"relative max-w-full h-screen overflow-hidden"},yz=Te({__name:"GalaxyCharts",props:{container:{},credentials:{},incoming:{}},setup(i){const e=i,{root:t,visualizationConfig:r,visualizationId:n,visualizationPlugin:o,visualizationTitle:s}=wz(e.incoming,e.container),a=ce(!0),l=ce(""),c=ce(""),h=ce(""),d=ce(!0),u=ce(""),f=ce(""),p=ce([]),m=ce({}),v=ce({}),g=ce([]),b=ce([]),w=ce(n),F=ce(s),k=g3();k.setCredentials(e.credentials||"include"),k.setRoot(t||"/"),ID(o,r).then(({plugin:B,settings:x,specs:P,tracks:O})=>{l.value=B.description||"",h.value=B.html||"",d.value=!1,u.value=B.logo||"",f.value=B.name||"",p.value=B.settings||[],m.value=x,v.value=P||{},g.value=B.tracks||[],b.value=O});const I=be(()=>r.dataset_id||""),C=be(()=>I.value?(console.debug(`[charts] Built dataset url from dataset id: ${I.value}.`),Y9(t,I.value)):""),A=be(()=>u.value&&`${t}${u.value}`),E=be(()=>p.value.length===0&&g.value.length===0);async function y(){a.value=!a.value,await Ci(),window?window.dispatchEvent(new Event("resize")):console.warn("[charts] window unavailable.")}function S(){try{window.postMessage({container:e.container,from:"galaxy-visualization",visualization_config:JSON.parse(JSON.stringify(_())),visualization_id:w.value,visualization_title:F.value},"*")}catch(B){c.value=`Failed to postMessage: ${B}`}}function _(){return{dataset_id:I.value,settings:m.value,tracks:b.value}}function M(B){m.value={...B},S()}function R(B){b.value=[...B],S()}function T(B){w.value=B,S()}function z(B){F.value=B,S()}async function L(B,x){U(B,x);try{const P=await SD(f.value,w.value,F.value,_());P&&T(P)}catch(P){c.value=`Failed to save: ${P}`}}function U(B,x){if(M({...m.value,...B}),x){const P=Math.max(b.value.length,x.length),O=Array.from({length:P},(N,D)=>{const $=b.value[D]??{},j=x[D]??{};return{...$,...j}});R(O)}}return(B,x)=>(Be(),st(Pt,null,[c.value?(Be(),Mt(He(q5),{key:0,type:"error",class:"m-2"},{default:pt(()=>[bs(Fr(c.value),1)]),_:1})):$i("",!0),d.value?(Be(),st("div",vz,[We("span",null,[Ue(He(Z9),{class:"animate-spin size-4 inline mx-1"})]),x[0]||(x[0]=We("span",{class:"text-xs"},"Please wait...",-1))])):(Be(),st("div",{key:2,class:Uc(["grid h-screen",{"grid-cols-[1fr_17rem]":!a.value&&!E.value&&I.value}])},[I.value?(Be(),st("div",Fz,[w0(B.$slots,"default",{datasetId:I.value,datasetUrl:C.value,root:He(t),settings:m.value,specs:v.value,tracks:b.value,save:L,update:U})])):$i("",!0),a.value&&!E.value&&I.value?(Be(),Mt(He(fc),{key:1,trigger:"hover",to:!1},{trigger:pt(()=>[Ue(He(en),{strong:"",secondary:"",circle:"",class:"bg-sky-100 m-2 absolute right-0",onClick:y},{icon:pt(()=>[Ue(He(Nr),null,{default:pt(()=>[Ue(He(ek))]),_:1})]),_:1})]),default:pt(()=>[x[1]||(x[1]=We("span",{class:"text-xs"},"Expand",-1))]),_:1})):$i("",!0),zo(Ue(bz,{"dataset-id":I.value,description:l.value,html:h.value,"logo-url":A.value,name:f.value,"setting-inputs":p.value,"setting-values":m.value,"track-inputs":g.value,"track-values":b.value,"visualization-id":w.value,"visualization-title":F.value,"onUpdate:settings":M,"onUpdate:tracks":R,"onUpdate:visualizationId":T,"onUpdate:visualizationTitle":z,onToggle:y},null,8,["dataset-id","description","html","logo-url","name","setting-inputs","setting-values","track-inputs","track-values","visualization-id","visualization-title"]),[[Ku,!a.value&&!E.value||!I.value]])],2))],64))}});function bd(i){const e=document.createElement("div");return e.innerHTML=i,e.firstElementChild}function _e(i){return tC("div",i)}function tC(i,e){const t=document.createElement(i);return e&&(e.class&&t.classList.add(e.class),e.id&&(t.id=e.id),e.style&&Cz(t,e.style)),t}function tn(i){const e=getComputedStyle(i);e.display!=="none"&&(i._initialDisplay=e.display),i.style.display="none"}function iC(i){const e=i._initialDisplay||"block";i.style.display=e}function pc(i){if(i.type.startsWith("touch")){const e=i.touches[0];return{x:e.pageX,y:e.pageY}}else return{x:i.pageX,y:i.pageY}}function Cz(i,e){for(let t of Object.keys(e))i.style[t]=e[t]}function pi(){return("0000"+(Math.random()*Math.pow(36,4)<<0).toString(36)).slice(-4)}let _z=(i,{clientX:e,clientY:t})=>{const{left:r,top:n,width:o,height:s}=i.getBoundingClientRect(),a=e-r,l=t-n;return{x:a,y:l,xNormalized:a/o,yNormalized:l/s,width:o,height:s}};function Zt(i,e){const{clientX:t,clientY:r}=i;return _z(e,{clientX:t,clientY:r})}class xz{constructor(){this.elem=tC("div",{class:"igv-ui-panel-column"})}add(e){if(e instanceof Node)this.elem.appendChild(e);else if(typeof e=="object")this.elem.appendChild(e.elem);else{const t=_e();t.innerHTML=e,this.elem.appendChild(t),this.html=t}}}function Az(i,e){const t=_e({class:"igv-ui-trackgear-popover-check-container"}),r=rC("check",e===!0?"#444":"transparent");r.style.borderColor="gray",r.style.borderWidth="1px",r.style.borderStyle="solid",t.appendChild(r);let n=_e();return n.textContent=i,t.appendChild(n),t}function zr(i,e){return rC(i,e)}function rC(i,e){e=e||"currentColor";let t=Yw[i];t||(console.error(`No icon named: ${i}`),t=Yw.question);const r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.setAttributeNS(null,"viewBox","0 0 "+t[0]+" "+t[1]);const n=document.createElementNS("http://www.w3.org/2000/svg","path");return n.setAttributeNS(null,"fill",e),n.setAttributeNS(null,"d",t[4]),r.appendChild(n),r}const Yw={check:[512,512,[],"f00c","M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"],cog:[512,512,[],"f013","M444.788 291.1l42.616 24.599c4.867 2.809 7.126 8.618 5.459 13.985-11.07 35.642-29.97 67.842-54.689 94.586a12.016 12.016 0 0 1-14.832 2.254l-42.584-24.595a191.577 191.577 0 0 1-60.759 35.13v49.182a12.01 12.01 0 0 1-9.377 11.718c-34.956 7.85-72.499 8.256-109.219.007-5.49-1.233-9.403-6.096-9.403-11.723v-49.184a191.555 191.555 0 0 1-60.759-35.13l-42.584 24.595a12.016 12.016 0 0 1-14.832-2.254c-24.718-26.744-43.619-58.944-54.689-94.586-1.667-5.366.592-11.175 5.459-13.985L67.212 291.1a193.48 193.48 0 0 1 0-70.199l-42.616-24.599c-4.867-2.809-7.126-8.618-5.459-13.985 11.07-35.642 29.97-67.842 54.689-94.586a12.016 12.016 0 0 1 14.832-2.254l42.584 24.595a191.577 191.577 0 0 1 60.759-35.13V25.759a12.01 12.01 0 0 1 9.377-11.718c34.956-7.85 72.499-8.256 109.219-.007 5.49 1.233 9.403 6.096 9.403 11.723v49.184a191.555 191.555 0 0 1 60.759 35.13l42.584-24.595a12.016 12.016 0 0 1 14.832 2.254c24.718 26.744 43.619 58.944 54.689 94.586 1.667 5.366-.592 11.175-5.459 13.985L444.788 220.9a193.485 193.485 0 0 1 0 70.2zM336 256c0-44.112-35.888-80-80-80s-80 35.888-80 80 35.888 80 80 80 80-35.888 80-80z"],exclamation:[192,512,[],"f12a","M176 432c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zM25.26 25.199l13.6 272C39.499 309.972 50.041 320 62.83 320h66.34c12.789 0 23.331-10.028 23.97-22.801l13.6-272C167.425 11.49 156.496 0 142.77 0H49.23C35.504 0 24.575 11.49 25.26 25.199z"],"exclamation-circle":[512,512,[],"f06a","M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"],"exclamation-triangle":[576,512,[],"f071","M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"],minus:[448,512,[],"f068","M424 318.2c13.3 0 24-10.7 24-24v-76.4c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24v76.4c0 13.3 10.7 24 24 24h400z"],"minus-circle":[512,512,[],"f056","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zM124 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H124z"],"minus-square":[448,512,[],"f146","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM92 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H92z"],plus:[448,512,[],"f067","M448 294.2v-76.4c0-13.3-10.7-24-24-24H286.2V56c0-13.3-10.7-24-24-24h-76.4c-13.3 0-24 10.7-24 24v137.8H24c-13.3 0-24 10.7-24 24v76.4c0 13.3 10.7 24 24 24h137.8V456c0 13.3 10.7 24 24 24h76.4c13.3 0 24-10.7 24-24V318.2H424c13.3 0 24-10.7 24-24z"],"plus-circle":[512,512,[],"f055","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm144 276c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92h-92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"],"plus-square":[448,512,[],"f0fe","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-32 252c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92H92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"],question:[384,512,[],"f128","M202.021 0C122.202 0 70.503 32.703 29.914 91.026c-7.363 10.58-5.093 25.086 5.178 32.874l43.138 32.709c10.373 7.865 25.132 6.026 33.253-4.148 25.049-31.381 43.63-49.449 82.757-49.449 30.764 0 68.816 19.799 68.816 49.631 0 22.552-18.617 34.134-48.993 51.164-35.423 19.86-82.299 44.576-82.299 106.405V320c0 13.255 10.745 24 24 24h72.471c13.255 0 24-10.745 24-24v-5.773c0-42.86 125.268-44.645 125.268-160.627C377.504 66.256 286.902 0 202.021 0zM192 373.459c-38.196 0-69.271 31.075-69.271 69.271 0 38.195 31.075 69.27 69.271 69.27s69.271-31.075 69.271-69.271-31.075-69.27-69.271-69.27z"],save:[448,512,[],"f0c7","M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z"],search:[512,512,[],"f002","M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"],share:[512,512,[],"f064","M503.691 189.836L327.687 37.851C312.281 24.546 288 35.347 288 56.015v80.053C127.371 137.907 0 170.1 0 322.326c0 61.441 39.581 122.309 83.333 154.132 13.653 9.931 33.111-2.533 28.077-18.631C66.066 312.814 132.917 274.316 288 272.085V360c0 20.7 24.3 31.453 39.687 18.164l176.004-152c11.071-9.562 11.086-26.753 0-36.328z"],spinner:[512,512,[],"f110","M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z"],square:[448,512,[],"f0c8","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"],"square-full":[512,512,[],"f45c","M512 512H0V0h512v512z"],times:[384,512,[],"f00d","M323.1 441l53.9-53.9c9.4-9.4 9.4-24.5 0-33.9L279.8 256l97.2-97.2c9.4-9.4 9.4-24.5 0-33.9L323.1 71c-9.4-9.4-24.5-9.4-33.9 0L192 168.2 94.8 71c-9.4-9.4-24.5-9.4-33.9 0L7 124.9c-9.4 9.4-9.4 24.5 0 33.9l97.2 97.2L7 353.2c-9.4 9.4-9.4 24.5 0 33.9L60.9 441c9.4 9.4 24.5 9.4 33.9 0l97.2-97.2 97.2 97.2c9.3 9.3 24.5 9.3 33.9 0z"],"times-circle":[512,512,[],"f057","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z"],wrench:[512,512,[],"f0ad","M481.156 200c9.3 0 15.12 10.155 10.325 18.124C466.295 259.992 420.419 288 368 288c-79.222 0-143.501-63.974-143.997-143.079C223.505 65.469 288.548-.001 368.002 0c52.362.001 98.196 27.949 123.4 69.743C496.24 77.766 490.523 88 481.154 88H376l-40 56 40 56h105.156zm-171.649 93.003L109.255 493.255c-24.994 24.993-65.515 24.994-90.51 0-24.993-24.994-24.993-65.516 0-90.51L218.991 202.5c16.16 41.197 49.303 74.335 90.516 90.503zM104 432c0-13.255-10.745-24-24-24s-24 10.745-24 24 10.745 24 24 24 24-10.745 24-24z"]};function Ds(i,e){var t=document.createElement("div");i.appendChild(t),t.appendChild(zr("times")),t.addEventListener("click",function(r){r.preventDefault(),r.stopPropagation(),e()})}let mr;function bn(i,e,t){e.addEventListener("mousedown",r.bind(i));function r(n){n.stopPropagation(),n.preventDefault();const o=kz.bind(this),s=Sz.bind(this),a=getComputedStyle(this),l=this.getBoundingClientRect();mr={constraint:t,dragFunction:o,dragEndFunction:s,screenX:n.screenX,screenY:n.screenY,minDy:-l.top,minDx:-l.left,top:parseInt(a.top.replace("px","")),left:parseInt(a.left.replace("px",""))},document.addEventListener("mousemove",o),document.addEventListener("mouseup",s),document.addEventListener("mouseleave",s),document.addEventListener("mouseexit",s)}}function kz(i){if(!mr){console.error("No drag data!");return}i.stopPropagation(),i.preventDefault();const e=Math.max(mr.minDx,i.screenX-mr.screenX),t=Math.max(mr.minDy,i.screenY-mr.screenY),r=mr.left+e,n=mr.top+t;this.style.left=`${r}px`,this.style.top=`${n}px`}function Sz(i){if(!mr){console.error("No drag data!");return}i.stopPropagation(),i.preventDefault();const e=mr.dragFunction,t=mr.dragEndFunction;document.removeEventListener("mousemove",e),document.removeEventListener("mouseup",t),document.removeEventListener("mouseleave",t),document.removeEventListener("mouseexit",t),mr=void 0}class nC{constructor({parent:e,label:t,content:r,okHandler:n,cancelHandler:o}){this.parent=e;const s=()=>{this.elem.style.display="none",typeof o=="function"&&o(this)};this.elem=_e(),this.elem.classList.add("igv-ui-generic-dialog-container","igv-ui-center-fixed");const a=_e({class:"igv-ui-generic-dialog-header"});if(this.elem.appendChild(a),Ds(a,s),t){const c=_e({class:"igv-ui-dialog-one-liner"});this.elem.appendChild(c),c.innerHTML=t}r.elem.style.margin="16px",this.elem.appendChild(r.elem),this.content=r;const l=_e({class:"igv-ui-generic-dialog-ok-cancel"});this.elem.appendChild(l),this.ok=_e(),l.appendChild(this.ok),this.ok.textContent="OK",this.cancel=_e(),l.appendChild(this.cancel),this.cancel.textContent="Cancel",this.callback=void 0,this.ok.addEventListener("click",c=>{this.elem.style.display="none",typeof n=="function"?n(this):this.callback&&typeof this.callback=="function"&&this.callback(this)}),this.cancel.addEventListener("click",s),bn(this.elem,a),this.elem.addEventListener("click",c=>{c.preventDefault(),c.stopPropagation()})}present(e,t){if(e.label&&this.label&&(this.label.textContent=e.label),e.html){const n=this.content.html;n.innerHTML=e.html}if(e.text){const n=this.content.html;n.innerText=e.text}e.value&&this.input&&(this.input.value=e.value),e.callback&&(this.callback=e.callback);const{top:r}=t.currentTarget.parentElement.getBoundingClientRect();this.elem.style.top=`${r}px`,this.elem.style.display="flex"}}function Yt(i){return typeof i=="string"||i instanceof String}function Ze(i){var e=String(i).split(/[.,]/),t=",",r=".";return e[0].split("").reverse().reduce(function(n,o,s){return s%3===0?n+t+o:n+o}).split("").reverse().join("")+(e[1]?r+e[1]:"")}const zs=function(i){return i.split(/\n|\r\n|\r/g)};function Iz(i,e){var t=[],r=i.length,n,o=0,s=!1,a;if(r>0)for(t[o]=i.charAt(0),n=1;n<r;n++)a=i.charAt(n),a==='"'?s=!s:!s&&a===e?(o++,t[o]=""):t[o]+=a;return t}function am(i){return i===void 0||((i.startsWith("'")||i.startsWith('"'))&&(i=i.substring(1)),(i.endsWith("'")||i.endsWith('"'))&&(i=i.substring(0,i.length-1))),i}function eu(i){return i.length>0?i.charAt(0).toUpperCase()+i.slice(1):i}function Ez(i){const e=i.split(":"),t=e[1].split("-"),r={chr:e[0],start:Number.parseInt(t[0].replace(/,/g,""))-1};return t.length>1?r.end=Number.parseInt(t[1].replace(/,/g,"")):r.end=r.start+1,r}function oC(i){if(i.name!==void 0)return i.name;if(Yt(i)){let e=i.lastIndexOf("/"),t=e<0?i:i.substr(e+1);return e=t.indexOf("?"),e>0&&(t=t.substr(0,e)),t}else throw Error(`Expected File or string, got ${typeof i}`)}function Eo(i){return i?typeof i!="function"&&(i instanceof File||i.hasOwnProperty("name")&&typeof i.slice=="function"&&typeof i.arrayBuffer=="function"):!1}function tu(i,e){const t=document.createElement("a");t.setAttribute("href",e),t.setAttribute("download",i),t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t)}typeof process=="object"&&typeof window>"u"&&(global.atob=function(i){return Buffer.from(i,"base64").toString("binary")});function sC(i){for(var e=Tz,t=e.parser.loose.exec(i),r={},n=14;n--;)r[e.key[n]]=t[n]||"";return r[e.q.name]={},r[e.key[12]].replace(e.q.parser,function(o,s,a){s&&(r[e.q.name][s]=a)}),r}const Tz={key:["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],q:{name:"queryKey",parser:/(?:^|&)([^&=]*)=?([^&]*)/g},parser:{loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/}};async function Mz(i){return typeof i=="function"?i():i}/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */const Nz=4,Xw=0,Zw=1,Rz=2;function Ga(i){let e=i.length;for(;--e>=0;)i[e]=0}const Bz=0,aC=1,Dz=2,zz=3,Lz=258,K0=29,Yc=256,gc=Yc+1+K0,pa=30,Y0=19,lC=2*gc+1,is=15,cp=16,Pz=7,X0=256,cC=16,hC=17,dC=18,lm=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),wd=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),Oz=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),uC=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Hz=512,Nn=new Array((gc+2)*2);Ga(Nn);const Ul=new Array(pa*2);Ga(Ul);const mc=new Array(Hz);Ga(mc);const bc=new Array(Lz-zz+1);Ga(bc);const Z0=new Array(K0);Ga(Z0);const iu=new Array(pa);Ga(iu);function hp(i,e,t,r,n){this.static_tree=i,this.extra_bits=e,this.extra_base=t,this.elems=r,this.max_length=n,this.has_stree=i&&i.length}let fC,pC,gC;function dp(i,e){this.dyn_tree=i,this.max_code=0,this.stat_desc=e}const mC=i=>i<256?mc[i]:mc[256+(i>>>7)],wc=(i,e)=>{i.pending_buf[i.pending++]=e&255,i.pending_buf[i.pending++]=e>>>8&255},Xi=(i,e,t)=>{i.bi_valid>cp-t?(i.bi_buf|=e<<i.bi_valid&65535,wc(i,i.bi_buf),i.bi_buf=e>>cp-i.bi_valid,i.bi_valid+=t-cp):(i.bi_buf|=e<<i.bi_valid&65535,i.bi_valid+=t)},Zr=(i,e,t)=>{Xi(i,t[e*2],t[e*2+1])},bC=(i,e)=>{let t=0;do t|=i&1,i>>>=1,t<<=1;while(--e>0);return t>>>1},$z=i=>{i.bi_valid===16?(wc(i,i.bi_buf),i.bi_buf=0,i.bi_valid=0):i.bi_valid>=8&&(i.pending_buf[i.pending++]=i.bi_buf&255,i.bi_buf>>=8,i.bi_valid-=8)},Uz=(i,e)=>{const t=e.dyn_tree,r=e.max_code,n=e.stat_desc.static_tree,o=e.stat_desc.has_stree,s=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,l=e.stat_desc.max_length;let c,h,d,u,f,p,m=0;for(u=0;u<=is;u++)i.bl_count[u]=0;for(t[i.heap[i.heap_max]*2+1]=0,c=i.heap_max+1;c<lC;c++)h=i.heap[c],u=t[t[h*2+1]*2+1]+1,u>l&&(u=l,m++),t[h*2+1]=u,!(h>r)&&(i.bl_count[u]++,f=0,h>=a&&(f=s[h-a]),p=t[h*2],i.opt_len+=p*(u+f),o&&(i.static_len+=p*(n[h*2+1]+f)));if(m!==0){do{for(u=l-1;i.bl_count[u]===0;)u--;i.bl_count[u]--,i.bl_count[u+1]+=2,i.bl_count[l]--,m-=2}while(m>0);for(u=l;u!==0;u--)for(h=i.bl_count[u];h!==0;)d=i.heap[--c],!(d>r)&&(t[d*2+1]!==u&&(i.opt_len+=(u-t[d*2+1])*t[d*2],t[d*2+1]=u),h--)}},wC=(i,e,t)=>{const r=new Array(is+1);let n=0,o,s;for(o=1;o<=is;o++)n=n+t[o-1]<<1,r[o]=n;for(s=0;s<=e;s++){let a=i[s*2+1];a!==0&&(i[s*2]=bC(r[a]++,a))}},Vz=()=>{let i,e,t,r,n;const o=new Array(is+1);for(t=0,r=0;r<K0-1;r++)for(Z0[r]=t,i=0;i<1<<lm[r];i++)bc[t++]=r;for(bc[t-1]=r,n=0,r=0;r<16;r++)for(iu[r]=n,i=0;i<1<<wd[r];i++)mc[n++]=r;for(n>>=7;r<pa;r++)for(iu[r]=n<<7,i=0;i<1<<wd[r]-7;i++)mc[256+n++]=r;for(e=0;e<=is;e++)o[e]=0;for(i=0;i<=143;)Nn[i*2+1]=8,i++,o[8]++;for(;i<=255;)Nn[i*2+1]=9,i++,o[9]++;for(;i<=279;)Nn[i*2+1]=7,i++,o[7]++;for(;i<=287;)Nn[i*2+1]=8,i++,o[8]++;for(wC(Nn,gc+1,o),i=0;i<pa;i++)Ul[i*2+1]=5,Ul[i*2]=bC(i,5);fC=new hp(Nn,lm,Yc+1,gc,is),pC=new hp(Ul,wd,0,pa,is),gC=new hp(new Array(0),Oz,0,Y0,Pz)},vC=i=>{let e;for(e=0;e<gc;e++)i.dyn_ltree[e*2]=0;for(e=0;e<pa;e++)i.dyn_dtree[e*2]=0;for(e=0;e<Y0;e++)i.bl_tree[e*2]=0;i.dyn_ltree[X0*2]=1,i.opt_len=i.static_len=0,i.sym_next=i.matches=0},FC=i=>{i.bi_valid>8?wc(i,i.bi_buf):i.bi_valid>0&&(i.pending_buf[i.pending++]=i.bi_buf),i.bi_buf=0,i.bi_valid=0},Jw=(i,e,t,r)=>{const n=e*2,o=t*2;return i[n]<i[o]||i[n]===i[o]&&r[e]<=r[t]},up=(i,e,t)=>{const r=i.heap[t];let n=t<<1;for(;n<=i.heap_len&&(n<i.heap_len&&Jw(e,i.heap[n+1],i.heap[n],i.depth)&&n++,!Jw(e,r,i.heap[n],i.depth));)i.heap[t]=i.heap[n],t=n,n<<=1;i.heap[t]=r},e1=(i,e,t)=>{let r,n,o=0,s,a;if(i.sym_next!==0)do r=i.pending_buf[i.sym_buf+o++]&255,r+=(i.pending_buf[i.sym_buf+o++]&255)<<8,n=i.pending_buf[i.sym_buf+o++],r===0?Zr(i,n,e):(s=bc[n],Zr(i,s+Yc+1,e),a=lm[s],a!==0&&(n-=Z0[s],Xi(i,n,a)),r--,s=mC(r),Zr(i,s,t),a=wd[s],a!==0&&(r-=iu[s],Xi(i,r,a)));while(o<i.sym_next);Zr(i,X0,e)},cm=(i,e)=>{const t=e.dyn_tree,r=e.stat_desc.static_tree,n=e.stat_desc.has_stree,o=e.stat_desc.elems;let s,a,l=-1,c;for(i.heap_len=0,i.heap_max=lC,s=0;s<o;s++)t[s*2]!==0?(i.heap[++i.heap_len]=l=s,i.depth[s]=0):t[s*2+1]=0;for(;i.heap_len<2;)c=i.heap[++i.heap_len]=l<2?++l:0,t[c*2]=1,i.depth[c]=0,i.opt_len--,n&&(i.static_len-=r[c*2+1]);for(e.max_code=l,s=i.heap_len>>1;s>=1;s--)up(i,t,s);c=o;do s=i.heap[1],i.heap[1]=i.heap[i.heap_len--],up(i,t,1),a=i.heap[1],i.heap[--i.heap_max]=s,i.heap[--i.heap_max]=a,t[c*2]=t[s*2]+t[a*2],i.depth[c]=(i.depth[s]>=i.depth[a]?i.depth[s]:i.depth[a])+1,t[s*2+1]=t[a*2+1]=c,i.heap[1]=c++,up(i,t,1);while(i.heap_len>=2);i.heap[--i.heap_max]=i.heap[1],Uz(i,e),wC(t,l,i.bl_count)},t1=(i,e,t)=>{let r,n=-1,o,s=e[0*2+1],a=0,l=7,c=4;for(s===0&&(l=138,c=3),e[(t+1)*2+1]=65535,r=0;r<=t;r++)o=s,s=e[(r+1)*2+1],!(++a<l&&o===s)&&(a<c?i.bl_tree[o*2]+=a:o!==0?(o!==n&&i.bl_tree[o*2]++,i.bl_tree[cC*2]++):a<=10?i.bl_tree[hC*2]++:i.bl_tree[dC*2]++,a=0,n=o,s===0?(l=138,c=3):o===s?(l=6,c=3):(l=7,c=4))},i1=(i,e,t)=>{let r,n=-1,o,s=e[0*2+1],a=0,l=7,c=4;for(s===0&&(l=138,c=3),r=0;r<=t;r++)if(o=s,s=e[(r+1)*2+1],!(++a<l&&o===s)){if(a<c)do Zr(i,o,i.bl_tree);while(--a!==0);else o!==0?(o!==n&&(Zr(i,o,i.bl_tree),a--),Zr(i,cC,i.bl_tree),Xi(i,a-3,2)):a<=10?(Zr(i,hC,i.bl_tree),Xi(i,a-3,3)):(Zr(i,dC,i.bl_tree),Xi(i,a-11,7));a=0,n=o,s===0?(l=138,c=3):o===s?(l=6,c=3):(l=7,c=4)}},jz=i=>{let e;for(t1(i,i.dyn_ltree,i.l_desc.max_code),t1(i,i.dyn_dtree,i.d_desc.max_code),cm(i,i.bl_desc),e=Y0-1;e>=3&&i.bl_tree[uC[e]*2+1]===0;e--);return i.opt_len+=3*(e+1)+5+5+4,e},qz=(i,e,t,r)=>{let n;for(Xi(i,e-257,5),Xi(i,t-1,5),Xi(i,r-4,4),n=0;n<r;n++)Xi(i,i.bl_tree[uC[n]*2+1],3);i1(i,i.dyn_ltree,e-1),i1(i,i.dyn_dtree,t-1)},Gz=i=>{let e=4093624447,t;for(t=0;t<=31;t++,e>>>=1)if(e&1&&i.dyn_ltree[t*2]!==0)return Xw;if(i.dyn_ltree[9*2]!==0||i.dyn_ltree[10*2]!==0||i.dyn_ltree[13*2]!==0)return Zw;for(t=32;t<Yc;t++)if(i.dyn_ltree[t*2]!==0)return Zw;return Xw};let r1=!1;const Wz=i=>{r1||(Vz(),r1=!0),i.l_desc=new dp(i.dyn_ltree,fC),i.d_desc=new dp(i.dyn_dtree,pC),i.bl_desc=new dp(i.bl_tree,gC),i.bi_buf=0,i.bi_valid=0,vC(i)},yC=(i,e,t,r)=>{Xi(i,(Bz<<1)+(r?1:0),3),FC(i),wc(i,t),wc(i,~t),t&&i.pending_buf.set(i.window.subarray(e,e+t),i.pending),i.pending+=t},Qz=i=>{Xi(i,aC<<1,3),Zr(i,X0,Nn),$z(i)},Kz=(i,e,t,r)=>{let n,o,s=0;i.level>0?(i.strm.data_type===Rz&&(i.strm.data_type=Gz(i)),cm(i,i.l_desc),cm(i,i.d_desc),s=jz(i),n=i.opt_len+3+7>>>3,o=i.static_len+3+7>>>3,o<=n&&(n=o)):n=o=t+5,t+4<=n&&e!==-1?yC(i,e,t,r):i.strategy===Nz||o===n?(Xi(i,(aC<<1)+(r?1:0),3),e1(i,Nn,Ul)):(Xi(i,(Dz<<1)+(r?1:0),3),qz(i,i.l_desc.max_code+1,i.d_desc.max_code+1,s+1),e1(i,i.dyn_ltree,i.dyn_dtree)),vC(i),r&&FC(i)},Yz=(i,e,t)=>(i.pending_buf[i.sym_buf+i.sym_next++]=e,i.pending_buf[i.sym_buf+i.sym_next++]=e>>8,i.pending_buf[i.sym_buf+i.sym_next++]=t,e===0?i.dyn_ltree[t*2]++:(i.matches++,e--,i.dyn_ltree[(bc[t]+Yc+1)*2]++,i.dyn_dtree[mC(e)*2]++),i.sym_next===i.sym_end);var Xz=Wz,Zz=yC,Jz=Kz,eL=Yz,tL=Qz,iL={_tr_init:Xz,_tr_stored_block:Zz,_tr_flush_block:Jz,_tr_tally:eL,_tr_align:tL};const rL=(i,e,t,r)=>{let n=i&65535|0,o=i>>>16&65535|0,s=0;for(;t!==0;){s=t>2e3?2e3:t,t-=s;do n=n+e[r++]|0,o=o+n|0;while(--s);n%=65521,o%=65521}return n|o<<16|0};var vc=rL;const nL=()=>{let i,e=[];for(var t=0;t<256;t++){i=t;for(var r=0;r<8;r++)i=i&1?3988292384^i>>>1:i>>>1;e[t]=i}return e},oL=new Uint32Array(nL()),sL=(i,e,t,r)=>{const n=oL,o=r+t;i^=-1;for(let s=r;s<o;s++)i=i>>>8^n[(i^e[s])&255];return i^-1};var ui=sL,vs={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},hf={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:aL,_tr_stored_block:hm,_tr_flush_block:lL,_tr_tally:Co,_tr_align:cL}=iL,{Z_NO_FLUSH:_o,Z_PARTIAL_FLUSH:hL,Z_FULL_FLUSH:dL,Z_FINISH:br,Z_BLOCK:n1,Z_OK:vi,Z_STREAM_END:o1,Z_STREAM_ERROR:ln,Z_DATA_ERROR:uL,Z_BUF_ERROR:fp,Z_DEFAULT_COMPRESSION:fL,Z_FILTERED:pL,Z_HUFFMAN_ONLY:Mh,Z_RLE:gL,Z_FIXED:mL,Z_DEFAULT_STRATEGY:bL,Z_UNKNOWN:wL,Z_DEFLATED:df}=hf,vL=9,FL=15,yL=8,CL=29,_L=256,dm=_L+1+CL,xL=30,AL=19,kL=2*dm+1,SL=15,ut=3,go=258,cn=go+ut+1,IL=32,Na=42,J0=57,um=69,fm=73,pm=91,gm=103,rs=113,Al=666,Hi=1,Wa=2,Fs=3,Qa=4,EL=3,ns=(i,e)=>(i.msg=vs[e],e),s1=i=>i*2-(i>4?9:0),fo=i=>{let e=i.length;for(;--e>=0;)i[e]=0},TL=i=>{let e,t,r,n=i.w_size;e=i.hash_size,r=e;do t=i.head[--r],i.head[r]=t>=n?t-n:0;while(--e);e=n,r=e;do t=i.prev[--r],i.prev[r]=t>=n?t-n:0;while(--e)};let ML=(i,e,t)=>(e<<i.hash_shift^t)&i.hash_mask,xo=ML;const er=i=>{const e=i.state;let t=e.pending;t>i.avail_out&&(t=i.avail_out),t!==0&&(i.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+t),i.next_out),i.next_out+=t,e.pending_out+=t,i.total_out+=t,i.avail_out-=t,e.pending-=t,e.pending===0&&(e.pending_out=0))},nr=(i,e)=>{lL(i,i.block_start>=0?i.block_start:-1,i.strstart-i.block_start,e),i.block_start=i.strstart,er(i.strm)},vt=(i,e)=>{i.pending_buf[i.pending++]=e},al=(i,e)=>{i.pending_buf[i.pending++]=e>>>8&255,i.pending_buf[i.pending++]=e&255},mm=(i,e,t,r)=>{let n=i.avail_in;return n>r&&(n=r),n===0?0:(i.avail_in-=n,e.set(i.input.subarray(i.next_in,i.next_in+n),t),i.state.wrap===1?i.adler=vc(i.adler,e,n,t):i.state.wrap===2&&(i.adler=ui(i.adler,e,n,t)),i.next_in+=n,i.total_in+=n,n)},CC=(i,e)=>{let t=i.max_chain_length,r=i.strstart,n,o,s=i.prev_length,a=i.nice_match;const l=i.strstart>i.w_size-cn?i.strstart-(i.w_size-cn):0,c=i.window,h=i.w_mask,d=i.prev,u=i.strstart+go;let f=c[r+s-1],p=c[r+s];i.prev_length>=i.good_match&&(t>>=2),a>i.lookahead&&(a=i.lookahead);do if(n=e,!(c[n+s]!==p||c[n+s-1]!==f||c[n]!==c[r]||c[++n]!==c[r+1])){r+=2,n++;do;while(c[++r]===c[++n]&&c[++r]===c[++n]&&c[++r]===c[++n]&&c[++r]===c[++n]&&c[++r]===c[++n]&&c[++r]===c[++n]&&c[++r]===c[++n]&&c[++r]===c[++n]&&r<u);if(o=go-(u-r),r=u-go,o>s){if(i.match_start=e,s=o,o>=a)break;f=c[r+s-1],p=c[r+s]}}while((e=d[e&h])>l&&--t!==0);return s<=i.lookahead?s:i.lookahead},Ra=i=>{const e=i.w_size;let t,r,n;do{if(r=i.window_size-i.lookahead-i.strstart,i.strstart>=e+(e-cn)&&(i.window.set(i.window.subarray(e,e+e-r),0),i.match_start-=e,i.strstart-=e,i.block_start-=e,i.insert>i.strstart&&(i.insert=i.strstart),TL(i),r+=e),i.strm.avail_in===0)break;if(t=mm(i.strm,i.window,i.strstart+i.lookahead,r),i.lookahead+=t,i.lookahead+i.insert>=ut)for(n=i.strstart-i.insert,i.ins_h=i.window[n],i.ins_h=xo(i,i.ins_h,i.window[n+1]);i.insert&&(i.ins_h=xo(i,i.ins_h,i.window[n+ut-1]),i.prev[n&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=n,n++,i.insert--,!(i.lookahead+i.insert<ut)););}while(i.lookahead<cn&&i.strm.avail_in!==0)},_C=(i,e)=>{let t=i.pending_buf_size-5>i.w_size?i.w_size:i.pending_buf_size-5,r,n,o,s=0,a=i.strm.avail_in;do{if(r=65535,o=i.bi_valid+42>>3,i.strm.avail_out<o||(o=i.strm.avail_out-o,n=i.strstart-i.block_start,r>n+i.strm.avail_in&&(r=n+i.strm.avail_in),r>o&&(r=o),r<t&&(r===0&&e!==br||e===_o||r!==n+i.strm.avail_in)))break;s=e===br&&r===n+i.strm.avail_in?1:0,hm(i,0,0,s),i.pending_buf[i.pending-4]=r,i.pending_buf[i.pending-3]=r>>8,i.pending_buf[i.pending-2]=~r,i.pending_buf[i.pending-1]=~r>>8,er(i.strm),n&&(n>r&&(n=r),i.strm.output.set(i.window.subarray(i.block_start,i.block_start+n),i.strm.next_out),i.strm.next_out+=n,i.strm.avail_out-=n,i.strm.total_out+=n,i.block_start+=n,r-=n),r&&(mm(i.strm,i.strm.output,i.strm.next_out,r),i.strm.next_out+=r,i.strm.avail_out-=r,i.strm.total_out+=r)}while(s===0);return a-=i.strm.avail_in,a&&(a>=i.w_size?(i.matches=2,i.window.set(i.strm.input.subarray(i.strm.next_in-i.w_size,i.strm.next_in),0),i.strstart=i.w_size,i.insert=i.strstart):(i.window_size-i.strstart<=a&&(i.strstart-=i.w_size,i.window.set(i.window.subarray(i.w_size,i.w_size+i.strstart),0),i.matches<2&&i.matches++,i.insert>i.strstart&&(i.insert=i.strstart)),i.window.set(i.strm.input.subarray(i.strm.next_in-a,i.strm.next_in),i.strstart),i.strstart+=a,i.insert+=a>i.w_size-i.insert?i.w_size-i.insert:a),i.block_start=i.strstart),i.high_water<i.strstart&&(i.high_water=i.strstart),s?Qa:e!==_o&&e!==br&&i.strm.avail_in===0&&i.strstart===i.block_start?Wa:(o=i.window_size-i.strstart,i.strm.avail_in>o&&i.block_start>=i.w_size&&(i.block_start-=i.w_size,i.strstart-=i.w_size,i.window.set(i.window.subarray(i.w_size,i.w_size+i.strstart),0),i.matches<2&&i.matches++,o+=i.w_size,i.insert>i.strstart&&(i.insert=i.strstart)),o>i.strm.avail_in&&(o=i.strm.avail_in),o&&(mm(i.strm,i.window,i.strstart,o),i.strstart+=o,i.insert+=o>i.w_size-i.insert?i.w_size-i.insert:o),i.high_water<i.strstart&&(i.high_water=i.strstart),o=i.bi_valid+42>>3,o=i.pending_buf_size-o>65535?65535:i.pending_buf_size-o,t=o>i.w_size?i.w_size:o,n=i.strstart-i.block_start,(n>=t||(n||e===br)&&e!==_o&&i.strm.avail_in===0&&n<=o)&&(r=n>o?o:n,s=e===br&&i.strm.avail_in===0&&r===n?1:0,hm(i,i.block_start,r,s),i.block_start+=r,er(i.strm)),s?Fs:Hi)},pp=(i,e)=>{let t,r;for(;;){if(i.lookahead<cn){if(Ra(i),i.lookahead<cn&&e===_o)return Hi;if(i.lookahead===0)break}if(t=0,i.lookahead>=ut&&(i.ins_h=xo(i,i.ins_h,i.window[i.strstart+ut-1]),t=i.prev[i.strstart&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=i.strstart),t!==0&&i.strstart-t<=i.w_size-cn&&(i.match_length=CC(i,t)),i.match_length>=ut)if(r=Co(i,i.strstart-i.match_start,i.match_length-ut),i.lookahead-=i.match_length,i.match_length<=i.max_lazy_match&&i.lookahead>=ut){i.match_length--;do i.strstart++,i.ins_h=xo(i,i.ins_h,i.window[i.strstart+ut-1]),t=i.prev[i.strstart&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=i.strstart;while(--i.match_length!==0);i.strstart++}else i.strstart+=i.match_length,i.match_length=0,i.ins_h=i.window[i.strstart],i.ins_h=xo(i,i.ins_h,i.window[i.strstart+1]);else r=Co(i,0,i.window[i.strstart]),i.lookahead--,i.strstart++;if(r&&(nr(i,!1),i.strm.avail_out===0))return Hi}return i.insert=i.strstart<ut-1?i.strstart:ut-1,e===br?(nr(i,!0),i.strm.avail_out===0?Fs:Qa):i.sym_next&&(nr(i,!1),i.strm.avail_out===0)?Hi:Wa},Vs=(i,e)=>{let t,r,n;for(;;){if(i.lookahead<cn){if(Ra(i),i.lookahead<cn&&e===_o)return Hi;if(i.lookahead===0)break}if(t=0,i.lookahead>=ut&&(i.ins_h=xo(i,i.ins_h,i.window[i.strstart+ut-1]),t=i.prev[i.strstart&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=i.strstart),i.prev_length=i.match_length,i.prev_match=i.match_start,i.match_length=ut-1,t!==0&&i.prev_length<i.max_lazy_match&&i.strstart-t<=i.w_size-cn&&(i.match_length=CC(i,t),i.match_length<=5&&(i.strategy===pL||i.match_length===ut&&i.strstart-i.match_start>4096)&&(i.match_length=ut-1)),i.prev_length>=ut&&i.match_length<=i.prev_length){n=i.strstart+i.lookahead-ut,r=Co(i,i.strstart-1-i.prev_match,i.prev_length-ut),i.lookahead-=i.prev_length-1,i.prev_length-=2;do++i.strstart<=n&&(i.ins_h=xo(i,i.ins_h,i.window[i.strstart+ut-1]),t=i.prev[i.strstart&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=i.strstart);while(--i.prev_length!==0);if(i.match_available=0,i.match_length=ut-1,i.strstart++,r&&(nr(i,!1),i.strm.avail_out===0))return Hi}else if(i.match_available){if(r=Co(i,0,i.window[i.strstart-1]),r&&nr(i,!1),i.strstart++,i.lookahead--,i.strm.avail_out===0)return Hi}else i.match_available=1,i.strstart++,i.lookahead--}return i.match_available&&(r=Co(i,0,i.window[i.strstart-1]),i.match_available=0),i.insert=i.strstart<ut-1?i.strstart:ut-1,e===br?(nr(i,!0),i.strm.avail_out===0?Fs:Qa):i.sym_next&&(nr(i,!1),i.strm.avail_out===0)?Hi:Wa},NL=(i,e)=>{let t,r,n,o;const s=i.window;for(;;){if(i.lookahead<=go){if(Ra(i),i.lookahead<=go&&e===_o)return Hi;if(i.lookahead===0)break}if(i.match_length=0,i.lookahead>=ut&&i.strstart>0&&(n=i.strstart-1,r=s[n],r===s[++n]&&r===s[++n]&&r===s[++n])){o=i.strstart+go;do;while(r===s[++n]&&r===s[++n]&&r===s[++n]&&r===s[++n]&&r===s[++n]&&r===s[++n]&&r===s[++n]&&r===s[++n]&&n<o);i.match_length=go-(o-n),i.match_length>i.lookahead&&(i.match_length=i.lookahead)}if(i.match_length>=ut?(t=Co(i,1,i.match_length-ut),i.lookahead-=i.match_length,i.strstart+=i.match_length,i.match_length=0):(t=Co(i,0,i.window[i.strstart]),i.lookahead--,i.strstart++),t&&(nr(i,!1),i.strm.avail_out===0))return Hi}return i.insert=0,e===br?(nr(i,!0),i.strm.avail_out===0?Fs:Qa):i.sym_next&&(nr(i,!1),i.strm.avail_out===0)?Hi:Wa},RL=(i,e)=>{let t;for(;;){if(i.lookahead===0&&(Ra(i),i.lookahead===0)){if(e===_o)return Hi;break}if(i.match_length=0,t=Co(i,0,i.window[i.strstart]),i.lookahead--,i.strstart++,t&&(nr(i,!1),i.strm.avail_out===0))return Hi}return i.insert=0,e===br?(nr(i,!0),i.strm.avail_out===0?Fs:Qa):i.sym_next&&(nr(i,!1),i.strm.avail_out===0)?Hi:Wa};function jr(i,e,t,r,n){this.good_length=i,this.max_lazy=e,this.nice_length=t,this.max_chain=r,this.func=n}const kl=[new jr(0,0,0,0,_C),new jr(4,4,8,4,pp),new jr(4,5,16,8,pp),new jr(4,6,32,32,pp),new jr(4,4,16,16,Vs),new jr(8,16,32,32,Vs),new jr(8,16,128,128,Vs),new jr(8,32,128,256,Vs),new jr(32,128,258,1024,Vs),new jr(32,258,258,4096,Vs)],BL=i=>{i.window_size=2*i.w_size,fo(i.head),i.max_lazy_match=kl[i.level].max_lazy,i.good_match=kl[i.level].good_length,i.nice_match=kl[i.level].nice_length,i.max_chain_length=kl[i.level].max_chain,i.strstart=0,i.block_start=0,i.lookahead=0,i.insert=0,i.match_length=i.prev_length=ut-1,i.match_available=0,i.ins_h=0};function DL(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=df,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(kL*2),this.dyn_dtree=new Uint16Array((2*xL+1)*2),this.bl_tree=new Uint16Array((2*AL+1)*2),fo(this.dyn_ltree),fo(this.dyn_dtree),fo(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(SL+1),this.heap=new Uint16Array(2*dm+1),fo(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*dm+1),fo(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const Xc=i=>{if(!i)return 1;const e=i.state;return!e||e.strm!==i||e.status!==Na&&e.status!==J0&&e.status!==um&&e.status!==fm&&e.status!==pm&&e.status!==gm&&e.status!==rs&&e.status!==Al?1:0},xC=i=>{if(Xc(i))return ns(i,ln);i.total_in=i.total_out=0,i.data_type=wL;const e=i.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap===2?J0:e.wrap?Na:rs,i.adler=e.wrap===2?0:1,e.last_flush=-2,aL(e),vi},AC=i=>{const e=xC(i);return e===vi&&BL(i.state),e},zL=(i,e)=>Xc(i)||i.state.wrap!==2?ln:(i.state.gzhead=e,vi),kC=(i,e,t,r,n,o)=>{if(!i)return ln;let s=1;if(e===fL&&(e=6),r<0?(s=0,r=-r):r>15&&(s=2,r-=16),n<1||n>vL||t!==df||r<8||r>15||e<0||e>9||o<0||o>mL||r===8&&s!==1)return ns(i,ln);r===8&&(r=9);const a=new DL;return i.state=a,a.strm=i,a.status=Na,a.wrap=s,a.gzhead=null,a.w_bits=r,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=n+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+ut-1)/ut),a.window=new Uint8Array(a.w_size*2),a.head=new Uint16Array(a.hash_size),a.prev=new Uint16Array(a.w_size),a.lit_bufsize=1<<n+6,a.pending_buf_size=a.lit_bufsize*4,a.pending_buf=new Uint8Array(a.pending_buf_size),a.sym_buf=a.lit_bufsize,a.sym_end=(a.lit_bufsize-1)*3,a.level=e,a.strategy=o,a.method=t,AC(i)},LL=(i,e)=>kC(i,e,df,FL,yL,bL),PL=(i,e)=>{if(Xc(i)||e>n1||e<0)return i?ns(i,ln):ln;const t=i.state;if(!i.output||i.avail_in!==0&&!i.input||t.status===Al&&e!==br)return ns(i,i.avail_out===0?fp:ln);const r=t.last_flush;if(t.last_flush=e,t.pending!==0){if(er(i),i.avail_out===0)return t.last_flush=-1,vi}else if(i.avail_in===0&&s1(e)<=s1(r)&&e!==br)return ns(i,fp);if(t.status===Al&&i.avail_in!==0)return ns(i,fp);if(t.status===Na&&t.wrap===0&&(t.status=rs),t.status===Na){let n=df+(t.w_bits-8<<4)<<8,o=-1;if(t.strategy>=Mh||t.level<2?o=0:t.level<6?o=1:t.level===6?o=2:o=3,n|=o<<6,t.strstart!==0&&(n|=IL),n+=31-n%31,al(t,n),t.strstart!==0&&(al(t,i.adler>>>16),al(t,i.adler&65535)),i.adler=1,t.status=rs,er(i),t.pending!==0)return t.last_flush=-1,vi}if(t.status===J0){if(i.adler=0,vt(t,31),vt(t,139),vt(t,8),t.gzhead)vt(t,(t.gzhead.text?1:0)+(t.gzhead.hcrc?2:0)+(t.gzhead.extra?4:0)+(t.gzhead.name?8:0)+(t.gzhead.comment?16:0)),vt(t,t.gzhead.time&255),vt(t,t.gzhead.time>>8&255),vt(t,t.gzhead.time>>16&255),vt(t,t.gzhead.time>>24&255),vt(t,t.level===9?2:t.strategy>=Mh||t.level<2?4:0),vt(t,t.gzhead.os&255),t.gzhead.extra&&t.gzhead.extra.length&&(vt(t,t.gzhead.extra.length&255),vt(t,t.gzhead.extra.length>>8&255)),t.gzhead.hcrc&&(i.adler=ui(i.adler,t.pending_buf,t.pending,0)),t.gzindex=0,t.status=um;else if(vt(t,0),vt(t,0),vt(t,0),vt(t,0),vt(t,0),vt(t,t.level===9?2:t.strategy>=Mh||t.level<2?4:0),vt(t,EL),t.status=rs,er(i),t.pending!==0)return t.last_flush=-1,vi}if(t.status===um){if(t.gzhead.extra){let n=t.pending,o=(t.gzhead.extra.length&65535)-t.gzindex;for(;t.pending+o>t.pending_buf_size;){let a=t.pending_buf_size-t.pending;if(t.pending_buf.set(t.gzhead.extra.subarray(t.gzindex,t.gzindex+a),t.pending),t.pending=t.pending_buf_size,t.gzhead.hcrc&&t.pending>n&&(i.adler=ui(i.adler,t.pending_buf,t.pending-n,n)),t.gzindex+=a,er(i),t.pending!==0)return t.last_flush=-1,vi;n=0,o-=a}let s=new Uint8Array(t.gzhead.extra);t.pending_buf.set(s.subarray(t.gzindex,t.gzindex+o),t.pending),t.pending+=o,t.gzhead.hcrc&&t.pending>n&&(i.adler=ui(i.adler,t.pending_buf,t.pending-n,n)),t.gzindex=0}t.status=fm}if(t.status===fm){if(t.gzhead.name){let n=t.pending,o;do{if(t.pending===t.pending_buf_size){if(t.gzhead.hcrc&&t.pending>n&&(i.adler=ui(i.adler,t.pending_buf,t.pending-n,n)),er(i),t.pending!==0)return t.last_flush=-1,vi;n=0}t.gzindex<t.gzhead.name.length?o=t.gzhead.name.charCodeAt(t.gzindex++)&255:o=0,vt(t,o)}while(o!==0);t.gzhead.hcrc&&t.pending>n&&(i.adler=ui(i.adler,t.pending_buf,t.pending-n,n)),t.gzindex=0}t.status=pm}if(t.status===pm){if(t.gzhead.comment){let n=t.pending,o;do{if(t.pending===t.pending_buf_size){if(t.gzhead.hcrc&&t.pending>n&&(i.adler=ui(i.adler,t.pending_buf,t.pending-n,n)),er(i),t.pending!==0)return t.last_flush=-1,vi;n=0}t.gzindex<t.gzhead.comment.length?o=t.gzhead.comment.charCodeAt(t.gzindex++)&255:o=0,vt(t,o)}while(o!==0);t.gzhead.hcrc&&t.pending>n&&(i.adler=ui(i.adler,t.pending_buf,t.pending-n,n))}t.status=gm}if(t.status===gm){if(t.gzhead.hcrc){if(t.pending+2>t.pending_buf_size&&(er(i),t.pending!==0))return t.last_flush=-1,vi;vt(t,i.adler&255),vt(t,i.adler>>8&255),i.adler=0}if(t.status=rs,er(i),t.pending!==0)return t.last_flush=-1,vi}if(i.avail_in!==0||t.lookahead!==0||e!==_o&&t.status!==Al){let n=t.level===0?_C(t,e):t.strategy===Mh?RL(t,e):t.strategy===gL?NL(t,e):kl[t.level].func(t,e);if((n===Fs||n===Qa)&&(t.status=Al),n===Hi||n===Fs)return i.avail_out===0&&(t.last_flush=-1),vi;if(n===Wa&&(e===hL?cL(t):e!==n1&&(hm(t,0,0,!1),e===dL&&(fo(t.head),t.lookahead===0&&(t.strstart=0,t.block_start=0,t.insert=0))),er(i),i.avail_out===0))return t.last_flush=-1,vi}return e!==br?vi:t.wrap<=0?o1:(t.wrap===2?(vt(t,i.adler&255),vt(t,i.adler>>8&255),vt(t,i.adler>>16&255),vt(t,i.adler>>24&255),vt(t,i.total_in&255),vt(t,i.total_in>>8&255),vt(t,i.total_in>>16&255),vt(t,i.total_in>>24&255)):(al(t,i.adler>>>16),al(t,i.adler&65535)),er(i),t.wrap>0&&(t.wrap=-t.wrap),t.pending!==0?vi:o1)},OL=i=>{if(Xc(i))return ln;const e=i.state.status;return i.state=null,e===rs?ns(i,uL):vi},HL=(i,e)=>{let t=e.length;if(Xc(i))return ln;const r=i.state,n=r.wrap;if(n===2||n===1&&r.status!==Na||r.lookahead)return ln;if(n===1&&(i.adler=vc(i.adler,e,t,0)),r.wrap=0,t>=r.w_size){n===0&&(fo(r.head),r.strstart=0,r.block_start=0,r.insert=0);let l=new Uint8Array(r.w_size);l.set(e.subarray(t-r.w_size,t),0),e=l,t=r.w_size}const o=i.avail_in,s=i.next_in,a=i.input;for(i.avail_in=t,i.next_in=0,i.input=e,Ra(r);r.lookahead>=ut;){let l=r.strstart,c=r.lookahead-(ut-1);do r.ins_h=xo(r,r.ins_h,r.window[l+ut-1]),r.prev[l&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=l,l++;while(--c);r.strstart=l,r.lookahead=ut-1,Ra(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=ut-1,r.match_available=0,i.next_in=s,i.input=a,i.avail_in=o,r.wrap=n,vi};var $L=LL,UL=kC,VL=AC,jL=xC,qL=zL,GL=PL,WL=OL,QL=HL,KL="pako deflate (from Nodeca project)",Vl={deflateInit:$L,deflateInit2:UL,deflateReset:VL,deflateResetKeep:jL,deflateSetHeader:qL,deflate:GL,deflateEnd:WL,deflateSetDictionary:QL,deflateInfo:KL};const YL=(i,e)=>Object.prototype.hasOwnProperty.call(i,e);var XL=function(i){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const t=e.shift();if(t){if(typeof t!="object")throw new TypeError(t+"must be non-object");for(const r in t)YL(t,r)&&(i[r]=t[r])}}return i},ZL=i=>{let e=0;for(let r=0,n=i.length;r<n;r++)e+=i[r].length;const t=new Uint8Array(e);for(let r=0,n=0,o=i.length;r<o;r++){let s=i[r];t.set(s,n),n+=s.length}return t},uf={assign:XL,flattenChunks:ZL};let SC=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{SC=!1}const Fc=new Uint8Array(256);for(let i=0;i<256;i++)Fc[i]=i>=252?6:i>=248?5:i>=240?4:i>=224?3:i>=192?2:1;Fc[254]=Fc[254]=1;var JL=i=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(i);let e,t,r,n,o,s=i.length,a=0;for(n=0;n<s;n++)t=i.charCodeAt(n),(t&64512)===55296&&n+1<s&&(r=i.charCodeAt(n+1),(r&64512)===56320&&(t=65536+(t-55296<<10)+(r-56320),n++)),a+=t<128?1:t<2048?2:t<65536?3:4;for(e=new Uint8Array(a),o=0,n=0;o<a;n++)t=i.charCodeAt(n),(t&64512)===55296&&n+1<s&&(r=i.charCodeAt(n+1),(r&64512)===56320&&(t=65536+(t-55296<<10)+(r-56320),n++)),t<128?e[o++]=t:t<2048?(e[o++]=192|t>>>6,e[o++]=128|t&63):t<65536?(e[o++]=224|t>>>12,e[o++]=128|t>>>6&63,e[o++]=128|t&63):(e[o++]=240|t>>>18,e[o++]=128|t>>>12&63,e[o++]=128|t>>>6&63,e[o++]=128|t&63);return e};const eP=(i,e)=>{if(e<65534&&i.subarray&&SC)return String.fromCharCode.apply(null,i.length===e?i:i.subarray(0,e));let t="";for(let r=0;r<e;r++)t+=String.fromCharCode(i[r]);return t};var tP=(i,e)=>{const t=e||i.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(i.subarray(0,e));let r,n;const o=new Array(t*2);for(n=0,r=0;r<t;){let s=i[r++];if(s<128){o[n++]=s;continue}let a=Fc[s];if(a>4){o[n++]=65533,r+=a-1;continue}for(s&=a===2?31:a===3?15:7;a>1&&r<t;)s=s<<6|i[r++]&63,a--;if(a>1){o[n++]=65533;continue}s<65536?o[n++]=s:(s-=65536,o[n++]=55296|s>>10&1023,o[n++]=56320|s&1023)}return eP(o,n)},iP=(i,e)=>{e=e||i.length,e>i.length&&(e=i.length);let t=e-1;for(;t>=0&&(i[t]&192)===128;)t--;return t<0||t===0?e:t+Fc[i[t]]>e?t:e},yc={string2buf:JL,buf2string:tP,utf8border:iP};function rP(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var IC=rP;const EC=Object.prototype.toString,{Z_NO_FLUSH:nP,Z_SYNC_FLUSH:oP,Z_FULL_FLUSH:sP,Z_FINISH:aP,Z_OK:ru,Z_STREAM_END:lP,Z_DEFAULT_COMPRESSION:cP,Z_DEFAULT_STRATEGY:hP,Z_DEFLATED:dP}=hf;function ff(i){this.options=uf.assign({level:cP,method:dP,chunkSize:16384,windowBits:15,memLevel:8,strategy:hP},i||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new IC,this.strm.avail_out=0;let t=Vl.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(t!==ru)throw new Error(vs[t]);if(e.header&&Vl.deflateSetHeader(this.strm,e.header),e.dictionary){let r;if(typeof e.dictionary=="string"?r=yc.string2buf(e.dictionary):EC.call(e.dictionary)==="[object ArrayBuffer]"?r=new Uint8Array(e.dictionary):r=e.dictionary,t=Vl.deflateSetDictionary(this.strm,r),t!==ru)throw new Error(vs[t]);this._dict_set=!0}}ff.prototype.push=function(i,e){const t=this.strm,r=this.options.chunkSize;let n,o;if(this.ended)return!1;for(e===~~e?o=e:o=e===!0?aP:nP,typeof i=="string"?t.input=yc.string2buf(i):EC.call(i)==="[object ArrayBuffer]"?t.input=new Uint8Array(i):t.input=i,t.next_in=0,t.avail_in=t.input.length;;){if(t.avail_out===0&&(t.output=new Uint8Array(r),t.next_out=0,t.avail_out=r),(o===oP||o===sP)&&t.avail_out<=6){this.onData(t.output.subarray(0,t.next_out)),t.avail_out=0;continue}if(n=Vl.deflate(t,o),n===lP)return t.next_out>0&&this.onData(t.output.subarray(0,t.next_out)),n=Vl.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===ru;if(t.avail_out===0){this.onData(t.output);continue}if(o>0&&t.next_out>0){this.onData(t.output.subarray(0,t.next_out)),t.avail_out=0;continue}if(t.avail_in===0)break}return!0};ff.prototype.onData=function(i){this.chunks.push(i)};ff.prototype.onEnd=function(i){i===ru&&(this.result=uf.flattenChunks(this.chunks)),this.chunks=[],this.err=i,this.msg=this.strm.msg};function uP(i,e){const t=new ff(e);if(t.push(i,!0),t.err)throw t.msg||vs[t.err];return t.result}function fP(i,e){return e=e||{},e.raw=!0,uP(i,e)}var pP=fP,gP={deflateRaw:pP};const Nh=16209,mP=16191;var bP=function(e,t){let r,n,o,s,a,l,c,h,d,u,f,p,m,v,g,b,w,F,k,I,C,A,E,y;const S=e.state;r=e.next_in,E=e.input,n=r+(e.avail_in-5),o=e.next_out,y=e.output,s=o-(t-e.avail_out),a=o+(e.avail_out-257),l=S.dmax,c=S.wsize,h=S.whave,d=S.wnext,u=S.window,f=S.hold,p=S.bits,m=S.lencode,v=S.distcode,g=(1<<S.lenbits)-1,b=(1<<S.distbits)-1;e:do{p<15&&(f+=E[r++]<<p,p+=8,f+=E[r++]<<p,p+=8),w=m[f&g];t:for(;;){if(F=w>>>24,f>>>=F,p-=F,F=w>>>16&255,F===0)y[o++]=w&65535;else if(F&16){k=w&65535,F&=15,F&&(p<F&&(f+=E[r++]<<p,p+=8),k+=f&(1<<F)-1,f>>>=F,p-=F),p<15&&(f+=E[r++]<<p,p+=8,f+=E[r++]<<p,p+=8),w=v[f&b];i:for(;;){if(F=w>>>24,f>>>=F,p-=F,F=w>>>16&255,F&16){if(I=w&65535,F&=15,p<F&&(f+=E[r++]<<p,p+=8,p<F&&(f+=E[r++]<<p,p+=8)),I+=f&(1<<F)-1,I>l){e.msg="invalid distance too far back",S.mode=Nh;break e}if(f>>>=F,p-=F,F=o-s,I>F){if(F=I-F,F>h&&S.sane){e.msg="invalid distance too far back",S.mode=Nh;break e}if(C=0,A=u,d===0){if(C+=c-F,F<k){k-=F;do y[o++]=u[C++];while(--F);C=o-I,A=y}}else if(d<F){if(C+=c+d-F,F-=d,F<k){k-=F;do y[o++]=u[C++];while(--F);if(C=0,d<k){F=d,k-=F;do y[o++]=u[C++];while(--F);C=o-I,A=y}}}else if(C+=d-F,F<k){k-=F;do y[o++]=u[C++];while(--F);C=o-I,A=y}for(;k>2;)y[o++]=A[C++],y[o++]=A[C++],y[o++]=A[C++],k-=3;k&&(y[o++]=A[C++],k>1&&(y[o++]=A[C++]))}else{C=o-I;do y[o++]=y[C++],y[o++]=y[C++],y[o++]=y[C++],k-=3;while(k>2);k&&(y[o++]=y[C++],k>1&&(y[o++]=y[C++]))}}else if((F&64)===0){w=v[(w&65535)+(f&(1<<F)-1)];continue i}else{e.msg="invalid distance code",S.mode=Nh;break e}break}}else if((F&64)===0){w=m[(w&65535)+(f&(1<<F)-1)];continue t}else if(F&32){S.mode=mP;break e}else{e.msg="invalid literal/length code",S.mode=Nh;break e}break}}while(r<n&&o<a);k=p>>3,r-=k,p-=k<<3,f&=(1<<p)-1,e.next_in=r,e.next_out=o,e.avail_in=r<n?5+(n-r):5-(r-n),e.avail_out=o<a?257+(a-o):257-(o-a),S.hold=f,S.bits=p};const js=15,a1=852,l1=592,c1=0,gp=1,h1=2,wP=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),vP=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),FP=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),yP=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),CP=(i,e,t,r,n,o,s,a)=>{const l=a.bits;let c=0,h=0,d=0,u=0,f=0,p=0,m=0,v=0,g=0,b=0,w,F,k,I,C,A=null,E;const y=new Uint16Array(js+1),S=new Uint16Array(js+1);let _=null,M,R,T;for(c=0;c<=js;c++)y[c]=0;for(h=0;h<r;h++)y[e[t+h]]++;for(f=l,u=js;u>=1&&y[u]===0;u--);if(f>u&&(f=u),u===0)return n[o++]=1<<24|64<<16|0,n[o++]=1<<24|64<<16|0,a.bits=1,0;for(d=1;d<u&&y[d]===0;d++);for(f<d&&(f=d),v=1,c=1;c<=js;c++)if(v<<=1,v-=y[c],v<0)return-1;if(v>0&&(i===c1||u!==1))return-1;for(S[1]=0,c=1;c<js;c++)S[c+1]=S[c]+y[c];for(h=0;h<r;h++)e[t+h]!==0&&(s[S[e[t+h]]++]=h);if(i===c1?(A=_=s,E=20):i===gp?(A=wP,_=vP,E=257):(A=FP,_=yP,E=0),b=0,h=0,c=d,C=o,p=f,m=0,k=-1,g=1<<f,I=g-1,i===gp&&g>a1||i===h1&&g>l1)return 1;for(;;){M=c-m,s[h]+1<E?(R=0,T=s[h]):s[h]>=E?(R=_[s[h]-E],T=A[s[h]-E]):(R=96,T=0),w=1<<c-m,F=1<<p,d=F;do F-=w,n[C+(b>>m)+F]=M<<24|R<<16|T|0;while(F!==0);for(w=1<<c-1;b&w;)w>>=1;if(w!==0?(b&=w-1,b+=w):b=0,h++,--y[c]===0){if(c===u)break;c=e[t+s[h]]}if(c>f&&(b&I)!==k){for(m===0&&(m=f),C+=d,p=c-m,v=1<<p;p+m<u&&(v-=y[p+m],!(v<=0));)p++,v<<=1;if(g+=1<<p,i===gp&&g>a1||i===h1&&g>l1)return 1;k=b&I,n[k]=f<<24|p<<16|C-o|0}}return b!==0&&(n[C+b]=c-m<<24|64<<16|0),a.bits=f,0};var jl=CP;const _P=0,TC=1,MC=2,{Z_FINISH:d1,Z_BLOCK:xP,Z_TREES:Rh,Z_OK:ys,Z_STREAM_END:AP,Z_NEED_DICT:kP,Z_STREAM_ERROR:_r,Z_DATA_ERROR:NC,Z_MEM_ERROR:RC,Z_BUF_ERROR:SP,Z_DEFLATED:u1}=hf,pf=16180,f1=16181,p1=16182,g1=16183,m1=16184,b1=16185,w1=16186,v1=16187,F1=16188,y1=16189,nu=16190,Cn=16191,mp=16192,C1=16193,bp=16194,_1=16195,x1=16196,A1=16197,k1=16198,Bh=16199,Dh=16200,S1=16201,I1=16202,E1=16203,T1=16204,M1=16205,wp=16206,N1=16207,R1=16208,Gt=16209,BC=16210,DC=16211,IP=852,EP=592,TP=15,MP=TP,B1=i=>(i>>>24&255)+(i>>>8&65280)+((i&65280)<<8)+((i&255)<<24);function NP(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const Ls=i=>{if(!i)return 1;const e=i.state;return!e||e.strm!==i||e.mode<pf||e.mode>DC?1:0},zC=i=>{if(Ls(i))return _r;const e=i.state;return i.total_in=i.total_out=e.total=0,i.msg="",e.wrap&&(i.adler=e.wrap&1),e.mode=pf,e.last=0,e.havedict=0,e.flags=-1,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(IP),e.distcode=e.distdyn=new Int32Array(EP),e.sane=1,e.back=-1,ys},LC=i=>{if(Ls(i))return _r;const e=i.state;return e.wsize=0,e.whave=0,e.wnext=0,zC(i)},PC=(i,e)=>{let t;if(Ls(i))return _r;const r=i.state;return e<0?(t=0,e=-e):(t=(e>>4)+5,e<48&&(e&=15)),e&&(e<8||e>15)?_r:(r.window!==null&&r.wbits!==e&&(r.window=null),r.wrap=t,r.wbits=e,LC(i))},OC=(i,e)=>{if(!i)return _r;const t=new NP;i.state=t,t.strm=i,t.window=null,t.mode=pf;const r=PC(i,e);return r!==ys&&(i.state=null),r},RP=i=>OC(i,MP);let D1=!0,vp,Fp;const BP=i=>{if(D1){vp=new Int32Array(512),Fp=new Int32Array(32);let e=0;for(;e<144;)i.lens[e++]=8;for(;e<256;)i.lens[e++]=9;for(;e<280;)i.lens[e++]=7;for(;e<288;)i.lens[e++]=8;for(jl(TC,i.lens,0,288,vp,0,i.work,{bits:9}),e=0;e<32;)i.lens[e++]=5;jl(MC,i.lens,0,32,Fp,0,i.work,{bits:5}),D1=!1}i.lencode=vp,i.lenbits=9,i.distcode=Fp,i.distbits=5},HC=(i,e,t,r)=>{let n;const o=i.state;return o.window===null&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new Uint8Array(o.wsize)),r>=o.wsize?(o.window.set(e.subarray(t-o.wsize,t),0),o.wnext=0,o.whave=o.wsize):(n=o.wsize-o.wnext,n>r&&(n=r),o.window.set(e.subarray(t-r,t-r+n),o.wnext),r-=n,r?(o.window.set(e.subarray(t-r,t),0),o.wnext=r,o.whave=o.wsize):(o.wnext+=n,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=n))),0},DP=(i,e)=>{let t,r,n,o,s,a,l,c,h,d,u,f,p,m,v=0,g,b,w,F,k,I,C,A;const E=new Uint8Array(4);let y,S;const _=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(Ls(i)||!i.output||!i.input&&i.avail_in!==0)return _r;t=i.state,t.mode===Cn&&(t.mode=mp),s=i.next_out,n=i.output,l=i.avail_out,o=i.next_in,r=i.input,a=i.avail_in,c=t.hold,h=t.bits,d=a,u=l,A=ys;e:for(;;)switch(t.mode){case pf:if(t.wrap===0){t.mode=mp;break}for(;h<16;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}if(t.wrap&2&&c===35615){t.wbits===0&&(t.wbits=15),t.check=0,E[0]=c&255,E[1]=c>>>8&255,t.check=ui(t.check,E,2,0),c=0,h=0,t.mode=f1;break}if(t.head&&(t.head.done=!1),!(t.wrap&1)||(((c&255)<<8)+(c>>8))%31){i.msg="incorrect header check",t.mode=Gt;break}if((c&15)!==u1){i.msg="unknown compression method",t.mode=Gt;break}if(c>>>=4,h-=4,C=(c&15)+8,t.wbits===0&&(t.wbits=C),C>15||C>t.wbits){i.msg="invalid window size",t.mode=Gt;break}t.dmax=1<<t.wbits,t.flags=0,i.adler=t.check=1,t.mode=c&512?y1:Cn,c=0,h=0;break;case f1:for(;h<16;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}if(t.flags=c,(t.flags&255)!==u1){i.msg="unknown compression method",t.mode=Gt;break}if(t.flags&57344){i.msg="unknown header flags set",t.mode=Gt;break}t.head&&(t.head.text=c>>8&1),t.flags&512&&t.wrap&4&&(E[0]=c&255,E[1]=c>>>8&255,t.check=ui(t.check,E,2,0)),c=0,h=0,t.mode=p1;case p1:for(;h<32;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}t.head&&(t.head.time=c),t.flags&512&&t.wrap&4&&(E[0]=c&255,E[1]=c>>>8&255,E[2]=c>>>16&255,E[3]=c>>>24&255,t.check=ui(t.check,E,4,0)),c=0,h=0,t.mode=g1;case g1:for(;h<16;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}t.head&&(t.head.xflags=c&255,t.head.os=c>>8),t.flags&512&&t.wrap&4&&(E[0]=c&255,E[1]=c>>>8&255,t.check=ui(t.check,E,2,0)),c=0,h=0,t.mode=m1;case m1:if(t.flags&1024){for(;h<16;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}t.length=c,t.head&&(t.head.extra_len=c),t.flags&512&&t.wrap&4&&(E[0]=c&255,E[1]=c>>>8&255,t.check=ui(t.check,E,2,0)),c=0,h=0}else t.head&&(t.head.extra=null);t.mode=b1;case b1:if(t.flags&1024&&(f=t.length,f>a&&(f=a),f&&(t.head&&(C=t.head.extra_len-t.length,t.head.extra||(t.head.extra=new Uint8Array(t.head.extra_len)),t.head.extra.set(r.subarray(o,o+f),C)),t.flags&512&&t.wrap&4&&(t.check=ui(t.check,r,f,o)),a-=f,o+=f,t.length-=f),t.length))break e;t.length=0,t.mode=w1;case w1:if(t.flags&2048){if(a===0)break e;f=0;do C=r[o+f++],t.head&&C&&t.length<65536&&(t.head.name+=String.fromCharCode(C));while(C&&f<a);if(t.flags&512&&t.wrap&4&&(t.check=ui(t.check,r,f,o)),a-=f,o+=f,C)break e}else t.head&&(t.head.name=null);t.length=0,t.mode=v1;case v1:if(t.flags&4096){if(a===0)break e;f=0;do C=r[o+f++],t.head&&C&&t.length<65536&&(t.head.comment+=String.fromCharCode(C));while(C&&f<a);if(t.flags&512&&t.wrap&4&&(t.check=ui(t.check,r,f,o)),a-=f,o+=f,C)break e}else t.head&&(t.head.comment=null);t.mode=F1;case F1:if(t.flags&512){for(;h<16;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}if(t.wrap&4&&c!==(t.check&65535)){i.msg="header crc mismatch",t.mode=Gt;break}c=0,h=0}t.head&&(t.head.hcrc=t.flags>>9&1,t.head.done=!0),i.adler=t.check=0,t.mode=Cn;break;case y1:for(;h<32;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}i.adler=t.check=B1(c),c=0,h=0,t.mode=nu;case nu:if(t.havedict===0)return i.next_out=s,i.avail_out=l,i.next_in=o,i.avail_in=a,t.hold=c,t.bits=h,kP;i.adler=t.check=1,t.mode=Cn;case Cn:if(e===xP||e===Rh)break e;case mp:if(t.last){c>>>=h&7,h-=h&7,t.mode=wp;break}for(;h<3;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}switch(t.last=c&1,c>>>=1,h-=1,c&3){case 0:t.mode=C1;break;case 1:if(BP(t),t.mode=Bh,e===Rh){c>>>=2,h-=2;break e}break;case 2:t.mode=x1;break;case 3:i.msg="invalid block type",t.mode=Gt}c>>>=2,h-=2;break;case C1:for(c>>>=h&7,h-=h&7;h<32;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}if((c&65535)!==(c>>>16^65535)){i.msg="invalid stored block lengths",t.mode=Gt;break}if(t.length=c&65535,c=0,h=0,t.mode=bp,e===Rh)break e;case bp:t.mode=_1;case _1:if(f=t.length,f){if(f>a&&(f=a),f>l&&(f=l),f===0)break e;n.set(r.subarray(o,o+f),s),a-=f,o+=f,l-=f,s+=f,t.length-=f;break}t.mode=Cn;break;case x1:for(;h<14;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}if(t.nlen=(c&31)+257,c>>>=5,h-=5,t.ndist=(c&31)+1,c>>>=5,h-=5,t.ncode=(c&15)+4,c>>>=4,h-=4,t.nlen>286||t.ndist>30){i.msg="too many length or distance symbols",t.mode=Gt;break}t.have=0,t.mode=A1;case A1:for(;t.have<t.ncode;){for(;h<3;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}t.lens[_[t.have++]]=c&7,c>>>=3,h-=3}for(;t.have<19;)t.lens[_[t.have++]]=0;if(t.lencode=t.lendyn,t.lenbits=7,y={bits:t.lenbits},A=jl(_P,t.lens,0,19,t.lencode,0,t.work,y),t.lenbits=y.bits,A){i.msg="invalid code lengths set",t.mode=Gt;break}t.have=0,t.mode=k1;case k1:for(;t.have<t.nlen+t.ndist;){for(;v=t.lencode[c&(1<<t.lenbits)-1],g=v>>>24,b=v>>>16&255,w=v&65535,!(g<=h);){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}if(w<16)c>>>=g,h-=g,t.lens[t.have++]=w;else{if(w===16){for(S=g+2;h<S;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}if(c>>>=g,h-=g,t.have===0){i.msg="invalid bit length repeat",t.mode=Gt;break}C=t.lens[t.have-1],f=3+(c&3),c>>>=2,h-=2}else if(w===17){for(S=g+3;h<S;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}c>>>=g,h-=g,C=0,f=3+(c&7),c>>>=3,h-=3}else{for(S=g+7;h<S;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}c>>>=g,h-=g,C=0,f=11+(c&127),c>>>=7,h-=7}if(t.have+f>t.nlen+t.ndist){i.msg="invalid bit length repeat",t.mode=Gt;break}for(;f--;)t.lens[t.have++]=C}}if(t.mode===Gt)break;if(t.lens[256]===0){i.msg="invalid code -- missing end-of-block",t.mode=Gt;break}if(t.lenbits=9,y={bits:t.lenbits},A=jl(TC,t.lens,0,t.nlen,t.lencode,0,t.work,y),t.lenbits=y.bits,A){i.msg="invalid literal/lengths set",t.mode=Gt;break}if(t.distbits=6,t.distcode=t.distdyn,y={bits:t.distbits},A=jl(MC,t.lens,t.nlen,t.ndist,t.distcode,0,t.work,y),t.distbits=y.bits,A){i.msg="invalid distances set",t.mode=Gt;break}if(t.mode=Bh,e===Rh)break e;case Bh:t.mode=Dh;case Dh:if(a>=6&&l>=258){i.next_out=s,i.avail_out=l,i.next_in=o,i.avail_in=a,t.hold=c,t.bits=h,bP(i,u),s=i.next_out,n=i.output,l=i.avail_out,o=i.next_in,r=i.input,a=i.avail_in,c=t.hold,h=t.bits,t.mode===Cn&&(t.back=-1);break}for(t.back=0;v=t.lencode[c&(1<<t.lenbits)-1],g=v>>>24,b=v>>>16&255,w=v&65535,!(g<=h);){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}if(b&&(b&240)===0){for(F=g,k=b,I=w;v=t.lencode[I+((c&(1<<F+k)-1)>>F)],g=v>>>24,b=v>>>16&255,w=v&65535,!(F+g<=h);){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}c>>>=F,h-=F,t.back+=F}if(c>>>=g,h-=g,t.back+=g,t.length=w,b===0){t.mode=M1;break}if(b&32){t.back=-1,t.mode=Cn;break}if(b&64){i.msg="invalid literal/length code",t.mode=Gt;break}t.extra=b&15,t.mode=S1;case S1:if(t.extra){for(S=t.extra;h<S;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}t.length+=c&(1<<t.extra)-1,c>>>=t.extra,h-=t.extra,t.back+=t.extra}t.was=t.length,t.mode=I1;case I1:for(;v=t.distcode[c&(1<<t.distbits)-1],g=v>>>24,b=v>>>16&255,w=v&65535,!(g<=h);){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}if((b&240)===0){for(F=g,k=b,I=w;v=t.distcode[I+((c&(1<<F+k)-1)>>F)],g=v>>>24,b=v>>>16&255,w=v&65535,!(F+g<=h);){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}c>>>=F,h-=F,t.back+=F}if(c>>>=g,h-=g,t.back+=g,b&64){i.msg="invalid distance code",t.mode=Gt;break}t.offset=w,t.extra=b&15,t.mode=E1;case E1:if(t.extra){for(S=t.extra;h<S;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}t.offset+=c&(1<<t.extra)-1,c>>>=t.extra,h-=t.extra,t.back+=t.extra}if(t.offset>t.dmax){i.msg="invalid distance too far back",t.mode=Gt;break}t.mode=T1;case T1:if(l===0)break e;if(f=u-l,t.offset>f){if(f=t.offset-f,f>t.whave&&t.sane){i.msg="invalid distance too far back",t.mode=Gt;break}f>t.wnext?(f-=t.wnext,p=t.wsize-f):p=t.wnext-f,f>t.length&&(f=t.length),m=t.window}else m=n,p=s-t.offset,f=t.length;f>l&&(f=l),l-=f,t.length-=f;do n[s++]=m[p++];while(--f);t.length===0&&(t.mode=Dh);break;case M1:if(l===0)break e;n[s++]=t.length,l--,t.mode=Dh;break;case wp:if(t.wrap){for(;h<32;){if(a===0)break e;a--,c|=r[o++]<<h,h+=8}if(u-=l,i.total_out+=u,t.total+=u,t.wrap&4&&u&&(i.adler=t.check=t.flags?ui(t.check,n,u,s-u):vc(t.check,n,u,s-u)),u=l,t.wrap&4&&(t.flags?c:B1(c))!==t.check){i.msg="incorrect data check",t.mode=Gt;break}c=0,h=0}t.mode=N1;case N1:if(t.wrap&&t.flags){for(;h<32;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}if(t.wrap&4&&c!==(t.total&4294967295)){i.msg="incorrect length check",t.mode=Gt;break}c=0,h=0}t.mode=R1;case R1:A=AP;break e;case Gt:A=NC;break e;case BC:return RC;case DC:default:return _r}return i.next_out=s,i.avail_out=l,i.next_in=o,i.avail_in=a,t.hold=c,t.bits=h,(t.wsize||u!==i.avail_out&&t.mode<Gt&&(t.mode<wp||e!==d1))&&HC(i,i.output,i.next_out,u-i.avail_out),d-=i.avail_in,u-=i.avail_out,i.total_in+=d,i.total_out+=u,t.total+=u,t.wrap&4&&u&&(i.adler=t.check=t.flags?ui(t.check,n,u,i.next_out-u):vc(t.check,n,u,i.next_out-u)),i.data_type=t.bits+(t.last?64:0)+(t.mode===Cn?128:0)+(t.mode===Bh||t.mode===bp?256:0),(d===0&&u===0||e===d1)&&A===ys&&(A=SP),A},zP=i=>{if(Ls(i))return _r;let e=i.state;return e.window&&(e.window=null),i.state=null,ys},LP=(i,e)=>{if(Ls(i))return _r;const t=i.state;return(t.wrap&2)===0?_r:(t.head=e,e.done=!1,ys)},PP=(i,e)=>{const t=e.length;let r,n,o;return Ls(i)||(r=i.state,r.wrap!==0&&r.mode!==nu)?_r:r.mode===nu&&(n=1,n=vc(n,e,t,0),n!==r.check)?NC:(o=HC(i,e,t,t),o?(r.mode=BC,RC):(r.havedict=1,ys))};var OP=LC,HP=PC,$P=zC,UP=RP,VP=OC,jP=DP,qP=zP,GP=LP,WP=PP,QP="pako inflate (from Nodeca project)",Rn={inflateReset:OP,inflateReset2:HP,inflateResetKeep:$P,inflateInit:UP,inflateInit2:VP,inflate:jP,inflateEnd:qP,inflateGetHeader:GP,inflateSetDictionary:WP,inflateInfo:QP};function KP(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var YP=KP;const $C=Object.prototype.toString,{Z_NO_FLUSH:XP,Z_FINISH:ZP,Z_OK:Cc,Z_STREAM_END:yp,Z_NEED_DICT:Cp,Z_STREAM_ERROR:JP,Z_DATA_ERROR:z1,Z_MEM_ERROR:eO}=hf;function gf(i){this.options=uf.assign({chunkSize:1024*64,windowBits:15,to:""},i||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,e.windowBits===0&&(e.windowBits=-15)),e.windowBits>=0&&e.windowBits<16&&!(i&&i.windowBits)&&(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&(e.windowBits&15)===0&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new IC,this.strm.avail_out=0;let t=Rn.inflateInit2(this.strm,e.windowBits);if(t!==Cc)throw new Error(vs[t]);if(this.header=new YP,Rn.inflateGetHeader(this.strm,this.header),e.dictionary&&(typeof e.dictionary=="string"?e.dictionary=yc.string2buf(e.dictionary):$C.call(e.dictionary)==="[object ArrayBuffer]"&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(t=Rn.inflateSetDictionary(this.strm,e.dictionary),t!==Cc)))throw new Error(vs[t])}gf.prototype.push=function(i,e){const t=this.strm,r=this.options.chunkSize,n=this.options.dictionary;let o,s,a;if(this.ended)return!1;for(e===~~e?s=e:s=e===!0?ZP:XP,$C.call(i)==="[object ArrayBuffer]"?t.input=new Uint8Array(i):t.input=i,t.next_in=0,t.avail_in=t.input.length;;){for(t.avail_out===0&&(t.output=new Uint8Array(r),t.next_out=0,t.avail_out=r),o=Rn.inflate(t,s),o===Cp&&n&&(o=Rn.inflateSetDictionary(t,n),o===Cc?o=Rn.inflate(t,s):o===z1&&(o=Cp));t.avail_in>0&&o===yp&&t.state.wrap>0&&i[t.next_in]!==0;)Rn.inflateReset(t),o=Rn.inflate(t,s);switch(o){case JP:case z1:case Cp:case eO:return this.onEnd(o),this.ended=!0,!1}if(a=t.avail_out,t.next_out&&(t.avail_out===0||o===yp))if(this.options.to==="string"){let l=yc.utf8border(t.output,t.next_out),c=t.next_out-l,h=yc.buf2string(t.output,l);t.next_out=c,t.avail_out=r-c,c&&t.output.set(t.output.subarray(l,l+c),0),this.onData(h)}else this.onData(t.output.length===t.next_out?t.output:t.output.subarray(0,t.next_out));if(!(o===Cc&&a===0)){if(o===yp)return o=Rn.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,!0;if(t.avail_in===0)break}}return!0};gf.prototype.onData=function(i){this.chunks.push(i)};gf.prototype.onEnd=function(i){i===Cc&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=uf.flattenChunks(this.chunks)),this.chunks=[],this.err=i,this.msg=this.strm.msg};function e2(i,e){const t=new gf(e);if(t.push(i),t.err)throw t.msg||vs[t.err];return t.result}function tO(i,e){return e=e||{},e.raw=!0,e2(i,e)}var iO=e2,rO=tO,nO=e2,oO={inflate:iO,inflateRaw:rO,ungzip:nO};const{deflateRaw:sO}=gP,{inflate:aO,inflateRaw:lO,ungzip:cO}=oO;var hO=sO,_c=aO,t2=lO,UC=cO;const VC=4;function ou(i){const e=ArrayBuffer.isView(i)?i:new Uint8Array(i);return e[0]===31&&e[1]===139}function xc(i){const e=ArrayBuffer.isView(i)?i:new Uint8Array(i);return(e[3]&VC)!==0&&e[12]===66&&e[13]===67?fn(e.buffer):UC(e)}function fn(i,e){const t=[];let r=0,n=0;for(e=e||i.byteLength-18;r<e;)try{const s=ArrayBuffer.isView(i)?i:new Uint8Array(i,r,18),a=s[11]<<8|s[10],c=s[3]&VC,h=s[12],d=s[13],u=s[15]<<8|s[14],f=(s[17]<<8|s[16])+1,p=12+a+r,m=i.byteLength-p,v=f-a-19;if(m<v||v<=0)break;const g=new Uint8Array(i,p,v),b=t2(g);r+=v-1+26,n+=b.byteLength,t.push(b)}catch(s){console.error(s);break}if(t.length===1)return t[0];{const s=new Uint8Array(n);let a=0;for(let l=0;l<t.length;++l){var o=new Uint8Array(t[l]);fO(o,0,s,a,o.length),a+=o.length}return s}}function i2(i){const e=ArrayBuffer.isView(i)?i:new Uint8Array(i);return(e[17]<<8|e[16])+1}const dO=new Uint8Array(1),uO=typeof dO.subarray=="function";function fO(i,e,t,r,n){if(n!==0){if(i){if(!t)throw"Undef dest"}else throw"Undef src";n===i.length?_p(i,t,r):uO?_p(i.subarray(e,e+n),t,r):i.BYTES_PER_ELEMENT===1&&n>100?_p(new Uint8Array(i.buffer,i.byteOffset+e,n),t,r):pO(i,e,t,r,n)}}function pO(i,e,t,r,n){for(let o=0;o<n;++o)t[r+o]=i[e+o]}function _p(i,e,t){e.set(i,t)}function gO(i){const e=new Uint8Array(i.length);for(var t=0;t<i.length;t++)e[t]=i.charCodeAt(t);const r=new hO(e),n=String.fromCharCode.apply(null,r);return btoa(n).replace(/\+/g,".").replace(/\//g,"_").replace(/=/g,"-")}function mO(i){i=i.replace(/\./g,"+").replace(/_/g,"/").replace(/-/g,"=");const e=atob(i),t=[];for(let o=0;o<e.length;o++)t.push(e.charCodeAt(o));const r=t2(t);let n="";for(let o of r)n+=String.fromCharCode(o);return n}function Oo(i,e){const t=i.split(","),r=t[0].split(":")[1];let n=t[1];if(r.indexOf("base64")>=0){n=atob(n);const o=new Uint8Array(n.length);for(let a=0;a<n.length;a++)o[a]=n.charCodeAt(a);let s;return r.indexOf("gzip")>0?s=UC(o):s=o,s}else return decodeURIComponent(n)}const wt={lerp:(i,e,t)=>(1-t)*i+t*e,mean:function(i){var e=0,t=0,r;for(r=0;r<i.length;r++)isNaN(i[r])||(e+=i[r],t++);return t>0?e/t:0},meanAndStdev:function(i){var e,t=0,r=0,n=0,o;for(o=0;o<i.length;o++)e=i[o],isNaN(e)||(t+=e,r+=e*e,n++);return n>0?{mean:t/n,stdev:Math.sqrt(r-t*t/n)}:{mean:0,stdev:0}},median:function(i){var e=0,t=i.length;return i.sort(),t%2===0?e=(i[t/2-1]+i[t/2])/2:e=i[(t-1)/2],e},percentile:function(i,e){if(i.length!==0){var t=Math.floor(i.length*((100-e)/100));return t===0?(i.sort(function(r,n){return n-r}),i[t]):bO(i,t)}},clamp:function(i,e,t){return Math.min(Math.max(i,e),t)},log2:function(i){return Math.log(i)/Math.LN2}};function bO(i,e){var t=new jC,r;for(r=0;r<i.length;r++){var n=i[r];(t.content.length<e||n>t.content[0])&&(t.content.length===e&&t.pop(),t.push(n))}return t.content[0]}function jC(){this.content=[]}jC.prototype={push:function(i){this.content.push(i),this.bubbleUp(this.content.length-1)},pop:function(){var i=this.content[0],e=this.content.pop();return this.content.length>0&&(this.content[0]=e,this.sinkDown(0)),i},remove:function(i){for(var e=this.content.length,t=0;t<e;t++)if(this.content[t]===i){var r=this.content.pop();if(t===e-1)break;this.content[t]=r,this.bubbleUp(t),this.sinkDown(t);break}},size:function(){return this.content.length},bubbleUp:function(i){for(var e=this.content[i],t=e;i>0;){var r=Math.floor((i+1)/2)-1,n=this.content[r];if(t>=n)break;this.content[r]=e,this.content[i]=n,i=r}},sinkDown:function(i){for(var e=this.content.length,t=this.content[i],r=t;;){var n=(i+1)*2,o=n-1,s=null;if(o<e){var a=this.content[o],l=a;l<r&&(s=o)}if(n<e){var c=this.content[n],h=c;h<(s==null?r:l)&&(s=n)}if(s==null)break;this.content[i]=this.content[s],this.content[s]=t,i=s}}};function Qo(i,e){return Math.random()*(e-i)+i}const et={rgbListFromHSV:()=>{let i=1,e=[];for(let t=1;t>=.5;t-=.1)for(let r=0;r<1;r+=1/28){const n="rgb("+et.hsvToRgb(r,i,t).join(",")+")";e.push(n)}return e.pop(),e.push(et.rgbColor(16,16,16)),e},rgbToHex:function(i){return i=i.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i),i&&i.length===4?"#"+("0"+parseInt(i[1],10).toString(16)).slice(-2)+("0"+parseInt(i[2],10).toString(16)).slice(-2)+("0"+parseInt(i[3],10).toString(16)).slice(-2):""},hexToRgb:function(i){var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(i);if(e!==null)return"rgb("+parseInt(e[1],16)+","+parseInt(e[2],16)+","+parseInt(e[3],16)+")"},hsvToRgb:function(i,e,t){var r,n,o,s=Math.floor(i*6),a=i*6-s,l=t*(1-e),c=t*(1-a*e),h=t*(1-(1-a)*e);switch(s%6){case 0:r=t,n=h,o=l;break;case 1:r=c,n=t,o=l;break;case 2:r=l,n=t,o=h;break;case 3:r=l,n=c,o=t;break;case 4:r=h,n=l,o=t;break;case 5:r=t,n=l,o=c;break}return[Math.floor(r*255),Math.floor(n*255),Math.floor(o*255)]},hslToRgb:function(i,e,t){var r,n,o;if(e===0)r=n=o=t;else{var s=t<.5?t*(1+e):t+e-t*e,a=2*t-s;r=et.hue2rgb(a,s,i+1/3),n=et.hue2rgb(a,s,i),o=et.hue2rgb(a,s,i-1/3)}return[r*255,n*255,o*255]},hue2rgb:(i,e,t)=>(t<0&&(t+=1),t>1&&(t-=1),t<1/6?i+(e-i)*6*t:t<1/2?e:t<2/3?i+(e-i)*(2/3-t)*6:i),rgbaColor:function(i,e,t,r){return i=wt.clamp(i,0,255),e=wt.clamp(e,0,255),t=wt.clamp(t,0,255),r=wt.clamp(r,0,1),"rgba("+i+","+e+","+t+","+r+")"},rgbColor:function(i,e,t){return i=wt.clamp(i,0,255),e=wt.clamp(e,0,255),t=wt.clamp(t,0,255),"rgb("+i+","+e+","+t+")"},greyScale:function(i){var e=wt.clamp(i,0,255);return"rgb("+e+","+e+","+e+")"},randomGrey:function(i,e){i=wt.clamp(i,0,255),e=wt.clamp(e,0,255);var t=Math.round(Qo(i,e)).toString(10);return"rgb("+t+","+t+","+t+")"},randomRGB:function(i,e){i=wt.clamp(i,0,255),e=wt.clamp(e,0,255);var t=Math.round(Qo(i,e)).toString(10),r=Math.round(Qo(i,e)).toString(10),n=Math.round(Qo(i,e)).toString(10);return"rgb("+t+","+r+","+n+")"},randomRGBConstantAlpha:function(i,e,t){i=wt.clamp(i,0,255),e=wt.clamp(e,0,255);var r=Math.round(Qo(i,e)).toString(10),n=Math.round(Qo(i,e)).toString(10),o=Math.round(Qo(i,e)).toString(10);return"rgba("+r+","+n+","+o+","+t+")"},addAlpha:function(i,e){if(i==="0"||i===".")i="rgb(0,0,0)";else{const r=this.colorNameToHex(i);r&&(i=r)}var t=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(i);if(i.startsWith("rgba")){const r=i.lastIndexOf(",");return i.substring(0,r+1)+e.toString()+")"}return t&&(i=et.hexToRgb(i)),i.startsWith("rgb")?i.replace("rgb","rgba").replace(")",", "+e+")"):(console.log(i+" is not an rgb style string"),i)},rgbComponents:function(i){if(i==="0"||i===".")return[0,0,0];if(/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(i))i=et.hexToRgb(i);else if(!i.startsWith("rgb")){const t=this.colorNameToHex(i);i=this.hexToRgb(t)}if(i.startsWith("rgb("))return i.substring(4,i.length-1).split(",").map(t=>Number.parseInt(t.trim()));if(i.startsWith("rgba("))return i.substring(5,i.length-1).split(",").map((t,r)=>(t=t.trim(),r===3?Number.parseFloat(t):Number.parseInt(t)));throw Error("Unrecognized color string: color")},getCompositeColor:function(i,e,t){var r=Math.floor(t*e[0]+(1-t)*i[0]),n=Math.floor(t*e[1]+(1-t)*i[1]),o=Math.floor(t*e[2]+(1-t)*i[2]);return"rgb("+r+","+n+","+o+")"},createColorString:function(i){const e=this.createColorStringSafe(i);return e||i},createColorStringSafe:function(i){if(i=am(i),i.startsWith("rgb(")&&i.endsWith(")")||i.startsWith("#")&&i.length<8)return i;const e=this.colorNameToHex(i);if(e)return e;const t=i.split(",");if(t.length===3&&xp(t[0])&&xp(t[1])&&xp(t[2]))return`rgb(${i})`},darkenLighten:function(i,e){let t,r=this.colorNameToHex(i);r?t=et.hexToRgb(r):t=i.startsWith("rgb(")?i:et.hexToRgb(i);const n=t.replace(")","").substring(4).split(","),o=Math.max(0,Math.min(255,Number.parseInt(n[0].trim())+e)),s=Math.max(0,Math.min(255,Number.parseInt(n[1].trim())+e)),a=Math.max(0,Math.min(255,Number.parseInt(n[2].trim())+e));return"rgb("+o.toString()+","+s.toString()+","+a.toString()+")"},colorNameToHex:function(i){return{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4","indianred ":"#cd5c5c","indigo ":"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32",darkgrey:"#a9a9a9",darkslategrey:"#2f4f4f",dimgrey:"#696969",grey:"#808080",lightgray:"#d3d3d3",lightslategrey:"#778899",slategrey:"#708090"}[i]}};function xp(i){const e=Number.parseInt(i);return!Number.isNaN(e)&&e>=0&&e<=255}const Ap="googleapis";class wO{constructor(){this.oauthTokens={}}setToken(e,t){t=t||Ap,this.oauthTokens[t]=e}getToken(e){e=e||Ap;let t;for(let r of Object.keys(this.oauthTokens))if(L1(r).test(e)){t=this.oauthTokens[r];break}return t}removeToken(e){e=e||Ap;for(let t of Object.keys(this.oauthTokens))L1(t).test(e)&&(this.oauthTokens[t]=void 0)}}function L1(i){return new RegExp("^"+i.split(/\*+/).map(vO).join(".*")+"$")}function vO(i){return i.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&")}function ll(i){return i.includes("googleapis")&&!i.includes("urlshortener")||r2(i)||su(i)}function r2(i){return i.startsWith("gs://")||i.startsWith("https://www.googleapis.com/storage")||i.startsWith("https://storage.cloud.google.com")||i.startsWith("https://storage.googleapis.com")}function su(i){return i.indexOf("drive.google.com")>=0||i.indexOf("www.googleapis.com/drive")>0}function FO(i){let{bucket:e,object:t}=yO(i);t=CO(t);const r=i.indexOf("?"),n=r>0?i.substring(r)+"&alt=media":"?alt=media";return`https://storage.googleapis.com/storage/v1/b/${e}/o/${t}${n}`}function yO(i){let e,t;if(i.startsWith("gs://")){const r=i.indexOf("/",5);if(r>=0){e=i.substring(5,r);const n=i.indexOf("?");t=n<0?i.substring(r+1):i.substring(r+1,n)}}else if(i.startsWith("https://storage.googleapis.com")||i.startsWith("https://storage.cloud.google.com")){const r=i.indexOf("/v1/b/",8);if(r>0){const n=i.indexOf("/o/",r);if(n>0){const o=i.indexOf("?",n);e=i.substring(r+6,n),t=o>0?i.substring(n+3,o):i.substring(n+3)}}else{const n=i.indexOf("/",8),o=i.indexOf("/",n+1),s=i.indexOf("?",o);o>0&&(e=i.substring(n+1,o),t=s<0?i.substring(o+1):i.substring(o+1,s))}}else if(i.startsWith("https://www.googleapis.com/storage/v1/b")){const r=i.indexOf("/v1/b/",8),n=i.indexOf("/o/",r);if(n>0){const o=i.indexOf("?",n);e=i.substring(r+6,n),t=o>0?i.substring(n+3,o):i.substring(n+3)}}if(e&&t)return{bucket:e,object:t};throw Error(`Unrecognized Google Storage URI: ${i}`)}function CO(i){let e="";return i.split("").forEach(function(t){Jt.has(t)?e+=Jt.get(t):e+=t}),e}const Jt=new Map;Jt.set("!","%21");Jt.set("#","%23");Jt.set("$","%24");Jt.set("%","%25");Jt.set("&","%26");Jt.set("'","%27");Jt.set("(","%28");Jt.set(")","%29");Jt.set("*","%2A");Jt.set("+","%2B");Jt.set(",","%2C");Jt.set("/","%2F");Jt.set(":","%3A");Jt.set(";","%3B");Jt.set("=","%3D");Jt.set("?","%3F");Jt.set("@","%40");Jt.set("[","%5B");Jt.set("]","%5D");Jt.set(" ","%20");async function _O(i){if(!google.accounts.oauth2.initTokenClient)throw new Error("Google accounts token client not loaded (https://accounts.google.com/gsi/client)");if(Ps())throw new Error("Google client is already initialized");const e={client_id:i.client_id||i.clientId,scope:i.scope||"https://www.googleapis.com/auth/userinfo.profile",state:i.state||"igv",error:r=>{throw new Error(r.type)},hint:i.hint,hosted_domain:i.hosted_domain},t=google.accounts.oauth2.initTokenClient(e);google.igv={tokenClient:t,apiKey:i.apiKey}}function Ps(){return window.google&&window.google.igv}function xO(){return Ps()&&google.igv.tokenResponse&&Date.now()<google.igv.tokenExpiresAt?google.igv.tokenResponse.access_token:void 0}let kp;async function qC(i){if(!Ps())throw Error("Google oAuth has not been initialized");if(google.igv.tokenResponse&&Date.now()<google.igv.tokenExpiresAt&&google.accounts.oauth2.hasGrantedAllScopes(google.igv.tokenResponse,i))return google.igv.tokenResponse.access_token;{const e=google.igv.tokenClient;return kp||(kp=new Promise((t,r)=>{try{e.callback=n=>{n.error!==void 0&&r(n),google.igv.tokenResponse=n,google.igv.tokenExpiresAt=Date.now()+n.expires_in*1e3,console.log("Access token expires at "+new Date(google.igv.tokenExpiresAt)),t(n.access_token)},console.log("Requesting access token"),e.requestAccessToken({scope:i})}catch(n){console.log(n)}})),kp}}function AO(i){return su(i)?"https://www.googleapis.com/auth/drive.file":r2(i)?"https://www.googleapis.com/auth/devstorage.read_only":"https://www.googleapis.com/auth/userinfo.profile"}function GC(){return google.igv.apiKey}async function kO(i){let t="https://www.googleapis.com/drive/v3/files/"+QC(i)+"?supportsTeamDrives=true";const r=GC();r&&(t+="&key="+r);let o=await(await fetch(t)).json();if(o.error&&o.error.code===404){const a=await qC("https://www.googleapis.com/auth/drive.readonly");if(a){if(o=await(await fetch(t,{headers:{Authorization:`Bearer ${a}`}})).json(),o.error)throw Error(o.error)}else throw Error(o.error)}return o}function WC(i){var e=QC(i);return e?"https://www.googleapis.com/drive/v3/files/"+e+"?alt=media&supportsTeamDrives=true":i}function QC(i){if(i.includes("/open?id=")){const e=i.indexOf("/open?id=")+9,t=i.indexOf("&");if(e>0&&t>e)return i.substring(e,t);if(e>0)return i.substring(e)}else if(i.includes("/file/d/")){const e=i.indexOf("/file/d/")+8,t=i.lastIndexOf("/");return i.substring(e,t)}else if(i.startsWith("https://www.googleapis.com/drive")){let e=i.indexOf("/files/");const t=i.indexOf("?");if(e>0)return e+=7,t>0?i.substring(e,t):i.substring(e)}throw Error("Unknown Google Drive url format: "+i)}class SO{constructor(e){this.requestsPerSecond=e.requestsPerSecond||10,this.lastStartTime=0,this.queued=[]}add(e,t){var r=this;return new Promise(function(n,o){r.queued.push({resolve:n,reject:o,asyncFunction:e}),r.dequeue()})}addAll(e,t){var r=e.map((function(n){return this.add(n,t)}).bind(this));return Promise.all(r)}dequeue(){if(this.queued.length>0){var e=new Date,t=1e3/this.requestsPerSecond+1,r=e-this.lastStartTime;r>=t?this._execute():setTimeout((function(){this.dequeue()}).bind(this),t-r)}}async _execute(){this.lastStartTime=new Date;var e=this.queued.shift();const t=e.asyncFunction;try{const r=await t();e.resolve(r)}catch(r){e.reject(r)}}}class IO{constructor(){this.apiKey=void 0,this.googleThrottle=new SO({requestsPerSecond:8}),this.RANGE_WARNING_GIVEN=!1,this.oauth=new wO}setApiKey(e){this.apiKey=e}async loadArrayBuffer(e,t){return t=t||{},t.responseType||(t.responseType="arraybuffer"),Eo(e)?this._loadFileSlice(e,t):this.load(e,t)}async loadByteArray(e,t){const r=await this.loadArrayBuffer(e,t);let n;return ou(r)?n=xc(r):n=new Uint8Array(r),n}async loadJson(e,t){t=t||{},(t.method||(t.sendData?"POST":"GET"))==="POST"&&(t.contentType="application/json");const n=await this.loadString(e,t);return n&&JSON.parse(n)}async loadString(e,t){return t=t||{},e instanceof File?this._loadStringFromFile(e,t):this._loadStringFromUrl(e,t)}async load(e,t){t=t||{};const r=typeof e;if(e=await(typeof e=="function"?e():e),Eo(e))return this._loadFileSlice(e,t);if(typeof e.startsWith=="function")if(e.startsWith("data:")){const n=Oo(e).buffer;if(t.range){const o=t.range.size?t.range.start+t.range.size:n.byteLength;return n.slice(t.range.start,o)}else return n}else return e.startsWith("https://drive.google.com")&&(e=WC(e)),su(e)||e.startsWith("https://www.dropbox.com")?this.googleThrottle.add(async()=>this._loadURL(e,t)):this._loadURL(e,t);else throw Error(`url must be either a 'File', 'string', 'function', or 'Promise'. Actual type: ${r}`)}async _loadURL(e,t){const r=this,n=e;e=BO(e),t=t||{};let o=t.oauthToken||this.getOauthToken(e);return o&&(o=await(typeof o=="function"?o():o)),new Promise(function(s,a){ll(e)&&!EO(e)&&(r2(e)&&(e=FO(e)),e=NO(e),su(e)&&RO(e),o||(o=P1()));const l=t.headers||{};o&&MO(l,o);const c=t.range,h=new XMLHttpRequest,d=t.sendData||t.body,u=t.method||(d?"POST":"GET"),f=t.responseType,p=t.contentType,m=t.mimeType;if(h.open(u,e),t.timeout&&(h.timeout=t.timeout),c){let b="";c.size&&(b=c.start+c.size-1),h.setRequestHeader("Range","bytes="+c.start+"-"+b)}if(p&&h.setRequestHeader("Content-Type",p),m&&h.overrideMimeType(m),f&&(h.responseType=f),l)for(let b of Object.keys(l)){const w=l[b];h.setRequestHeader(b,w)}t.withCredentials===!0&&(h.withCredentials=!0),h.onload=async function(b){if(h.status===0||h.status>=200&&h.status<=300)if(t.method==="HEAD"){const w=t.requestedHeaders||["content-length"],F={};for(let k of w)F[k]=h.getResponseHeader(k);s(F)}else c&&h.status!==206&&c.start!==0?(h.response.length>1e5&&!r.RANGE_WARNING_GIVEN&&alert(`Warning: Range header ignored for URL: ${e}. This can have severe performance impacts.`),s(h.response.slice(c.start,c.start+c.size))):s(h.response);else h.status===416?v(Error("416 Unsatisfiable Range")):Ps()&&(h.status===404||h.status===401||h.status===403)&&ll(e)&&!t.retries?g():h.status===403?v("Access forbidden: "+e):v(h.status)},h.onerror=function(b){ll(e)&&!t.retries?g():v("Error accessing resource: "+e+" Status: "+h.status)},h.ontimeout=function(b){v("Timed out")},h.onabort=function(b){console.log("Aborted"),a(b)};try{h.send(d)}catch(b){ll(e)&&!t.retries?g():v(b)}function v(b){if(a)a(b);else throw b}async function g(){try{const b=await TO(n);t.retries=1,t.oauthToken=b;const w=await r.load(n,t);s(w)}catch(b){if(b.error){const w=b.error.startsWith("popup_blocked")?"Google login popup blocked by browser.":b.error;alert(w)}else v(b)}}})}async _loadFileSlice(e,t){const n=await(t&&t.range?e.slice(t.range.start,t.range.start+t.range.size):e).arrayBuffer();return t.responseType==="arraybuffer"?n:Sp(n)}async _loadStringFromFile(e,t){const n=await(t.range?e.slice(t.range.start,t.range.start+t.range.size):e).arrayBuffer();return Sp(n)}async _loadStringFromUrl(e,t){t=t||{},t.responseType="arraybuffer";const r=await this.load(e,t);return Sp(r)}setOauthToken(e,t){this.oauth.setToken(e,t)}getOauthToken(e){const t=ll(e)?void 0:sC(e).host;let r=this.oauth.getToken(t);if(r)return r;if(t===void 0){const n=P1();if(n&&n.expires_at>Date.now())return n.access_token}}async getContentLength(e,t){t=t||{},t.method="HEAD",t.requestedHeaders=["content-length"];const n=(await this._loadURL(e,t))["content-length"];return n?Number.parseInt(n):0}}function EO(i){return i.indexOf("X-Goog-Signature")>-1}async function TO(i){if(Ps()){const e=AO(i);return await qC(e)}else throw Error("Authorization is required, but Google oAuth has not been initalized. Contact your site administrator for assistance.")}function P1(){if(Ps())return xO()}function MO(i,e){return e&&(i["Cache-Control"]="no-cache",i.Authorization="Bearer "+e),i}function NO(i){let e=Ee.apiKey;if(!e&&typeof gapi<"u"&&(e=gapi.apiKey),e!==void 0&&!i.includes("key=")){const t=i.includes("?")?"&":"?";i=i+t+"key="+e}return i}function RO(i){if(i.includes("supportsTeamDrive"))return i;{const e=i.includes("?")?"&":"?";i=i+e+"supportsTeamDrive=true"}}function BO(i){return i.startsWith("https://www.dropbox.com")?i.replace("//www.dropbox.com","//dl.dropboxusercontent.com"):i.startsWith("https://drive.google.com")?WC(i):i.includes("//www.broadinstitute.org/igvdata")?i.replace("//www.broadinstitute.org/igvdata","//data.broadinstitute.org/igvdata"):i.includes("//igvdata.broadinstitute.org")?i.replace("//igvdata.broadinstitute.org","//s3.amazonaws.com/igv.broadinstitute.org"):i.includes("//igv.genepattern.org")?i.replace("//igv.genepattern.org","//igv-genepattern-org.s3.amazonaws.com"):i.startsWith("ftp://ftp.ncbi.nlm.nih.gov/geo")?i.replace("ftp://","https://"):i}function Sp(i){let e;return ou(i)?e=xc(i):e=new Uint8Array(i),"TextDecoder"in zO()?new TextDecoder().decode(e):DO(e)}function DO(i){for(var e="",t=0;t<i.length;){var r=i[t],n=0,o=0;if(r<=127?(n=0,o=r&255):r<=223?(n=1,o=r&31):r<=239?(n=2,o=r&15):r<=244&&(n=3,o=r&7),i.length-t-n>0)for(var s=0;s<n;)r=i[t+s+1],o=o<<6|r&63,s+=1;else o=65533,n=i.length-t;e+=String.fromCodePoint(o),t+=n+1}return e}function zO(){return typeof self<"u"?self:typeof global<"u"?global:window}const Ee=new IO;var ro=1,Sn=2,zt={};zt.color=ro;zt.parent=zt;zt.left=zt;zt.right=zt;class LO{constructor(){this.root=zt}insert(e,t,r){var n=new $1(e,t,r),o=new PO(n);for(this.treeInsert(o),o.color=Sn;o!==this.root&&o.parent.color===Sn;)if(o.parent===o.parent.parent.left){let s=o.parent.parent.right;s.color===Sn?(o.parent.color=ro,s.color=ro,o.parent.parent.color=Sn,o=o.parent.parent):(o===o.parent.right&&(o=o.parent,O1.call(this,o)),o.parent.color=ro,o.parent.parent.color=Sn,H1.call(this,o.parent.parent))}else{let s=o.parent.parent.left;s.color===Sn?(o.parent.color=ro,s.color=ro,o.parent.parent.color=Sn,o=o.parent.parent):(o===o.parent.left&&(o=o.parent,H1.call(this,o)),o.parent.color=ro,o.parent.parent.color=Sn,O1.call(this,o.parent.parent))}this.root.color=ro}findOverlapping(e,t){var r=new $1(e,t,0);if(this.root===zt)return[];var n=bm.call(this,r,this.root,[]);return n.length>1&&n.sort(function(o,s){return o.low-s.low}),n}logIntervals(){e(this.root,0);function e(t,r){for(var n="",o=0;o<r;o++)n+=" ";console.log(n+t.interval.low+" "+t.interval.high),r+=5,t.left!==zt&&e(t.left,r),t.right!==zt&&e(t.right,r)}}mapIntervals(e){t(this.root);function t(r){e(r.interval),r.left!==zt&&t(r.left),r.right!==zt&&t(r.right)}}treeInsert(e){for(var t=this.root,r=zt;t!==zt;)r=t,e.interval.low<=t.interval.low?t=t.left:t=t.right;e.parent=r,r===zt?(this.root=e,e.left=e.right=zt):e.interval.low<=r.interval.low?r.left=e:r.right=e,n2.call(this,e)}}function bm(i,e,t){return e.interval.overlaps(i)&&t.push(e.interval),e.left!==zt&&e.left.max>=i.low&&bm.call(this,i,e.left,t),e.right!==zt&&e.right.min<=i.high&&bm.call(this,i,e.right,t),t}function O1(i){var e=i.right;i.right=e.left,e.left!==zt&&(e.left.parent=i),e.parent=i.parent,i.parent===zt?this.root=e:i.parent.left===i?i.parent.left=e:i.parent.right=e,e.left=i,i.parent=e,n2.call(this,i)}function H1(i){var e=i.left;i.left=e.right,e.right!==zt&&(e.right.parent=i),e.parent=i.parent,i.parent===zt?this.root=e:i.parent.right===i?i.parent.right=e:i.parent.left=e,e.right=i,i.parent=e,n2.call(this,i)}function n2(i){for(;i!==zt;){var e=i.left.max>i.right.max?i.left.max:i.right.max,t=i.interval.high;i.max=e>t?e:t;var r=i.left.min<i.right.min?i.left.min:i.right.min,n=i.interval.low;i.min=r<n?r:n,i=i.parent}}class $1{constructor(e,t,r){this.low=e,this.high=t,this.value=r}equals(e){return e?this===e?!0:this.low===e.low&&this.high===e.high:!1}compareTo(e){return this.low<e.low?-1:this.low>e.low?1:this.high<e.high?-1:this.high>e.high?1:0}overlaps(e){return this.low<=e.high&&e.low<=this.high}}function PO(i){this.parent=zt,this.left=zt,this.right=zt,this.interval=i,this.color=Sn}const Ac={packFeatures:function(i,e,t){var r,n;if(i){if(e=e||1e4,t||i.sort(function(m,v){return m.start-v.start}),i.length===0)return[];var o=[],s=0,a=0,l,c,h,d,u,f=2,p;for(r=i[0].start,n=i[i.length-1].start,p=Math.max(r,i[0].start),l=p,i.forEach(function(m){var v=Math.max(0,m.start-p);o[v]===void 0&&(o[v]=[]),o[v].push(m)}),c=0;s<i.length&&c<=e;){for(;l<=n;){for(d=void 0;!d&&l<=n;)h=l-p,o[h]===void 0?++l:d=o[h];if(!d)break;u=d.pop(),d.length===0&&(o[h]=void 0),u.row=c,l=u.end+f,++s}if(c++,l=p,s===a)break;a=s}}},findOverlapping:function(i,e,t){if(!i||i.length===0)return[];{const n=OO(i).findOverlapping(e,t);return n.length===0?[]:(i=[],n.forEach(function(o){const s=o.value,a=s.length;for(let l=0;l<a;l++){const c=s[l];if(c.start>t)break;c.end>e&&i.push(c)}}),i.sort(function(o,s){return o.start-s.start}),i)}}};function OO(i){const e=new LO,t=i.length,r=Math.max(10,Math.round(t/100));i.sort(function(n,o){return n.start===o.start?0:n.start>o.start?1:-1});for(let n=0;n<t;n+=r){const o=Math.min(t,n+r),s=i.slice(n,o),a=s[0].start;let l=a;s.forEach(function(c){l=Math.max(l,c.end)}),e.insert(a,l,s)}return e}function U1(i){if(i=i.replace(/^#/,""),i.length===3&&(i=i.split("").map(o=>o+o).join("")),i.length!==6)throw new Error("Invalid HEX color.");let e=parseInt(i,16),t=e>>16&255,r=e>>8&255,n=e&255;return`rgb(${t}, ${r}, ${n})`}const HO={licorice:"#000000",steel:"#6e6e6e",magnesium:"#b8b8b8",mercury:"#e8e8e8",cayenne:"#891100",mocha:"#894800",aspargus:"#888501",fern:"#458401",teal:"#008688",salmon:"#ff726e",tangerine:"#ff8802",cantaloupe:"#ffce6e",lemon:"#fffa03",lime:"#83f902",honeydew:"#cefa6e",ice:"#68fdff",aqua:"#008cff",blueberry:"#002eff",midnight:"#001888",grape:"#8931ff",lavender:"#d278ff",orchid:"#6e76ff",strawberry:"#ff2987",magenta:"#ff39ff",carnation:"#ff7fd3"},KC={cantaloupe:{r:255,g:206,b:110},honeydew:{r:206,g:250,b:110},spindrift:{r:104,g:251,b:208},sky:{r:106,g:207,b:255},lavender:{r:210,g:120,b:255},carnation:{r:255,g:127,b:211},licorice:{r:0,g:0,b:0},snow:{r:255,g:255,b:255},salmon:{r:255,g:114,b:110},banana:{r:255,g:251,b:109},flora:{r:104,g:249,b:110},ice:{r:104,g:253,b:255},orchid:{r:110,g:118,b:255},bubblegum:{r:255,g:122,b:255},lead:{r:30,g:30,b:30},mercury:{r:232,g:232,b:232},tangerine:{r:255,g:136,b:2},lime:{r:131,g:249,b:2},sea_foam:{r:3,g:249,b:135},aqua:{r:0,g:140,b:255},grape:{r:137,g:49,b:255},strawberry:{r:255,g:41,b:135},tungsten:{r:58,g:58,b:58},silver:{r:208,g:208,b:208},maraschino:{r:255,g:33,b:1},lemon:{r:255,g:250,b:3},spring:{r:5,g:248,b:2},turquoise:{r:0,g:253,b:255},blueberry:{r:0,g:46,b:255},magenta:{r:255,g:57,b:255},iron:{r:84,g:84,b:83},magnesium:{r:184,g:184,b:184},mocha:{r:137,g:72,b:0},fern:{r:69,g:132,b:1},moss:{r:1,g:132,b:72},ocean:{r:0,g:74,b:136},eggplant:{r:73,g:26,b:136},maroon:{r:137,g:22,b:72},steel:{r:110,g:110,b:110},aluminum:{r:160,g:159,b:160},cayenne:{r:137,g:17,b:0},aspargus:{r:136,g:133,b:1},clover:{r:2,g:132,b:1},teal:{r:0,g:134,b:136},midnight:{r:0,g:24,b:136},plum:{r:137,g:30,b:136},tin:{r:135,g:134,b:135},nickel:{r:136,g:135,b:135}};function Ti(i){const{r:e,g:t,b:r}=KC[i];return`rgb(${e},${t},${r})`}function $O(i,e){const{r:t,g:r,b:n}=KC[i];return`rgba(${t},${r},${n},${e})`}const au={Set1:["rgb(228,26,28)","rgb(55,126,184)","rgb(77,175,74)","rgb(166,86,40)","rgb(152,78,163)","rgb(255,127,0)","rgb(247,129,191)","rgb(153,153,153)","rgb(255,255,51)"],Dark2:["rgb(27,158,119)","rgb(217,95,2)","rgb(117,112,179)","rgb(231,41,138)","rgb(102,166,30)","rgb(230,171,2)","rgb(166,118,29)","rgb(102,102,102)"],Set2:["rgb(102, 194,165)","rgb(252,141,98)","rgb(141,160,203)","rgb(231,138,195)","rgb(166,216,84)","rgb(255,217,47)","rgb(229,196,148)","rgb(179,179,179)"],Set3:["rgb(141,211,199)","rgb(255,255,179)","rgb(190,186,218)","rgb(251,128,114)","rgb(128,177,211)","rgb(253,180,98)","rgb(179,222,105)","rgb(252,205,229)","rgb(217,217,217)","rgb(188,128,189)","rgb(204,235,197)","rgb(255,237,111)"],Pastel1:["rgb(251,180,174)","rgb(179,205,227)","rgb(204,235,197)","rgb(222,203,228)","rgb(254,217,166)","rgb(255,255,204)","rgb(229,216,189)","rgb(253,218,236)"],Pastel2:["rgb(173,226,207)","rgb(253,205,172)","rgb(203,213,232)","rgb(244,202,228)","rgb(230,245,201)","rgb(255,242,174)","rgb(243,225,206)"],Accent:["rgb(127,201,127)","rgb(190,174,212)","rgb(253,192,134)","rgb(255,255,153)","rgb(56,108,176)","rgb(240,2,127)","rgb(191,91,23)"]};class Ba{constructor(e){this.colors=au[e],Array.isArray(this.colors)||(this.colors=[]),this.colorTable=new Map,this.nextIdx=0,this.colorGenerator=new Zc}getColor(e){return this.colorTable.has(e)||(this.nextIdx<this.colors.length?this.colorTable.set(e,this.colors[this.nextIdx]):this.colorTable.set(e,this.colorGenerator.get()),this.nextIdx++),this.colorTable.get(e)}}class To{constructor(e){this.colorTable=e||{},this.nextIdx=0,this.colorGenerator=new Zc}getColor(e){if(!this.colorTable.hasOwnProperty(e)){if(this.colorTable.hasOwnProperty("*"))return this.colorTable["*"];this.colorTable[e]=this.colorGenerator.get()}return this.colorTable[e]}}function Zc(){this.hue=Math.random(),this.goldenRatio=.618033988749895,this.hexwidth=2}Zc.prototype.hsvToRgb=function(i,e,t){var r=Math.floor(i*6),n=i*6-r,o=t*(1-e),s=t*(1-n*e),a=t*(1-(1-n)*e),l=255,c=255,h=255;switch(r){case 0:l=t,c=a,h=o;break;case 1:l=s,c=t,h=o;break;case 2:l=o,c=t,h=a;break;case 3:l=o,c=s,h=t;break;case 4:l=a,c=o,h=t;break;case 5:l=t,c=o,h=s;break}return[Math.floor(l*256),Math.floor(c*256),Math.floor(h*256)]};Zc.prototype.padHex=function(i){return i.length>this.hexwidth?i:new Array(this.hexwidth-i.length+1).join("0")+i};Zc.prototype.get=function(i,e){this.hue+=this.goldenRatio,this.hue%=1,typeof i!="number"&&(i=.5),typeof e!="number"&&(e=.95);var t=this.hsvToRgb(this.hue,i,e);return"#"+this.padHex(t[0].toString(16))+this.padHex(t[1].toString(16))+this.padHex(t[2].toString(16))};function V1(i,e,t,r){return i=wt.clamp(i,0,255),e=wt.clamp(e,0,255),t=wt.clamp(t,0,255),r=wt.clamp(r,0,1),`rgba(${i}, ${e}, ${t}, ${r})`}function UO(i,e,t){return i=wt.clamp(i,0,255),e=wt.clamp(e,0,255),t=wt.clamp(t,0,255),`rgb(${i}, ${e}, ${t})`}function VO(i,e){i=wt.clamp(i,0,255),e=wt.clamp(e,0,255);const t=Math.round(Math.random()*(e-i)+i).toString(10),r=Math.round(Math.random()*(e-i)+i).toString(10),n=Math.round(Math.random()*(e-i)+i).toString(10);return`rgb(${t},${r},${n})`}function jO(i){if(i.startsWith("rgba(")){const[e,t]=i.split("("),[r]=t.split(")");return r.split(",").map((n,o)=>o<3?parseInt(n):parseFloat(n))}else return}function ia(i){if(i.startsWith("rgb(")){const[e,t]=i.split("("),[r]=t.split(")");return r.split(",").map(n=>parseInt(n))}else return}const j1=.005;function qO(i,e,t){if(t<j1)return i;if(t>1-j1)return e;{let r,n,o,s,a,l;t<.5?(t/=.5,[r,n,o]=ia(i),[s,a,l]=ia(Ti("snow"))):(t=(t-.5)/.5,[r,n,o]=ia(Ti("snow")),[s,a,l]=ia(e));const[c,h,d]=[Math.floor(wt.lerp(r,s,t)),Math.floor(wt.lerp(n,a,t)),Math.floor(wt.lerp(o,l,t))];return UO(c,h,d)}}function vd(i){const e=new Set(["boolean","number","string","symbol"]),t=typeof i;return i!==void 0&&(e.has(t)||i.substring||i.toFixed)}function Ke(i,e){var t={oauthToken:i.oauthToken,headers:i.headers,withCredentials:i.withCredentials,filename:i.filename};return Object.assign(t,e)}const kc=function(i){var e,t;if(i&&i.length>0){e=Number.MAX_VALUE,t=-Number.MAX_VALUE;for(let r of i)Number.isNaN(r.value)||(e=Math.min(e,r.value),t=Math.max(t,r.value));t>0&&(e=Math.min(0,e)),t<0&&(t=0)}else e=0,t=100;return{min:e,max:t}},YC=function(i,e,t){let r=e.start,n=e.end;if(n===void 0)r-=t/2,n=r+t,n>i?(n=i,r=n-t):r<0&&(r=0,n=t);else if(n-r<t){const o=(n+r)/2;o-t/2<0?(r=0,n=r+t):o+t/2>i?(n=i,r=n-t):(r=o-t/2,n=r+t)}e.start=Math.ceil(r),e.end=Math.floor(n)};/*!
1996
+ `)])])])]),AD=Object.assign(Object.assign({},dt.props),{value:[String,Number],defaultValue:[String,Number],trigger:{type:String,default:"click"},type:{type:String,default:"bar"},closable:Boolean,justifyContent:String,size:{type:String,default:"medium"},placement:{type:String,default:"top"},tabStyle:[String,Object],tabClass:String,addTabStyle:[String,Object],addTabClass:String,barWidth:Number,paneClass:String,paneStyle:[String,Object],paneWrapperClass:String,paneWrapperStyle:[String,Object],addable:[Boolean,Object],tabsPadding:{type:Number,default:0},animated:Boolean,onBeforeLeave:Function,onAdd:Function,"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array],onClose:[Function,Array],labelSize:String,activeName:[String,Number],onActiveNameChange:[Function,Array]}),kD=Te({name:"Tabs",props:AD,setup(i,{slots:e}){var t,r,n,o;const{mergedClsPrefixRef:s,inlineThemeDisabled:a}=bi(i),l=dt("Tabs","-tabs",xD,dD,i,s),c=ce(null),h=ce(null),d=ce(null),u=ce(null),f=ce(null),p=ce(null),m=ce(!0),v=ce(!0),g=Vd(i,["labelSize","size"]),b=Vd(i,["activeName","value"]),w=ce((r=(t=b.value)!==null&&t!==void 0?t:i.defaultValue)!==null&&r!==void 0?r:e.default?(o=(n=ua(e.default())[0])===null||n===void 0?void 0:n.props)===null||o===void 0?void 0:o.name:null),F=un(b,w),k={id:0},I=be(()=>{if(!(!i.justifyContent||i.type==="card"))return{display:"flex",justifyContent:i.justifyContent}});ft(F,()=>{k.id=0,S(),_()});function C(){var K;const{value:Q}=F;return Q===null?null:(K=c.value)===null||K===void 0?void 0:K.querySelector(`[data-name="${Q}"]`)}function A(K){if(i.type==="card")return;const{value:Q}=h;if(!Q)return;const ae=Q.style.opacity==="0";if(K){const Z=`${s.value}-tabs-bar--disabled`,{barWidth:W,placement:te}=i;if(K.dataset.disabled==="true"?Q.classList.add(Z):Q.classList.remove(Z),["top","bottom"].includes(te)){if(y(["top","maxHeight","height"]),typeof W=="number"&&K.offsetWidth>=W){const we=Math.floor((K.offsetWidth-W)/2)+K.offsetLeft;Q.style.left=`${we}px`,Q.style.maxWidth=`${W}px`}else Q.style.left=`${K.offsetLeft}px`,Q.style.maxWidth=`${K.offsetWidth}px`;Q.style.width="8192px",ae&&(Q.style.transition="none"),Q.offsetWidth,ae&&(Q.style.transition="",Q.style.opacity="1")}else{if(y(["left","maxWidth","width"]),typeof W=="number"&&K.offsetHeight>=W){const we=Math.floor((K.offsetHeight-W)/2)+K.offsetTop;Q.style.top=`${we}px`,Q.style.maxHeight=`${W}px`}else Q.style.top=`${K.offsetTop}px`,Q.style.maxHeight=`${K.offsetHeight}px`;Q.style.height="8192px",ae&&(Q.style.transition="none"),Q.offsetHeight,ae&&(Q.style.transition="",Q.style.opacity="1")}}}function E(){if(i.type==="card")return;const{value:K}=h;K&&(K.style.opacity="0")}function y(K){const{value:Q}=h;if(Q)for(const ae of K)Q.style[ae]=""}function S(){if(i.type==="card")return;const K=C();K?A(K):E()}function _(){var K;const Q=(K=f.value)===null||K===void 0?void 0:K.$el;if(!Q)return;const ae=C();if(!ae)return;const{scrollLeft:Z,offsetWidth:W}=Q,{offsetLeft:te,offsetWidth:we}=ae;Z>te?Q.scrollTo({top:0,left:te,behavior:"smooth"}):te+we>Z+W&&Q.scrollTo({top:0,left:te+we-W,behavior:"smooth"})}const M=ce(null);let R=0,T=null;function z(K){const Q=M.value;if(Q){R=K.getBoundingClientRect().height;const ae=`${R}px`,Z=()=>{Q.style.height=ae,Q.style.maxHeight=ae};T?(Z(),T(),T=null):T=Z}}function L(K){const Q=M.value;if(Q){const ae=K.getBoundingClientRect().height,Z=()=>{document.body.offsetHeight,Q.style.maxHeight=`${ae}px`,Q.style.height=`${Math.max(R,ae)}px`};T?(T(),T=null,Z()):T=Z}}function U(){const K=M.value;if(K){K.style.maxHeight="",K.style.height="";const{paneWrapperStyle:Q}=i;if(typeof Q=="string")K.style.cssText=Q;else if(Q){const{maxHeight:ae,height:Z}=Q;ae!==void 0&&(K.style.maxHeight=ae),Z!==void 0&&(K.style.height=Z)}}}const B={value:[]},x=ce("next");function P(K){const Q=F.value;let ae="next";for(const Z of B.value){if(Z===Q)break;if(Z===K){ae="prev";break}}x.value=ae,O(K)}function O(K){const{onActiveNameChange:Q,onUpdateValue:ae,"onUpdate:value":Z}=i;Q&&je(Q,K),ae&&je(ae,K),Z&&je(Z,K),w.value=K}function N(K){const{onClose:Q}=i;Q&&je(Q,K)}function D(){const{value:K}=h;if(!K)return;const Q="transition-disabled";K.classList.add(Q),S(),K.classList.remove(Q)}const $=ce(null);function j({transitionDisabled:K}){const Q=c.value;if(!Q)return;K&&Q.classList.add("transition-disabled");const ae=C();ae&&$.value&&($.value.style.width=`${ae.offsetWidth}px`,$.value.style.height=`${ae.offsetHeight}px`,$.value.style.transform=`translateX(${ae.offsetLeft-Oi(getComputedStyle(Q).paddingLeft)}px)`,K&&$.value.offsetWidth),K&&Q.classList.remove("transition-disabled")}ft([F],()=>{i.type==="segment"&&Ci(()=>{j({transitionDisabled:!1})})}),xi(()=>{i.type==="segment"&&j({transitionDisabled:!0})});let X=0;function G(K){var Q;if(K.contentRect.width===0&&K.contentRect.height===0||X===K.contentRect.width)return;X=K.contentRect.width;const{type:ae}=i;if((ae==="line"||ae==="bar")&&D(),ae!=="segment"){const{placement:Z}=i;ee((Z==="top"||Z==="bottom"?(Q=f.value)===null||Q===void 0?void 0:Q.$el:p.value)||null)}}const re=Jf(G,64);ft([()=>i.justifyContent,()=>i.size],()=>{Ci(()=>{const{type:K}=i;(K==="line"||K==="bar")&&D()})});const fe=ce(!1);function pe(K){var Q;const{target:ae,contentRect:{width:Z,height:W}}=K,te=ae.parentElement.parentElement.offsetWidth,we=ae.parentElement.parentElement.offsetHeight,{placement:Se}=i;if(!fe.value)Se==="top"||Se==="bottom"?te<Z&&(fe.value=!0):we<W&&(fe.value=!0);else{const{value:Me}=u;if(!Me)return;Se==="top"||Se==="bottom"?te-Z>Me.$el.offsetWidth&&(fe.value=!1):we-W>Me.$el.offsetHeight&&(fe.value=!1)}ee(((Q=f.value)===null||Q===void 0?void 0:Q.$el)||null)}const V=Jf(pe,64);function q(){const{onAdd:K}=i;K&&K(),Ci(()=>{const Q=C(),{value:ae}=f;!Q||!ae||ae.scrollTo({left:Q.offsetLeft,top:0,behavior:"smooth"})})}function ee(K){if(!K)return;const{placement:Q}=i;if(Q==="top"||Q==="bottom"){const{scrollLeft:ae,scrollWidth:Z,offsetWidth:W}=K;m.value=ae<=0,v.value=ae+W>=Z}else{const{scrollTop:ae,scrollHeight:Z,offsetHeight:W}=K;m.value=ae<=0,v.value=ae+W>=Z}}const ue=Jf(K=>{ee(K.target)},64);Zi(G0,{triggerRef:Qe(i,"trigger"),tabStyleRef:Qe(i,"tabStyle"),tabClassRef:Qe(i,"tabClass"),addTabStyleRef:Qe(i,"addTabStyle"),addTabClassRef:Qe(i,"addTabClass"),paneClassRef:Qe(i,"paneClass"),paneStyleRef:Qe(i,"paneStyle"),mergedClsPrefixRef:s,typeRef:Qe(i,"type"),closableRef:Qe(i,"closable"),valueRef:F,tabChangeIdRef:k,onBeforeLeaveRef:Qe(i,"onBeforeLeave"),activateTab:P,handleClose:N,handleAdd:q}),B3(()=>{S(),_()}),Rr(()=>{const{value:K}=d;if(!K)return;const{value:Q}=s,ae=`${Q}-tabs-nav-scroll-wrapper--shadow-start`,Z=`${Q}-tabs-nav-scroll-wrapper--shadow-end`;m.value?K.classList.remove(ae):K.classList.add(ae),v.value?K.classList.remove(Z):K.classList.add(Z)});const de={syncBarPosition:()=>{S()}},J=()=>{j({transitionDisabled:!0})},Y=be(()=>{const{value:K}=g,{type:Q}=i,ae={card:"Card",bar:"Bar",line:"Line",segment:"Segment"}[Q],Z=`${K}${ae}`,{self:{barColor:W,closeIconColor:te,closeIconColorHover:we,closeIconColorPressed:Se,tabColor:Me,tabBorderColor:Je,paneTextColor:it,tabFontWeight:nt,tabBorderRadius:kt,tabFontWeightActive:Vt,colorSegment:Ct,fontWeightStrong:ye,tabColorSegment:ne,closeSize:ve,closeIconSize:Re,closeColorHover:De,closeColorPressed:$e,closeBorderRadius:Le,[ke("panePadding",K)]:ze,[ke("tabPadding",Z)]:at,[ke("tabPaddingVertical",Z)]:Ot,[ke("tabGap",Z)]:St,[ke("tabGap",`${Z}Vertical`)]:Di,[ke("tabTextColor",Q)]:wn,[ke("tabTextColorActive",Q)]:Or,[ke("tabTextColorHover",Q)]:Sr,[ke("tabTextColorDisabled",Q)]:Wn,[ke("tabFontSize",K)]:Qn},common:{cubicBezierEaseInOut:Kn}}=l.value;return{"--n-bezier":Kn,"--n-color-segment":Ct,"--n-bar-color":W,"--n-tab-font-size":Qn,"--n-tab-text-color":wn,"--n-tab-text-color-active":Or,"--n-tab-text-color-disabled":Wn,"--n-tab-text-color-hover":Sr,"--n-pane-text-color":it,"--n-tab-border-color":Je,"--n-tab-border-radius":kt,"--n-close-size":ve,"--n-close-icon-size":Re,"--n-close-color-hover":De,"--n-close-color-pressed":$e,"--n-close-border-radius":Le,"--n-close-icon-color":te,"--n-close-icon-color-hover":we,"--n-close-icon-color-pressed":Se,"--n-tab-color":Me,"--n-tab-font-weight":nt,"--n-tab-font-weight-active":Vt,"--n-tab-padding":at,"--n-tab-padding-vertical":Ot,"--n-tab-gap":St,"--n-tab-gap-vertical":Di,"--n-pane-padding-left":ir(ze,"left"),"--n-pane-padding-right":ir(ze,"right"),"--n-pane-padding-top":ir(ze,"top"),"--n-pane-padding-bottom":ir(ze,"bottom"),"--n-font-weight-strong":ye,"--n-tab-color-segment":ne}}),se=a?Ni("tabs",be(()=>`${g.value[0]}${i.type[0]}`),Y,i):void 0;return Object.assign({mergedClsPrefix:s,mergedValue:F,renderedNames:new Set,segmentCapsuleElRef:$,tabsPaneWrapperRef:M,tabsElRef:c,barElRef:h,addTabInstRef:u,xScrollInstRef:f,scrollWrapperElRef:d,addTabFixed:fe,tabWrapperStyle:I,handleNavResize:re,mergedSize:g,handleScroll:ue,handleTabsResize:V,cssVars:a?void 0:Y,themeClass:se==null?void 0:se.themeClass,animationDirection:x,renderNameListRef:B,yScrollElRef:p,handleSegmentResize:J,onAnimationBeforeLeave:z,onAnimationEnter:L,onAnimationAfterEnter:U,onRender:se==null?void 0:se.onRender},de)},render(){const{mergedClsPrefix:i,type:e,placement:t,addTabFixed:r,addable:n,mergedSize:o,renderNameListRef:s,onRender:a,paneWrapperClass:l,paneWrapperStyle:c,$slots:{default:h,prefix:d,suffix:u}}=this;a==null||a();const f=h?ua(h()).filter(k=>k.type.__TAB_PANE__===!0):[],p=h?ua(h()).filter(k=>k.type.__TAB__===!0):[],m=!p.length,v=e==="card",g=e==="segment",b=!v&&!g&&this.justifyContent;s.value=[];const w=()=>{const k=H("div",{style:this.tabWrapperStyle,class:`${i}-tabs-wrapper`},b?null:H("div",{class:`${i}-tabs-scroll-padding`,style:t==="top"||t==="bottom"?{width:`${this.tabsPadding}px`}:{height:`${this.tabsPadding}px`}}),m?f.map((I,C)=>(s.value.push(I.props.name),Ww(H(sm,Object.assign({},I.props,{internalCreatedByPane:!0,internalLeftPadded:C!==0&&(!b||b==="center"||b==="start"||b==="end")}),I.children?{default:I.children.tab}:void 0)))):p.map((I,C)=>(s.value.push(I.props.name),Ww(C!==0&&!b?Gw(I):I))),!r&&n&&v?qw(n,(m?f.length:p.length)!==0):null,b?null:H("div",{class:`${i}-tabs-scroll-padding`,style:{width:`${this.tabsPadding}px`}}));return H("div",{ref:"tabsElRef",class:`${i}-tabs-nav-scroll-content`},v&&n?H(yo,{onResize:this.handleTabsResize},{default:()=>k}):k,v?H("div",{class:`${i}-tabs-pad`}):null,v?null:H("div",{ref:"barElRef",class:`${i}-tabs-bar`}))},F=g?"top":t;return H("div",{class:[`${i}-tabs`,this.themeClass,`${i}-tabs--${e}-type`,`${i}-tabs--${o}-size`,b&&`${i}-tabs--flex`,`${i}-tabs--${F}`],style:this.cssVars},H("div",{class:[`${i}-tabs-nav--${e}-type`,`${i}-tabs-nav--${F}`,`${i}-tabs-nav`]},qt(d,k=>k&&H("div",{class:`${i}-tabs-nav__prefix`},k)),g?H(yo,{onResize:this.handleSegmentResize},{default:()=>H("div",{class:`${i}-tabs-rail`,ref:"tabsElRef"},H("div",{class:`${i}-tabs-capsule`,ref:"segmentCapsuleElRef"},H("div",{class:`${i}-tabs-wrapper`},H("div",{class:`${i}-tabs-tab`}))),m?f.map((k,I)=>(s.value.push(k.props.name),H(sm,Object.assign({},k.props,{internalCreatedByPane:!0,internalLeftPadded:I!==0}),k.children?{default:k.children.tab}:void 0))):p.map((k,I)=>(s.value.push(k.props.name),I===0?k:Gw(k))))}):H(yo,{onResize:this.handleNavResize},{default:()=>H("div",{class:`${i}-tabs-nav-scroll-wrapper`,ref:"scrollWrapperElRef"},["top","bottom"].includes(F)?H(z7,{ref:"xScrollInstRef",onScroll:this.handleScroll},{default:w}):H("div",{class:`${i}-tabs-nav-y-scroll`,onScroll:this.handleScroll,ref:"yScrollElRef"},w()))}),r&&n&&v?qw(n,!0):null,qt(u,k=>k&&H("div",{class:`${i}-tabs-nav__suffix`},k))),m&&(this.animated&&(F==="top"||F==="bottom")?H("div",{ref:"tabsPaneWrapperRef",style:c,class:[`${i}-tabs-pane-wrapper`,l]},jw(f,this.mergedValue,this.renderedNames,this.onAnimationBeforeLeave,this.onAnimationEnter,this.onAnimationAfterEnter,this.animationDirection)):jw(f,this.mergedValue,this.renderedNames)))}});function jw(i,e,t,r,n,o,s){const a=[];return i.forEach(l=>{const{name:c,displayDirective:h,"display-directive":d}=l.props,u=p=>h===p||d===p,f=e===c;if(l.key!==void 0&&(l.key=c),f||u("show")||u("show:lazy")&&t.has(c)){t.has(c)||t.add(c);const p=!u("if");a.push(p?zo(l,[[Ku,f]]):l)}}),s?H(f3,{name:`${s}-transition`,onBeforeLeave:r,onEnter:n,onAfterEnter:o},{default:()=>a}):a}function qw(i,e){return H(sm,{ref:"addTabInstRef",key:"__addable",name:"__addable",internalCreatedByPane:!0,internalAddable:!0,internalLeftPadded:e,disabled:typeof i=="object"&&i.disabled})}function Gw(i){const e=hn(i);return e.props?e.props.internalLeftPadded=!0:e.props={internalLeftPadded:!0},e}function Ww(i){return Array.isArray(i.dynamicProps)?i.dynamicProps.includes("internalLeftPadded")||i.dynamicProps.push("internalLeftPadded"):i.dynamicProps=["internalLeftPadded"],i}async function Z5(i,e,t){try{const{data:r}=await Ss().POST("/api/visualizations",{type:i,title:e,config:t});return r.id}catch(r){Ia(r)}}async function SD(i,e,t,r){try{if(e)await J5(e,t,r);else return await Z5(i,t,r)}catch(n){Ia(n)}}async function J5(i,e,t){try{await Ss().PUT(`/api/visualizations/${i}`,{title:e,config:t})}catch(r){Ia(r)}}function io(i){return String(i).toLowerCase()==="true"}async function ID(i,e={}){const t=Kc(i.settings,e.settings),r=i.specs,n=MD(i.tracks,e.tracks);return{plugin:i,settings:t,specs:r,tracks:n}}function ED(i,e){let t=e??i.value;return["float","integer"].includes(i.type)?t=Number(t):i.type==="boolean"&&(t=io(t)),t}function TD(i,e={}){var t,r,n;const o=e,s=(t=i.test_param)==null?void 0:t.name;if(!s)console.error(`[charts] Test parameter has no name: ${i.name}.`);else{const a=o[s]??((r=i.test_param)==null?void 0:r.value);for(const l of i.cases||[])l.value===a&&(o[s]=a,(n=l.inputs)!=null&&n.length&&Kc(l.inputs,o))}return o}function Kc(i,e){const t=e||{};return i==null||i.forEach(r=>{r.type==="conditional"?t[r.name]=TD(r,t[r.name]):t[r.name]=ED(r,t[r.name])}),t}function MD(i,e){const t=e||[];return i&&(t.length===0&&t.push({}),t.forEach((r,n)=>{t[n]=Kc(i,r)})),t}const ND={key:2,class:"border border-dotted border-green-600 rounded mt-2 p-2"},RD=Te({__name:"InputConditional",props:{datasetId:{},input:{},value:{}},emits:["update:value"],setup(i,{emit:e}){const t=i,r=e;if(!t.input.test_param)throw`The conditional '${t.input.name}' is missing a test parameter.`;if(!t.input.cases||t.input.cases.length===0)throw`The conditional '${t.input.name}' is missing cases.`;const n=t.input.test_param,o=n.name;o||console.error(`[charts] Test parameter has no name: ${t.input.name}.`);const s=be(()=>{const u={};for(const f of t.input.cases)u[f.value]=Kc(f.inputs),u[f.value][o]=f.value;return u}),a=be(()=>{const u={};for(const f of t.input.cases)u[f.value]=f.inputs;return u}),l=be({get(){var u;return String(((u=t.value)==null?void 0:u[o])??n.value??"")},set(u){const f=s.value[u]||{};r("update:value",{...f})}}),c=be({get(){return l.value==="true"},set(u){l.value=String(u)}}),h=be(()=>a.value[l.value]||[]);function d(u){const f={...t.value,...u,[o]:l.value};r("update:value",f)}return(u,f)=>(Be(),st(Pt,null,[He(n).type==="boolean"?(Be(),Mt(He(Y5),{key:0,value:c.value,"onUpdate:value":f[0]||(f[0]=p=>c.value=p)},null,8,["value"])):(Be(),Mt(He(cf),{key:1,value:l.value,"onUpdate:value":f[1]||(f[1]=p=>l.value=p),options:He(n).data},null,8,["value","options"])),h.value.length?(Be(),st("div",ND,[Ue(Q0,{"dataset-id":u.datasetId,inputs:h.value,values:u.value,"onUpdate:values":d},null,8,["dataset-id","inputs","values"])])):$i("",!0)],64))}}),BD=100;async function DD(i,e="",t="",r=BD){const n="q=deleted&qv=false&q=history_content_type&qv=dataset&q=visible&qv=true&",o=t?`q=extension-in&qv=${t}&`:"",s=e?`q=name-contains&qv=${e}&`:"";try{const{data:a}=await Ss().GET(`/api/histories/${i}/contents?v=dev&order=hid&${n}${o}${s}limit=${r}`);return a}catch(a){Ia(a)}}const Th=ce({});function eC(){async function i(e){return Th.value[e]||(Th.value[e]=Ss().GET(`/api/datasets/${e}`).catch(t=>{throw delete Th.value[e],t})),await Th.value[e]}return{getDataset:i}}const zD={key:0,class:"text-red-600 mb-1"},W0=Te({__name:"InputSelect",props:ka({loading:{type:Boolean,default:!1},options:{},optional:{type:Boolean,default:!1},placeholder:{default:"Select a value"},title:{default:"Please select a value."},sort:{type:Boolean,default:!1}},{value:{},valueModifiers:{}}),emits:ka(["search"],["update:value"]),setup(i,{emit:e}){const t=i,r=e,n=Vc(i,"value"),o=ce(null),s=ce({}),a=be(()=>{s.value={};const d=t.options.map(u=>{var f;return u.value&&(s.value[u.value.id]=u.value),{label:u.label,value:((f=u.value)==null?void 0:f.id)||"",disabled:u.disabled}});return n.value&&n.value.id&&!s.value[n.value.id]&&(s.value[n.value.id]=n.value,d.unshift({label:n.value.name||n.value.id,value:n.value.id,disabled:!1})),t.optional&&d.unshift({label:"-- Clear Selection --",value:"",disabled:!1}),t.sort&&d.sort((u,f)=>u.label.localeCompare(f.label)),d});function l(d){o.value=d,n.value=d?s.value[d]:null}function c(d){return H("div",{class:"my-1 whitespace-normal break-all"},[H(Nr,{class:"size-3 mr-1"},{default:()=>H(v3)}),d.label])}function h({option:d}){return H("div",{class:"z-[1] whitespace-nowrap text-ellipsis overflow-hidden"},d.label??"")}return ft(()=>n.value,d=>{o.value=(d==null?void 0:d.id)??null},{immediate:!0}),(d,u)=>(Be(),st("div",null,[!d.optional&&!n.value?(Be(),st("div",zD,[Ue(He(Nr),{class:"size-3 mr-1"},{default:pt(()=>[Ue(He(w3))]),_:1}),We("span",null,Fr(d.title),1)])):$i("",!0),Ue(He(cf),{filterable:"",placeholder:d.placeholder,loading:d.loading,"render-label":c,"render-tag":h,options:a.value,value:o.value,onSearch:u[0]||(u[0]=f=>r("search",f)),"onUpdate:value":l},null,8,["placeholder","loading","options","value"])]))}}),LD={key:0},PD={key:1},Qw=100,OD=Te({__name:"InputData",props:ka({datasetId:{},extension:{},optional:{type:Boolean}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(i){const{getDataset:e}=eC(),t=i,r=ce([]),n=Vc(i,"value"),o=ce(!1);async function s(a){if(t.datasetId){o.value=!0;try{const{data:l}=await e(t.datasetId),c=await DD(l.history_id,a,t.extension,Qw);if(c&&c.length>0){const h=c.map(d=>({label:`${d.hid}: ${d.name}`,value:{id:d.id,extension:d.extension,hid:d.hid,name:d.name}}));c.length>=Qw&&h.push({label:"...filter for more",value:null,disabled:!0}),r.value=h}}catch(l){console.debug("[charts] Failed to request datasets.",l)}finally{o.value=!1}}else console.debug("[charts] Data selector disabled, since `datasetId` is unavailable.")}return s(),(a,l)=>a.datasetId?(Be(),st("div",LD,[Ue(W0,{value:n.value,"onUpdate:value":l[0]||(l[0]=c=>n.value=c),loading:o.value,options:r.value,optional:a.optional,placeholder:"Select a dataset",title:"Please select a dataset.",onSearch:s},null,8,["value","loading","options","optional"])])):(Be(),st("div",PD,"Selection deferred."))}});function HD(i,e,t,r){const n=[];e&&n.push({label:"Column: Default",value:"auto"});const o=i.metadata_column_types;for(const s in o)(r&&["int","float"].includes(o[s])||t&&o[s]==="str"||!r&&!t)&&n.push({label:"Column: "+(parseInt(s)+1),value:s});return n}const $D=Te({__name:"InputDataColumn",props:ka({datasetId:{},isAuto:{type:Boolean},isText:{type:Boolean},isNumber:{type:Boolean}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(i){const{getDataset:e}=eC(),t=i,r=ce([]),n=Vc(i,"value");async function o(){if(t.datasetId)try{const{data:a}=await e(t.datasetId),l=HD(a,t.isAuto,t.isText,t.isNumber);r.value=l,s()}catch(a){console.debug("[charts] Failed to handle dataset columns.",a)}else console.debug("[charts] Data column selector disabled, since `datasetId` is unavailable.")}function s(){r.value.length>0&&n.value===null&&(n.value=r.value[0].value)}return o(),ft(()=>n.value,()=>s()),(a,l)=>a.datasetId?(Be(),Mt(He(cf),{key:0,value:n.value,"onUpdate:value":l[0]||(l[0]=c=>n.value=c),options:r.value},null,8,["value","options"])):(Be(),Mt(He(Ma),{key:1,value:n.value,"onUpdate:value":l[1]||(l[1]=c=>n.value=c)},null,8,["value"]))}}),UD=Te({__name:"InputDataJson",props:ka({datasetId:{},optional:{type:Boolean},placeholder:{},title:{},url:{}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(i){const e=i,t=ce([]),r=Vc(i,"value"),n=ce(!1),{getDataJson:o}=m3();async function s(){n.value=!0;try{console.debug("[charts] Requesting data json from:",e.url);const a=await o(e.url);a.length===0?console.debug("[charts] No entries found in data json."):t.value=a}catch(a){console.debug("[charts] Failed to request data json.",a)}finally{n.value=!1}}return s(),(a,l)=>(Be(),Mt(W0,{value:r.value,"onUpdate:value":l[0]||(l[0]=c=>r.value=c),loading:n.value,options:t.value,optional:e.optional,placeholder:e.placeholder,title:e.title},null,8,["value","loading","options","optional","placeholder","title"]))}}),VD=Te({__name:"InputDataTable",props:ka({datasetId:{},optional:{type:Boolean},placeholder:{},tables:{},title:{}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(i){const e=b3(),t=i,r=ce([]),n=Vc(i,"value"),o=ce(!1);async function s(){var a;o.value=!0;const l=[],c=new Set;if(t.tables&&t.tables.length>0)for(const h of t.tables)try{const d=await e.getDataTable(h);for(const u of d){const f=(a=u==null?void 0:u.value)==null?void 0:a.id;f&&!c.has(f)&&(c.add(f),l.push(u))}}catch(d){console.debug("[charts] Failed to request data table.",d)}r.value=l,o.value=!1}return s(),(a,l)=>(Be(),Mt(W0,{value:n.value,"onUpdate:value":l[0]||(l[0]=c=>n.value=c),loading:o.value,options:r.value,optional:a.optional,placeholder:a.placeholder,sort:!0,title:a.title},null,8,["value","loading","options","optional","placeholder","title"]))}}),jD={class:"select-none"},qD={class:"font-bold mb-1"},GD={key:0,class:"text-xs mb-1"},WD={key:7},Kw=.01,Q0=Te({__name:"InputForm",props:{datasetId:{},inputs:{},values:{}},emits:["update:values"],setup(i,{emit:e}){const t=i,r=e,n=ce(o());function o(){const a={...t.values};return t.inputs.forEach(l=>{a[l.name]===void 0&&(a[l.name]=null)}),a}function s(){r("update:values",n.value)}return ft(()=>t.values,()=>{n.value=o()}),(a,l)=>(Be(),st("div",jD,[(Be(!0),st(Pt,null,B4(a.inputs,(c,h)=>(Be(),st("div",{key:h,class:Uc(h<a.inputs.length-1?"pb-2":"")},[We("div",qD,Fr(c.label||c.name),1),c.help?(Be(),st("div",GD,Fr(c.help),1)):$i("",!0),We("div",null,[c.type==="boolean"?(Be(),Mt(He(Y5),{key:0,value:n.value[c.name],"onUpdate:value":[d=>n.value[c.name]=d,s]},null,8,["value","onUpdate:value"])):c.type==="color"?(Be(),Mt(He(UB),{key:1,value:n.value[c.name],"onUpdate:value":[d=>n.value[c.name]=d,s],modes:["hex"],"show-alpha":!1},null,8,["value","onUpdate:value"])):c.type==="conditional"?(Be(),Mt(RD,{key:2,value:n.value[c.name],"onUpdate:value":[d=>n.value[c.name]=d,s],"dataset-id":a.datasetId,input:c},null,8,["value","onUpdate:value","dataset-id","input"])):c.type==="data"?(Be(),Mt(OD,{key:3,value:n.value[c.name],"onUpdate:value":[d=>n.value[c.name]=d,s],"dataset-id":a.datasetId,extension:c.extension,optional:He(io)(c.optional)},null,8,["value","onUpdate:value","dataset-id","extension","optional"])):c.type==="data_column"?(Be(),Mt($D,{key:4,value:n.value[c.name],"onUpdate:value":[d=>n.value[c.name]=d,s],"dataset-id":a.datasetId,"is-auto":He(io)(c.is_auto),"is-text":He(io)(c.is_text),"is-number":He(io)(c.is_number)},null,8,["value","onUpdate:value","dataset-id","is-auto","is-text","is-number"])):c.type==="data_json"?(Be(),Mt(UD,{key:5,value:n.value[c.name],"onUpdate:value":[d=>n.value[c.name]=d,s],optional:He(io)(c.optional),url:c.url},null,8,["value","onUpdate:value","optional","url"])):c.type==="data_table"?(Be(),Mt(VD,{key:6,value:n.value[c.name],"onUpdate:value":[d=>n.value[c.name]=d,s],optional:He(io)(c.optional),tables:c.tables},null,8,["value","onUpdate:value","optional","tables"])):["float","integer"].includes(c.type)?(Be(),st("div",WD,[c.min!==void 0&&c.max!==void 0?(Be(),Mt(He(FD),{key:0,class:"mb-2",value:n.value[c.name],"onUpdate:value":[d=>n.value[c.name]=d,s],min:Number(c.min),max:Number(c.max),step:c.type==="float"?Kw:1},null,8,["value","onUpdate:value","min","max","step"])):$i("",!0),Ue(He(mD),{value:n.value[c.name],"onUpdate:value":[d=>n.value[c.name]=d,s],size:"small",min:Number(c.min),max:Number(c.max),step:c.type==="float"?Kw:1},null,8,["value","onUpdate:value","min","max","step"])])):c.type==="select"?(Be(),Mt(He(cf),{key:8,value:n.value[c.name],"onUpdate:value":[d=>n.value[c.name]=d,s],filterable:He(io)(c.filterable),options:c.data},null,8,["value","onUpdate:value","filterable","options"])):c.type==="textarea"?(Be(),Mt(He(Ma),{key:9,value:n.value[c.name],"onUpdate:value":[d=>n.value[c.name]=d,s],rows:Number(c.rows),type:"textarea"},null,8,["value","onUpdate:value","rows"])):(Be(),Mt(He(Ma),{key:10,value:n.value[c.name],"onUpdate:value":[d=>n.value[c.name]=d,()=>!c.deferred&&s()],onChange:()=>c.deferred&&s()},null,8,["value","onUpdate:value","onChange"]))])],2))),128))]))}}),QD={class:"border border-dotted border-green-600 rounded p-2"},KD={class:"mx-1"},YD=Te({__name:"InputRepeats",props:{datasetId:{},inputs:{},valuesArray:{}},emits:["update:values-array"],setup(i,{emit:e}){const t=i,r=e,n=be(()=>Kc(t.inputs));function o(){const l=[...t.valuesArray];l.push(n.value),r("update:values-array",l)}function s(l){const c=[...t.valuesArray];c.splice(l,1),r("update:values-array",c)}function a(l,c){const h=[...t.valuesArray];h[l]={...c},r("update:values-array",h)}return(l,c)=>(Be(),st(Pt,null,[Ue(He(en),{size:"tiny",type:"primary",onClick:o},{default:pt(()=>[Ue(He(Nr),null,{default:pt(()=>[Ue(He(v3))]),_:1}),c[0]||(c[0]=We("span",{class:"mx-1"},"Add New Track",-1))]),_:1}),(Be(!0),st(Pt,null,B4([...l.valuesArray].slice().reverse(),(h,d)=>(Be(),st("div",{key:l.valuesArray.length-1-d,class:"py-2"},[We("div",QD,[Ue(Q0,{"dataset-id":l.datasetId,inputs:l.inputs,values:h,"onUpdate:values":u=>a(l.valuesArray.length-1-d,u)},null,8,["dataset-id","inputs","values","onUpdate:values"]),Ue(He(en),{class:"w-full mt-2","data-description":"remove repeat block",disabled:l.valuesArray.length<=1,size:"tiny",type:"primary",onClick:u=>s(l.valuesArray.length-1-d)},{default:pt(()=>[Ue(He(Nr),null,{default:pt(()=>[Ue(He(nk))]),_:1}),We("span",KD,"Remove Track "+Fr(l.valuesArray.length-d),1)]),_:2},1032,["disabled","onClick"])])]))),128))],64))}}),XD=2e3,ZD=Te({__name:"AlertNotify",props:{message:{},messageType:{default:"info"}},emits:["timeout"],setup(i,{emit:e}){const t=i,r=e;let n=null;return ft(()=>t.message,()=>{n&&clearTimeout(n),n=setTimeout(()=>r("timeout"),XD)}),(o,s)=>o.message?(Be(),Mt(He(q5),{key:0,type:o.messageType},{default:pt(()=>[bs(Fr(o.message),1)]),_:1},8,["type"])):$i("",!0)}}),JD={class:"text-xs"},ez=Te({__name:"ApiStatus",setup(i){const e=ce("...");async function t(){try{const{data:r}=await Ss().GET("/api/version");e.value=r.version_major}catch{console.debug("[charts] Unable to connect to Galaxy. Verify Galaxy is running and refer to docs."),e.value=""}}return t(),(r,n)=>e.value?(Be(),Mt(He(fc),{key:0,class:"mx-1",trigger:"hover",to:!1},{trigger:pt(()=>[Ue(He(Nr),{class:"mx-1"},{default:pt(()=>[Ue(He(J9),{class:"text-green-600"})]),_:1})]),default:pt(()=>[We("span",JD,"Connected to Galaxy Version "+Fr(e.value)+".",1)]),_:1})):(Be(),Mt(He(fc),{key:1,class:"mx-1",trigger:"hover",to:!1},{trigger:pt(()=>[Ue(He(Nr),{class:"mx-1"},{default:pt(()=>[Ue(He(w3),{class:"text-red-600"})]),_:1})]),default:pt(()=>[n[0]||(n[0]=We("span",{class:"text-xs"},"Galaxy is not accessible!",-1))]),_:1}))}}),tz=(i,e)=>{const t=i.__vccOpts||i;for(const[r,n]of e)t[r]=n;return t},iz={},rz={xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 100 100",class:"size-14"};function nz(i,e){return Be(),st("svg",rz,e[0]||(e[0]=[We("circle",{cx:"50",cy:"50",r:"45",stroke:"#E30A17","stroke-width":"5"},null,-1),We("path",{d:"M 50,5 A 45,45 0 0,1 95,50 L 50,50 Z",fill:"#E30A17"},null,-1)]))}const oz=tz(iz,[["render",nz]]),sz={class:"overflow-auto select-none bg-white z-10 p-2"},az={key:0,class:"flex"},lz={class:"flex-1 font-thin text-lg mt-1"},cz={class:"bg-sky-50 text-sky-900 rounded my-2 p-2"},hz={class:"flex"},dz={class:"flex justify-center center-items"},uz={class:"m-2"},fz=["src"],pz={class:"overflow-hidden break-words p-1"},gz={class:"font-bold"},mz=["innerHTML"],bz=Te({__name:"SidePanel",props:{datasetId:{},description:{},logoUrl:{},html:{},name:{},settingInputs:{},settingValues:{},trackInputs:{},trackValues:{},visualizationId:{},visualizationTitle:{}},emits:["update:tracks","update:settings","update:visualization-id","update:visualization-title","toggle"],setup(i,{emit:e}){const t=i,r=e,n=ce(""),o=ce("info"),s=be(()=>t.settingInputs.length===0||t.trackInputs.length===0);async function a(){try{if(t.visualizationId)await J5(t.visualizationId,t.visualizationTitle,{dataset_id:t.datasetId,settings:t.settingValues,tracks:t.trackValues}),n.value="Successfully saved.",o.value="success";else{const d=await Z5(t.name,t.visualizationTitle,{dataset_id:t.datasetId,settings:t.settingValues,tracks:t.trackValues});d?(n.value="Successfully created.",o.value="success",r("update:visualization-id",d)):(n.value="Something went wrong.",o.value="error")}}catch(d){n.value=p3(d),o.value="error"}}function l(d){r("update:settings",d)}function c(d){r("update:tracks",d)}function h(d){r("update:visualization-title",d)}return(d,u)=>(Be(),st("div",sz,[d.datasetId?(Be(),st("div",az,[We("div",lz,[u[2]||(u[2]=We("span",null,"Charts",-1)),Ue(ez)]),We("div",null,[Ue(He(fc),{trigger:"hover",to:!1},{trigger:pt(()=>[Ue(He(en),{strong:"",secondary:"",circle:"",class:"bg-sky-100 mr-2","data-description":"sidepanel save button",onClick:a},{icon:pt(()=>[Ue(He(Nr),null,{default:pt(()=>[Ue(He(ik))]),_:1})]),_:1})]),default:pt(()=>[u[3]||(u[3]=We("span",{class:"text-xs"},"Save",-1))]),_:1}),Ue(He(fc),{trigger:"hover",to:!1},{trigger:pt(()=>[Ue(He(en),{strong:"",secondary:"",circle:"",class:"bg-sky-100",onClick:u[0]||(u[0]=f=>r("toggle"))},{icon:pt(()=>[Ue(He(Nr),null,{default:pt(()=>[Ue(He(tk))]),_:1})]),_:1})]),default:pt(()=>[u[4]||(u[4]=We("span",{class:"text-xs"},"Collapse",-1))]),_:1})])])):$i("",!0),Ue(ZD,{message:n.value,"message-type":o.value,onTimeout:u[1]||(u[1]=f=>n.value=""),class:"mt-2"},null,8,["message","message-type"]),We("div",cz,[We("div",hz,[We("div",dz,[We("div",uz,[t.logoUrl?(Be(),st("img",{key:0,src:t.logoUrl,class:"min-w-14 max-w-14 object-contain"},null,8,fz)):(Be(),Mt(oz,{key:1}))])]),We("div",pz,[We("span",gz,Fr(d.html),1),We("div",{class:"text-xs",innerHTML:d.description},null,8,mz)])])]),We("div",null,[u[5]||(u[5]=We("div",{class:"font-bold"},"Title",-1)),u[6]||(u[6]=We("div",{class:"text-xs py-1"},"Specify a visualization title.",-1)),Ue(He(Ma),{value:d.visualizationTitle,onInput:h},null,8,["value"])]),Ue(He(kD),{type:"line",animated:"",class:"mt-2","pane-wrapper-class":"!overflow-visible","tab-class":s.value?"!hidden":""},{default:pt(()=>[d.trackInputs.length>0?(Be(),Mt(He(Vw),{key:0,name:"tracks"},{tab:pt(()=>[Ue(He(Nr),null,{default:pt(()=>[Ue(He(rk))]),_:1}),u[7]||(u[7]=We("span",{class:"mx-1"},"Tracks",-1))]),default:pt(()=>[Ue(YD,{"dataset-id":d.datasetId,inputs:d.trackInputs,"values-array":d.trackValues,"onUpdate:valuesArray":c},null,8,["dataset-id","inputs","values-array"])]),_:1})):$i("",!0),d.settingInputs.length>0?(Be(),Mt(He(Vw),{key:1,name:"settings"},{tab:pt(()=>[Ue(He(Nr),null,{default:pt(()=>[Ue(He(X9))]),_:1}),u[8]||(u[8]=We("span",{class:"mx-1"},"Settings",-1))]),default:pt(()=>[Ue(Q0,{"dataset-id":d.datasetId,inputs:d.settingInputs,values:d.settingValues,"onUpdate:values":l},null,8,["dataset-id","inputs","values"])]),_:1})):$i("",!0)]),_:1},8,["tab-class"])]))}});function wz(i,e="app"){if(i===void 0){const a=document.getElementById(e);if(a)i=JSON.parse((a==null?void 0:a.dataset.incoming)||"{}");else throw new Error(`Container element '${e}' not found.`)}const t=(i==null?void 0:i.root)??"/",r=(i==null?void 0:i.visualization_config)??{},n=(i==null?void 0:i.visualization_id)??null,o=(i==null?void 0:i.visualization_plugin)??{},s=(i==null?void 0:i.visualization_title)??"Unnamed Visualization";return{root:t,visualizationConfig:r,visualizationId:n,visualizationPlugin:o,visualizationTitle:s}}const vz={key:1,class:"m-2"},Fz={key:0,class:"relative max-w-full h-screen overflow-hidden"},yz=Te({__name:"GalaxyCharts",props:{container:{},credentials:{},incoming:{}},setup(i){const e=i,{root:t,visualizationConfig:r,visualizationId:n,visualizationPlugin:o,visualizationTitle:s}=wz(e.incoming,e.container),a=ce(!0),l=ce(""),c=ce(""),h=ce(""),d=ce(!0),u=ce(""),f=ce(""),p=ce([]),m=ce({}),v=ce({}),g=ce([]),b=ce([]),w=ce(n),F=ce(s),k=g3();k.setCredentials(e.credentials||"include"),k.setRoot(t||"/"),ID(o,r).then(({plugin:B,settings:x,specs:P,tracks:O})=>{l.value=B.description||"",h.value=B.html||"",d.value=!1,u.value=B.logo||"",f.value=B.name||"",p.value=B.settings||[],m.value=x,v.value=P||{},g.value=B.tracks||[],b.value=O});const I=be(()=>r.dataset_id||""),C=be(()=>I.value?(console.debug(`[charts] Built dataset url from dataset id: ${I.value}.`),Y9(t,I.value)):""),A=be(()=>u.value&&`${t}${u.value}`),E=be(()=>p.value.length===0&&g.value.length===0);async function y(){a.value=!a.value,await Ci(),window?window.dispatchEvent(new Event("resize")):console.warn("[charts] window unavailable.")}function S(){try{window.postMessage({container:e.container,from:"galaxy-visualization",visualization_config:JSON.parse(JSON.stringify(_())),visualization_id:w.value,visualization_title:F.value},"*")}catch(B){c.value=`Failed to postMessage: ${B}`}}function _(){return{dataset_id:I.value,settings:m.value,tracks:b.value}}function M(B){m.value={...B},S()}function R(B){b.value=[...B],S()}function T(B){w.value=B,S()}function z(B){F.value=B,S()}async function L(B,x){U(B,x);try{const P=await SD(f.value,w.value,F.value,_());P&&T(P)}catch(P){c.value=`Failed to save: ${P}`}}function U(B,x){if(M({...m.value,...B}),x){const P=Math.max(b.value.length,x.length),O=Array.from({length:P},(N,D)=>{const $=b.value[D]??{},j=x[D]??{};return{...$,...j}});R(O)}}return(B,x)=>(Be(),st(Pt,null,[c.value?(Be(),Mt(He(q5),{key:0,type:"error",class:"m-2"},{default:pt(()=>[bs(Fr(c.value),1)]),_:1})):$i("",!0),d.value?(Be(),st("div",vz,[We("span",null,[Ue(He(Z9),{class:"animate-spin size-4 inline mx-1"})]),x[0]||(x[0]=We("span",{class:"text-xs"},"Please wait...",-1))])):(Be(),st("div",{key:2,class:Uc(["grid h-screen",{"grid-cols-[1fr_17rem]":!a.value&&!E.value&&I.value}])},[I.value?(Be(),st("div",Fz,[w0(B.$slots,"default",{datasetId:I.value,datasetUrl:C.value,root:He(t),settings:m.value,specs:v.value,tracks:b.value,save:L,update:U})])):$i("",!0),a.value&&!E.value&&I.value?(Be(),Mt(He(fc),{key:1,trigger:"hover",to:!1},{trigger:pt(()=>[Ue(He(en),{strong:"",secondary:"",circle:"",class:"bg-sky-100 m-2 absolute right-0",onClick:y},{icon:pt(()=>[Ue(He(Nr),null,{default:pt(()=>[Ue(He(ek))]),_:1})]),_:1})]),default:pt(()=>[x[1]||(x[1]=We("span",{class:"text-xs"},"Expand",-1))]),_:1})):$i("",!0),zo(Ue(bz,{"dataset-id":I.value,description:l.value,html:h.value,"logo-url":A.value,name:f.value,"setting-inputs":p.value,"setting-values":m.value,"track-inputs":g.value,"track-values":b.value,"visualization-id":w.value,"visualization-title":F.value,"onUpdate:settings":M,"onUpdate:tracks":R,"onUpdate:visualizationId":T,"onUpdate:visualizationTitle":z,onToggle:y},null,8,["dataset-id","description","html","logo-url","name","setting-inputs","setting-values","track-inputs","track-values","visualization-id","visualization-title"]),[[Ku,!a.value&&!E.value||!I.value]])],2))],64))}});function bd(i){const e=document.createElement("div");return e.innerHTML=i,e.firstElementChild}function _e(i){return tC("div",i)}function tC(i,e){const t=document.createElement(i);return e&&(e.class&&t.classList.add(e.class),e.id&&(t.id=e.id),e.style&&Cz(t,e.style)),t}function tn(i){const e=getComputedStyle(i);e.display!=="none"&&(i._initialDisplay=e.display),i.style.display="none"}function iC(i){const e=i._initialDisplay||"block";i.style.display=e}function pc(i){if(i.type.startsWith("touch")){const e=i.touches[0];return{x:e.pageX,y:e.pageY}}else return{x:i.pageX,y:i.pageY}}function Cz(i,e){for(let t of Object.keys(e))i.style[t]=e[t]}function pi(){return("0000"+(Math.random()*Math.pow(36,4)<<0).toString(36)).slice(-4)}let _z=(i,{clientX:e,clientY:t})=>{const{left:r,top:n,width:o,height:s}=i.getBoundingClientRect(),a=e-r,l=t-n;return{x:a,y:l,xNormalized:a/o,yNormalized:l/s,width:o,height:s}};function Zt(i,e){const{clientX:t,clientY:r}=i;return _z(e,{clientX:t,clientY:r})}class xz{constructor(){this.elem=tC("div",{class:"igv-ui-panel-column"})}add(e){if(e instanceof Node)this.elem.appendChild(e);else if(typeof e=="object")this.elem.appendChild(e.elem);else{const t=_e();t.innerHTML=e,this.elem.appendChild(t),this.html=t}}}function Az(i,e){const t=_e({class:"igv-ui-trackgear-popover-check-container"}),r=rC("check",e===!0?"#444":"transparent");r.style.borderColor="gray",r.style.borderWidth="1px",r.style.borderStyle="solid",t.appendChild(r);let n=_e();return n.textContent=i,t.appendChild(n),t}function zr(i,e){return rC(i,e)}function rC(i,e){e=e||"currentColor";let t=Yw[i];t||(console.error(`No icon named: ${i}`),t=Yw.question);const r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.setAttributeNS(null,"viewBox","0 0 "+t[0]+" "+t[1]);const n=document.createElementNS("http://www.w3.org/2000/svg","path");return n.setAttributeNS(null,"fill",e),n.setAttributeNS(null,"d",t[4]),r.appendChild(n),r}const Yw={check:[512,512,[],"f00c","M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"],cog:[512,512,[],"f013","M444.788 291.1l42.616 24.599c4.867 2.809 7.126 8.618 5.459 13.985-11.07 35.642-29.97 67.842-54.689 94.586a12.016 12.016 0 0 1-14.832 2.254l-42.584-24.595a191.577 191.577 0 0 1-60.759 35.13v49.182a12.01 12.01 0 0 1-9.377 11.718c-34.956 7.85-72.499 8.256-109.219.007-5.49-1.233-9.403-6.096-9.403-11.723v-49.184a191.555 191.555 0 0 1-60.759-35.13l-42.584 24.595a12.016 12.016 0 0 1-14.832-2.254c-24.718-26.744-43.619-58.944-54.689-94.586-1.667-5.366.592-11.175 5.459-13.985L67.212 291.1a193.48 193.48 0 0 1 0-70.199l-42.616-24.599c-4.867-2.809-7.126-8.618-5.459-13.985 11.07-35.642 29.97-67.842 54.689-94.586a12.016 12.016 0 0 1 14.832-2.254l42.584 24.595a191.577 191.577 0 0 1 60.759-35.13V25.759a12.01 12.01 0 0 1 9.377-11.718c34.956-7.85 72.499-8.256 109.219-.007 5.49 1.233 9.403 6.096 9.403 11.723v49.184a191.555 191.555 0 0 1 60.759 35.13l42.584-24.595a12.016 12.016 0 0 1 14.832 2.254c24.718 26.744 43.619 58.944 54.689 94.586 1.667 5.366-.592 11.175-5.459 13.985L444.788 220.9a193.485 193.485 0 0 1 0 70.2zM336 256c0-44.112-35.888-80-80-80s-80 35.888-80 80 35.888 80 80 80 80-35.888 80-80z"],exclamation:[192,512,[],"f12a","M176 432c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zM25.26 25.199l13.6 272C39.499 309.972 50.041 320 62.83 320h66.34c12.789 0 23.331-10.028 23.97-22.801l13.6-272C167.425 11.49 156.496 0 142.77 0H49.23C35.504 0 24.575 11.49 25.26 25.199z"],"exclamation-circle":[512,512,[],"f06a","M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"],"exclamation-triangle":[576,512,[],"f071","M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"],minus:[448,512,[],"f068","M424 318.2c13.3 0 24-10.7 24-24v-76.4c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24v76.4c0 13.3 10.7 24 24 24h400z"],"minus-circle":[512,512,[],"f056","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zM124 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H124z"],"minus-square":[448,512,[],"f146","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM92 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H92z"],plus:[448,512,[],"f067","M448 294.2v-76.4c0-13.3-10.7-24-24-24H286.2V56c0-13.3-10.7-24-24-24h-76.4c-13.3 0-24 10.7-24 24v137.8H24c-13.3 0-24 10.7-24 24v76.4c0 13.3 10.7 24 24 24h137.8V456c0 13.3 10.7 24 24 24h76.4c13.3 0 24-10.7 24-24V318.2H424c13.3 0 24-10.7 24-24z"],"plus-circle":[512,512,[],"f055","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm144 276c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92h-92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"],"plus-square":[448,512,[],"f0fe","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-32 252c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92H92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"],question:[384,512,[],"f128","M202.021 0C122.202 0 70.503 32.703 29.914 91.026c-7.363 10.58-5.093 25.086 5.178 32.874l43.138 32.709c10.373 7.865 25.132 6.026 33.253-4.148 25.049-31.381 43.63-49.449 82.757-49.449 30.764 0 68.816 19.799 68.816 49.631 0 22.552-18.617 34.134-48.993 51.164-35.423 19.86-82.299 44.576-82.299 106.405V320c0 13.255 10.745 24 24 24h72.471c13.255 0 24-10.745 24-24v-5.773c0-42.86 125.268-44.645 125.268-160.627C377.504 66.256 286.902 0 202.021 0zM192 373.459c-38.196 0-69.271 31.075-69.271 69.271 0 38.195 31.075 69.27 69.271 69.27s69.271-31.075 69.271-69.271-31.075-69.27-69.271-69.27z"],save:[448,512,[],"f0c7","M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z"],search:[512,512,[],"f002","M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"],share:[512,512,[],"f064","M503.691 189.836L327.687 37.851C312.281 24.546 288 35.347 288 56.015v80.053C127.371 137.907 0 170.1 0 322.326c0 61.441 39.581 122.309 83.333 154.132 13.653 9.931 33.111-2.533 28.077-18.631C66.066 312.814 132.917 274.316 288 272.085V360c0 20.7 24.3 31.453 39.687 18.164l176.004-152c11.071-9.562 11.086-26.753 0-36.328z"],spinner:[512,512,[],"f110","M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z"],square:[448,512,[],"f0c8","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"],"square-full":[512,512,[],"f45c","M512 512H0V0h512v512z"],times:[384,512,[],"f00d","M323.1 441l53.9-53.9c9.4-9.4 9.4-24.5 0-33.9L279.8 256l97.2-97.2c9.4-9.4 9.4-24.5 0-33.9L323.1 71c-9.4-9.4-24.5-9.4-33.9 0L192 168.2 94.8 71c-9.4-9.4-24.5-9.4-33.9 0L7 124.9c-9.4 9.4-9.4 24.5 0 33.9l97.2 97.2L7 353.2c-9.4 9.4-9.4 24.5 0 33.9L60.9 441c9.4 9.4 24.5 9.4 33.9 0l97.2-97.2 97.2 97.2c9.3 9.3 24.5 9.3 33.9 0z"],"times-circle":[512,512,[],"f057","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z"],wrench:[512,512,[],"f0ad","M481.156 200c9.3 0 15.12 10.155 10.325 18.124C466.295 259.992 420.419 288 368 288c-79.222 0-143.501-63.974-143.997-143.079C223.505 65.469 288.548-.001 368.002 0c52.362.001 98.196 27.949 123.4 69.743C496.24 77.766 490.523 88 481.154 88H376l-40 56 40 56h105.156zm-171.649 93.003L109.255 493.255c-24.994 24.993-65.515 24.994-90.51 0-24.993-24.994-24.993-65.516 0-90.51L218.991 202.5c16.16 41.197 49.303 74.335 90.516 90.503zM104 432c0-13.255-10.745-24-24-24s-24 10.745-24 24 10.745 24 24 24 24-10.745 24-24z"]};function Ds(i,e){var t=document.createElement("div");i.appendChild(t),t.appendChild(zr("times")),t.addEventListener("click",function(r){r.preventDefault(),r.stopPropagation(),e()})}let mr;function bn(i,e,t){e.addEventListener("mousedown",r.bind(i));function r(n){n.stopPropagation(),n.preventDefault();const o=kz.bind(this),s=Sz.bind(this),a=getComputedStyle(this),l=this.getBoundingClientRect();mr={constraint:t,dragFunction:o,dragEndFunction:s,screenX:n.screenX,screenY:n.screenY,minDy:-l.top,minDx:-l.left,top:parseInt(a.top.replace("px","")),left:parseInt(a.left.replace("px",""))},document.addEventListener("mousemove",o),document.addEventListener("mouseup",s),document.addEventListener("mouseleave",s),document.addEventListener("mouseexit",s)}}function kz(i){if(!mr){console.error("No drag data!");return}i.stopPropagation(),i.preventDefault();const e=Math.max(mr.minDx,i.screenX-mr.screenX),t=Math.max(mr.minDy,i.screenY-mr.screenY),r=mr.left+e,n=mr.top+t;this.style.left=`${r}px`,this.style.top=`${n}px`}function Sz(i){if(!mr){console.error("No drag data!");return}i.stopPropagation(),i.preventDefault();const e=mr.dragFunction,t=mr.dragEndFunction;document.removeEventListener("mousemove",e),document.removeEventListener("mouseup",t),document.removeEventListener("mouseleave",t),document.removeEventListener("mouseexit",t),mr=void 0}class nC{constructor({parent:e,label:t,content:r,okHandler:n,cancelHandler:o}){this.parent=e;const s=()=>{this.elem.style.display="none",typeof o=="function"&&o(this)};this.elem=_e(),this.elem.classList.add("igv-ui-generic-dialog-container","igv-ui-center-fixed");const a=_e({class:"igv-ui-generic-dialog-header"});if(this.elem.appendChild(a),Ds(a,s),t){const c=_e({class:"igv-ui-dialog-one-liner"});this.elem.appendChild(c),c.innerHTML=t}r.elem.style.margin="16px",this.elem.appendChild(r.elem),this.content=r;const l=_e({class:"igv-ui-generic-dialog-ok-cancel"});this.elem.appendChild(l),this.ok=_e(),l.appendChild(this.ok),this.ok.textContent="OK",this.cancel=_e(),l.appendChild(this.cancel),this.cancel.textContent="Cancel",this.callback=void 0,this.ok.addEventListener("click",c=>{this.elem.style.display="none",typeof n=="function"?n(this):this.callback&&typeof this.callback=="function"&&this.callback(this)}),this.cancel.addEventListener("click",s),bn(this.elem,a),this.elem.addEventListener("click",c=>{c.preventDefault(),c.stopPropagation()})}present(e,t){if(e.label&&this.label&&(this.label.textContent=e.label),e.html){const n=this.content.html;n.innerHTML=e.html}if(e.text){const n=this.content.html;n.innerText=e.text}e.value&&this.input&&(this.input.value=e.value),e.callback&&(this.callback=e.callback);const{top:r}=t.currentTarget.parentElement.getBoundingClientRect();this.elem.style.top=`${r}px`,this.elem.style.display="flex"}}function Yt(i){return typeof i=="string"||i instanceof String}function Ze(i){var e=String(i).split(/[.,]/),t=",",r=".";return e[0].split("").reverse().reduce(function(n,o,s){return s%3===0?n+t+o:n+o}).split("").reverse().join("")+(e[1]?r+e[1]:"")}const zs=function(i){return i.split(/\n|\r\n|\r/g)};function Iz(i,e){var t=[],r=i.length,n,o=0,s=!1,a;if(r>0)for(t[o]=i.charAt(0),n=1;n<r;n++)a=i.charAt(n),a==='"'?s=!s:!s&&a===e?(o++,t[o]=""):t[o]+=a;return t}function am(i){return i===void 0||((i.startsWith("'")||i.startsWith('"'))&&(i=i.substring(1)),(i.endsWith("'")||i.endsWith('"'))&&(i=i.substring(0,i.length-1))),i}function eu(i){return i.length>0?i.charAt(0).toUpperCase()+i.slice(1):i}function Ez(i){const e=i.split(":"),t=e[1].split("-"),r={chr:e[0],start:Number.parseInt(t[0].replace(/,/g,""))-1};return t.length>1?r.end=Number.parseInt(t[1].replace(/,/g,"")):r.end=r.start+1,r}function oC(i){if(i.name!==void 0)return i.name;if(Yt(i)){let e=i.lastIndexOf("/"),t=e<0?i:i.substr(e+1);return e=t.indexOf("?"),e>0&&(t=t.substr(0,e)),t}else throw Error(`Expected File or string, got ${typeof i}`)}function Eo(i){return i?typeof i!="function"&&(i instanceof File||i.hasOwnProperty("name")&&typeof i.slice=="function"&&typeof i.arrayBuffer=="function"):!1}function tu(i,e){const t=document.createElement("a");t.setAttribute("href",e),t.setAttribute("download",i),t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t)}typeof process=="object"&&typeof window>"u"&&(global.atob=function(i){return Buffer.from(i,"base64").toString("binary")});function sC(i){for(var e=Tz,t=e.parser.loose.exec(i),r={},n=14;n--;)r[e.key[n]]=t[n]||"";return r[e.q.name]={},r[e.key[12]].replace(e.q.parser,function(o,s,a){s&&(r[e.q.name][s]=a)}),r}const Tz={key:["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],q:{name:"queryKey",parser:/(?:^|&)([^&=]*)=?([^&]*)/g},parser:{loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/}};async function Mz(i){return typeof i=="function"?i():i}/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */const Nz=4,Xw=0,Zw=1,Rz=2;function Ga(i){let e=i.length;for(;--e>=0;)i[e]=0}const Bz=0,aC=1,Dz=2,zz=3,Lz=258,K0=29,Yc=256,gc=Yc+1+K0,pa=30,Y0=19,lC=2*gc+1,is=15,cp=16,Pz=7,X0=256,cC=16,hC=17,dC=18,lm=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),wd=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),Oz=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),uC=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Hz=512,Nn=new Array((gc+2)*2);Ga(Nn);const Ul=new Array(pa*2);Ga(Ul);const mc=new Array(Hz);Ga(mc);const bc=new Array(Lz-zz+1);Ga(bc);const Z0=new Array(K0);Ga(Z0);const iu=new Array(pa);Ga(iu);function hp(i,e,t,r,n){this.static_tree=i,this.extra_bits=e,this.extra_base=t,this.elems=r,this.max_length=n,this.has_stree=i&&i.length}let fC,pC,gC;function dp(i,e){this.dyn_tree=i,this.max_code=0,this.stat_desc=e}const mC=i=>i<256?mc[i]:mc[256+(i>>>7)],wc=(i,e)=>{i.pending_buf[i.pending++]=e&255,i.pending_buf[i.pending++]=e>>>8&255},Xi=(i,e,t)=>{i.bi_valid>cp-t?(i.bi_buf|=e<<i.bi_valid&65535,wc(i,i.bi_buf),i.bi_buf=e>>cp-i.bi_valid,i.bi_valid+=t-cp):(i.bi_buf|=e<<i.bi_valid&65535,i.bi_valid+=t)},Zr=(i,e,t)=>{Xi(i,t[e*2],t[e*2+1])},bC=(i,e)=>{let t=0;do t|=i&1,i>>>=1,t<<=1;while(--e>0);return t>>>1},$z=i=>{i.bi_valid===16?(wc(i,i.bi_buf),i.bi_buf=0,i.bi_valid=0):i.bi_valid>=8&&(i.pending_buf[i.pending++]=i.bi_buf&255,i.bi_buf>>=8,i.bi_valid-=8)},Uz=(i,e)=>{const t=e.dyn_tree,r=e.max_code,n=e.stat_desc.static_tree,o=e.stat_desc.has_stree,s=e.stat_desc.extra_bits,a=e.stat_desc.extra_base,l=e.stat_desc.max_length;let c,h,d,u,f,p,m=0;for(u=0;u<=is;u++)i.bl_count[u]=0;for(t[i.heap[i.heap_max]*2+1]=0,c=i.heap_max+1;c<lC;c++)h=i.heap[c],u=t[t[h*2+1]*2+1]+1,u>l&&(u=l,m++),t[h*2+1]=u,!(h>r)&&(i.bl_count[u]++,f=0,h>=a&&(f=s[h-a]),p=t[h*2],i.opt_len+=p*(u+f),o&&(i.static_len+=p*(n[h*2+1]+f)));if(m!==0){do{for(u=l-1;i.bl_count[u]===0;)u--;i.bl_count[u]--,i.bl_count[u+1]+=2,i.bl_count[l]--,m-=2}while(m>0);for(u=l;u!==0;u--)for(h=i.bl_count[u];h!==0;)d=i.heap[--c],!(d>r)&&(t[d*2+1]!==u&&(i.opt_len+=(u-t[d*2+1])*t[d*2],t[d*2+1]=u),h--)}},wC=(i,e,t)=>{const r=new Array(is+1);let n=0,o,s;for(o=1;o<=is;o++)n=n+t[o-1]<<1,r[o]=n;for(s=0;s<=e;s++){let a=i[s*2+1];a!==0&&(i[s*2]=bC(r[a]++,a))}},Vz=()=>{let i,e,t,r,n;const o=new Array(is+1);for(t=0,r=0;r<K0-1;r++)for(Z0[r]=t,i=0;i<1<<lm[r];i++)bc[t++]=r;for(bc[t-1]=r,n=0,r=0;r<16;r++)for(iu[r]=n,i=0;i<1<<wd[r];i++)mc[n++]=r;for(n>>=7;r<pa;r++)for(iu[r]=n<<7,i=0;i<1<<wd[r]-7;i++)mc[256+n++]=r;for(e=0;e<=is;e++)o[e]=0;for(i=0;i<=143;)Nn[i*2+1]=8,i++,o[8]++;for(;i<=255;)Nn[i*2+1]=9,i++,o[9]++;for(;i<=279;)Nn[i*2+1]=7,i++,o[7]++;for(;i<=287;)Nn[i*2+1]=8,i++,o[8]++;for(wC(Nn,gc+1,o),i=0;i<pa;i++)Ul[i*2+1]=5,Ul[i*2]=bC(i,5);fC=new hp(Nn,lm,Yc+1,gc,is),pC=new hp(Ul,wd,0,pa,is),gC=new hp(new Array(0),Oz,0,Y0,Pz)},vC=i=>{let e;for(e=0;e<gc;e++)i.dyn_ltree[e*2]=0;for(e=0;e<pa;e++)i.dyn_dtree[e*2]=0;for(e=0;e<Y0;e++)i.bl_tree[e*2]=0;i.dyn_ltree[X0*2]=1,i.opt_len=i.static_len=0,i.sym_next=i.matches=0},FC=i=>{i.bi_valid>8?wc(i,i.bi_buf):i.bi_valid>0&&(i.pending_buf[i.pending++]=i.bi_buf),i.bi_buf=0,i.bi_valid=0},Jw=(i,e,t,r)=>{const n=e*2,o=t*2;return i[n]<i[o]||i[n]===i[o]&&r[e]<=r[t]},up=(i,e,t)=>{const r=i.heap[t];let n=t<<1;for(;n<=i.heap_len&&(n<i.heap_len&&Jw(e,i.heap[n+1],i.heap[n],i.depth)&&n++,!Jw(e,r,i.heap[n],i.depth));)i.heap[t]=i.heap[n],t=n,n<<=1;i.heap[t]=r},e1=(i,e,t)=>{let r,n,o=0,s,a;if(i.sym_next!==0)do r=i.pending_buf[i.sym_buf+o++]&255,r+=(i.pending_buf[i.sym_buf+o++]&255)<<8,n=i.pending_buf[i.sym_buf+o++],r===0?Zr(i,n,e):(s=bc[n],Zr(i,s+Yc+1,e),a=lm[s],a!==0&&(n-=Z0[s],Xi(i,n,a)),r--,s=mC(r),Zr(i,s,t),a=wd[s],a!==0&&(r-=iu[s],Xi(i,r,a)));while(o<i.sym_next);Zr(i,X0,e)},cm=(i,e)=>{const t=e.dyn_tree,r=e.stat_desc.static_tree,n=e.stat_desc.has_stree,o=e.stat_desc.elems;let s,a,l=-1,c;for(i.heap_len=0,i.heap_max=lC,s=0;s<o;s++)t[s*2]!==0?(i.heap[++i.heap_len]=l=s,i.depth[s]=0):t[s*2+1]=0;for(;i.heap_len<2;)c=i.heap[++i.heap_len]=l<2?++l:0,t[c*2]=1,i.depth[c]=0,i.opt_len--,n&&(i.static_len-=r[c*2+1]);for(e.max_code=l,s=i.heap_len>>1;s>=1;s--)up(i,t,s);c=o;do s=i.heap[1],i.heap[1]=i.heap[i.heap_len--],up(i,t,1),a=i.heap[1],i.heap[--i.heap_max]=s,i.heap[--i.heap_max]=a,t[c*2]=t[s*2]+t[a*2],i.depth[c]=(i.depth[s]>=i.depth[a]?i.depth[s]:i.depth[a])+1,t[s*2+1]=t[a*2+1]=c,i.heap[1]=c++,up(i,t,1);while(i.heap_len>=2);i.heap[--i.heap_max]=i.heap[1],Uz(i,e),wC(t,l,i.bl_count)},t1=(i,e,t)=>{let r,n=-1,o,s=e[0*2+1],a=0,l=7,c=4;for(s===0&&(l=138,c=3),e[(t+1)*2+1]=65535,r=0;r<=t;r++)o=s,s=e[(r+1)*2+1],!(++a<l&&o===s)&&(a<c?i.bl_tree[o*2]+=a:o!==0?(o!==n&&i.bl_tree[o*2]++,i.bl_tree[cC*2]++):a<=10?i.bl_tree[hC*2]++:i.bl_tree[dC*2]++,a=0,n=o,s===0?(l=138,c=3):o===s?(l=6,c=3):(l=7,c=4))},i1=(i,e,t)=>{let r,n=-1,o,s=e[0*2+1],a=0,l=7,c=4;for(s===0&&(l=138,c=3),r=0;r<=t;r++)if(o=s,s=e[(r+1)*2+1],!(++a<l&&o===s)){if(a<c)do Zr(i,o,i.bl_tree);while(--a!==0);else o!==0?(o!==n&&(Zr(i,o,i.bl_tree),a--),Zr(i,cC,i.bl_tree),Xi(i,a-3,2)):a<=10?(Zr(i,hC,i.bl_tree),Xi(i,a-3,3)):(Zr(i,dC,i.bl_tree),Xi(i,a-11,7));a=0,n=o,s===0?(l=138,c=3):o===s?(l=6,c=3):(l=7,c=4)}},jz=i=>{let e;for(t1(i,i.dyn_ltree,i.l_desc.max_code),t1(i,i.dyn_dtree,i.d_desc.max_code),cm(i,i.bl_desc),e=Y0-1;e>=3&&i.bl_tree[uC[e]*2+1]===0;e--);return i.opt_len+=3*(e+1)+5+5+4,e},qz=(i,e,t,r)=>{let n;for(Xi(i,e-257,5),Xi(i,t-1,5),Xi(i,r-4,4),n=0;n<r;n++)Xi(i,i.bl_tree[uC[n]*2+1],3);i1(i,i.dyn_ltree,e-1),i1(i,i.dyn_dtree,t-1)},Gz=i=>{let e=4093624447,t;for(t=0;t<=31;t++,e>>>=1)if(e&1&&i.dyn_ltree[t*2]!==0)return Xw;if(i.dyn_ltree[9*2]!==0||i.dyn_ltree[10*2]!==0||i.dyn_ltree[13*2]!==0)return Zw;for(t=32;t<Yc;t++)if(i.dyn_ltree[t*2]!==0)return Zw;return Xw};let r1=!1;const Wz=i=>{r1||(Vz(),r1=!0),i.l_desc=new dp(i.dyn_ltree,fC),i.d_desc=new dp(i.dyn_dtree,pC),i.bl_desc=new dp(i.bl_tree,gC),i.bi_buf=0,i.bi_valid=0,vC(i)},yC=(i,e,t,r)=>{Xi(i,(Bz<<1)+(r?1:0),3),FC(i),wc(i,t),wc(i,~t),t&&i.pending_buf.set(i.window.subarray(e,e+t),i.pending),i.pending+=t},Qz=i=>{Xi(i,aC<<1,3),Zr(i,X0,Nn),$z(i)},Kz=(i,e,t,r)=>{let n,o,s=0;i.level>0?(i.strm.data_type===Rz&&(i.strm.data_type=Gz(i)),cm(i,i.l_desc),cm(i,i.d_desc),s=jz(i),n=i.opt_len+3+7>>>3,o=i.static_len+3+7>>>3,o<=n&&(n=o)):n=o=t+5,t+4<=n&&e!==-1?yC(i,e,t,r):i.strategy===Nz||o===n?(Xi(i,(aC<<1)+(r?1:0),3),e1(i,Nn,Ul)):(Xi(i,(Dz<<1)+(r?1:0),3),qz(i,i.l_desc.max_code+1,i.d_desc.max_code+1,s+1),e1(i,i.dyn_ltree,i.dyn_dtree)),vC(i),r&&FC(i)},Yz=(i,e,t)=>(i.pending_buf[i.sym_buf+i.sym_next++]=e,i.pending_buf[i.sym_buf+i.sym_next++]=e>>8,i.pending_buf[i.sym_buf+i.sym_next++]=t,e===0?i.dyn_ltree[t*2]++:(i.matches++,e--,i.dyn_ltree[(bc[t]+Yc+1)*2]++,i.dyn_dtree[mC(e)*2]++),i.sym_next===i.sym_end);var Xz=Wz,Zz=yC,Jz=Kz,eL=Yz,tL=Qz,iL={_tr_init:Xz,_tr_stored_block:Zz,_tr_flush_block:Jz,_tr_tally:eL,_tr_align:tL};const rL=(i,e,t,r)=>{let n=i&65535|0,o=i>>>16&65535|0,s=0;for(;t!==0;){s=t>2e3?2e3:t,t-=s;do n=n+e[r++]|0,o=o+n|0;while(--s);n%=65521,o%=65521}return n|o<<16|0};var vc=rL;const nL=()=>{let i,e=[];for(var t=0;t<256;t++){i=t;for(var r=0;r<8;r++)i=i&1?3988292384^i>>>1:i>>>1;e[t]=i}return e},oL=new Uint32Array(nL()),sL=(i,e,t,r)=>{const n=oL,o=r+t;i^=-1;for(let s=r;s<o;s++)i=i>>>8^n[(i^e[s])&255];return i^-1};var ui=sL,vs={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},hf={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:aL,_tr_stored_block:hm,_tr_flush_block:lL,_tr_tally:Co,_tr_align:cL}=iL,{Z_NO_FLUSH:_o,Z_PARTIAL_FLUSH:hL,Z_FULL_FLUSH:dL,Z_FINISH:br,Z_BLOCK:n1,Z_OK:vi,Z_STREAM_END:o1,Z_STREAM_ERROR:ln,Z_DATA_ERROR:uL,Z_BUF_ERROR:fp,Z_DEFAULT_COMPRESSION:fL,Z_FILTERED:pL,Z_HUFFMAN_ONLY:Mh,Z_RLE:gL,Z_FIXED:mL,Z_DEFAULT_STRATEGY:bL,Z_UNKNOWN:wL,Z_DEFLATED:df}=hf,vL=9,FL=15,yL=8,CL=29,_L=256,dm=_L+1+CL,xL=30,AL=19,kL=2*dm+1,SL=15,ut=3,go=258,cn=go+ut+1,IL=32,Na=42,J0=57,um=69,fm=73,pm=91,gm=103,rs=113,Al=666,Hi=1,Wa=2,Fs=3,Qa=4,EL=3,ns=(i,e)=>(i.msg=vs[e],e),s1=i=>i*2-(i>4?9:0),fo=i=>{let e=i.length;for(;--e>=0;)i[e]=0},TL=i=>{let e,t,r,n=i.w_size;e=i.hash_size,r=e;do t=i.head[--r],i.head[r]=t>=n?t-n:0;while(--e);e=n,r=e;do t=i.prev[--r],i.prev[r]=t>=n?t-n:0;while(--e)};let ML=(i,e,t)=>(e<<i.hash_shift^t)&i.hash_mask,xo=ML;const er=i=>{const e=i.state;let t=e.pending;t>i.avail_out&&(t=i.avail_out),t!==0&&(i.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+t),i.next_out),i.next_out+=t,e.pending_out+=t,i.total_out+=t,i.avail_out-=t,e.pending-=t,e.pending===0&&(e.pending_out=0))},nr=(i,e)=>{lL(i,i.block_start>=0?i.block_start:-1,i.strstart-i.block_start,e),i.block_start=i.strstart,er(i.strm)},vt=(i,e)=>{i.pending_buf[i.pending++]=e},al=(i,e)=>{i.pending_buf[i.pending++]=e>>>8&255,i.pending_buf[i.pending++]=e&255},mm=(i,e,t,r)=>{let n=i.avail_in;return n>r&&(n=r),n===0?0:(i.avail_in-=n,e.set(i.input.subarray(i.next_in,i.next_in+n),t),i.state.wrap===1?i.adler=vc(i.adler,e,n,t):i.state.wrap===2&&(i.adler=ui(i.adler,e,n,t)),i.next_in+=n,i.total_in+=n,n)},CC=(i,e)=>{let t=i.max_chain_length,r=i.strstart,n,o,s=i.prev_length,a=i.nice_match;const l=i.strstart>i.w_size-cn?i.strstart-(i.w_size-cn):0,c=i.window,h=i.w_mask,d=i.prev,u=i.strstart+go;let f=c[r+s-1],p=c[r+s];i.prev_length>=i.good_match&&(t>>=2),a>i.lookahead&&(a=i.lookahead);do if(n=e,!(c[n+s]!==p||c[n+s-1]!==f||c[n]!==c[r]||c[++n]!==c[r+1])){r+=2,n++;do;while(c[++r]===c[++n]&&c[++r]===c[++n]&&c[++r]===c[++n]&&c[++r]===c[++n]&&c[++r]===c[++n]&&c[++r]===c[++n]&&c[++r]===c[++n]&&c[++r]===c[++n]&&r<u);if(o=go-(u-r),r=u-go,o>s){if(i.match_start=e,s=o,o>=a)break;f=c[r+s-1],p=c[r+s]}}while((e=d[e&h])>l&&--t!==0);return s<=i.lookahead?s:i.lookahead},Ra=i=>{const e=i.w_size;let t,r,n;do{if(r=i.window_size-i.lookahead-i.strstart,i.strstart>=e+(e-cn)&&(i.window.set(i.window.subarray(e,e+e-r),0),i.match_start-=e,i.strstart-=e,i.block_start-=e,i.insert>i.strstart&&(i.insert=i.strstart),TL(i),r+=e),i.strm.avail_in===0)break;if(t=mm(i.strm,i.window,i.strstart+i.lookahead,r),i.lookahead+=t,i.lookahead+i.insert>=ut)for(n=i.strstart-i.insert,i.ins_h=i.window[n],i.ins_h=xo(i,i.ins_h,i.window[n+1]);i.insert&&(i.ins_h=xo(i,i.ins_h,i.window[n+ut-1]),i.prev[n&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=n,n++,i.insert--,!(i.lookahead+i.insert<ut)););}while(i.lookahead<cn&&i.strm.avail_in!==0)},_C=(i,e)=>{let t=i.pending_buf_size-5>i.w_size?i.w_size:i.pending_buf_size-5,r,n,o,s=0,a=i.strm.avail_in;do{if(r=65535,o=i.bi_valid+42>>3,i.strm.avail_out<o||(o=i.strm.avail_out-o,n=i.strstart-i.block_start,r>n+i.strm.avail_in&&(r=n+i.strm.avail_in),r>o&&(r=o),r<t&&(r===0&&e!==br||e===_o||r!==n+i.strm.avail_in)))break;s=e===br&&r===n+i.strm.avail_in?1:0,hm(i,0,0,s),i.pending_buf[i.pending-4]=r,i.pending_buf[i.pending-3]=r>>8,i.pending_buf[i.pending-2]=~r,i.pending_buf[i.pending-1]=~r>>8,er(i.strm),n&&(n>r&&(n=r),i.strm.output.set(i.window.subarray(i.block_start,i.block_start+n),i.strm.next_out),i.strm.next_out+=n,i.strm.avail_out-=n,i.strm.total_out+=n,i.block_start+=n,r-=n),r&&(mm(i.strm,i.strm.output,i.strm.next_out,r),i.strm.next_out+=r,i.strm.avail_out-=r,i.strm.total_out+=r)}while(s===0);return a-=i.strm.avail_in,a&&(a>=i.w_size?(i.matches=2,i.window.set(i.strm.input.subarray(i.strm.next_in-i.w_size,i.strm.next_in),0),i.strstart=i.w_size,i.insert=i.strstart):(i.window_size-i.strstart<=a&&(i.strstart-=i.w_size,i.window.set(i.window.subarray(i.w_size,i.w_size+i.strstart),0),i.matches<2&&i.matches++,i.insert>i.strstart&&(i.insert=i.strstart)),i.window.set(i.strm.input.subarray(i.strm.next_in-a,i.strm.next_in),i.strstart),i.strstart+=a,i.insert+=a>i.w_size-i.insert?i.w_size-i.insert:a),i.block_start=i.strstart),i.high_water<i.strstart&&(i.high_water=i.strstart),s?Qa:e!==_o&&e!==br&&i.strm.avail_in===0&&i.strstart===i.block_start?Wa:(o=i.window_size-i.strstart,i.strm.avail_in>o&&i.block_start>=i.w_size&&(i.block_start-=i.w_size,i.strstart-=i.w_size,i.window.set(i.window.subarray(i.w_size,i.w_size+i.strstart),0),i.matches<2&&i.matches++,o+=i.w_size,i.insert>i.strstart&&(i.insert=i.strstart)),o>i.strm.avail_in&&(o=i.strm.avail_in),o&&(mm(i.strm,i.window,i.strstart,o),i.strstart+=o,i.insert+=o>i.w_size-i.insert?i.w_size-i.insert:o),i.high_water<i.strstart&&(i.high_water=i.strstart),o=i.bi_valid+42>>3,o=i.pending_buf_size-o>65535?65535:i.pending_buf_size-o,t=o>i.w_size?i.w_size:o,n=i.strstart-i.block_start,(n>=t||(n||e===br)&&e!==_o&&i.strm.avail_in===0&&n<=o)&&(r=n>o?o:n,s=e===br&&i.strm.avail_in===0&&r===n?1:0,hm(i,i.block_start,r,s),i.block_start+=r,er(i.strm)),s?Fs:Hi)},pp=(i,e)=>{let t,r;for(;;){if(i.lookahead<cn){if(Ra(i),i.lookahead<cn&&e===_o)return Hi;if(i.lookahead===0)break}if(t=0,i.lookahead>=ut&&(i.ins_h=xo(i,i.ins_h,i.window[i.strstart+ut-1]),t=i.prev[i.strstart&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=i.strstart),t!==0&&i.strstart-t<=i.w_size-cn&&(i.match_length=CC(i,t)),i.match_length>=ut)if(r=Co(i,i.strstart-i.match_start,i.match_length-ut),i.lookahead-=i.match_length,i.match_length<=i.max_lazy_match&&i.lookahead>=ut){i.match_length--;do i.strstart++,i.ins_h=xo(i,i.ins_h,i.window[i.strstart+ut-1]),t=i.prev[i.strstart&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=i.strstart;while(--i.match_length!==0);i.strstart++}else i.strstart+=i.match_length,i.match_length=0,i.ins_h=i.window[i.strstart],i.ins_h=xo(i,i.ins_h,i.window[i.strstart+1]);else r=Co(i,0,i.window[i.strstart]),i.lookahead--,i.strstart++;if(r&&(nr(i,!1),i.strm.avail_out===0))return Hi}return i.insert=i.strstart<ut-1?i.strstart:ut-1,e===br?(nr(i,!0),i.strm.avail_out===0?Fs:Qa):i.sym_next&&(nr(i,!1),i.strm.avail_out===0)?Hi:Wa},Vs=(i,e)=>{let t,r,n;for(;;){if(i.lookahead<cn){if(Ra(i),i.lookahead<cn&&e===_o)return Hi;if(i.lookahead===0)break}if(t=0,i.lookahead>=ut&&(i.ins_h=xo(i,i.ins_h,i.window[i.strstart+ut-1]),t=i.prev[i.strstart&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=i.strstart),i.prev_length=i.match_length,i.prev_match=i.match_start,i.match_length=ut-1,t!==0&&i.prev_length<i.max_lazy_match&&i.strstart-t<=i.w_size-cn&&(i.match_length=CC(i,t),i.match_length<=5&&(i.strategy===pL||i.match_length===ut&&i.strstart-i.match_start>4096)&&(i.match_length=ut-1)),i.prev_length>=ut&&i.match_length<=i.prev_length){n=i.strstart+i.lookahead-ut,r=Co(i,i.strstart-1-i.prev_match,i.prev_length-ut),i.lookahead-=i.prev_length-1,i.prev_length-=2;do++i.strstart<=n&&(i.ins_h=xo(i,i.ins_h,i.window[i.strstart+ut-1]),t=i.prev[i.strstart&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=i.strstart);while(--i.prev_length!==0);if(i.match_available=0,i.match_length=ut-1,i.strstart++,r&&(nr(i,!1),i.strm.avail_out===0))return Hi}else if(i.match_available){if(r=Co(i,0,i.window[i.strstart-1]),r&&nr(i,!1),i.strstart++,i.lookahead--,i.strm.avail_out===0)return Hi}else i.match_available=1,i.strstart++,i.lookahead--}return i.match_available&&(r=Co(i,0,i.window[i.strstart-1]),i.match_available=0),i.insert=i.strstart<ut-1?i.strstart:ut-1,e===br?(nr(i,!0),i.strm.avail_out===0?Fs:Qa):i.sym_next&&(nr(i,!1),i.strm.avail_out===0)?Hi:Wa},NL=(i,e)=>{let t,r,n,o;const s=i.window;for(;;){if(i.lookahead<=go){if(Ra(i),i.lookahead<=go&&e===_o)return Hi;if(i.lookahead===0)break}if(i.match_length=0,i.lookahead>=ut&&i.strstart>0&&(n=i.strstart-1,r=s[n],r===s[++n]&&r===s[++n]&&r===s[++n])){o=i.strstart+go;do;while(r===s[++n]&&r===s[++n]&&r===s[++n]&&r===s[++n]&&r===s[++n]&&r===s[++n]&&r===s[++n]&&r===s[++n]&&n<o);i.match_length=go-(o-n),i.match_length>i.lookahead&&(i.match_length=i.lookahead)}if(i.match_length>=ut?(t=Co(i,1,i.match_length-ut),i.lookahead-=i.match_length,i.strstart+=i.match_length,i.match_length=0):(t=Co(i,0,i.window[i.strstart]),i.lookahead--,i.strstart++),t&&(nr(i,!1),i.strm.avail_out===0))return Hi}return i.insert=0,e===br?(nr(i,!0),i.strm.avail_out===0?Fs:Qa):i.sym_next&&(nr(i,!1),i.strm.avail_out===0)?Hi:Wa},RL=(i,e)=>{let t;for(;;){if(i.lookahead===0&&(Ra(i),i.lookahead===0)){if(e===_o)return Hi;break}if(i.match_length=0,t=Co(i,0,i.window[i.strstart]),i.lookahead--,i.strstart++,t&&(nr(i,!1),i.strm.avail_out===0))return Hi}return i.insert=0,e===br?(nr(i,!0),i.strm.avail_out===0?Fs:Qa):i.sym_next&&(nr(i,!1),i.strm.avail_out===0)?Hi:Wa};function jr(i,e,t,r,n){this.good_length=i,this.max_lazy=e,this.nice_length=t,this.max_chain=r,this.func=n}const kl=[new jr(0,0,0,0,_C),new jr(4,4,8,4,pp),new jr(4,5,16,8,pp),new jr(4,6,32,32,pp),new jr(4,4,16,16,Vs),new jr(8,16,32,32,Vs),new jr(8,16,128,128,Vs),new jr(8,32,128,256,Vs),new jr(32,128,258,1024,Vs),new jr(32,258,258,4096,Vs)],BL=i=>{i.window_size=2*i.w_size,fo(i.head),i.max_lazy_match=kl[i.level].max_lazy,i.good_match=kl[i.level].good_length,i.nice_match=kl[i.level].nice_length,i.max_chain_length=kl[i.level].max_chain,i.strstart=0,i.block_start=0,i.lookahead=0,i.insert=0,i.match_length=i.prev_length=ut-1,i.match_available=0,i.ins_h=0};function DL(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=df,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(kL*2),this.dyn_dtree=new Uint16Array((2*xL+1)*2),this.bl_tree=new Uint16Array((2*AL+1)*2),fo(this.dyn_ltree),fo(this.dyn_dtree),fo(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(SL+1),this.heap=new Uint16Array(2*dm+1),fo(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*dm+1),fo(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const Xc=i=>{if(!i)return 1;const e=i.state;return!e||e.strm!==i||e.status!==Na&&e.status!==J0&&e.status!==um&&e.status!==fm&&e.status!==pm&&e.status!==gm&&e.status!==rs&&e.status!==Al?1:0},xC=i=>{if(Xc(i))return ns(i,ln);i.total_in=i.total_out=0,i.data_type=wL;const e=i.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap===2?J0:e.wrap?Na:rs,i.adler=e.wrap===2?0:1,e.last_flush=-2,aL(e),vi},AC=i=>{const e=xC(i);return e===vi&&BL(i.state),e},zL=(i,e)=>Xc(i)||i.state.wrap!==2?ln:(i.state.gzhead=e,vi),kC=(i,e,t,r,n,o)=>{if(!i)return ln;let s=1;if(e===fL&&(e=6),r<0?(s=0,r=-r):r>15&&(s=2,r-=16),n<1||n>vL||t!==df||r<8||r>15||e<0||e>9||o<0||o>mL||r===8&&s!==1)return ns(i,ln);r===8&&(r=9);const a=new DL;return i.state=a,a.strm=i,a.status=Na,a.wrap=s,a.gzhead=null,a.w_bits=r,a.w_size=1<<a.w_bits,a.w_mask=a.w_size-1,a.hash_bits=n+7,a.hash_size=1<<a.hash_bits,a.hash_mask=a.hash_size-1,a.hash_shift=~~((a.hash_bits+ut-1)/ut),a.window=new Uint8Array(a.w_size*2),a.head=new Uint16Array(a.hash_size),a.prev=new Uint16Array(a.w_size),a.lit_bufsize=1<<n+6,a.pending_buf_size=a.lit_bufsize*4,a.pending_buf=new Uint8Array(a.pending_buf_size),a.sym_buf=a.lit_bufsize,a.sym_end=(a.lit_bufsize-1)*3,a.level=e,a.strategy=o,a.method=t,AC(i)},LL=(i,e)=>kC(i,e,df,FL,yL,bL),PL=(i,e)=>{if(Xc(i)||e>n1||e<0)return i?ns(i,ln):ln;const t=i.state;if(!i.output||i.avail_in!==0&&!i.input||t.status===Al&&e!==br)return ns(i,i.avail_out===0?fp:ln);const r=t.last_flush;if(t.last_flush=e,t.pending!==0){if(er(i),i.avail_out===0)return t.last_flush=-1,vi}else if(i.avail_in===0&&s1(e)<=s1(r)&&e!==br)return ns(i,fp);if(t.status===Al&&i.avail_in!==0)return ns(i,fp);if(t.status===Na&&t.wrap===0&&(t.status=rs),t.status===Na){let n=df+(t.w_bits-8<<4)<<8,o=-1;if(t.strategy>=Mh||t.level<2?o=0:t.level<6?o=1:t.level===6?o=2:o=3,n|=o<<6,t.strstart!==0&&(n|=IL),n+=31-n%31,al(t,n),t.strstart!==0&&(al(t,i.adler>>>16),al(t,i.adler&65535)),i.adler=1,t.status=rs,er(i),t.pending!==0)return t.last_flush=-1,vi}if(t.status===J0){if(i.adler=0,vt(t,31),vt(t,139),vt(t,8),t.gzhead)vt(t,(t.gzhead.text?1:0)+(t.gzhead.hcrc?2:0)+(t.gzhead.extra?4:0)+(t.gzhead.name?8:0)+(t.gzhead.comment?16:0)),vt(t,t.gzhead.time&255),vt(t,t.gzhead.time>>8&255),vt(t,t.gzhead.time>>16&255),vt(t,t.gzhead.time>>24&255),vt(t,t.level===9?2:t.strategy>=Mh||t.level<2?4:0),vt(t,t.gzhead.os&255),t.gzhead.extra&&t.gzhead.extra.length&&(vt(t,t.gzhead.extra.length&255),vt(t,t.gzhead.extra.length>>8&255)),t.gzhead.hcrc&&(i.adler=ui(i.adler,t.pending_buf,t.pending,0)),t.gzindex=0,t.status=um;else if(vt(t,0),vt(t,0),vt(t,0),vt(t,0),vt(t,0),vt(t,t.level===9?2:t.strategy>=Mh||t.level<2?4:0),vt(t,EL),t.status=rs,er(i),t.pending!==0)return t.last_flush=-1,vi}if(t.status===um){if(t.gzhead.extra){let n=t.pending,o=(t.gzhead.extra.length&65535)-t.gzindex;for(;t.pending+o>t.pending_buf_size;){let a=t.pending_buf_size-t.pending;if(t.pending_buf.set(t.gzhead.extra.subarray(t.gzindex,t.gzindex+a),t.pending),t.pending=t.pending_buf_size,t.gzhead.hcrc&&t.pending>n&&(i.adler=ui(i.adler,t.pending_buf,t.pending-n,n)),t.gzindex+=a,er(i),t.pending!==0)return t.last_flush=-1,vi;n=0,o-=a}let s=new Uint8Array(t.gzhead.extra);t.pending_buf.set(s.subarray(t.gzindex,t.gzindex+o),t.pending),t.pending+=o,t.gzhead.hcrc&&t.pending>n&&(i.adler=ui(i.adler,t.pending_buf,t.pending-n,n)),t.gzindex=0}t.status=fm}if(t.status===fm){if(t.gzhead.name){let n=t.pending,o;do{if(t.pending===t.pending_buf_size){if(t.gzhead.hcrc&&t.pending>n&&(i.adler=ui(i.adler,t.pending_buf,t.pending-n,n)),er(i),t.pending!==0)return t.last_flush=-1,vi;n=0}t.gzindex<t.gzhead.name.length?o=t.gzhead.name.charCodeAt(t.gzindex++)&255:o=0,vt(t,o)}while(o!==0);t.gzhead.hcrc&&t.pending>n&&(i.adler=ui(i.adler,t.pending_buf,t.pending-n,n)),t.gzindex=0}t.status=pm}if(t.status===pm){if(t.gzhead.comment){let n=t.pending,o;do{if(t.pending===t.pending_buf_size){if(t.gzhead.hcrc&&t.pending>n&&(i.adler=ui(i.adler,t.pending_buf,t.pending-n,n)),er(i),t.pending!==0)return t.last_flush=-1,vi;n=0}t.gzindex<t.gzhead.comment.length?o=t.gzhead.comment.charCodeAt(t.gzindex++)&255:o=0,vt(t,o)}while(o!==0);t.gzhead.hcrc&&t.pending>n&&(i.adler=ui(i.adler,t.pending_buf,t.pending-n,n))}t.status=gm}if(t.status===gm){if(t.gzhead.hcrc){if(t.pending+2>t.pending_buf_size&&(er(i),t.pending!==0))return t.last_flush=-1,vi;vt(t,i.adler&255),vt(t,i.adler>>8&255),i.adler=0}if(t.status=rs,er(i),t.pending!==0)return t.last_flush=-1,vi}if(i.avail_in!==0||t.lookahead!==0||e!==_o&&t.status!==Al){let n=t.level===0?_C(t,e):t.strategy===Mh?RL(t,e):t.strategy===gL?NL(t,e):kl[t.level].func(t,e);if((n===Fs||n===Qa)&&(t.status=Al),n===Hi||n===Fs)return i.avail_out===0&&(t.last_flush=-1),vi;if(n===Wa&&(e===hL?cL(t):e!==n1&&(hm(t,0,0,!1),e===dL&&(fo(t.head),t.lookahead===0&&(t.strstart=0,t.block_start=0,t.insert=0))),er(i),i.avail_out===0))return t.last_flush=-1,vi}return e!==br?vi:t.wrap<=0?o1:(t.wrap===2?(vt(t,i.adler&255),vt(t,i.adler>>8&255),vt(t,i.adler>>16&255),vt(t,i.adler>>24&255),vt(t,i.total_in&255),vt(t,i.total_in>>8&255),vt(t,i.total_in>>16&255),vt(t,i.total_in>>24&255)):(al(t,i.adler>>>16),al(t,i.adler&65535)),er(i),t.wrap>0&&(t.wrap=-t.wrap),t.pending!==0?vi:o1)},OL=i=>{if(Xc(i))return ln;const e=i.state.status;return i.state=null,e===rs?ns(i,uL):vi},HL=(i,e)=>{let t=e.length;if(Xc(i))return ln;const r=i.state,n=r.wrap;if(n===2||n===1&&r.status!==Na||r.lookahead)return ln;if(n===1&&(i.adler=vc(i.adler,e,t,0)),r.wrap=0,t>=r.w_size){n===0&&(fo(r.head),r.strstart=0,r.block_start=0,r.insert=0);let l=new Uint8Array(r.w_size);l.set(e.subarray(t-r.w_size,t),0),e=l,t=r.w_size}const o=i.avail_in,s=i.next_in,a=i.input;for(i.avail_in=t,i.next_in=0,i.input=e,Ra(r);r.lookahead>=ut;){let l=r.strstart,c=r.lookahead-(ut-1);do r.ins_h=xo(r,r.ins_h,r.window[l+ut-1]),r.prev[l&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=l,l++;while(--c);r.strstart=l,r.lookahead=ut-1,Ra(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=ut-1,r.match_available=0,i.next_in=s,i.input=a,i.avail_in=o,r.wrap=n,vi};var $L=LL,UL=kC,VL=AC,jL=xC,qL=zL,GL=PL,WL=OL,QL=HL,KL="pako deflate (from Nodeca project)",Vl={deflateInit:$L,deflateInit2:UL,deflateReset:VL,deflateResetKeep:jL,deflateSetHeader:qL,deflate:GL,deflateEnd:WL,deflateSetDictionary:QL,deflateInfo:KL};const YL=(i,e)=>Object.prototype.hasOwnProperty.call(i,e);var XL=function(i){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const t=e.shift();if(t){if(typeof t!="object")throw new TypeError(t+"must be non-object");for(const r in t)YL(t,r)&&(i[r]=t[r])}}return i},ZL=i=>{let e=0;for(let r=0,n=i.length;r<n;r++)e+=i[r].length;const t=new Uint8Array(e);for(let r=0,n=0,o=i.length;r<o;r++){let s=i[r];t.set(s,n),n+=s.length}return t},uf={assign:XL,flattenChunks:ZL};let SC=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{SC=!1}const Fc=new Uint8Array(256);for(let i=0;i<256;i++)Fc[i]=i>=252?6:i>=248?5:i>=240?4:i>=224?3:i>=192?2:1;Fc[254]=Fc[254]=1;var JL=i=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(i);let e,t,r,n,o,s=i.length,a=0;for(n=0;n<s;n++)t=i.charCodeAt(n),(t&64512)===55296&&n+1<s&&(r=i.charCodeAt(n+1),(r&64512)===56320&&(t=65536+(t-55296<<10)+(r-56320),n++)),a+=t<128?1:t<2048?2:t<65536?3:4;for(e=new Uint8Array(a),o=0,n=0;o<a;n++)t=i.charCodeAt(n),(t&64512)===55296&&n+1<s&&(r=i.charCodeAt(n+1),(r&64512)===56320&&(t=65536+(t-55296<<10)+(r-56320),n++)),t<128?e[o++]=t:t<2048?(e[o++]=192|t>>>6,e[o++]=128|t&63):t<65536?(e[o++]=224|t>>>12,e[o++]=128|t>>>6&63,e[o++]=128|t&63):(e[o++]=240|t>>>18,e[o++]=128|t>>>12&63,e[o++]=128|t>>>6&63,e[o++]=128|t&63);return e};const eP=(i,e)=>{if(e<65534&&i.subarray&&SC)return String.fromCharCode.apply(null,i.length===e?i:i.subarray(0,e));let t="";for(let r=0;r<e;r++)t+=String.fromCharCode(i[r]);return t};var tP=(i,e)=>{const t=e||i.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(i.subarray(0,e));let r,n;const o=new Array(t*2);for(n=0,r=0;r<t;){let s=i[r++];if(s<128){o[n++]=s;continue}let a=Fc[s];if(a>4){o[n++]=65533,r+=a-1;continue}for(s&=a===2?31:a===3?15:7;a>1&&r<t;)s=s<<6|i[r++]&63,a--;if(a>1){o[n++]=65533;continue}s<65536?o[n++]=s:(s-=65536,o[n++]=55296|s>>10&1023,o[n++]=56320|s&1023)}return eP(o,n)},iP=(i,e)=>{e=e||i.length,e>i.length&&(e=i.length);let t=e-1;for(;t>=0&&(i[t]&192)===128;)t--;return t<0||t===0?e:t+Fc[i[t]]>e?t:e},yc={string2buf:JL,buf2string:tP,utf8border:iP};function rP(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var IC=rP;const EC=Object.prototype.toString,{Z_NO_FLUSH:nP,Z_SYNC_FLUSH:oP,Z_FULL_FLUSH:sP,Z_FINISH:aP,Z_OK:ru,Z_STREAM_END:lP,Z_DEFAULT_COMPRESSION:cP,Z_DEFAULT_STRATEGY:hP,Z_DEFLATED:dP}=hf;function ff(i){this.options=uf.assign({level:cP,method:dP,chunkSize:16384,windowBits:15,memLevel:8,strategy:hP},i||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new IC,this.strm.avail_out=0;let t=Vl.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(t!==ru)throw new Error(vs[t]);if(e.header&&Vl.deflateSetHeader(this.strm,e.header),e.dictionary){let r;if(typeof e.dictionary=="string"?r=yc.string2buf(e.dictionary):EC.call(e.dictionary)==="[object ArrayBuffer]"?r=new Uint8Array(e.dictionary):r=e.dictionary,t=Vl.deflateSetDictionary(this.strm,r),t!==ru)throw new Error(vs[t]);this._dict_set=!0}}ff.prototype.push=function(i,e){const t=this.strm,r=this.options.chunkSize;let n,o;if(this.ended)return!1;for(e===~~e?o=e:o=e===!0?aP:nP,typeof i=="string"?t.input=yc.string2buf(i):EC.call(i)==="[object ArrayBuffer]"?t.input=new Uint8Array(i):t.input=i,t.next_in=0,t.avail_in=t.input.length;;){if(t.avail_out===0&&(t.output=new Uint8Array(r),t.next_out=0,t.avail_out=r),(o===oP||o===sP)&&t.avail_out<=6){this.onData(t.output.subarray(0,t.next_out)),t.avail_out=0;continue}if(n=Vl.deflate(t,o),n===lP)return t.next_out>0&&this.onData(t.output.subarray(0,t.next_out)),n=Vl.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===ru;if(t.avail_out===0){this.onData(t.output);continue}if(o>0&&t.next_out>0){this.onData(t.output.subarray(0,t.next_out)),t.avail_out=0;continue}if(t.avail_in===0)break}return!0};ff.prototype.onData=function(i){this.chunks.push(i)};ff.prototype.onEnd=function(i){i===ru&&(this.result=uf.flattenChunks(this.chunks)),this.chunks=[],this.err=i,this.msg=this.strm.msg};function uP(i,e){const t=new ff(e);if(t.push(i,!0),t.err)throw t.msg||vs[t.err];return t.result}function fP(i,e){return e=e||{},e.raw=!0,uP(i,e)}var pP=fP,gP={deflateRaw:pP};const Nh=16209,mP=16191;var bP=function(e,t){let r,n,o,s,a,l,c,h,d,u,f,p,m,v,g,b,w,F,k,I,C,A,E,y;const S=e.state;r=e.next_in,E=e.input,n=r+(e.avail_in-5),o=e.next_out,y=e.output,s=o-(t-e.avail_out),a=o+(e.avail_out-257),l=S.dmax,c=S.wsize,h=S.whave,d=S.wnext,u=S.window,f=S.hold,p=S.bits,m=S.lencode,v=S.distcode,g=(1<<S.lenbits)-1,b=(1<<S.distbits)-1;e:do{p<15&&(f+=E[r++]<<p,p+=8,f+=E[r++]<<p,p+=8),w=m[f&g];t:for(;;){if(F=w>>>24,f>>>=F,p-=F,F=w>>>16&255,F===0)y[o++]=w&65535;else if(F&16){k=w&65535,F&=15,F&&(p<F&&(f+=E[r++]<<p,p+=8),k+=f&(1<<F)-1,f>>>=F,p-=F),p<15&&(f+=E[r++]<<p,p+=8,f+=E[r++]<<p,p+=8),w=v[f&b];i:for(;;){if(F=w>>>24,f>>>=F,p-=F,F=w>>>16&255,F&16){if(I=w&65535,F&=15,p<F&&(f+=E[r++]<<p,p+=8,p<F&&(f+=E[r++]<<p,p+=8)),I+=f&(1<<F)-1,I>l){e.msg="invalid distance too far back",S.mode=Nh;break e}if(f>>>=F,p-=F,F=o-s,I>F){if(F=I-F,F>h&&S.sane){e.msg="invalid distance too far back",S.mode=Nh;break e}if(C=0,A=u,d===0){if(C+=c-F,F<k){k-=F;do y[o++]=u[C++];while(--F);C=o-I,A=y}}else if(d<F){if(C+=c+d-F,F-=d,F<k){k-=F;do y[o++]=u[C++];while(--F);if(C=0,d<k){F=d,k-=F;do y[o++]=u[C++];while(--F);C=o-I,A=y}}}else if(C+=d-F,F<k){k-=F;do y[o++]=u[C++];while(--F);C=o-I,A=y}for(;k>2;)y[o++]=A[C++],y[o++]=A[C++],y[o++]=A[C++],k-=3;k&&(y[o++]=A[C++],k>1&&(y[o++]=A[C++]))}else{C=o-I;do y[o++]=y[C++],y[o++]=y[C++],y[o++]=y[C++],k-=3;while(k>2);k&&(y[o++]=y[C++],k>1&&(y[o++]=y[C++]))}}else if((F&64)===0){w=v[(w&65535)+(f&(1<<F)-1)];continue i}else{e.msg="invalid distance code",S.mode=Nh;break e}break}}else if((F&64)===0){w=m[(w&65535)+(f&(1<<F)-1)];continue t}else if(F&32){S.mode=mP;break e}else{e.msg="invalid literal/length code",S.mode=Nh;break e}break}}while(r<n&&o<a);k=p>>3,r-=k,p-=k<<3,f&=(1<<p)-1,e.next_in=r,e.next_out=o,e.avail_in=r<n?5+(n-r):5-(r-n),e.avail_out=o<a?257+(a-o):257-(o-a),S.hold=f,S.bits=p};const js=15,a1=852,l1=592,c1=0,gp=1,h1=2,wP=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),vP=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),FP=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),yP=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),CP=(i,e,t,r,n,o,s,a)=>{const l=a.bits;let c=0,h=0,d=0,u=0,f=0,p=0,m=0,v=0,g=0,b=0,w,F,k,I,C,A=null,E;const y=new Uint16Array(js+1),S=new Uint16Array(js+1);let _=null,M,R,T;for(c=0;c<=js;c++)y[c]=0;for(h=0;h<r;h++)y[e[t+h]]++;for(f=l,u=js;u>=1&&y[u]===0;u--);if(f>u&&(f=u),u===0)return n[o++]=1<<24|64<<16|0,n[o++]=1<<24|64<<16|0,a.bits=1,0;for(d=1;d<u&&y[d]===0;d++);for(f<d&&(f=d),v=1,c=1;c<=js;c++)if(v<<=1,v-=y[c],v<0)return-1;if(v>0&&(i===c1||u!==1))return-1;for(S[1]=0,c=1;c<js;c++)S[c+1]=S[c]+y[c];for(h=0;h<r;h++)e[t+h]!==0&&(s[S[e[t+h]]++]=h);if(i===c1?(A=_=s,E=20):i===gp?(A=wP,_=vP,E=257):(A=FP,_=yP,E=0),b=0,h=0,c=d,C=o,p=f,m=0,k=-1,g=1<<f,I=g-1,i===gp&&g>a1||i===h1&&g>l1)return 1;for(;;){M=c-m,s[h]+1<E?(R=0,T=s[h]):s[h]>=E?(R=_[s[h]-E],T=A[s[h]-E]):(R=96,T=0),w=1<<c-m,F=1<<p,d=F;do F-=w,n[C+(b>>m)+F]=M<<24|R<<16|T|0;while(F!==0);for(w=1<<c-1;b&w;)w>>=1;if(w!==0?(b&=w-1,b+=w):b=0,h++,--y[c]===0){if(c===u)break;c=e[t+s[h]]}if(c>f&&(b&I)!==k){for(m===0&&(m=f),C+=d,p=c-m,v=1<<p;p+m<u&&(v-=y[p+m],!(v<=0));)p++,v<<=1;if(g+=1<<p,i===gp&&g>a1||i===h1&&g>l1)return 1;k=b&I,n[k]=f<<24|p<<16|C-o|0}}return b!==0&&(n[C+b]=c-m<<24|64<<16|0),a.bits=f,0};var jl=CP;const _P=0,TC=1,MC=2,{Z_FINISH:d1,Z_BLOCK:xP,Z_TREES:Rh,Z_OK:ys,Z_STREAM_END:AP,Z_NEED_DICT:kP,Z_STREAM_ERROR:_r,Z_DATA_ERROR:NC,Z_MEM_ERROR:RC,Z_BUF_ERROR:SP,Z_DEFLATED:u1}=hf,pf=16180,f1=16181,p1=16182,g1=16183,m1=16184,b1=16185,w1=16186,v1=16187,F1=16188,y1=16189,nu=16190,Cn=16191,mp=16192,C1=16193,bp=16194,_1=16195,x1=16196,A1=16197,k1=16198,Bh=16199,Dh=16200,S1=16201,I1=16202,E1=16203,T1=16204,M1=16205,wp=16206,N1=16207,R1=16208,Gt=16209,BC=16210,DC=16211,IP=852,EP=592,TP=15,MP=TP,B1=i=>(i>>>24&255)+(i>>>8&65280)+((i&65280)<<8)+((i&255)<<24);function NP(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const Ls=i=>{if(!i)return 1;const e=i.state;return!e||e.strm!==i||e.mode<pf||e.mode>DC?1:0},zC=i=>{if(Ls(i))return _r;const e=i.state;return i.total_in=i.total_out=e.total=0,i.msg="",e.wrap&&(i.adler=e.wrap&1),e.mode=pf,e.last=0,e.havedict=0,e.flags=-1,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(IP),e.distcode=e.distdyn=new Int32Array(EP),e.sane=1,e.back=-1,ys},LC=i=>{if(Ls(i))return _r;const e=i.state;return e.wsize=0,e.whave=0,e.wnext=0,zC(i)},PC=(i,e)=>{let t;if(Ls(i))return _r;const r=i.state;return e<0?(t=0,e=-e):(t=(e>>4)+5,e<48&&(e&=15)),e&&(e<8||e>15)?_r:(r.window!==null&&r.wbits!==e&&(r.window=null),r.wrap=t,r.wbits=e,LC(i))},OC=(i,e)=>{if(!i)return _r;const t=new NP;i.state=t,t.strm=i,t.window=null,t.mode=pf;const r=PC(i,e);return r!==ys&&(i.state=null),r},RP=i=>OC(i,MP);let D1=!0,vp,Fp;const BP=i=>{if(D1){vp=new Int32Array(512),Fp=new Int32Array(32);let e=0;for(;e<144;)i.lens[e++]=8;for(;e<256;)i.lens[e++]=9;for(;e<280;)i.lens[e++]=7;for(;e<288;)i.lens[e++]=8;for(jl(TC,i.lens,0,288,vp,0,i.work,{bits:9}),e=0;e<32;)i.lens[e++]=5;jl(MC,i.lens,0,32,Fp,0,i.work,{bits:5}),D1=!1}i.lencode=vp,i.lenbits=9,i.distcode=Fp,i.distbits=5},HC=(i,e,t,r)=>{let n;const o=i.state;return o.window===null&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new Uint8Array(o.wsize)),r>=o.wsize?(o.window.set(e.subarray(t-o.wsize,t),0),o.wnext=0,o.whave=o.wsize):(n=o.wsize-o.wnext,n>r&&(n=r),o.window.set(e.subarray(t-r,t-r+n),o.wnext),r-=n,r?(o.window.set(e.subarray(t-r,t),0),o.wnext=r,o.whave=o.wsize):(o.wnext+=n,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=n))),0},DP=(i,e)=>{let t,r,n,o,s,a,l,c,h,d,u,f,p,m,v=0,g,b,w,F,k,I,C,A;const E=new Uint8Array(4);let y,S;const _=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(Ls(i)||!i.output||!i.input&&i.avail_in!==0)return _r;t=i.state,t.mode===Cn&&(t.mode=mp),s=i.next_out,n=i.output,l=i.avail_out,o=i.next_in,r=i.input,a=i.avail_in,c=t.hold,h=t.bits,d=a,u=l,A=ys;e:for(;;)switch(t.mode){case pf:if(t.wrap===0){t.mode=mp;break}for(;h<16;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}if(t.wrap&2&&c===35615){t.wbits===0&&(t.wbits=15),t.check=0,E[0]=c&255,E[1]=c>>>8&255,t.check=ui(t.check,E,2,0),c=0,h=0,t.mode=f1;break}if(t.head&&(t.head.done=!1),!(t.wrap&1)||(((c&255)<<8)+(c>>8))%31){i.msg="incorrect header check",t.mode=Gt;break}if((c&15)!==u1){i.msg="unknown compression method",t.mode=Gt;break}if(c>>>=4,h-=4,C=(c&15)+8,t.wbits===0&&(t.wbits=C),C>15||C>t.wbits){i.msg="invalid window size",t.mode=Gt;break}t.dmax=1<<t.wbits,t.flags=0,i.adler=t.check=1,t.mode=c&512?y1:Cn,c=0,h=0;break;case f1:for(;h<16;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}if(t.flags=c,(t.flags&255)!==u1){i.msg="unknown compression method",t.mode=Gt;break}if(t.flags&57344){i.msg="unknown header flags set",t.mode=Gt;break}t.head&&(t.head.text=c>>8&1),t.flags&512&&t.wrap&4&&(E[0]=c&255,E[1]=c>>>8&255,t.check=ui(t.check,E,2,0)),c=0,h=0,t.mode=p1;case p1:for(;h<32;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}t.head&&(t.head.time=c),t.flags&512&&t.wrap&4&&(E[0]=c&255,E[1]=c>>>8&255,E[2]=c>>>16&255,E[3]=c>>>24&255,t.check=ui(t.check,E,4,0)),c=0,h=0,t.mode=g1;case g1:for(;h<16;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}t.head&&(t.head.xflags=c&255,t.head.os=c>>8),t.flags&512&&t.wrap&4&&(E[0]=c&255,E[1]=c>>>8&255,t.check=ui(t.check,E,2,0)),c=0,h=0,t.mode=m1;case m1:if(t.flags&1024){for(;h<16;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}t.length=c,t.head&&(t.head.extra_len=c),t.flags&512&&t.wrap&4&&(E[0]=c&255,E[1]=c>>>8&255,t.check=ui(t.check,E,2,0)),c=0,h=0}else t.head&&(t.head.extra=null);t.mode=b1;case b1:if(t.flags&1024&&(f=t.length,f>a&&(f=a),f&&(t.head&&(C=t.head.extra_len-t.length,t.head.extra||(t.head.extra=new Uint8Array(t.head.extra_len)),t.head.extra.set(r.subarray(o,o+f),C)),t.flags&512&&t.wrap&4&&(t.check=ui(t.check,r,f,o)),a-=f,o+=f,t.length-=f),t.length))break e;t.length=0,t.mode=w1;case w1:if(t.flags&2048){if(a===0)break e;f=0;do C=r[o+f++],t.head&&C&&t.length<65536&&(t.head.name+=String.fromCharCode(C));while(C&&f<a);if(t.flags&512&&t.wrap&4&&(t.check=ui(t.check,r,f,o)),a-=f,o+=f,C)break e}else t.head&&(t.head.name=null);t.length=0,t.mode=v1;case v1:if(t.flags&4096){if(a===0)break e;f=0;do C=r[o+f++],t.head&&C&&t.length<65536&&(t.head.comment+=String.fromCharCode(C));while(C&&f<a);if(t.flags&512&&t.wrap&4&&(t.check=ui(t.check,r,f,o)),a-=f,o+=f,C)break e}else t.head&&(t.head.comment=null);t.mode=F1;case F1:if(t.flags&512){for(;h<16;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}if(t.wrap&4&&c!==(t.check&65535)){i.msg="header crc mismatch",t.mode=Gt;break}c=0,h=0}t.head&&(t.head.hcrc=t.flags>>9&1,t.head.done=!0),i.adler=t.check=0,t.mode=Cn;break;case y1:for(;h<32;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}i.adler=t.check=B1(c),c=0,h=0,t.mode=nu;case nu:if(t.havedict===0)return i.next_out=s,i.avail_out=l,i.next_in=o,i.avail_in=a,t.hold=c,t.bits=h,kP;i.adler=t.check=1,t.mode=Cn;case Cn:if(e===xP||e===Rh)break e;case mp:if(t.last){c>>>=h&7,h-=h&7,t.mode=wp;break}for(;h<3;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}switch(t.last=c&1,c>>>=1,h-=1,c&3){case 0:t.mode=C1;break;case 1:if(BP(t),t.mode=Bh,e===Rh){c>>>=2,h-=2;break e}break;case 2:t.mode=x1;break;case 3:i.msg="invalid block type",t.mode=Gt}c>>>=2,h-=2;break;case C1:for(c>>>=h&7,h-=h&7;h<32;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}if((c&65535)!==(c>>>16^65535)){i.msg="invalid stored block lengths",t.mode=Gt;break}if(t.length=c&65535,c=0,h=0,t.mode=bp,e===Rh)break e;case bp:t.mode=_1;case _1:if(f=t.length,f){if(f>a&&(f=a),f>l&&(f=l),f===0)break e;n.set(r.subarray(o,o+f),s),a-=f,o+=f,l-=f,s+=f,t.length-=f;break}t.mode=Cn;break;case x1:for(;h<14;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}if(t.nlen=(c&31)+257,c>>>=5,h-=5,t.ndist=(c&31)+1,c>>>=5,h-=5,t.ncode=(c&15)+4,c>>>=4,h-=4,t.nlen>286||t.ndist>30){i.msg="too many length or distance symbols",t.mode=Gt;break}t.have=0,t.mode=A1;case A1:for(;t.have<t.ncode;){for(;h<3;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}t.lens[_[t.have++]]=c&7,c>>>=3,h-=3}for(;t.have<19;)t.lens[_[t.have++]]=0;if(t.lencode=t.lendyn,t.lenbits=7,y={bits:t.lenbits},A=jl(_P,t.lens,0,19,t.lencode,0,t.work,y),t.lenbits=y.bits,A){i.msg="invalid code lengths set",t.mode=Gt;break}t.have=0,t.mode=k1;case k1:for(;t.have<t.nlen+t.ndist;){for(;v=t.lencode[c&(1<<t.lenbits)-1],g=v>>>24,b=v>>>16&255,w=v&65535,!(g<=h);){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}if(w<16)c>>>=g,h-=g,t.lens[t.have++]=w;else{if(w===16){for(S=g+2;h<S;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}if(c>>>=g,h-=g,t.have===0){i.msg="invalid bit length repeat",t.mode=Gt;break}C=t.lens[t.have-1],f=3+(c&3),c>>>=2,h-=2}else if(w===17){for(S=g+3;h<S;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}c>>>=g,h-=g,C=0,f=3+(c&7),c>>>=3,h-=3}else{for(S=g+7;h<S;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}c>>>=g,h-=g,C=0,f=11+(c&127),c>>>=7,h-=7}if(t.have+f>t.nlen+t.ndist){i.msg="invalid bit length repeat",t.mode=Gt;break}for(;f--;)t.lens[t.have++]=C}}if(t.mode===Gt)break;if(t.lens[256]===0){i.msg="invalid code -- missing end-of-block",t.mode=Gt;break}if(t.lenbits=9,y={bits:t.lenbits},A=jl(TC,t.lens,0,t.nlen,t.lencode,0,t.work,y),t.lenbits=y.bits,A){i.msg="invalid literal/lengths set",t.mode=Gt;break}if(t.distbits=6,t.distcode=t.distdyn,y={bits:t.distbits},A=jl(MC,t.lens,t.nlen,t.ndist,t.distcode,0,t.work,y),t.distbits=y.bits,A){i.msg="invalid distances set",t.mode=Gt;break}if(t.mode=Bh,e===Rh)break e;case Bh:t.mode=Dh;case Dh:if(a>=6&&l>=258){i.next_out=s,i.avail_out=l,i.next_in=o,i.avail_in=a,t.hold=c,t.bits=h,bP(i,u),s=i.next_out,n=i.output,l=i.avail_out,o=i.next_in,r=i.input,a=i.avail_in,c=t.hold,h=t.bits,t.mode===Cn&&(t.back=-1);break}for(t.back=0;v=t.lencode[c&(1<<t.lenbits)-1],g=v>>>24,b=v>>>16&255,w=v&65535,!(g<=h);){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}if(b&&(b&240)===0){for(F=g,k=b,I=w;v=t.lencode[I+((c&(1<<F+k)-1)>>F)],g=v>>>24,b=v>>>16&255,w=v&65535,!(F+g<=h);){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}c>>>=F,h-=F,t.back+=F}if(c>>>=g,h-=g,t.back+=g,t.length=w,b===0){t.mode=M1;break}if(b&32){t.back=-1,t.mode=Cn;break}if(b&64){i.msg="invalid literal/length code",t.mode=Gt;break}t.extra=b&15,t.mode=S1;case S1:if(t.extra){for(S=t.extra;h<S;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}t.length+=c&(1<<t.extra)-1,c>>>=t.extra,h-=t.extra,t.back+=t.extra}t.was=t.length,t.mode=I1;case I1:for(;v=t.distcode[c&(1<<t.distbits)-1],g=v>>>24,b=v>>>16&255,w=v&65535,!(g<=h);){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}if((b&240)===0){for(F=g,k=b,I=w;v=t.distcode[I+((c&(1<<F+k)-1)>>F)],g=v>>>24,b=v>>>16&255,w=v&65535,!(F+g<=h);){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}c>>>=F,h-=F,t.back+=F}if(c>>>=g,h-=g,t.back+=g,b&64){i.msg="invalid distance code",t.mode=Gt;break}t.offset=w,t.extra=b&15,t.mode=E1;case E1:if(t.extra){for(S=t.extra;h<S;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}t.offset+=c&(1<<t.extra)-1,c>>>=t.extra,h-=t.extra,t.back+=t.extra}if(t.offset>t.dmax){i.msg="invalid distance too far back",t.mode=Gt;break}t.mode=T1;case T1:if(l===0)break e;if(f=u-l,t.offset>f){if(f=t.offset-f,f>t.whave&&t.sane){i.msg="invalid distance too far back",t.mode=Gt;break}f>t.wnext?(f-=t.wnext,p=t.wsize-f):p=t.wnext-f,f>t.length&&(f=t.length),m=t.window}else m=n,p=s-t.offset,f=t.length;f>l&&(f=l),l-=f,t.length-=f;do n[s++]=m[p++];while(--f);t.length===0&&(t.mode=Dh);break;case M1:if(l===0)break e;n[s++]=t.length,l--,t.mode=Dh;break;case wp:if(t.wrap){for(;h<32;){if(a===0)break e;a--,c|=r[o++]<<h,h+=8}if(u-=l,i.total_out+=u,t.total+=u,t.wrap&4&&u&&(i.adler=t.check=t.flags?ui(t.check,n,u,s-u):vc(t.check,n,u,s-u)),u=l,t.wrap&4&&(t.flags?c:B1(c))!==t.check){i.msg="incorrect data check",t.mode=Gt;break}c=0,h=0}t.mode=N1;case N1:if(t.wrap&&t.flags){for(;h<32;){if(a===0)break e;a--,c+=r[o++]<<h,h+=8}if(t.wrap&4&&c!==(t.total&4294967295)){i.msg="incorrect length check",t.mode=Gt;break}c=0,h=0}t.mode=R1;case R1:A=AP;break e;case Gt:A=NC;break e;case BC:return RC;case DC:default:return _r}return i.next_out=s,i.avail_out=l,i.next_in=o,i.avail_in=a,t.hold=c,t.bits=h,(t.wsize||u!==i.avail_out&&t.mode<Gt&&(t.mode<wp||e!==d1))&&HC(i,i.output,i.next_out,u-i.avail_out),d-=i.avail_in,u-=i.avail_out,i.total_in+=d,i.total_out+=u,t.total+=u,t.wrap&4&&u&&(i.adler=t.check=t.flags?ui(t.check,n,u,i.next_out-u):vc(t.check,n,u,i.next_out-u)),i.data_type=t.bits+(t.last?64:0)+(t.mode===Cn?128:0)+(t.mode===Bh||t.mode===bp?256:0),(d===0&&u===0||e===d1)&&A===ys&&(A=SP),A},zP=i=>{if(Ls(i))return _r;let e=i.state;return e.window&&(e.window=null),i.state=null,ys},LP=(i,e)=>{if(Ls(i))return _r;const t=i.state;return(t.wrap&2)===0?_r:(t.head=e,e.done=!1,ys)},PP=(i,e)=>{const t=e.length;let r,n,o;return Ls(i)||(r=i.state,r.wrap!==0&&r.mode!==nu)?_r:r.mode===nu&&(n=1,n=vc(n,e,t,0),n!==r.check)?NC:(o=HC(i,e,t,t),o?(r.mode=BC,RC):(r.havedict=1,ys))};var OP=LC,HP=PC,$P=zC,UP=RP,VP=OC,jP=DP,qP=zP,GP=LP,WP=PP,QP="pako inflate (from Nodeca project)",Rn={inflateReset:OP,inflateReset2:HP,inflateResetKeep:$P,inflateInit:UP,inflateInit2:VP,inflate:jP,inflateEnd:qP,inflateGetHeader:GP,inflateSetDictionary:WP,inflateInfo:QP};function KP(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var YP=KP;const $C=Object.prototype.toString,{Z_NO_FLUSH:XP,Z_FINISH:ZP,Z_OK:Cc,Z_STREAM_END:yp,Z_NEED_DICT:Cp,Z_STREAM_ERROR:JP,Z_DATA_ERROR:z1,Z_MEM_ERROR:eO}=hf;function gf(i){this.options=uf.assign({chunkSize:1024*64,windowBits:15,to:""},i||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,e.windowBits===0&&(e.windowBits=-15)),e.windowBits>=0&&e.windowBits<16&&!(i&&i.windowBits)&&(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&(e.windowBits&15)===0&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new IC,this.strm.avail_out=0;let t=Rn.inflateInit2(this.strm,e.windowBits);if(t!==Cc)throw new Error(vs[t]);if(this.header=new YP,Rn.inflateGetHeader(this.strm,this.header),e.dictionary&&(typeof e.dictionary=="string"?e.dictionary=yc.string2buf(e.dictionary):$C.call(e.dictionary)==="[object ArrayBuffer]"&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(t=Rn.inflateSetDictionary(this.strm,e.dictionary),t!==Cc)))throw new Error(vs[t])}gf.prototype.push=function(i,e){const t=this.strm,r=this.options.chunkSize,n=this.options.dictionary;let o,s,a;if(this.ended)return!1;for(e===~~e?s=e:s=e===!0?ZP:XP,$C.call(i)==="[object ArrayBuffer]"?t.input=new Uint8Array(i):t.input=i,t.next_in=0,t.avail_in=t.input.length;;){for(t.avail_out===0&&(t.output=new Uint8Array(r),t.next_out=0,t.avail_out=r),o=Rn.inflate(t,s),o===Cp&&n&&(o=Rn.inflateSetDictionary(t,n),o===Cc?o=Rn.inflate(t,s):o===z1&&(o=Cp));t.avail_in>0&&o===yp&&t.state.wrap>0&&i[t.next_in]!==0;)Rn.inflateReset(t),o=Rn.inflate(t,s);switch(o){case JP:case z1:case Cp:case eO:return this.onEnd(o),this.ended=!0,!1}if(a=t.avail_out,t.next_out&&(t.avail_out===0||o===yp))if(this.options.to==="string"){let l=yc.utf8border(t.output,t.next_out),c=t.next_out-l,h=yc.buf2string(t.output,l);t.next_out=c,t.avail_out=r-c,c&&t.output.set(t.output.subarray(l,l+c),0),this.onData(h)}else this.onData(t.output.length===t.next_out?t.output:t.output.subarray(0,t.next_out));if(!(o===Cc&&a===0)){if(o===yp)return o=Rn.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,!0;if(t.avail_in===0)break}}return!0};gf.prototype.onData=function(i){this.chunks.push(i)};gf.prototype.onEnd=function(i){i===Cc&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=uf.flattenChunks(this.chunks)),this.chunks=[],this.err=i,this.msg=this.strm.msg};function e2(i,e){const t=new gf(e);if(t.push(i),t.err)throw t.msg||vs[t.err];return t.result}function tO(i,e){return e=e||{},e.raw=!0,e2(i,e)}var iO=e2,rO=tO,nO=e2,oO={inflate:iO,inflateRaw:rO,ungzip:nO};const{deflateRaw:sO}=gP,{inflate:aO,inflateRaw:lO,ungzip:cO}=oO;var hO=sO,_c=aO,t2=lO,UC=cO;const VC=4;function ou(i){const e=ArrayBuffer.isView(i)?i:new Uint8Array(i);return e[0]===31&&e[1]===139}function xc(i){const e=ArrayBuffer.isView(i)?i:new Uint8Array(i);return(e[3]&VC)!==0&&e[12]===66&&e[13]===67?fn(e.buffer):UC(e)}function fn(i,e){const t=[];let r=0,n=0;for(e=e||i.byteLength-18;r<e;)try{const s=ArrayBuffer.isView(i)?i:new Uint8Array(i,r,18),a=s[11]<<8|s[10],c=s[3]&VC,h=s[12],d=s[13],u=s[15]<<8|s[14],f=(s[17]<<8|s[16])+1,p=12+a+r,m=i.byteLength-p,v=f-a-19;if(m<v||v<=0)break;const g=new Uint8Array(i,p,v),b=t2(g);r+=v-1+26,n+=b.byteLength,t.push(b)}catch(s){console.error(s);break}if(t.length===1)return t[0];{const s=new Uint8Array(n);let a=0;for(let l=0;l<t.length;++l){var o=new Uint8Array(t[l]);fO(o,0,s,a,o.length),a+=o.length}return s}}function i2(i){const e=ArrayBuffer.isView(i)?i:new Uint8Array(i);return(e[17]<<8|e[16])+1}const dO=new Uint8Array(1),uO=typeof dO.subarray=="function";function fO(i,e,t,r,n){if(n!==0){if(i){if(!t)throw"Undef dest"}else throw"Undef src";n===i.length?_p(i,t,r):uO?_p(i.subarray(e,e+n),t,r):i.BYTES_PER_ELEMENT===1&&n>100?_p(new Uint8Array(i.buffer,i.byteOffset+e,n),t,r):pO(i,e,t,r,n)}}function pO(i,e,t,r,n){for(let o=0;o<n;++o)t[r+o]=i[e+o]}function _p(i,e,t){e.set(i,t)}function gO(i){const e=new Uint8Array(i.length);for(var t=0;t<i.length;t++)e[t]=i.charCodeAt(t);const r=new hO(e),n=String.fromCharCode.apply(null,r);return btoa(n).replace(/\+/g,".").replace(/\//g,"_").replace(/=/g,"-")}function mO(i){i=i.replace(/\./g,"+").replace(/_/g,"/").replace(/-/g,"=");const e=atob(i),t=[];for(let o=0;o<e.length;o++)t.push(e.charCodeAt(o));const r=t2(t);let n="";for(let o of r)n+=String.fromCharCode(o);return n}function Oo(i,e){const t=i.split(","),r=t[0].split(":")[1];let n=t[1];if(r.indexOf("base64")>=0){n=atob(n);const o=new Uint8Array(n.length);for(let a=0;a<n.length;a++)o[a]=n.charCodeAt(a);let s;return r.indexOf("gzip")>0?s=UC(o):s=o,s}else return decodeURIComponent(n)}const wt={lerp:(i,e,t)=>(1-t)*i+t*e,mean:function(i){var e=0,t=0,r;for(r=0;r<i.length;r++)isNaN(i[r])||(e+=i[r],t++);return t>0?e/t:0},meanAndStdev:function(i){var e,t=0,r=0,n=0,o;for(o=0;o<i.length;o++)e=i[o],isNaN(e)||(t+=e,r+=e*e,n++);return n>0?{mean:t/n,stdev:Math.sqrt(r-t*t/n)}:{mean:0,stdev:0}},median:function(i){var e=0,t=i.length;return i.sort(),t%2===0?e=(i[t/2-1]+i[t/2])/2:e=i[(t-1)/2],e},percentile:function(i,e){if(i.length!==0){var t=Math.floor(i.length*((100-e)/100));return t===0?(i.sort(function(r,n){return n-r}),i[t]):bO(i,t)}},clamp:function(i,e,t){return Math.min(Math.max(i,e),t)},log2:function(i){return Math.log(i)/Math.LN2}};function bO(i,e){var t=new jC,r;for(r=0;r<i.length;r++){var n=i[r];(t.content.length<e||n>t.content[0])&&(t.content.length===e&&t.pop(),t.push(n))}return t.content[0]}function jC(){this.content=[]}jC.prototype={push:function(i){this.content.push(i),this.bubbleUp(this.content.length-1)},pop:function(){var i=this.content[0],e=this.content.pop();return this.content.length>0&&(this.content[0]=e,this.sinkDown(0)),i},remove:function(i){for(var e=this.content.length,t=0;t<e;t++)if(this.content[t]===i){var r=this.content.pop();if(t===e-1)break;this.content[t]=r,this.bubbleUp(t),this.sinkDown(t);break}},size:function(){return this.content.length},bubbleUp:function(i){for(var e=this.content[i],t=e;i>0;){var r=Math.floor((i+1)/2)-1,n=this.content[r];if(t>=n)break;this.content[r]=e,this.content[i]=n,i=r}},sinkDown:function(i){for(var e=this.content.length,t=this.content[i],r=t;;){var n=(i+1)*2,o=n-1,s=null;if(o<e){var a=this.content[o],l=a;l<r&&(s=o)}if(n<e){var c=this.content[n],h=c;h<(s==null?r:l)&&(s=n)}if(s==null)break;this.content[i]=this.content[s],this.content[s]=t,i=s}}};function Qo(i,e){return Math.random()*(e-i)+i}const et={rgbListFromHSV:()=>{let i=1,e=[];for(let t=1;t>=.5;t-=.1)for(let r=0;r<1;r+=1/28){const n="rgb("+et.hsvToRgb(r,i,t).join(",")+")";e.push(n)}return e.pop(),e.push(et.rgbColor(16,16,16)),e},rgbToHex:function(i){return i=i.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i),i&&i.length===4?"#"+("0"+parseInt(i[1],10).toString(16)).slice(-2)+("0"+parseInt(i[2],10).toString(16)).slice(-2)+("0"+parseInt(i[3],10).toString(16)).slice(-2):""},hexToRgb:function(i){var e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(i);if(e!==null)return"rgb("+parseInt(e[1],16)+","+parseInt(e[2],16)+","+parseInt(e[3],16)+")"},hsvToRgb:function(i,e,t){var r,n,o,s=Math.floor(i*6),a=i*6-s,l=t*(1-e),c=t*(1-a*e),h=t*(1-(1-a)*e);switch(s%6){case 0:r=t,n=h,o=l;break;case 1:r=c,n=t,o=l;break;case 2:r=l,n=t,o=h;break;case 3:r=l,n=c,o=t;break;case 4:r=h,n=l,o=t;break;case 5:r=t,n=l,o=c;break}return[Math.floor(r*255),Math.floor(n*255),Math.floor(o*255)]},hslToRgb:function(i,e,t){var r,n,o;if(e===0)r=n=o=t;else{var s=t<.5?t*(1+e):t+e-t*e,a=2*t-s;r=et.hue2rgb(a,s,i+1/3),n=et.hue2rgb(a,s,i),o=et.hue2rgb(a,s,i-1/3)}return[r*255,n*255,o*255]},hue2rgb:(i,e,t)=>(t<0&&(t+=1),t>1&&(t-=1),t<1/6?i+(e-i)*6*t:t<1/2?e:t<2/3?i+(e-i)*(2/3-t)*6:i),rgbaColor:function(i,e,t,r){return i=wt.clamp(i,0,255),e=wt.clamp(e,0,255),t=wt.clamp(t,0,255),r=wt.clamp(r,0,1),"rgba("+i+","+e+","+t+","+r+")"},rgbColor:function(i,e,t){return i=wt.clamp(i,0,255),e=wt.clamp(e,0,255),t=wt.clamp(t,0,255),"rgb("+i+","+e+","+t+")"},greyScale:function(i){var e=wt.clamp(i,0,255);return"rgb("+e+","+e+","+e+")"},randomGrey:function(i,e){i=wt.clamp(i,0,255),e=wt.clamp(e,0,255);var t=Math.round(Qo(i,e)).toString(10);return"rgb("+t+","+t+","+t+")"},randomRGB:function(i,e){i=wt.clamp(i,0,255),e=wt.clamp(e,0,255);var t=Math.round(Qo(i,e)).toString(10),r=Math.round(Qo(i,e)).toString(10),n=Math.round(Qo(i,e)).toString(10);return"rgb("+t+","+r+","+n+")"},randomRGBConstantAlpha:function(i,e,t){i=wt.clamp(i,0,255),e=wt.clamp(e,0,255);var r=Math.round(Qo(i,e)).toString(10),n=Math.round(Qo(i,e)).toString(10),o=Math.round(Qo(i,e)).toString(10);return"rgba("+r+","+n+","+o+","+t+")"},addAlpha:function(i,e){if(i==="0"||i===".")i="rgb(0,0,0)";else{const r=this.colorNameToHex(i);r&&(i=r)}var t=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(i);if(i.startsWith("rgba")){const r=i.lastIndexOf(",");return i.substring(0,r+1)+e.toString()+")"}return t&&(i=et.hexToRgb(i)),i.startsWith("rgb")?i.replace("rgb","rgba").replace(")",", "+e+")"):(console.log(i+" is not an rgb style string"),i)},rgbComponents:function(i){if(i==="0"||i===".")return[0,0,0];if(/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(i))i=et.hexToRgb(i);else if(!i.startsWith("rgb")){const t=this.colorNameToHex(i);i=this.hexToRgb(t)}if(i.startsWith("rgb("))return i.substring(4,i.length-1).split(",").map(t=>Number.parseInt(t.trim()));if(i.startsWith("rgba("))return i.substring(5,i.length-1).split(",").map((t,r)=>(t=t.trim(),r===3?Number.parseFloat(t):Number.parseInt(t)));throw Error("Unrecognized color string: color")},getCompositeColor:function(i,e,t){var r=Math.floor(t*e[0]+(1-t)*i[0]),n=Math.floor(t*e[1]+(1-t)*i[1]),o=Math.floor(t*e[2]+(1-t)*i[2]);return"rgb("+r+","+n+","+o+")"},createColorString:function(i){const e=this.createColorStringSafe(i);return e||i},createColorStringSafe:function(i){if(i=am(i),i.startsWith("rgb(")&&i.endsWith(")")||i.startsWith("#")&&i.length<8)return i;const e=this.colorNameToHex(i);if(e)return e;const t=i.split(",");if(t.length===3&&xp(t[0])&&xp(t[1])&&xp(t[2]))return`rgb(${i})`},darkenLighten:function(i,e){let t,r=this.colorNameToHex(i);r?t=et.hexToRgb(r):t=i.startsWith("rgb(")?i:et.hexToRgb(i);const n=t.replace(")","").substring(4).split(","),o=Math.max(0,Math.min(255,Number.parseInt(n[0].trim())+e)),s=Math.max(0,Math.min(255,Number.parseInt(n[1].trim())+e)),a=Math.max(0,Math.min(255,Number.parseInt(n[2].trim())+e));return"rgb("+o.toString()+","+s.toString()+","+a.toString()+")"},colorNameToHex:function(i){return{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4","indianred ":"#cd5c5c","indigo ":"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32",darkgrey:"#a9a9a9",darkslategrey:"#2f4f4f",dimgrey:"#696969",grey:"#808080",lightgray:"#d3d3d3",lightslategrey:"#778899",slategrey:"#708090"}[i]}};function xp(i){const e=Number.parseInt(i);return!Number.isNaN(e)&&e>=0&&e<=255}const Ap="googleapis";class wO{constructor(){this.oauthTokens={}}setToken(e,t){t=t||Ap,this.oauthTokens[t]=e}getToken(e){e=e||Ap;let t;for(let r of Object.keys(this.oauthTokens))if(L1(r).test(e)){t=this.oauthTokens[r];break}return t}removeToken(e){e=e||Ap;for(let t of Object.keys(this.oauthTokens))L1(t).test(e)&&(this.oauthTokens[t]=void 0)}}function L1(i){return new RegExp("^"+i.split(/\*+/).map(vO).join(".*")+"$")}function vO(i){return i.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&")}function ll(i){return i.includes("googleapis")&&!i.includes("urlshortener")||r2(i)||su(i)}function r2(i){return i.startsWith("gs://")||i.startsWith("https://www.googleapis.com/storage")||i.startsWith("https://storage.cloud.google.com")||i.startsWith("https://storage.googleapis.com")}function su(i){return i.indexOf("drive.google.com")>=0||i.indexOf("www.googleapis.com/drive")>0}function FO(i){let{bucket:e,object:t}=yO(i);t=CO(t);const r=i.indexOf("?"),n=r>0?i.substring(r)+"&alt=media":"?alt=media";return`https://storage.googleapis.com/storage/v1/b/${e}/o/${t}${n}`}function yO(i){let e,t;if(i.startsWith("gs://")){const r=i.indexOf("/",5);if(r>=0){e=i.substring(5,r);const n=i.indexOf("?");t=n<0?i.substring(r+1):i.substring(r+1,n)}}else if(i.startsWith("https://storage.googleapis.com")||i.startsWith("https://storage.cloud.google.com")){const r=i.indexOf("/v1/b/",8);if(r>0){const n=i.indexOf("/o/",r);if(n>0){const o=i.indexOf("?",n);e=i.substring(r+6,n),t=o>0?i.substring(n+3,o):i.substring(n+3)}}else{const n=i.indexOf("/",8),o=i.indexOf("/",n+1),s=i.indexOf("?",o);o>0&&(e=i.substring(n+1,o),t=s<0?i.substring(o+1):i.substring(o+1,s))}}else if(i.startsWith("https://www.googleapis.com/storage/v1/b")){const r=i.indexOf("/v1/b/",8),n=i.indexOf("/o/",r);if(n>0){const o=i.indexOf("?",n);e=i.substring(r+6,n),t=o>0?i.substring(n+3,o):i.substring(n+3)}}if(e&&t)return{bucket:e,object:t};throw Error(`Unrecognized Google Storage URI: ${i}`)}function CO(i){let e="";return i.split("").forEach(function(t){Jt.has(t)?e+=Jt.get(t):e+=t}),e}const Jt=new Map;Jt.set("!","%21");Jt.set("#","%23");Jt.set("$","%24");Jt.set("%","%25");Jt.set("&","%26");Jt.set("'","%27");Jt.set("(","%28");Jt.set(")","%29");Jt.set("*","%2A");Jt.set("+","%2B");Jt.set(",","%2C");Jt.set("/","%2F");Jt.set(":","%3A");Jt.set(";","%3B");Jt.set("=","%3D");Jt.set("?","%3F");Jt.set("@","%40");Jt.set("[","%5B");Jt.set("]","%5D");Jt.set(" ","%20");async function _O(i){if(!google.accounts.oauth2.initTokenClient)throw new Error("Google accounts token client not loaded (https://accounts.google.com/gsi/client)");if(Ps())throw new Error("Google client is already initialized");const e={client_id:i.client_id||i.clientId,scope:i.scope||"https://www.googleapis.com/auth/userinfo.profile",state:i.state||"igv",error:r=>{throw new Error(r.type)},hint:i.hint,hosted_domain:i.hosted_domain},t=google.accounts.oauth2.initTokenClient(e);google.igv={tokenClient:t,apiKey:i.apiKey}}function Ps(){return window.google&&window.google.igv}function xO(){return Ps()&&google.igv.tokenResponse&&Date.now()<google.igv.tokenExpiresAt?google.igv.tokenResponse.access_token:void 0}let kp;async function qC(i){if(!Ps())throw Error("Google oAuth has not been initialized");if(google.igv.tokenResponse&&Date.now()<google.igv.tokenExpiresAt&&google.accounts.oauth2.hasGrantedAllScopes(google.igv.tokenResponse,i))return google.igv.tokenResponse.access_token;{const e=google.igv.tokenClient;return kp||(kp=new Promise((t,r)=>{try{e.callback=n=>{n.error!==void 0&&r(n),google.igv.tokenResponse=n,google.igv.tokenExpiresAt=Date.now()+n.expires_in*1e3,console.log("Access token expires at "+new Date(google.igv.tokenExpiresAt)),t(n.access_token)},console.log("Requesting access token"),e.requestAccessToken({scope:i})}catch(n){console.log(n)}})),kp}}function AO(i){return su(i)?"https://www.googleapis.com/auth/drive.file":r2(i)?"https://www.googleapis.com/auth/devstorage.read_only":"https://www.googleapis.com/auth/userinfo.profile"}function GC(){return google.igv.apiKey}async function kO(i){let t="https://www.googleapis.com/drive/v3/files/"+QC(i)+"?supportsTeamDrives=true";const r=GC();r&&(t+="&key="+r);let o=await(await fetch(t)).json();if(o.error&&o.error.code===404){const a=await qC("https://www.googleapis.com/auth/drive.readonly");if(a){if(o=await(await fetch(t,{headers:{Authorization:`Bearer ${a}`}})).json(),o.error)throw Error(o.error)}else throw Error(o.error)}return o}function WC(i){var e=QC(i);return e?"https://www.googleapis.com/drive/v3/files/"+e+"?alt=media&supportsTeamDrives=true":i}function QC(i){if(i.includes("/open?id=")){const e=i.indexOf("/open?id=")+9,t=i.indexOf("&");if(e>0&&t>e)return i.substring(e,t);if(e>0)return i.substring(e)}else if(i.includes("/file/d/")){const e=i.indexOf("/file/d/")+8,t=i.lastIndexOf("/");return i.substring(e,t)}else if(i.startsWith("https://www.googleapis.com/drive")){let e=i.indexOf("/files/");const t=i.indexOf("?");if(e>0)return e+=7,t>0?i.substring(e,t):i.substring(e)}throw Error("Unknown Google Drive url format: "+i)}class SO{constructor(e){this.requestsPerSecond=e.requestsPerSecond||10,this.lastStartTime=0,this.queued=[]}add(e,t){var r=this;return new Promise(function(n,o){r.queued.push({resolve:n,reject:o,asyncFunction:e}),r.dequeue()})}addAll(e,t){var r=e.map((function(n){return this.add(n,t)}).bind(this));return Promise.all(r)}dequeue(){if(this.queued.length>0){var e=new Date,t=1e3/this.requestsPerSecond+1,r=e-this.lastStartTime;r>=t?this._execute():setTimeout((function(){this.dequeue()}).bind(this),t-r)}}async _execute(){this.lastStartTime=new Date;var e=this.queued.shift();const t=e.asyncFunction;try{const r=await t();e.resolve(r)}catch(r){e.reject(r)}}}class IO{constructor(){this.apiKey=void 0,this.googleThrottle=new SO({requestsPerSecond:8}),this.RANGE_WARNING_GIVEN=!1,this.oauth=new wO}setApiKey(e){this.apiKey=e}async loadArrayBuffer(e,t){return t=t||{},t.responseType||(t.responseType="arraybuffer"),Eo(e)?this._loadFileSlice(e,t):this.load(e,t)}async loadByteArray(e,t){const r=await this.loadArrayBuffer(e,t);let n;return ou(r)?n=xc(r):n=new Uint8Array(r),n}async loadJson(e,t){t=t||{},(t.method||(t.sendData?"POST":"GET"))==="POST"&&(t.contentType="application/json");const n=await this.loadString(e,t);return n&&JSON.parse(n)}async loadString(e,t){return t=t||{},e instanceof File?this._loadStringFromFile(e,t):this._loadStringFromUrl(e,t)}async load(e,t){t=t||{};const r=typeof e;if(e=await(typeof e=="function"?e():e),Eo(e))return this._loadFileSlice(e,t);if(typeof e.startsWith=="function")if(e.startsWith("data:")){const n=Oo(e).buffer;if(t.range){const o=t.range.size?t.range.start+t.range.size:n.byteLength;return n.slice(t.range.start,o)}else return n}else return e.startsWith("https://drive.google.com")&&(e=WC(e)),su(e)||e.startsWith("https://www.dropbox.com")?this.googleThrottle.add(async()=>this._loadURL(e,t)):this._loadURL(e,t);else throw Error(`url must be either a 'File', 'string', 'function', or 'Promise'. Actual type: ${r}`)}async _loadURL(e,t){const r=this,n=e;e=BO(e),t=t||{};let o=t.oauthToken||this.getOauthToken(e);return o&&(o=await(typeof o=="function"?o():o)),new Promise(function(s,a){ll(e)&&!EO(e)&&(r2(e)&&(e=FO(e)),e=NO(e),su(e)&&RO(e),o||(o=P1()));const l=t.headers||{};o&&MO(l,o);const c=t.range,h=new XMLHttpRequest,d=t.sendData||t.body,u=t.method||(d?"POST":"GET"),f=t.responseType,p=t.contentType,m=t.mimeType;if(h.open(u,e),t.timeout&&(h.timeout=t.timeout),c){let b="";c.size&&(b=c.start+c.size-1),h.setRequestHeader("Range","bytes="+c.start+"-"+b)}if(p&&h.setRequestHeader("Content-Type",p),m&&h.overrideMimeType(m),f&&(h.responseType=f),l)for(let b of Object.keys(l)){const w=l[b];h.setRequestHeader(b,w)}t.withCredentials===!0&&(h.withCredentials=!0),h.onload=async function(b){if(h.status===0||h.status>=200&&h.status<=300)if(t.method==="HEAD"){const w=t.requestedHeaders||["content-length"],F={};for(let k of w)F[k]=h.getResponseHeader(k);s(F)}else c&&h.status!==206&&c.start!==0?(h.response.length>1e5&&!r.RANGE_WARNING_GIVEN&&alert(`Warning: Range header ignored for URL: ${e}. This can have severe performance impacts.`),s(h.response.slice(c.start,c.start+c.size))):s(h.response);else h.status===416?v(Error("416 Unsatisfiable Range")):Ps()&&(h.status===404||h.status===401||h.status===403)&&ll(e)&&!t.retries?g():h.status===403?v("Access forbidden: "+e):v(h.status)},h.onerror=function(b){ll(e)&&!t.retries?g():v("Error accessing resource: "+e+" Status: "+h.status)},h.ontimeout=function(b){v("Timed out")},h.onabort=function(b){console.log("Aborted"),a(b)};try{h.send(d)}catch(b){ll(e)&&!t.retries?g():v(b)}function v(b){if(a)a(b);else throw b}async function g(){try{const b=await TO(n);t.retries=1,t.oauthToken=b;const w=await r.load(n,t);s(w)}catch(b){if(b.error){const w=b.error.startsWith("popup_blocked")?"Google login popup blocked by browser.":b.error;alert(w)}else v(b)}}})}async _loadFileSlice(e,t){const n=await(t&&t.range?e.slice(t.range.start,t.range.start+t.range.size):e).arrayBuffer();return t.responseType==="arraybuffer"?n:Sp(n)}async _loadStringFromFile(e,t){const n=await(t.range?e.slice(t.range.start,t.range.start+t.range.size):e).arrayBuffer();return Sp(n)}async _loadStringFromUrl(e,t){t=t||{},t.responseType="arraybuffer";const r=await this.load(e,t);return Sp(r)}setOauthToken(e,t){this.oauth.setToken(e,t)}getOauthToken(e){const t=ll(e)?void 0:sC(e).host;let r=this.oauth.getToken(t);if(r)return r;if(t===void 0){const n=P1();if(n&&n.expires_at>Date.now())return n.access_token}}async getContentLength(e,t){t=t||{},t.method="HEAD",t.requestedHeaders=["content-length"];const n=(await this._loadURL(e,t))["content-length"];return n?Number.parseInt(n):0}}function EO(i){return i.indexOf("X-Goog-Signature")>-1}async function TO(i){if(Ps()){const e=AO(i);return await qC(e)}else throw Error("Authorization is required, but Google oAuth has not been initalized. Contact your site administrator for assistance.")}function P1(){if(Ps())return xO()}function MO(i,e){return e&&(i["Cache-Control"]="no-cache",i.Authorization="Bearer "+e),i}function NO(i){let e=Ee.apiKey;if(!e&&typeof gapi<"u"&&(e=gapi.apiKey),e!==void 0&&!i.includes("key=")){const t=i.includes("?")?"&":"?";i=i+t+"key="+e}return i}function RO(i){if(i.includes("supportsTeamDrive"))return i;{const e=i.includes("?")?"&":"?";i=i+e+"supportsTeamDrive=true"}}function BO(i){return i.startsWith("https://www.dropbox.com")?i.replace("//www.dropbox.com","//dl.dropboxusercontent.com"):i.startsWith("https://drive.google.com")?WC(i):i.includes("//www.broadinstitute.org/igvdata")?i.replace("//www.broadinstitute.org/igvdata","//data.broadinstitute.org/igvdata"):i.includes("//igvdata.broadinstitute.org")?i.replace("//igvdata.broadinstitute.org","//s3.amazonaws.com/igv.broadinstitute.org"):i.includes("//igv.genepattern.org")?i.replace("//igv.genepattern.org","//igv-genepattern-org.s3.amazonaws.com"):i.startsWith("ftp://ftp.ncbi.nlm.nih.gov/geo")?i.replace("ftp://","https://"):i}function Sp(i){let e;return ou(i)?e=xc(i):e=new Uint8Array(i),"TextDecoder"in zO()?new TextDecoder().decode(e):DO(e)}function DO(i){for(var e="",t=0;t<i.length;){var r=i[t],n=0,o=0;if(r<=127?(n=0,o=r&255):r<=223?(n=1,o=r&31):r<=239?(n=2,o=r&15):r<=244&&(n=3,o=r&7),i.length-t-n>0)for(var s=0;s<n;)r=i[t+s+1],o=o<<6|r&63,s+=1;else o=65533,n=i.length-t;e+=String.fromCodePoint(o),t+=n+1}return e}function zO(){return typeof self<"u"?self:typeof global<"u"?global:window}const Ee=new IO;var ro=1,Sn=2,zt={};zt.color=ro;zt.parent=zt;zt.left=zt;zt.right=zt;class LO{constructor(){this.root=zt}insert(e,t,r){var n=new $1(e,t,r),o=new PO(n);for(this.treeInsert(o),o.color=Sn;o!==this.root&&o.parent.color===Sn;)if(o.parent===o.parent.parent.left){let s=o.parent.parent.right;s.color===Sn?(o.parent.color=ro,s.color=ro,o.parent.parent.color=Sn,o=o.parent.parent):(o===o.parent.right&&(o=o.parent,O1.call(this,o)),o.parent.color=ro,o.parent.parent.color=Sn,H1.call(this,o.parent.parent))}else{let s=o.parent.parent.left;s.color===Sn?(o.parent.color=ro,s.color=ro,o.parent.parent.color=Sn,o=o.parent.parent):(o===o.parent.left&&(o=o.parent,H1.call(this,o)),o.parent.color=ro,o.parent.parent.color=Sn,O1.call(this,o.parent.parent))}this.root.color=ro}findOverlapping(e,t){var r=new $1(e,t,0);if(this.root===zt)return[];var n=bm.call(this,r,this.root,[]);return n.length>1&&n.sort(function(o,s){return o.low-s.low}),n}logIntervals(){e(this.root,0);function e(t,r){for(var n="",o=0;o<r;o++)n+=" ";console.log(n+t.interval.low+" "+t.interval.high),r+=5,t.left!==zt&&e(t.left,r),t.right!==zt&&e(t.right,r)}}mapIntervals(e){t(this.root);function t(r){e(r.interval),r.left!==zt&&t(r.left),r.right!==zt&&t(r.right)}}treeInsert(e){for(var t=this.root,r=zt;t!==zt;)r=t,e.interval.low<=t.interval.low?t=t.left:t=t.right;e.parent=r,r===zt?(this.root=e,e.left=e.right=zt):e.interval.low<=r.interval.low?r.left=e:r.right=e,n2.call(this,e)}}function bm(i,e,t){return e.interval.overlaps(i)&&t.push(e.interval),e.left!==zt&&e.left.max>=i.low&&bm.call(this,i,e.left,t),e.right!==zt&&e.right.min<=i.high&&bm.call(this,i,e.right,t),t}function O1(i){var e=i.right;i.right=e.left,e.left!==zt&&(e.left.parent=i),e.parent=i.parent,i.parent===zt?this.root=e:i.parent.left===i?i.parent.left=e:i.parent.right=e,e.left=i,i.parent=e,n2.call(this,i)}function H1(i){var e=i.left;i.left=e.right,e.right!==zt&&(e.right.parent=i),e.parent=i.parent,i.parent===zt?this.root=e:i.parent.right===i?i.parent.right=e:i.parent.left=e,e.right=i,i.parent=e,n2.call(this,i)}function n2(i){for(;i!==zt;){var e=i.left.max>i.right.max?i.left.max:i.right.max,t=i.interval.high;i.max=e>t?e:t;var r=i.left.min<i.right.min?i.left.min:i.right.min,n=i.interval.low;i.min=r<n?r:n,i=i.parent}}class $1{constructor(e,t,r){this.low=e,this.high=t,this.value=r}equals(e){return e?this===e?!0:this.low===e.low&&this.high===e.high:!1}compareTo(e){return this.low<e.low?-1:this.low>e.low?1:this.high<e.high?-1:this.high>e.high?1:0}overlaps(e){return this.low<=e.high&&e.low<=this.high}}function PO(i){this.parent=zt,this.left=zt,this.right=zt,this.interval=i,this.color=Sn}const Ac={packFeatures:function(i,e,t){var r,n;if(i){if(e=e||1e4,t||i.sort(function(m,v){return m.start-v.start}),i.length===0)return[];var o=[],s=0,a=0,l,c,h,d,u,f=2,p;for(r=i[0].start,n=i[i.length-1].start,p=Math.max(r,i[0].start),l=p,i.forEach(function(m){var v=Math.max(0,m.start-p);o[v]===void 0&&(o[v]=[]),o[v].push(m)}),c=0;s<i.length&&c<=e;){for(;l<=n;){for(d=void 0;!d&&l<=n;)h=l-p,o[h]===void 0?++l:d=o[h];if(!d)break;u=d.pop(),d.length===0&&(o[h]=void 0),u.row=c,l=u.end+f,++s}if(c++,l=p,s===a)break;a=s}}},findOverlapping:function(i,e,t){if(!i||i.length===0)return[];{const n=OO(i).findOverlapping(e,t);return n.length===0?[]:(i=[],n.forEach(function(o){const s=o.value,a=s.length;for(let l=0;l<a;l++){const c=s[l];if(c.start>t)break;c.end>e&&i.push(c)}}),i.sort(function(o,s){return o.start-s.start}),i)}}};function OO(i){const e=new LO,t=i.length,r=Math.max(10,Math.round(t/100));i.sort(function(n,o){return n.start===o.start?0:n.start>o.start?1:-1});for(let n=0;n<t;n+=r){const o=Math.min(t,n+r),s=i.slice(n,o),a=s[0].start;let l=a;s.forEach(function(c){l=Math.max(l,c.end)}),e.insert(a,l,s)}return e}function U1(i){if(i=i.replace(/^#/,""),i.length===3&&(i=i.split("").map(o=>o+o).join("")),i.length!==6)throw new Error("Invalid HEX color.");let e=parseInt(i,16),t=e>>16&255,r=e>>8&255,n=e&255;return`rgb(${t}, ${r}, ${n})`}const HO={licorice:"#000000",steel:"#6e6e6e",magnesium:"#b8b8b8",mercury:"#e8e8e8",cayenne:"#891100",mocha:"#894800",aspargus:"#888501",fern:"#458401",teal:"#008688",salmon:"#ff726e",tangerine:"#ff8802",cantaloupe:"#ffce6e",lemon:"#fffa03",lime:"#83f902",honeydew:"#cefa6e",ice:"#68fdff",aqua:"#008cff",blueberry:"#002eff",midnight:"#001888",grape:"#8931ff",lavender:"#d278ff",orchid:"#6e76ff",strawberry:"#ff2987",magenta:"#ff39ff",carnation:"#ff7fd3"},KC={cantaloupe:{r:255,g:206,b:110},honeydew:{r:206,g:250,b:110},spindrift:{r:104,g:251,b:208},sky:{r:106,g:207,b:255},lavender:{r:210,g:120,b:255},carnation:{r:255,g:127,b:211},licorice:{r:0,g:0,b:0},snow:{r:255,g:255,b:255},salmon:{r:255,g:114,b:110},banana:{r:255,g:251,b:109},flora:{r:104,g:249,b:110},ice:{r:104,g:253,b:255},orchid:{r:110,g:118,b:255},bubblegum:{r:255,g:122,b:255},lead:{r:30,g:30,b:30},mercury:{r:232,g:232,b:232},tangerine:{r:255,g:136,b:2},lime:{r:131,g:249,b:2},sea_foam:{r:3,g:249,b:135},aqua:{r:0,g:140,b:255},grape:{r:137,g:49,b:255},strawberry:{r:255,g:41,b:135},tungsten:{r:58,g:58,b:58},silver:{r:208,g:208,b:208},maraschino:{r:255,g:33,b:1},lemon:{r:255,g:250,b:3},spring:{r:5,g:248,b:2},turquoise:{r:0,g:253,b:255},blueberry:{r:0,g:46,b:255},magenta:{r:255,g:57,b:255},iron:{r:84,g:84,b:83},magnesium:{r:184,g:184,b:184},mocha:{r:137,g:72,b:0},fern:{r:69,g:132,b:1},moss:{r:1,g:132,b:72},ocean:{r:0,g:74,b:136},eggplant:{r:73,g:26,b:136},maroon:{r:137,g:22,b:72},steel:{r:110,g:110,b:110},aluminum:{r:160,g:159,b:160},cayenne:{r:137,g:17,b:0},aspargus:{r:136,g:133,b:1},clover:{r:2,g:132,b:1},teal:{r:0,g:134,b:136},midnight:{r:0,g:24,b:136},plum:{r:137,g:30,b:136},tin:{r:135,g:134,b:135},nickel:{r:136,g:135,b:135}};function Ti(i){const{r:e,g:t,b:r}=KC[i];return`rgb(${e},${t},${r})`}function $O(i,e){const{r:t,g:r,b:n}=KC[i];return`rgba(${t},${r},${n},${e})`}const au={Set1:["rgb(228,26,28)","rgb(55,126,184)","rgb(77,175,74)","rgb(166,86,40)","rgb(152,78,163)","rgb(255,127,0)","rgb(247,129,191)","rgb(153,153,153)","rgb(255,255,51)"],Dark2:["rgb(27,158,119)","rgb(217,95,2)","rgb(117,112,179)","rgb(231,41,138)","rgb(102,166,30)","rgb(230,171,2)","rgb(166,118,29)","rgb(102,102,102)"],Set2:["rgb(102, 194,165)","rgb(252,141,98)","rgb(141,160,203)","rgb(231,138,195)","rgb(166,216,84)","rgb(255,217,47)","rgb(229,196,148)","rgb(179,179,179)"],Set3:["rgb(141,211,199)","rgb(255,255,179)","rgb(190,186,218)","rgb(251,128,114)","rgb(128,177,211)","rgb(253,180,98)","rgb(179,222,105)","rgb(252,205,229)","rgb(217,217,217)","rgb(188,128,189)","rgb(204,235,197)","rgb(255,237,111)"],Pastel1:["rgb(251,180,174)","rgb(179,205,227)","rgb(204,235,197)","rgb(222,203,228)","rgb(254,217,166)","rgb(255,255,204)","rgb(229,216,189)","rgb(253,218,236)"],Pastel2:["rgb(173,226,207)","rgb(253,205,172)","rgb(203,213,232)","rgb(244,202,228)","rgb(230,245,201)","rgb(255,242,174)","rgb(243,225,206)"],Accent:["rgb(127,201,127)","rgb(190,174,212)","rgb(253,192,134)","rgb(255,255,153)","rgb(56,108,176)","rgb(240,2,127)","rgb(191,91,23)"]};class Ba{constructor(e){this.colors=au[e],Array.isArray(this.colors)||(this.colors=[]),this.colorTable=new Map,this.nextIdx=0,this.colorGenerator=new Zc}getColor(e){return this.colorTable.has(e)||(this.nextIdx<this.colors.length?this.colorTable.set(e,this.colors[this.nextIdx]):this.colorTable.set(e,this.colorGenerator.get()),this.nextIdx++),this.colorTable.get(e)}}class To{constructor(e){this.colorTable=e||{},this.nextIdx=0,this.colorGenerator=new Zc}getColor(e){if(!this.colorTable.hasOwnProperty(e)){if(this.colorTable.hasOwnProperty("*"))return this.colorTable["*"];this.colorTable[e]=this.colorGenerator.get()}return this.colorTable[e]}}function Zc(){this.hue=Math.random(),this.goldenRatio=.618033988749895,this.hexwidth=2}Zc.prototype.hsvToRgb=function(i,e,t){var r=Math.floor(i*6),n=i*6-r,o=t*(1-e),s=t*(1-n*e),a=t*(1-(1-n)*e),l=255,c=255,h=255;switch(r){case 0:l=t,c=a,h=o;break;case 1:l=s,c=t,h=o;break;case 2:l=o,c=t,h=a;break;case 3:l=o,c=s,h=t;break;case 4:l=a,c=o,h=t;break;case 5:l=t,c=o,h=s;break}return[Math.floor(l*256),Math.floor(c*256),Math.floor(h*256)]};Zc.prototype.padHex=function(i){return i.length>this.hexwidth?i:new Array(this.hexwidth-i.length+1).join("0")+i};Zc.prototype.get=function(i,e){this.hue+=this.goldenRatio,this.hue%=1,typeof i!="number"&&(i=.5),typeof e!="number"&&(e=.95);var t=this.hsvToRgb(this.hue,i,e);return"#"+this.padHex(t[0].toString(16))+this.padHex(t[1].toString(16))+this.padHex(t[2].toString(16))};function V1(i,e,t,r){return i=wt.clamp(i,0,255),e=wt.clamp(e,0,255),t=wt.clamp(t,0,255),r=wt.clamp(r,0,1),`rgba(${i}, ${e}, ${t}, ${r})`}function UO(i,e,t){return i=wt.clamp(i,0,255),e=wt.clamp(e,0,255),t=wt.clamp(t,0,255),`rgb(${i}, ${e}, ${t})`}function VO(i,e){i=wt.clamp(i,0,255),e=wt.clamp(e,0,255);const t=Math.round(Math.random()*(e-i)+i).toString(10),r=Math.round(Math.random()*(e-i)+i).toString(10),n=Math.round(Math.random()*(e-i)+i).toString(10);return`rgb(${t},${r},${n})`}function jO(i){if(i.startsWith("rgba(")){const[e,t]=i.split("("),[r]=t.split(")");return r.split(",").map((n,o)=>o<3?parseInt(n):parseFloat(n))}else return}function ia(i){if(i.startsWith("rgb(")){const[e,t]=i.split("("),[r]=t.split(")");return r.split(",").map(n=>parseInt(n))}else return}const j1=.005;function qO(i,e,t){if(t<j1)return i;if(t>1-j1)return e;{let r,n,o,s,a,l;t<.5?(t/=.5,[r,n,o]=ia(i),[s,a,l]=ia(Ti("snow"))):(t=(t-.5)/.5,[r,n,o]=ia(Ti("snow")),[s,a,l]=ia(e));const[c,h,d]=[Math.floor(wt.lerp(r,s,t)),Math.floor(wt.lerp(n,a,t)),Math.floor(wt.lerp(o,l,t))];return UO(c,h,d)}}function vd(i){const e=new Set(["boolean","number","string","symbol"]),t=typeof i;return i!==void 0&&(e.has(t)||i.substring||i.toFixed)}function Ke(i,e){var t={oauthToken:i.oauthToken,headers:i.headers,withCredentials:i.withCredentials,filename:i.filename};return Object.assign(t,e)}const kc=function(i){var e,t;if(i&&i.length>0){e=Number.MAX_VALUE,t=-Number.MAX_VALUE;for(let r of i)Number.isNaN(r.value)||(e=Math.min(e,r.value),t=Math.max(t,r.value));t>0&&(e=Math.min(0,e)),t<0&&(t=0)}else e=0,t=100;return{min:e,max:t}},YC=function(i,e,t){let r=e.start,n=e.end;if(n===void 0)r-=t/2,n=r+t,n>i?(n=i,r=n-t):r<0&&(r=0,n=t);else if(n-r<t){const o=(n+r)/2;o-t/2<0?(r=0,n=r+t):o+t/2>i?(n=i,r=n-t):(r=o-t/2,n=r+t)}e.start=Math.ceil(r),e.end=Math.floor(n)};/*!
1997
1997
  * is-number <https://github.com/jonschlinkert/is-number>
1998
1998
  *
1999
1999
  * Copyright (c) 2014-present, Jon Schlinkert.