summaryrefslogtreecommitdiff
path: root/out/_next/static/chunks/311-d9f67a58f4e62c329b1d.js
diff options
context:
space:
mode:
Diffstat (limited to 'out/_next/static/chunks/311-d9f67a58f4e62c329b1d.js')
-rw-r--r--out/_next/static/chunks/311-d9f67a58f4e62c329b1d.js37649
1 files changed, 37648 insertions, 1 deletions
diff --git a/out/_next/static/chunks/311-d9f67a58f4e62c329b1d.js b/out/_next/static/chunks/311-d9f67a58f4e62c329b1d.js
index 8c2a0e1..e50f401 100644
--- a/out/_next/static/chunks/311-d9f67a58f4e62c329b1d.js
+++ b/out/_next/static/chunks/311-d9f67a58f4e62c329b1d.js
@@ -1 +1,37648 @@
-(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[311],{676:function(e,t,n){"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}n.d(t,{Z:function(){return r}})},2137:function(e,t,n){"use strict";function r(e,t,n,r,i,o,a){try{var s=e[o](a),l=s.value}catch(u){return void n(u)}s.done?t(l):Promise.resolve(l).then(r,i)}function i(e){return function(){var t=this,n=arguments;return new Promise((function(i,o){var a=e.apply(t,n);function s(e){r(a,i,o,s,l,"next",e)}function l(e){r(a,i,o,s,l,"throw",e)}s(void 0)}))}}n.d(t,{Z:function(){return i}})},7375:function(e,t,n){"use strict";function r(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}n.d(t,{Z:function(){return r}})},4699:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=n(2961);function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(l){i=!0,o=l}finally{try{r||null==s.return||s.return()}finally{if(i)throw o}}return n}}(e,t)||(0,r.Z)(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},7329:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(676);var i=n(2961);function o(e){return function(e){if(Array.isArray(e))return(0,r.Z)(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||(0,i.Z)(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},2961:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=n(676);function i(e,t){if(e){if("string"===typeof e)return(0,r.Z)(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?(0,r.Z)(e,t):void 0}}},6327:function(e,t,n){"use strict";n.d(t,{UQ:function(){return q},KF:function(){return $},XE:function(){return Y},Qd:function(){return Z},Hk:function(){return X}});var r=n(58),i=n(63),o=n(2326),a=n(5284),s=n(9676),l=n(5643),u=n(658),c=n(8554),d=n.n(c),f=n(4461),h=n(3808),p=n(3869),v=n(7554),m=n(7294);function g(){return(g=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var y={ease:[.25,.1,.25,1],easeIn:[.4,0,1,1],easeOut:[0,0,.2,1],easeInOut:[.4,0,.2,1]};var b=(e,t)=>g({},e,{delay:(0,h.hj)(t)?t:null==t?void 0:t.enter}),w=(e,t)=>g({},e,{delay:(0,h.hj)(t)?t:null==t?void 0:t.exit});function x(){return(x=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var E={exit:{height:{duration:.2,ease:y.ease},opacity:{duration:.3,ease:y.ease}},enter:{height:{duration:.3,ease:y.ease},opacity:{duration:.4,ease:y.ease}}},k={exit:e=>{var t,n,{animateOpacity:r,startingHeight:i,transition:o,transitionEnd:a,delay:s}=e;return x({},r&&{opacity:(n=i,null!=n&&parseInt(n.toString(),10)>0?1:0)},{overflow:"hidden",height:i,transitionEnd:null==a?void 0:a.exit,transition:null!=(t=null==o?void 0:o.exit)?t:w(E.exit,s)})},enter:e=>{var t,{animateOpacity:n,endingHeight:r,transition:i,transitionEnd:o,delay:a}=e;return x({},n&&{opacity:1},{height:r,transitionEnd:null==o?void 0:o.enter,transition:null!=(t=null==i?void 0:i.enter)?t:b(E.enter,a)})}},T=m.forwardRef(((e,t)=>{var{in:n,unmountOnExit:r,animateOpacity:i=!0,startingHeight:o=0,endingHeight:a="auto",style:s,className:l,transition:c,transitionEnd:h}=e,g=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,["in","unmountOnExit","animateOpacity","startingHeight","endingHeight","style","className","transition","transitionEnd"]),[y,b]=m.useState(!1);m.useEffect((()=>{var e=setTimeout((()=>{b(!0)}));return()=>clearTimeout(e)}),[]),(0,u.ZK)({condition:Boolean(o>0&&r),message:"startingHeight and unmountOnExit are mutually exclusive. You can't use them together"});var w=parseFloat(o.toString())>0,E={startingHeight:o,endingHeight:a,animateOpacity:i,transition:y?c:{enter:{duration:0}},transitionEnd:d()(h,{enter:{overflow:"initial"},exit:r?void 0:{display:w?"block":"none"}})},T=!r||n,_=n||r?"enter":"exit";return m.createElement(p.M,{initial:!1,custom:E},T&&m.createElement(v.E.div,x({ref:t},g,{className:(0,f.cx)("chakra-collapse",l),style:x({overflow:"hidden",display:"block"},s),custom:E,variants:k,initial:!!r&&"exit",animate:_,exit:"exit"})))}));h.Ts&&(T.displayName="Collapse");var _=n(8500),O=n(1888),C=n(7581),A=n(1034),S=n(4577),P=n(2947),M=n(7277),R=n(7248);function j(){return(j=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function D(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}var[L,N,I,z]=(0,O.n)();function H(e){var{onChange:t,defaultIndex:n,index:r,allowMultiple:i,allowToggle:o}=e,a=D(e,["onChange","defaultIndex","index","allowMultiple","allowToggle"]);!function(e){var t=e.index||e.defaultIndex,n=!(0,h.o8)(t)&&!(0,h.kJ)(t)&&e.allowMultiple;(0,u.ZK)({condition:!!n,message:"If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: "+typeof t+","})}(e),function(e){(0,u.ZK)({condition:!(!e.allowMultiple||!e.allowToggle),message:"If 'allowMultiple' is passed, 'allowToggle' will be ignored. Either remove 'allowToggle' or 'allowMultiple' depending on whether you want multiple accordions visible or not"})}(e);var s=I(),[l,c]=(0,m.useState)(-1);(0,C.z)((()=>{c(-1)}));var[d,f]=(0,A.T)({value:r,defaultValue:()=>i?null!=n?n:[]:null!=n?n:-1,onChange:t});return{index:d,setIndex:f,htmlProps:a,getAccordionItemProps:e=>{var t=!1;null!==e&&(t=(0,h.kJ)(d)?d.includes(e):d===e);return{isOpen:t,onChange:t=>{if(null!==e)if(i&&(0,h.kJ)(d)){var n=t?(0,M.jX)(d,e):(0,M.cl)(d,e);f(n)}else t?f(e):o&&f(-1)}}},focusedIndex:l,setFocusedIndex:c,descendants:s}}var[B,F]=(0,_.k)({name:"AccordionContext",errorMessage:"useAccordionContext: `context` is undefined. Seems you forgot to wrap the accordion components in `<Accordion />`"});function V(e){var{isDisabled:t,isFocusable:n,id:r}=e,i=D(e,["isDisabled","isFocusable","id"]),{getAccordionItemProps:o,setFocusedIndex:a}=F(),s=(0,m.useRef)(null),[l,c]=(0,S.ZS)(r,"accordion-button","accordion-panel");!function(e){(0,u.ZK)({condition:!(!e.isFocusable||e.isDisabled),message:"Using only 'isFocusable', this prop is reserved for situations where you pass 'isDisabled' but you still want the element to receive focus (A11y). Either remove it or pass 'isDisabled' as well.\n "})}(e);var{register:d,index:h,descendants:p}=z({disabled:t&&!n}),{isOpen:v,onChange:g}=o(-1===h?null:h);!function(e){(0,u.ZK)({condition:e.isOpen&&!!e.isDisabled,message:"Cannot open a disabled accordion item"})}({isOpen:v,isDisabled:t});var y=(0,m.useCallback)((()=>{null==g||g(!v),a(h)}),[h,a,v,g]),b=(0,m.useCallback)((e=>{var t={ArrowDown:()=>{var e=p.nextEnabled(h);e&&(0,R.T)(e.node)},ArrowUp:()=>{var e=p.prevEnabled(h);e&&(0,R.T)(e.node)},Home:()=>{var e=p.firstEnabled();e&&(0,R.T)(e.node)},End:()=>{var e=p.lastEnabled();e&&(0,R.T)(e.node)}}[(0,f.uh)(e)];t&&(e.preventDefault(),t(e))}),[p,h]),w=(0,m.useCallback)((()=>{a(h)}),[a,h]),x=(0,m.useCallback)((function(e,n){return void 0===e&&(e={}),void 0===n&&(n=null),j({},e,{type:"button",ref:(0,P.l)(d,s,n),id:l,disabled:!!t,"aria-expanded":!!v,"aria-controls":c,onClick:(0,u.v0)(e.onClick,y),onFocus:(0,u.v0)(e.onFocus,w),onKeyDown:(0,u.v0)(e.onKeyDown,b)})}),[l,t,v,y,w,b,c,d]),E=(0,m.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),j({},e,{ref:t,role:"region",id:c,"aria-labelledby":l,hidden:!v})}),[l,v,c]);return{isOpen:v,isDisabled:t,isFocusable:n,onOpen:()=>{null==g||g(!0)},onClose:()=>{null==g||g(!1)},getButtonProps:x,getPanelProps:E,htmlProps:i}}function U(){return(U=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function G(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}var q=(0,i.G)(((e,t)=>{var{children:n,reduceMotion:r}=e,i=G(e,["children","reduceMotion"]),u=(0,o.j)("Accordion",i),c=H((0,a.Lr)(i)),{htmlProps:d,descendants:h}=c,p=G(c,["htmlProps","descendants"]),v=m.useMemo((()=>U({},p,{reduceMotion:!!r})),[p,r]);return m.createElement(L,{value:h},m.createElement(B,{value:v},m.createElement(s.Fo,{value:u},m.createElement(l.m$.div,U({ref:t},d,{className:(0,f.cx)("chakra-accordion",i.className)}),n))))}));h.Ts&&(q.displayName="Accordion");var[W,K]=(0,_.k)({name:"AccordionItemContext",errorMessage:"useAccordionItemContext: `context` is undefined. Seems you forgot to wrap the accordion item parts in `<AccordionItem />` "}),Z=(0,i.G)(((e,t)=>{var{children:n,className:r}=e,i=V(e),{htmlProps:o}=i,a=G(i,["htmlProps"]),c=U({},(0,s.yK)().container,{overflowAnchor:"none"}),d=m.useMemo((()=>a),[a]);return m.createElement(W,{value:d},m.createElement(l.m$.div,U({ref:t},o,{className:(0,f.cx)("chakra-accordion__item",r),__css:c}),(0,u.Pu)(n,{isExpanded:!!a.isOpen,isDisabled:!!a.isDisabled})))}));h.Ts&&(Z.displayName="AccordionItem");var $=(0,i.G)(((e,t)=>{var{getButtonProps:n}=K(),r=n(e,t),i=U({display:"flex",alignItems:"center",width:"100%",outline:0},(0,s.yK)().button);return m.createElement(l.m$.button,U({},r,{className:(0,f.cx)("chakra-accordion__button",e.className),__css:i}))}));h.Ts&&($.displayName="AccordionButton");var X=(0,i.G)(((e,t)=>{var{reduceMotion:n}=F(),{getPanelProps:r,isOpen:i}=K(),o=r(e,t),a=(0,f.cx)("chakra-accordion__panel",e.className),u=(0,s.yK)();n||delete o.hidden;var c=m.createElement(l.m$.div,U({},o,{__css:u.panel,className:a}));return n?c:m.createElement(T,{in:i},c)}));h.Ts&&(X.displayName="AccordionPanel");var Y=e=>{var{isOpen:t,isDisabled:n}=K(),{reduceMotion:i}=F(),o=(0,f.cx)("chakra-accordion__icon",e.className),a=U({opacity:n?.4:1,transform:t?"rotate(-180deg)":void 0,transition:i?void 0:"transform 0.2s",transformOrigin:"center"},(0,s.yK)().icon);return m.createElement(r.J,U({viewBox:"0 0 24 24","aria-hidden":!0,className:o,__css:a},e),m.createElement("path",{fill:"currentColor",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"}))};h.Ts&&(Y.displayName="AccordionIcon")},155:function(e,t,n){"use strict";n.d(t,{z:function(){return _}});var r=n(2947),i=n(917),o=n(63),a=n(2326),s=n(5284),l=n(5643),u=n(4461),c=n(3808),d=n(5415),f=n(7294);function h(){return(h=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var p=(0,i.F4)({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),v=(0,o.G)(((e,t)=>{var n=(0,a.m)("Spinner",e),r=(0,s.Lr)(e),{label:i="Loading...",thickness:o="2px",speed:c="0.45s",emptyColor:v="transparent",className:m}=r,g=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(r,["label","thickness","speed","emptyColor","className"]),y=(0,u.cx)("chakra-spinner",m),b=h({display:"inline-block",borderColor:"currentColor",borderStyle:"solid",borderRadius:"99999px",borderWidth:o,borderBottomColor:v,borderLeftColor:v,animation:p+" "+c+" linear infinite"},n);return f.createElement(l.m$.div,h({ref:t,__css:b,className:y},g),i&&f.createElement(d.TX,null,i))}));c.Ts&&(v.displayName="Spinner");var m=n(8554),g=n.n(m),y=n(8500);function b(){return(b=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var[w,x]=(0,y.k)({strict:!1,name:"ButtonGroupContext"}),E=(0,o.G)(((e,t)=>{var{size:n,colorScheme:r,variant:i,className:o,spacing:a="0.5rem",isAttached:s,isDisabled:c}=e,d=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,["size","colorScheme","variant","className","spacing","isAttached","isDisabled"]),h=(0,u.cx)("chakra-button__group",o),p=f.useMemo((()=>({size:n,colorScheme:r,variant:i,isDisabled:c})),[n,r,i,c]),v={display:"inline-flex"};return v=b({},v,s?{"> *:first-of-type:not(:last-of-type)":{borderEndRadius:0},"> *:not(:first-of-type):not(:last-of-type)":{borderRadius:0},"> *:not(:first-of-type):last-of-type":{borderStartRadius:0}}:{"& > *:not(style) ~ *:not(style)":{marginStart:a}}),f.createElement(w,{value:p},f.createElement(l.m$.div,b({ref:t,role:"group",__css:v,className:h},d)))}));function k(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}function T(){return(T=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}c.Ts&&(E.displayName="ButtonGroup");var _=(0,o.G)(((e,t)=>{var n,i=x(),o=(0,a.m)("Button",T({},i,e)),c=(0,s.Lr)(e),{isDisabled:d=(null==i?void 0:i.isDisabled),isLoading:h,isActive:p,isFullWidth:v,children:m,leftIcon:y,rightIcon:b,loadingText:w,iconSpacing:E="0.5rem",type:_,spinner:A,spinnerPlacement:S="start",className:P,as:M}=c,R=k(c,["isDisabled","isLoading","isActive","isFullWidth","children","leftIcon","rightIcon","loadingText","iconSpacing","type","spinner","spinnerPlacement","className","as"]),j=g()({},null!=(n=null==o?void 0:o._focus)?n:{},{zIndex:1}),D=T({display:"inline-flex",appearance:"none",alignItems:"center",justifyContent:"center",userSelect:"none",position:"relative",whiteSpace:"nowrap",verticalAlign:"middle",outline:"none",width:v?"100%":"auto"},o,!!i&&{_focus:j}),{ref:L,type:N}=function(e){var[t,n]=f.useState(!e),r=f.useCallback((e=>{e&&n("BUTTON"===e.tagName)}),[]),i=t?"button":void 0;return{ref:r,type:i}}(M);return f.createElement(l.m$.button,T({disabled:d||h,ref:(0,r.l)(t,L),as:M,type:null!=_?_:N,"data-active":(0,u.PB)(p),"data-loading":(0,u.PB)(h),__css:D,className:(0,u.cx)("chakra-button",P)},R),y&&!h&&f.createElement(O,{marginEnd:E},y),h&&"start"===S&&f.createElement(C,{className:"chakra-button__spinner--start",label:w,placement:"start"},A),h?w||f.createElement(l.m$.span,{opacity:0},m):m,h&&"end"===S&&f.createElement(C,{className:"chakra-button__spinner--end",label:w,placement:"end"},A),b&&!h&&f.createElement(O,{marginStart:E},b))}));c.Ts&&(_.displayName="Button");var O=e=>{var{children:t,className:n}=e,r=k(e,["children","className"]),i=f.isValidElement(t)?f.cloneElement(t,{"aria-hidden":!0,focusable:!1}):t,o=(0,u.cx)("chakra-button__icon",n);return f.createElement(l.m$.span,T({display:"inline-flex",alignSelf:"center",flexShrink:0},r,{className:o}),i)};c.Ts&&(O.displayName="ButtonIcon");var C=e=>{var{label:t,placement:n,children:r=f.createElement(v,{color:"currentColor",width:"1em",height:"1em"}),className:i,__css:o}=e,a=k(e,["label","placement","spacing","children","className","__css"]),s=(0,u.cx)("chakra-button__spinner",i),c=T({display:"flex",alignItems:"center",position:t?"relative":"absolute",["start"===n?"marginEnd":"marginStart"]:t?"0.5rem":0,fontSize:"1em",lineHeight:"normal"},o);return f.createElement(l.m$.div,T({className:s},a,{__css:c}),r)};c.Ts&&(C.displayName="ButtonSpinner")},8420:function(e,t,n){"use strict";n.d(t,{h:function(){return l}});var r=n(63),i=n(3808),o=n(7294),a=n(155);function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var l=(0,r.G)(((e,t)=>{var{icon:n,children:r,isRound:i,"aria-label":l}=e,u=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,["icon","children","isRound","aria-label"]),c=n||r,d=o.isValidElement(c)?o.cloneElement(c,{"aria-hidden":!0,focusable:!1}):null;return o.createElement(a.z,s({padding:"0",borderRadius:i?"full":void 0,ref:t,"aria-label":l},u),d)}));i.Ts&&(l.displayName="IconButton")},1033:function(e,t,n){"use strict";n.d(t,{P:function(){return f}});var r=n(58),i=n(63),o=n(2326),a=n(5284),s=n(5643),l=n(3808),u=n(7294);function c(){return(c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var d=e=>u.createElement(r.J,c({focusable:"false","aria-hidden":!0},e),u.createElement("path",{fill:"currentColor",d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"})),f=(0,i.G)(((e,t)=>{var n=(0,o.m)("CloseButton",e),r=(0,a.Lr)(e),{children:i,isDisabled:l,__css:f}=r,h=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(r,["children","isDisabled","__css"]);return u.createElement(s.m$.button,c({type:"button","aria-label":"Close",ref:t,disabled:l,__css:c({},{outline:0,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},n,f)},h),i||u.createElement(d,{width:"1em",height:"1em"}))}));l.Ts&&(f.displayName="CloseButton")},2300:function(e,t,n){"use strict";var r=n(5643),i=n(3808),o=n(7294);function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var s=e=>{var{type:t="checkbox",_hover:n,_invalid:i,_disabled:s,_focus:l,_checked:u,_child:c={opacity:0},_checkedAndChild:d={opacity:1},_checkedAndDisabled:f,_checkedAndFocus:h,_checkedAndHover:p,children:v}=e,m=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,["type","_hover","_invalid","_disabled","_focus","_checked","_child","_checkedAndChild","_checkedAndDisabled","_checkedAndFocus","_checkedAndHover","children"]),g="input[type="+t+"]:checked:disabled + &",y="input[type="+t+"]:checked:hover:not(:disabled) + &",b="input[type="+t+"]:checked:focus + &",w="input[type="+t+"]:disabled + &",x="input[type="+t+"]:focus + &",E="input[type="+t+"]:hover:not(:disabled):not(:checked) + &",k="input[type="+t+"]:checked + &, input[type="+t+"][aria-checked=mixed] + &",T="input[type="+t+"][aria-invalid=true] + &",_="& > *";return o.createElement(r.m$.div,a({},m,{"aria-hidden":!0,__css:{display:"inline-flex",alignItems:"center",justifyContent:"center",transitionProperty:"common",transitionDuration:"fast",flexShrink:0,[x]:l,[E]:n,[w]:s,[T]:i,[g]:f,[b]:h,[y]:p,[_]:c,[k]:a({},u,{[_]:d})}}),v)};i.Ts&&(s.displayName="ControlBox")},1888:function(e,t,n){"use strict";n.d(t,{n:function(){return v}});var r=n(8500),i=n(2947),o=n(7294);function a(e){return e.sort(((e,t)=>{var n=e.compareDocumentPosition(t);if(n&Node.DOCUMENT_POSITION_FOLLOWING||n&Node.DOCUMENT_POSITION_CONTAINED_BY)return-1;if(n&Node.DOCUMENT_POSITION_PRECEDING||n&Node.DOCUMENT_POSITION_CONTAINS)return 1;if(n&Node.DOCUMENT_POSITION_DISCONNECTED||n&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC)throw Error("Cannot sort the given nodes.");return 0}))}function s(e,t,n){var r=e+1;return n&&r>=t&&(r=0),r}function l(e,t,n){var r=e-1;return n&&r<0&&(r=t),r}var u="undefined"!==typeof window?o.useLayoutEffect:o.useEffect;function c(){return(c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class f{constructor(){var e=this;d(this,"descendants",new Map),d(this,"register",(e=>{var t;if(null!=e)return"object"==typeof(t=e)&&"nodeType"in t&&t.nodeType===Node.ELEMENT_NODE?this.registerNode(e):t=>{this.registerNode(t,e)}})),d(this,"unregister",(e=>{this.descendants.delete(e);var t=a(Array.from(this.descendants.keys()));this.assignIndex(t)})),d(this,"destroy",(()=>{this.descendants.clear()})),d(this,"assignIndex",(e=>{this.descendants.forEach((t=>{var n=e.indexOf(t.node);t.index=n,t.node.dataset.index=t.index.toString()}))})),d(this,"count",(()=>this.descendants.size)),d(this,"enabledCount",(()=>this.enabledValues().length)),d(this,"values",(()=>Array.from(this.descendants.values()).sort(((e,t)=>e.index-t.index)))),d(this,"enabledValues",(()=>this.values().filter((e=>!e.disabled)))),d(this,"item",(e=>{if(0!==this.count())return this.values()[e]})),d(this,"enabledItem",(e=>{if(0!==this.enabledCount())return this.enabledValues()[e]})),d(this,"first",(()=>this.item(0))),d(this,"firstEnabled",(()=>this.enabledItem(0))),d(this,"last",(()=>this.item(this.descendants.size-1))),d(this,"lastEnabled",(()=>{var e=this.enabledValues().length-1;return this.enabledItem(e)})),d(this,"indexOf",(e=>{var t,n;return e&&null!=(t=null==(n=this.descendants.get(e))?void 0:n.index)?t:-1})),d(this,"enabledIndexOf",(e=>null==e?-1:this.enabledValues().findIndex((t=>t.node.isSameNode(e))))),d(this,"next",(function(t,n){void 0===n&&(n=!0);var r=s(t,e.count(),n);return e.item(r)})),d(this,"nextEnabled",(function(t,n){void 0===n&&(n=!0);var r=e.item(t);if(r){var i=s(e.enabledIndexOf(r.node),e.enabledCount(),n);return e.enabledItem(i)}})),d(this,"prev",(function(t,n){void 0===n&&(n=!0);var r=l(t,e.count()-1,n);return e.item(r)})),d(this,"prevEnabled",(function(t,n){void 0===n&&(n=!0);var r=e.item(t);if(r){var i=l(e.enabledIndexOf(r.node),e.enabledCount()-1,n);return e.enabledItem(i)}})),d(this,"registerNode",((e,t)=>{if(e&&!this.descendants.has(e)){var n=a(Array.from(this.descendants.keys()).concat(e));null!=t&&t.disabled&&(t.disabled=!!t.disabled);var r=c({node:e,index:-1},t);this.descendants.set(e,r),this.assignIndex(n)}}))}}var[h,p]=(0,r.k)({name:"DescendantsProvider",errorMessage:"useDescendantsContext must be used within DescendantsProvider"});function v(){return[h,()=>p(),()=>function(){var[e]=(0,o.useState)((()=>new f));return u((()=>()=>e.destroy())),e}(),e=>function(e){var t=p(),[n,r]=(0,o.useState)(-1),a=(0,o.useRef)(null);u((()=>()=>{a.current&&t.unregister(a.current)}),[]),u((()=>{if(a.current){var e=Number(a.current.dataset.index);n==e||Number.isNaN(e)||r(e)}}));var s=e?t.register(e):t.register;return{descendants:t,index:n,enabledIndex:t.enabledIndexOf(a.current),register:(0,i.l)(s,a)}}(e)]}},639:function(e,t,n){"use strict";n.d(t,{k:function(){return i}});var r=n(7294);function i(e){void 0===e&&(e=!1);var[t,n]=(0,r.useState)(e);return[t,{on:(0,r.useCallback)((()=>{n(!0)}),[]),off:(0,r.useCallback)((()=>{n(!1)}),[]),toggle:(0,r.useCallback)((()=>{n((e=>!e))}),[])}]}},762:function(e,t,n){"use strict";n.d(t,{W:function(){return o}});var r=n(7294),i=n(8327);function o(e,t){void 0===t&&(t=[]);var n=r.useRef(e);return(0,i.G)((()=>{n.current=e})),r.useCallback((function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return null==n.current?void 0:n.current(...t)}),t)}},1034:function(e,t,n){"use strict";n.d(t,{p:function(){return a},T:function(){return s}});var r=n(658),i=n(7294),o=n(762);function a(e,t){var n=void 0!==e;return[n,n&&"undefined"!==typeof e?e:t]}function s(e){var{value:t,defaultValue:n,onChange:a,shouldUpdate:s=((e,t)=>e!==t)}=e,l=(0,o.W)(a),u=(0,o.W)(s),[c,d]=i.useState(n),f=void 0!==t,h=f?t:c,p=i.useCallback((e=>{var t=(0,r.Pu)(e,h);u(h,t)&&(f||d(t),l(t))}),[f,l,h,u]);return[h,p]}},4860:function(e,t,n){"use strict";n.d(t,{q:function(){return l}});var r=n(658),i=n(7294),o=n(1034),a=n(4577);function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function l(e){void 0===e&&(e={});var{onClose:t,onOpen:n,isOpen:l,id:u}=e,[c,d]=i.useState(e.defaultIsOpen||!1),[f,h]=(0,o.p)(l,c),p=(0,a.Me)(u,"disclosure"),v=i.useCallback((()=>{f||d(!1),null==t||t()}),[f,t]),m=i.useCallback((()=>{f||d(!0),null==n||n()}),[f,n]),g=i.useCallback((()=>{(h?v:m)()}),[h,m,v]);return{isOpen:!!h,onOpen:m,onClose:v,onToggle:g,isControlled:f,getButtonProps:function(e){return void 0===e&&(e={}),s({},e,{"aria-expanded":"true","aria-controls":p,onClick:(0,r.v0)(e.onClick,g)})},getDisclosureProps:function(e){return void 0===e&&(e={}),s({},e,{hidden:!h,id:p})}}}},4941:function(e,t,n){"use strict";n.d(t,{O:function(){return a}});var r=n(658),i=n(7294),o=n(762);function a(e,t,n,a){var s=(0,o.W)(t);return i.useEffect((()=>{var t,i=null!=(t=(0,r.Pu)(n))?t:document;return i.addEventListener(e,s,a),()=>{i.removeEventListener(e,s,a)}}),[e,n,a,s]),()=>{var t;(null!=(t=(0,r.Pu)(n))?t:document).removeEventListener(e,s,a)}}},8327:function(e,t,n){"use strict";n.d(t,{G:function(){return i}});var r=n(7294),i=n(4461).jU?r.useLayoutEffect:r.useEffect},7581:function(e,t,n){"use strict";n.d(t,{z:function(){return i}});var r=n(7294);function i(e,t){return void 0===t&&(t=[]),r.useEffect((()=>()=>e()),t)}},2653:function(e,t,n){"use strict";n.d(t,{r:function(){return i}});var r=n(7294),i=(e,t)=>{var n=r.useRef(!1);return r.useEffect((()=>{if(n.current)return e();n.current=!0}),t),n.current}},9867:function(e,t,n){"use strict";n.d(t,{I:function(){return l}});var r=n(63),i=n(3808),o=n(7294),a=n(58);function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function l(e){var{viewBox:t="0 0 24 24",d:n,path:l,displayName:u,defaultProps:c={}}=e,d=(0,r.G)(((e,r)=>o.createElement(a.J,s({ref:r,viewBox:t},c,e),null!=l?l:o.createElement("path",{fill:"currentColor",d:n}))));return i.Ts&&(d.displayName=u),d}},58:function(e,t,n){"use strict";n.d(t,{J:function(){return c}});var r=n(63),i=n(5643),o=n(4461),a=n(3808),s=n(7294);function l(){return(l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var u={path:s.createElement("g",{stroke:"currentColor",strokeWidth:"1.5"},s.createElement("path",{strokeLinecap:"round",fill:"none",d:"M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25"}),s.createElement("path",{fill:"currentColor",strokeLinecap:"round",d:"M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0"}),s.createElement("circle",{fill:"none",strokeMiterlimit:"10",cx:"12",cy:"12",r:"11.25"})),viewBox:"0 0 24 24"},c=(0,r.G)(((e,t)=>{var{as:n,viewBox:r,color:a="currentColor",focusable:c=!1,children:d,className:f,__css:h}=e,p=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,["as","viewBox","color","focusable","children","className","__css"]),v={ref:t,focusable:c,className:(0,o.cx)("chakra-icon",f),__css:l({w:"1em",h:"1em",display:"inline-block",lineHeight:"1em",flexShrink:0,color:a},h)},m=null!=r?r:u.viewBox;if(n&&"string"!==typeof n)return s.createElement(i.m$.svg,l({as:n},v,p));var g=null!=d?d:u.path;return s.createElement(i.m$.svg,l({verticalAlign:"middle",viewBox:m},v,p),g)}));a.Ts&&(c.displayName="Icon")},6569:function(e,t,n){"use strict";n.d(t,{v:function(){return r}});var r=(0,n(9867).I)({displayName:"ChevronDownIcon",d:"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"})},4189:function(e,t,n){"use strict";n.d(t,{h:function(){return o}});var r=n(9867),i=n(7294),o=(0,r.I)({displayName:"InfoOutlineIcon",path:i.createElement("g",{fill:"currentColor",stroke:"currentColor",strokeLinecap:"square",strokeWidth:"2"},i.createElement("circle",{cx:"12",cy:"12",fill:"none",r:"11",stroke:"currentColor"}),i.createElement("line",{fill:"none",x1:"11.959",x2:"11.959",y1:"11",y2:"17"}),i.createElement("circle",{cx:"11.959",cy:"7",r:"1",stroke:"none"}))})},3986:function(e,t,n){"use strict";n.d(t,{A:function(){return o}});var r=n(9867),i=n(7294),o=(0,r.I)({displayName:"RepeatClockIcon",path:i.createElement("g",{fill:"currentColor"},i.createElement("path",{d:"M12.965,6a1,1,0,0,0-1,1v5.5a1,1,0,0,0,1,1h5a1,1,0,0,0,0-2h-3.75a.25.25,0,0,1-.25-.25V7A1,1,0,0,0,12.965,6Z"}),i.createElement("path",{d:"M12.567,1.258A10.822,10.822,0,0,0,2.818,8.4a.25.25,0,0,1-.271.163L.858,8.309a.514.514,0,0,0-.485.213.5.5,0,0,0-.021.53l2.679,4.7a.5.5,0,0,0,.786.107l3.77-3.746a.5.5,0,0,0-.279-.85L5.593,9.007a.25.25,0,0,1-.192-.35,8.259,8.259,0,1,1,7.866,11.59,1.25,1.25,0,0,0,.045,2.5h.047a10.751,10.751,0,1,0-.792-21.487Z"}))})},3924:function(e,t,n){"use strict";n.d(t,{e:function(){return r}});var r=(0,n(9867).I)({viewBox:"0 0 14 14",d:"M14,7.77 L14,6.17 L12.06,5.53 L11.61,4.44 L12.49,2.6 L11.36,1.47 L9.55,2.38 L8.46,1.93 L7.77,0.01 L6.17,0.01 L5.54,1.95 L4.43,2.4 L2.59,1.52 L1.46,2.65 L2.37,4.46 L1.92,5.55 L0,6.23 L0,7.82 L1.94,8.46 L2.39,9.55 L1.51,11.39 L2.64,12.52 L4.45,11.61 L5.54,12.06 L6.23,13.98 L7.82,13.98 L8.45,12.04 L9.56,11.59 L11.4,12.47 L12.53,11.34 L11.61,9.53 L12.08,8.44 L14,7.75 L14,7.77 Z M7,10 C5.34,10 4,8.66 4,7 C4,5.34 5.34,4 7,4 C8.66,4 10,5.34 10,7 C10,8.66 8.66,10 7,10 Z",displayName:"SettingsIcon"})},8017:function(e,t,n){"use strict";n.d(t,{xu:function(){return u}});var r=n(5643),i=n(63),o=n(3808),a=n(7294);function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function l(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}var u=(0,r.m$)("div");o.Ts&&(u.displayName="Box");var c=(0,i.G)(((e,t)=>{var{size:n,centerContent:r=!0}=e,i=l(e,["size","centerContent"]),o=r?{display:"flex",alignItems:"center",justifyContent:"center"}:{};return a.createElement(u,s({ref:t,boxSize:n,__css:s({},o,{flexShrink:0,flexGrow:0})},i))}));o.Ts&&(c.displayName="Square");var d=(0,i.G)(((e,t)=>{var{size:n}=e,r=l(e,["size"]);return a.createElement(c,s({size:n,ref:t,borderRadius:"9999px"},r))}));o.Ts&&(d.displayName="Circle")},4096:function(e,t,n){"use strict";n.d(t,{k:function(){return l}});var r=n(63),i=n(5643),o=n(3808),a=n(7294);function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var l=(0,r.G)(((e,t)=>{var{direction:n,align:r,justify:o,wrap:l,basis:u,grow:c,shrink:d}=e,f=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,["direction","align","justify","wrap","basis","grow","shrink"]),h={display:"flex",flexDirection:n,alignItems:r,justifyContent:o,flexWrap:l,flexBasis:u,flexGrow:c,flexShrink:d};return a.createElement(i.m$.div,s({ref:t,__css:h},f))}));o.Ts&&(l.displayName="Flex")},2026:function(e,t,n){"use strict";n.d(t,{cX:function(){return h},gC:function(){return g}});var r=n(5643),i=n(63),o=n(4461),a=n(3808),s=n(4255),l=n(7294),u=n(5505);Object.freeze(["base","sm","md","lg","xl","2xl"]);function c(e,t){return(0,a.kJ)(e)?e.map((e=>null===e?null:t(e))):(0,a.Kn)(e)?(0,u.Yd)(e).reduce(((n,r)=>(n[r]=t(e[r]),n)),{}):null!=e?t(e):null}var d="& > *:not(style) ~ *:not(style)";function f(){return(f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var h=e=>l.createElement(r.m$.div,f({className:"chakra-stack__divider"},e,{__css:f({},e.__css,{borderWidth:0,alignSelf:"stretch",borderColor:"inherit",width:"auto",height:"auto"})})),p=e=>l.createElement(r.m$.div,f({className:"chakra-stack__item"},e,{__css:f({display:"inline-block",flex:"0 0 auto",minWidth:0},e.__css)})),v=(0,i.G)(((e,t)=>{var{isInline:n,direction:i,align:a,justify:u,spacing:h="0.5rem",wrap:v,children:m,divider:g,className:y,shouldWrapChildren:b}=e,w=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,["isInline","direction","align","justify","spacing","wrap","children","divider","className","shouldWrapChildren"]),x=n?"row":null!=i?i:"column",E=l.useMemo((()=>function(e){var{spacing:t,direction:n}=e,r={column:{marginTop:t,marginEnd:0,marginBottom:0,marginStart:0},row:{marginTop:0,marginEnd:0,marginBottom:0,marginStart:t},"column-reverse":{marginTop:0,marginEnd:0,marginBottom:t,marginStart:0},"row-reverse":{marginTop:0,marginEnd:t,marginBottom:0,marginStart:0}};return{flexDirection:n,[d]:c(n,(e=>r[e]))}}({direction:x,spacing:h})),[x,h]),k=l.useMemo((()=>function(e){var{spacing:t,direction:n}=e,r={column:{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},"column-reverse":{my:t,mx:0,borderLeftWidth:0,borderBottomWidth:"1px"},row:{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0},"row-reverse":{mx:t,my:0,borderLeftWidth:"1px",borderBottomWidth:0}};return{"&":c(n,(e=>r[e]))}}({spacing:h,direction:x})),[h,x]),T=!!g,_=!b&&!T,O=(0,s.W)(m),C=_?O:O.map(((e,t)=>{var n=t+1===O.length,r=b?l.createElement(p,{key:t},e):e;if(!T)return r;var i=n?null:l.cloneElement(g,{__css:k});return l.createElement(l.Fragment,{key:t},r,i)})),A=(0,o.cx)("chakra-stack",y);return l.createElement(r.m$.div,f({ref:t,display:"flex",alignItems:a,justifyContent:u,flexDirection:E.flexDirection,flexWrap:v,className:A,__css:T?{}:{[d]:E[d]}},w),C)}));a.Ts&&(v.displayName="Stack");var m=(0,i.G)(((e,t)=>l.createElement(v,f({align:"center"},e,{direction:"row",ref:t}))));a.Ts&&(m.displayName="HStack");var g=(0,i.G)(((e,t)=>l.createElement(v,f({align:"center"},e,{direction:"column",ref:t}))));a.Ts&&(g.displayName="VStack")},4115:function(e,t,n){"use strict";n.d(t,{x:function(){return f}});var r=n(63),i=n(2326),o=n(5284),a=n(5643),s=n(5505),l=n(4461),u=n(3808),c=n(7294);function d(){return(d=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var f=(0,r.G)(((e,t)=>{var n=(0,i.m)("Text",e),r=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}((0,o.Lr)(e),["className","align","decoration","casing"]),u=(0,s.YU)({textAlign:e.align,textDecoration:e.decoration,textTransform:e.casing});return c.createElement(a.m$.p,d({ref:t,className:(0,l.cx)("chakra-text",e.className)},u,r,{__css:n}))}));u.Ts&&(f.displayName="Text")},8235:function(e,t,n){"use strict";n.d(t,{v2:function(){return G},j2:function(){return W},sN:function(){return Y},qy:function(){return $}});var r=n(2326),i=n(5284),o=n(9676),a=n(63),s=n(5643),l=n(658),u=n(3808),c=n(4461),d=n(7554),f=n(7294),h=n(2947);function p(){return(p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function v(e){var t=e.target,{tagName:n,isContentEditable:r}=t;return"INPUT"!==n&&"TEXTAREA"!==n&&!0!==r}function m(e){void 0===e&&(e={});var{ref:t,isDisabled:n,isFocusable:r,clickOnEnter:i=!0,clickOnSpace:o=!0,onMouseDown:a,onMouseUp:s,onClick:l,onKeyDown:u,onKeyUp:d,tabIndex:m,onMouseOver:g,onMouseLeave:y}=e,b=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,["ref","isDisabled","isFocusable","clickOnEnter","clickOnSpace","onMouseDown","onMouseUp","onClick","onKeyDown","onKeyUp","tabIndex","onMouseOver","onMouseLeave"]),[w,x]=f.useState(!0),[E,k]=f.useState(!1),T=function(){var e=f.useRef(new Map),t=e.current,n=f.useCallback(((t,n,r,i)=>{e.current.set(r,{type:n,el:t,options:i}),t.addEventListener(n,r,i)}),[]),r=f.useCallback(((t,n,r,i)=>{t.removeEventListener(n,r,i),e.current.delete(r)}),[]);return f.useEffect((()=>()=>{t.forEach(((e,t)=>{r(e.el,e.type,t,e.options)}))}),[r,t]),{add:n,remove:r}}(),_=w?m:m||0,O=n&&!r,C=f.useCallback((e=>{if(n)return e.stopPropagation(),void e.preventDefault();e.currentTarget.focus(),null==l||l(e)}),[n,l]),A=f.useCallback((e=>{E&&v(e)&&(e.preventDefault(),e.stopPropagation(),k(!1),T.remove(document,"keyup",A,!1))}),[E,T]),S=f.useCallback((e=>{if(null==u||u(e),!(n||e.defaultPrevented||e.metaKey)&&v(e.nativeEvent)&&!w){var t=i&&"Enter"===e.key;if(o&&" "===e.key&&(e.preventDefault(),k(!0)),t)e.preventDefault(),e.currentTarget.click();T.add(document,"keyup",A,!1)}}),[n,w,u,i,o,T,A]),P=f.useCallback((e=>{(null==d||d(e),n||e.defaultPrevented||e.metaKey)||v(e.nativeEvent)&&!w&&o&&" "===e.key&&(e.preventDefault(),k(!1),e.currentTarget.click())}),[o,w,n,d]),M=f.useCallback((e=>{0===e.button&&(k(!1),T.remove(document,"mouseup",M,!1))}),[T]),R=f.useCallback((e=>{if(!(0,c.dO)(e)){if(n)return e.stopPropagation(),void e.preventDefault();w||k(!0),e.currentTarget.focus({preventScroll:!0}),T.add(document,"mouseup",M,!1),null==a||a(e)}}),[n,w,a,T,M]),j=f.useCallback((e=>{(0,c.dO)(e)||(w||k(!1),null==s||s(e))}),[s,w]),D=f.useCallback((e=>{n?e.preventDefault():null==g||g(e)}),[n,g]),L=f.useCallback((e=>{E&&(e.preventDefault(),k(!1)),null==y||y(e)}),[E,y]),N=(0,h.l)(t,(e=>{e&&"BUTTON"!==e.tagName&&x(!1)}));return p({},b,w?{ref:N,type:"button","aria-disabled":O?void 0:n,disabled:O,onClick:C,onMouseDown:a,onMouseUp:s,onKeyUp:d,onKeyDown:u,onMouseOver:g,onMouseLeave:y}:{ref:N,role:"button","data-active":(0,c.PB)(E),"aria-disabled":n?"true":void 0,tabIndex:O?void 0:_,onClick:C,onMouseDown:R,onMouseUp:j,onKeyUp:P,onKeyDown:S,onMouseOver:D,onMouseLeave:L})}var g=n(1888),y=n(4860),b=n(762);function w(e,t){var n,r=e.target;if(e.button>0)return!1;if(r&&!(0,c.lZ)(r).body.contains(r))return!1;return!(null!=(n=t.current)&&n.contains(r))}var x=n(2653),E=n(7768),k=n(7248);function T(e,t){var{shouldFocus:n,visible:r,focusRef:i}=t,o=n&&!r;(0,x.r)((()=>{if(o&&!function(e){var t=e.current;if(!t)return!1;var n=(0,c.vY)(t);return!!n&&!(0,c.r3)(t,n)&&!!(0,E.Wq)(n)}(e)){var t=(null==i?void 0:i.current)||e.current;t&&(0,k.T)(t,{nextTick:!0})}}),[o,e,i])}var _=n(4577),O=n(7581);function C(e){void 0===e&&(e={});var{timeout:t=300,preventDefault:n=(()=>!0)}=e,[r,i]=f.useState([]),o=f.useRef(),a=()=>{o.current&&(clearTimeout(o.current),o.current=null)};return f.useEffect((()=>a),[]),function(e){return s=>{if("Backspace"===s.key){var l=[...r];return l.pop(),void i(l)}if(function(e){var{key:t}=e;return 1===t.length||t.length>1&&/[^a-zA-Z0-9]/.test(t)}(s)){var u=r.concat(s.key);n(s)&&(s.preventDefault(),s.stopPropagation()),i(u),e(u.join("")),a(),o.current=setTimeout((()=>{i([]),o.current=null}),t)}}}}n(1034);var A=n(8931),S=n(8500),P=(n(4255),n(7277));function M(){return(M=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function R(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}var[j,D,L,N]=(0,g.n)(),[I,z]=(0,S.k)({strict:!1,name:"MenuContext"});function H(e){void 0===e&&(e={});var{id:t,closeOnSelect:n=!0,closeOnBlur:r=!0,autoSelect:i=!0,isLazy:o,isOpen:a,defaultIsOpen:s,onClose:l,onOpen:u,placement:d="bottom-start",lazyBehavior:h="unmount",computePositionOnMount:p}=e,v=R(e,["id","closeOnSelect","closeOnBlur","autoSelect","isLazy","isOpen","defaultIsOpen","onClose","onOpen","placement","lazyBehavior","computePositionOnMount"]),{isOpen:m,onOpen:g,onClose:E,onToggle:C}=(0,y.q)({isOpen:a,defaultIsOpen:s,onClose:l,onOpen:u}),S=f.useRef(null),P=f.useRef(null);!function(e){var{ref:t,handler:n}=e,r=(0,b.W)(n),i=(0,f.useRef)({isPointerDown:!1,ignoreEmulatedMouseEvents:!1}).current;(0,f.useEffect)((()=>{var e=e=>{w(e,t)&&(i.isPointerDown=!0)},o=e=>{i.ignoreEmulatedMouseEvents?i.ignoreEmulatedMouseEvents=!1:i.isPointerDown&&n&&w(e,t)&&(i.isPointerDown=!1,r(e))},a=e=>{i.ignoreEmulatedMouseEvents=!0,n&&i.isPointerDown&&w(e,t)&&(i.isPointerDown=!1,r(e))},s=(0,c.lZ)(t.current);return s.addEventListener("mousedown",e,!0),s.addEventListener("mouseup",o,!0),s.addEventListener("touchstart",e,!0),s.addEventListener("touchend",a,!0),()=>{s.removeEventListener("mousedown",e,!0),s.removeEventListener("mouseup",o,!0),s.removeEventListener("touchstart",e,!0),s.removeEventListener("touchend",a,!0)}}),[n,t,r,i])}({ref:S,handler:e=>{var t;!m||!r||null!=(t=P.current)&&t.contains(e.target)||E()}});var j=(0,A.D)(M({},v,{enabled:m||p,placement:d})),[D,N]=f.useState(-1),I=L();(0,x.r)((()=>{m||N(-1)}),[m]),T(S,{focusRef:P,visible:m,shouldFocus:!0});var[z,H]=(0,_.ZS)(t,"menu-button","menu-list"),B=f.useCallback((()=>{g(),(0,k.T)(S.current,{nextTick:!0,selectTextIfInput:!1})}),[g,S]),F=f.useRef(new Set([]));return(0,O.z)((()=>{F.current.forEach((e=>clearTimeout(e))),F.current.clear()})),{openAndFocusMenu:B,openAndFocusFirstItem:f.useCallback((()=>{g();var e=setTimeout((()=>{var e=I.firstEnabled();e&&N(e.index)}));F.current.add(e)}),[g,N,I]),openAndFocusLastItem:f.useCallback((()=>{g();var e=setTimeout((()=>{var e=I.lastEnabled();e&&N(e.index)}));F.current.add(e)}),[g,N,I]),onTransitionEnd:f.useCallback((()=>{var e,t,n=(0,c.lZ)(S.current),r=null==(e=S.current)?void 0:e.contains(n.activeElement);if(m&&!r){var i=null==(t=I.item(D))?void 0:t.node;i&&(0,k.T)(i,{selectTextIfInput:!1})}}),[m,D,I]),descendants:I,popper:j,buttonId:z,menuId:H,forceUpdate:j.forceUpdate,orientation:"vertical",isOpen:m,onToggle:C,onOpen:g,onClose:E,menuRef:S,buttonRef:P,focusedIndex:D,closeOnSelect:n,closeOnBlur:r,autoSelect:i,setFocusedIndex:N,isLazy:o,lazyBehavior:h}}function B(e){var t;return e instanceof HTMLElement&&!(null==(t=e.getAttribute("role"))||!t.startsWith("menuitem"))}function F(e,t){void 0===e&&(e={}),void 0===t&&(t=null);var{onMouseEnter:n,onMouseMove:r,onMouseLeave:i,onClick:o,isDisabled:a,isFocusable:s,closeOnSelect:l}=e,u=R(e,["onMouseEnter","onMouseMove","onMouseLeave","onClick","isDisabled","isFocusable","closeOnSelect"]),c=z(),{setFocusedIndex:d,focusedIndex:p,closeOnSelect:v,onClose:g,menuRef:y,isOpen:b,menuId:w}=c,T=f.useRef(null),O=w+"-menuitem-"+(0,_.Me)(),{index:C,register:A}=N({disabled:a&&!s}),S=f.useCallback((e=>{null==n||n(e),a||d(C)}),[d,C,a,n]),P=f.useCallback((e=>{null==r||r(e),T.current&&!(0,E.H9)(T.current)&&S(e)}),[S,r]),j=f.useCallback((e=>{null==i||i(e),a||d(-1)}),[d,a,i]),D=f.useCallback((e=>{null==o||o(e),B(e.currentTarget)&&(null!=l?l:v)&&g()}),[g,o,v,l]),L=C===p,I=a&&!s;return(0,x.r)((()=>{b&&(L&&!I&&T.current?(0,k.T)(T.current,{nextTick:!0,selectTextIfInput:!1}):y.current&&!(0,E.H9)(y.current)&&(0,k.T)(y.current))}),[L,I,y,b]),M({},u,m({onClick:D,onMouseEnter:S,onMouseMove:P,onMouseLeave:j,ref:(0,h.l)(A,T,t),isDisabled:a,isFocusable:s}),{id:O,role:"menuitem",tabIndex:L?0:-1})}function V(){return(V=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function U(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}var G=e=>{var{children:t}=e,n=(0,r.j)("Menu",e),a=H((0,i.Lr)(e)),{descendants:s}=a,u=U(a,["descendants"]),c=f.useMemo((()=>u),[u]),{isOpen:d,onClose:h,forceUpdate:p}=c;return f.createElement(j,{value:s},f.createElement(I,{value:c},f.createElement(o.Fo,{value:n},(0,l.Pu)(t,{isOpen:d,onClose:h,forceUpdate:p}))))};u.Ts&&(G.displayName="Menu");var q=(0,a.G)(((e,t)=>{var n=(0,o.yK)();return f.createElement(s.m$.button,V({ref:t},e,{__css:V({display:"inline-flex",appearance:"none",alignItems:"center",outline:0},n.button)}))})),W=(0,a.G)(((e,t)=>{var{as:n}=e,r=function(e,t){void 0===e&&(e={}),void 0===t&&(t=null);var n=z(),{isOpen:r,onClose:i,autoSelect:o,popper:a,openAndFocusFirstItem:s,openAndFocusLastItem:u,openAndFocusMenu:d}=n,p=f.useCallback((()=>{r?i():(o?s:d)()}),[o,r,i,s,d]),v=f.useCallback((e=>{var t=(0,c.uh)(e),n={Enter:s,ArrowDown:s,ArrowUp:u}[t];n&&(e.preventDefault(),e.stopPropagation(),n(e))}),[s,u]);return M({},e,{ref:(0,h.l)(n.buttonRef,t,a.referenceRef),id:n.buttonId,"data-active":(0,c.PB)(n.isOpen),"aria-expanded":n.isOpen,"aria-haspopup":"menu","aria-controls":n.menuId,onClick:(0,l.v0)(e.onClick,p),onKeyDown:(0,l.v0)(e.onKeyDown,v)})}(U(e,["children","as"]),t),i=n||q;return f.createElement(i,V({},r,{className:(0,c.cx)("chakra-menu__menu-button",e.className)}),f.createElement(s.m$.span,{__css:{pointerEvents:"none",flex:"1 1 auto",minW:0}},e.children))}));u.Ts&&(W.displayName="MenuButton");var K={enter:{visibility:"visible",opacity:1,scale:1,transition:{duration:.2,ease:[.4,0,.2,1]}},exit:{transitionEnd:{visibility:"hidden"},opacity:0,scale:.8,transition:{duration:.1,easings:"easeOut"}}},Z="custom"in d.E?d.E.custom(s.m$.div):(0,d.E)(s.m$.div),$=(0,a.G)(((e,t)=>{var n,r,{rootProps:i}=e,a=U(e,["rootProps"]),{isOpen:u,onTransitionEnd:d}=z(),p=function(e,t){void 0===e&&(e={}),void 0===t&&(t=null);var n=z();if(!n)throw new Error("useMenuContext: context is undefined. Seems you forgot to wrap component within <Menu>");var{focusedIndex:r,setFocusedIndex:i,menuRef:o,isOpen:a,onClose:s,menuId:u,isLazy:d,lazyBehavior:p}=n,v=D(),m=C({preventDefault:e=>" "!==e.key&&B(e.target)}),g=f.useCallback((e=>{var t=(0,c.uh)(e),n={Tab:e=>e.preventDefault(),Escape:s,ArrowDown:()=>{var e=v.nextEnabled(r);e&&i(e.index)},ArrowUp:()=>{var e=v.prevEnabled(r);e&&i(e.index)}}[t];if(n)return e.preventDefault(),void n(e);var o=m((e=>{var t=(0,P.LP)(v.values(),e,(e=>{var t,n;return null!=(t=null==e||null==(n=e.node)?void 0:n.textContent)?t:""}),v.item(r));if(t){var n=v.indexOf(t.node);i(n)}}));B(e.target)&&o(e)}),[v,r,m,s,i]),y=f.useRef(!1);a&&(y.current=!0);var b=function(e){var{hasBeenSelected:t,isLazy:n,isSelected:r,lazyBehavior:i="unmount"}=e;return!n||!!r||!("keepMounted"!==i||!t)}({hasBeenSelected:y.current,isLazy:d,lazyBehavior:p,isSelected:a});return M({},e,{ref:(0,h.l)(o,t),children:b?e.children:null,tabIndex:-1,role:"menu",id:u,style:M({},e.style,{transformOrigin:"var(--popper-transform-origin)"}),"aria-orientation":"vertical",onKeyDown:(0,l.v0)(e.onKeyDown,g)})}(a,t),v=function(e){void 0===e&&(e={});var{popper:t,isOpen:n}=z();return t.getPopperProps(M({},e,{style:M({visibility:n?"visible":"hidden"},e.style)}))}(i),m=(0,o.yK)();return f.createElement(s.m$.div,V({},v,{__css:{zIndex:null!=(n=e.zIndex)?n:null==(r=m.list)?void 0:r.zIndex}}),f.createElement(Z,V({},p,{onUpdate:d,className:(0,c.cx)("chakra-menu__menu-list",p.className),variants:K,initial:!1,animate:u?"enter":"exit",__css:V({outline:0},m.list)})))}));u.Ts&&($.displayName="MenuList");var X=(0,a.G)(((e,t)=>{var{type:n}=e,r=U(e,["type"]),i=(0,o.yK)(),a=r.as?null!=n?n:void 0:"button",l=V({textDecoration:"none",color:"inherit",userSelect:"none",display:"flex",width:"100%",alignItems:"center",textAlign:"start",flex:"0 0 auto",outline:0},i.item);return f.createElement(s.m$.button,V({ref:t,type:a},r,{__css:l}))})),Y=(0,a.G)(((e,t)=>{var{icon:n,iconSpacing:r="0.75rem",command:i,commandSpacing:o="0.75rem",children:a}=e,s=F(U(e,["icon","iconSpacing","command","commandSpacing","children"]),t),l=n||i?f.createElement("span",{style:{pointerEvents:"none",flex:1}},a):a;return f.createElement(X,V({},s,{className:(0,c.cx)("chakra-menu__menuitem",s.className)}),n&&f.createElement(ne,{fontSize:"0.8em",marginEnd:r},n),l,i&&f.createElement(te,{marginStart:o},i))}));u.Ts&&(Y.displayName="MenuItem");var Q=e=>f.createElement("svg",V({viewBox:"0 0 14 14",width:"1em",height:"1em"},e),f.createElement("polygon",{fill:"currentColor",points:"5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039"})),J=(0,a.G)(((e,t)=>{var{icon:n,iconSpacing:r="0.75rem"}=e,i=U(e,["icon","iconSpacing"]),o=function(e,t){void 0===e&&(e={}),void 0===t&&(t=null);var{type:n="radio",isChecked:r}=e;return M({},F(R(e,["type","isChecked"]),t),{role:"menuitem"+n,"aria-checked":r})}(i,t);return f.createElement(X,V({},o,{className:(0,c.cx)("chakra-menu__menuitem-option",i.className)}),f.createElement(ne,{fontSize:"0.8em",marginEnd:r,opacity:e.isChecked?1:0},n||f.createElement(Q,null)),f.createElement("span",{style:{flex:1}},o.children))}));J.id="MenuItemOption",u.Ts&&(J.displayName="MenuItemOption");u.Ts;var ee=(0,a.G)(((e,t)=>{var{title:n,children:r,className:i}=e,a=U(e,["title","children","className"]),l=(0,c.cx)("chakra-menu__group__title",i),u=(0,o.yK)();return f.createElement("div",{ref:t,className:"chakra-menu__group",role:"group"},n&&f.createElement(s.m$.p,V({className:l},a,{__css:u.groupTitle}),n),r)}));u.Ts&&(ee.displayName="MenuGroup");var te=(0,a.G)(((e,t)=>{var n=(0,o.yK)();return f.createElement(s.m$.span,V({ref:t},e,{__css:n.command,className:"chakra-menu__command"}))}));u.Ts&&(te.displayName="MenuCommand");var ne=e=>{var{className:t,children:n}=e,r=U(e,["className","children"]),i=f.Children.only(n),o=f.isValidElement(i)?f.cloneElement(i,{focusable:"false","aria-hidden":!0,className:(0,c.cx)("chakra-menu__icon",i.props.className)}):null,a=(0,c.cx)("chakra-menu__icon-wrapper",t);return f.createElement(s.m$.span,V({className:a},r,{__css:{flexShrink:0}}),o)};u.Ts&&(ne.displayName="MenuIcon");u.Ts},8931:function(e,t,n){"use strict";n.d(t,{D:function(){return be}});var r=n(2947);function i(e){var t=e.getBoundingClientRect();return{width:t.width,height:t.height,top:t.top,right:t.right,bottom:t.bottom,left:t.left,x:t.left,y:t.top}}function o(e){if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t?t.defaultView:window}return e}function a(e){var t=o(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function s(e){return e instanceof o(e).Element||e instanceof Element}function l(e){return e instanceof o(e).HTMLElement||e instanceof HTMLElement}function u(e){return e?(e.nodeName||"").toLowerCase():null}function c(e){return(s(e)?e.ownerDocument:e.document).documentElement}function d(e){return i(c(e)).left+a(e).scrollLeft}function f(e){return o(e).getComputedStyle(e)}function h(e){var t=f(e),n=t.overflow,r=t.overflowX,i=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+i+r)}function p(e,t,n){void 0===n&&(n=!1);var r=c(t),s=i(e),f=l(t),p={scrollLeft:0,scrollTop:0},v={x:0,y:0};return(f||!f&&!n)&&(("body"!==u(t)||h(r))&&(p=function(e){return e!==o(e)&&l(e)?{scrollLeft:(t=e).scrollLeft,scrollTop:t.scrollTop}:a(e);var t}(t)),l(t)?((v=i(t)).x+=t.clientLeft,v.y+=t.clientTop):r&&(v.x=d(r))),{x:s.left+p.scrollLeft-v.x,y:s.top+p.scrollTop-v.y,width:s.width,height:s.height}}function v(e){return{x:e.offsetLeft,y:e.offsetTop,width:e.offsetWidth,height:e.offsetHeight}}function m(e){return"html"===u(e)?e:e.assignedSlot||e.parentNode||e.host||c(e)}function g(e){return["html","body","#document"].indexOf(u(e))>=0?e.ownerDocument.body:l(e)&&h(e)?e:g(m(e))}function y(e,t){void 0===t&&(t=[]);var n=g(e),r="body"===u(n),i=o(n),a=r?[i].concat(i.visualViewport||[],h(n)?n:[]):n,s=t.concat(a);return r?s:s.concat(y(m(a)))}function b(e){return["table","td","th"].indexOf(u(e))>=0}function w(e){if(!l(e)||"fixed"===f(e).position)return null;var t=e.offsetParent;if(t){var n=c(t);if("body"===u(t)&&"static"===f(t).position&&"static"!==f(n).position)return n}return t}function x(e){for(var t=o(e),n=w(e);n&&b(n)&&"static"===f(n).position;)n=w(n);return n&&"body"===u(n)&&"static"===f(n).position?t:n||function(e){for(var t=m(e);l(t)&&["html","body"].indexOf(u(t))<0;){var n=f(t);if("none"!==n.transform||"none"!==n.perspective||n.willChange&&"auto"!==n.willChange)return t;t=t.parentNode}return null}(e)||t}var E="top",k="bottom",T="right",_="left",O="auto",C=[E,k,T,_],A="start",S="end",P="viewport",M="popper",R=C.reduce((function(e,t){return e.concat([t+"-"+A,t+"-"+S])}),[]),j=[].concat(C,[O]).reduce((function(e,t){return e.concat([t,t+"-"+A,t+"-"+S])}),[]),D=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function L(e){var t=new Map,n=new Set,r=[];function i(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var r=t.get(e);r&&i(r)}})),r.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||i(e)})),r}function N(e){var t;return function(){return t||(t=new Promise((function(n){Promise.resolve().then((function(){t=void 0,n(e())}))}))),t}}var I={placement:"bottom",modifiers:[],strategy:"absolute"};function z(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return!t.some((function(e){return!(e&&"function"===typeof e.getBoundingClientRect)}))}function H(e){void 0===e&&(e={});var t=e,n=t.defaultModifiers,r=void 0===n?[]:n,i=t.defaultOptions,o=void 0===i?I:i;return function(e,t,n){void 0===n&&(n=o);var i={placement:"bottom",orderedModifiers:[],options:Object.assign(Object.assign({},I),o),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},a=[],l=!1,u={state:i,setOptions:function(n){c(),i.options=Object.assign(Object.assign(Object.assign({},o),i.options),n),i.scrollParents={reference:s(e)?y(e):e.contextElement?y(e.contextElement):[],popper:y(t)};var l=function(e){var t=L(e);return D.reduce((function(e,n){return e.concat(t.filter((function(e){return e.phase===n})))}),[])}(function(e){var t=e.reduce((function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign(Object.assign(Object.assign({},n),t),{},{options:Object.assign(Object.assign({},n.options),t.options),data:Object.assign(Object.assign({},n.data),t.data)}):t,e}),{});return Object.keys(t).map((function(e){return t[e]}))}([].concat(r,i.options.modifiers)));return i.orderedModifiers=l.filter((function(e){return e.enabled})),i.orderedModifiers.forEach((function(e){var t=e.name,n=e.options,r=void 0===n?{}:n,o=e.effect;if("function"===typeof o){var s=o({state:i,name:t,instance:u,options:r}),l=function(){};a.push(s||l)}})),u.update()},forceUpdate:function(){if(!l){var e=i.elements,t=e.reference,n=e.popper;if(z(t,n)){i.rects={reference:p(t,x(n),"fixed"===i.options.strategy),popper:v(n)},i.reset=!1,i.placement=i.options.placement,i.orderedModifiers.forEach((function(e){return i.modifiersData[e.name]=Object.assign({},e.data)}));for(var r=0;r<i.orderedModifiers.length;r++)if(!0!==i.reset){var o=i.orderedModifiers[r],a=o.fn,s=o.options,c=void 0===s?{}:s,d=o.name;"function"===typeof a&&(i=a({state:i,options:c,name:d,instance:u})||i)}else i.reset=!1,r=-1}}},update:N((function(){return new Promise((function(e){u.forceUpdate(),e(i)}))})),destroy:function(){c(),l=!0}};if(!z(e,t))return u;function c(){a.forEach((function(e){return e()})),a=[]}return u.setOptions(n).then((function(e){!l&&n.onFirstUpdate&&n.onFirstUpdate(e)})),u}}var B={passive:!0};function F(e){return e.split("-")[0]}function V(e){return e.split("-")[1]}function U(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function G(e){var t,n=e.reference,r=e.element,i=e.placement,o=i?F(i):null,a=i?V(i):null,s=n.x+n.width/2-r.width/2,l=n.y+n.height/2-r.height/2;switch(o){case E:t={x:s,y:n.y-r.height};break;case k:t={x:s,y:n.y+n.height};break;case T:t={x:n.x+n.width,y:l};break;case _:t={x:n.x-r.width,y:l};break;default:t={x:n.x,y:n.y}}var u=o?U(o):null;if(null!=u){var c="y"===u?"height":"width";switch(a){case A:t[u]=Math.floor(t[u])-Math.floor(n[c]/2-r[c]/2);break;case S:t[u]=Math.floor(t[u])+Math.ceil(n[c]/2-r[c]/2)}}return t}var q={top:"auto",right:"auto",bottom:"auto",left:"auto"};function W(e){var t,n=e.popper,r=e.popperRect,i=e.placement,a=e.offsets,s=e.position,l=e.gpuAcceleration,u=e.adaptive,d=function(e){var t=e.x,n=e.y,r=window.devicePixelRatio||1;return{x:Math.round(t*r)/r||0,y:Math.round(n*r)/r||0}}(a),f=d.x,h=d.y,p=a.hasOwnProperty("x"),v=a.hasOwnProperty("y"),m=_,g=E,y=window;if(u){var b=x(n);b===o(n)&&(b=c(n)),i===E&&(g=k,h-=b.clientHeight-r.height,h*=l?1:-1),i===_&&(m=T,f-=b.clientWidth-r.width,f*=l?1:-1)}var w,O=Object.assign({position:s},u&&q);return l?Object.assign(Object.assign({},O),{},((w={})[g]=v?"0":"",w[m]=p?"0":"",w.transform=(y.devicePixelRatio||1)<2?"translate("+f+"px, "+h+"px)":"translate3d("+f+"px, "+h+"px, 0)",w)):Object.assign(Object.assign({},O),{},((t={})[g]=v?h+"px":"",t[m]=p?f+"px":"",t.transform="",t))}var K={left:"right",right:"left",bottom:"top",top:"bottom"};function Z(e){return e.replace(/left|right|bottom|top/g,(function(e){return K[e]}))}var $={start:"end",end:"start"};function X(e){return e.replace(/start|end/g,(function(e){return $[e]}))}function Y(e,t){var n=Boolean(t.getRootNode&&t.getRootNode().host);if(e.contains(t))return!0;if(n){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Q(e){return Object.assign(Object.assign({},e),{},{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function J(e,t){return t===P?Q(function(e){var t=o(e),n=c(e),r=t.visualViewport,i=n.clientWidth,a=n.clientHeight,s=0,l=0;return r&&(i=r.width,a=r.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(s=r.offsetLeft,l=r.offsetTop)),{width:i,height:a,x:s+d(e),y:l}}(e)):l(t)?function(e){var t=i(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):Q(function(e){var t=c(e),n=a(e),r=e.ownerDocument.body,i=Math.max(t.scrollWidth,t.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=Math.max(t.scrollHeight,t.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),s=-n.scrollLeft+d(e),l=-n.scrollTop;return"rtl"===f(r||t).direction&&(s+=Math.max(t.clientWidth,r?r.clientWidth:0)-i),{width:i,height:o,x:s,y:l}}(c(e)))}function ee(e,t,n){var r="clippingParents"===t?function(e){var t=y(m(e)),n=["absolute","fixed"].indexOf(f(e).position)>=0&&l(e)?x(e):e;return s(n)?t.filter((function(e){return s(e)&&Y(e,n)&&"body"!==u(e)})):[]}(e):[].concat(t),i=[].concat(r,[n]),o=i[0],a=i.reduce((function(t,n){var r=J(e,n);return t.top=Math.max(r.top,t.top),t.right=Math.min(r.right,t.right),t.bottom=Math.min(r.bottom,t.bottom),t.left=Math.max(r.left,t.left),t}),J(e,o));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function te(e){return Object.assign(Object.assign({},{top:0,right:0,bottom:0,left:0}),e)}function ne(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function re(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=void 0===r?e.placement:r,a=n.boundary,l=void 0===a?"clippingParents":a,u=n.rootBoundary,d=void 0===u?P:u,f=n.elementContext,h=void 0===f?M:f,p=n.altBoundary,v=void 0!==p&&p,m=n.padding,g=void 0===m?0:m,y=te("number"!==typeof g?g:ne(g,C)),b=h===M?"reference":M,w=e.elements.reference,x=e.rects.popper,_=e.elements[v?b:h],O=ee(s(_)?_:_.contextElement||c(e.elements.popper),l,d),A=i(w),S=G({reference:A,element:x,strategy:"absolute",placement:o}),R=Q(Object.assign(Object.assign({},x),S)),j=h===M?R:A,D={top:O.top-j.top+y.top,bottom:j.bottom-O.bottom+y.bottom,left:O.left-j.left+y.left,right:j.right-O.right+y.right},L=e.modifiersData.offset;if(h===M&&L){var N=L[o];Object.keys(D).forEach((function(e){var t=[T,k].indexOf(e)>=0?1:-1,n=[E,k].indexOf(e)>=0?"y":"x";D[e]+=N[n]*t}))}return D}function ie(e,t,n){return Math.max(e,Math.min(t,n))}function oe(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function ae(e){return[E,T,k,_].some((function(t){return e[t]>=0}))}var se=H({defaultModifiers:[{name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,n=e.instance,r=e.options,i=r.scroll,a=void 0===i||i,s=r.resize,l=void 0===s||s,u=o(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return a&&c.forEach((function(e){e.addEventListener("scroll",n.update,B)})),l&&u.addEventListener("resize",n.update,B),function(){a&&c.forEach((function(e){e.removeEventListener("scroll",n.update,B)})),l&&u.removeEventListener("resize",n.update,B)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=G({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,r=n.gpuAcceleration,i=void 0===r||r,o=n.adaptive,a=void 0===o||o,s={placement:F(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:i};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign(Object.assign({},t.styles.popper),W(Object.assign(Object.assign({},s),{},{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign(Object.assign({},t.styles.arrow),W(Object.assign(Object.assign({},s),{},{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1})))),t.attributes.popper=Object.assign(Object.assign({},t.attributes.popper),{},{"data-popper-placement":t.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},i=t.elements[e];l(i)&&u(i)&&(Object.assign(i.style,n),Object.keys(r).forEach((function(e){var t=r[e];!1===t?i.removeAttribute(e):i.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var r=t.elements[e],i=t.attributes[e]||{},o=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{});l(r)&&u(r)&&(Object.assign(r.style,o),Object.keys(i).forEach((function(e){r.removeAttribute(e)})))}))}},requires:["computeStyles"]},{name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,r=e.name,i=n.offset,o=void 0===i?[0,0]:i,a=j.reduce((function(e,n){return e[n]=function(e,t,n){var r=F(e),i=[_,E].indexOf(r)>=0?-1:1,o="function"===typeof n?n(Object.assign(Object.assign({},t),{},{placement:e})):n,a=o[0],s=o[1];return a=a||0,s=(s||0)*i,[_,T].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}(n,t.rects,o),e}),{}),s=a[t.placement],l=s.x,u=s.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=u),t.modifiersData[r]=a}},{name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var i=n.mainAxis,o=void 0===i||i,a=n.altAxis,s=void 0===a||a,l=n.fallbackPlacements,u=n.padding,c=n.boundary,d=n.rootBoundary,f=n.altBoundary,h=n.flipVariations,p=void 0===h||h,v=n.allowedAutoPlacements,m=t.options.placement,g=F(m),y=l||(g===m||!p?[Z(m)]:function(e){if(F(e)===O)return[];var t=Z(e);return[X(e),t,X(t)]}(m)),b=[m].concat(y).reduce((function(e,n){return e.concat(F(n)===O?function(e,t){void 0===t&&(t={});var n=t,r=n.placement,i=n.boundary,o=n.rootBoundary,a=n.padding,s=n.flipVariations,l=n.allowedAutoPlacements,u=void 0===l?j:l,c=V(r),d=c?s?R:R.filter((function(e){return V(e)===c})):C,f=d.filter((function(e){return u.indexOf(e)>=0}));0===f.length&&(f=d);var h=f.reduce((function(t,n){return t[n]=re(e,{placement:n,boundary:i,rootBoundary:o,padding:a})[F(n)],t}),{});return Object.keys(h).sort((function(e,t){return h[e]-h[t]}))}(t,{placement:n,boundary:c,rootBoundary:d,padding:u,flipVariations:p,allowedAutoPlacements:v}):n)}),[]),w=t.rects.reference,x=t.rects.popper,S=new Map,P=!0,M=b[0],D=0;D<b.length;D++){var L=b[D],N=F(L),I=V(L)===A,z=[E,k].indexOf(N)>=0,H=z?"width":"height",B=re(t,{placement:L,boundary:c,rootBoundary:d,altBoundary:f,padding:u}),U=z?I?T:_:I?k:E;w[H]>x[H]&&(U=Z(U));var G=Z(U),q=[];if(o&&q.push(B[N]<=0),s&&q.push(B[U]<=0,B[G]<=0),q.every((function(e){return e}))){M=L,P=!1;break}S.set(L,q)}if(P)for(var W=function(e){var t=b.find((function(t){var n=S.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return M=t,"break"},K=p?3:1;K>0;K--){if("break"===W(K))break}t.placement!==M&&(t.modifiersData[r]._skip=!0,t.placement=M,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},{name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,i=n.mainAxis,o=void 0===i||i,a=n.altAxis,s=void 0!==a&&a,l=n.boundary,u=n.rootBoundary,c=n.altBoundary,d=n.padding,f=n.tether,h=void 0===f||f,p=n.tetherOffset,m=void 0===p?0:p,g=re(t,{boundary:l,rootBoundary:u,padding:d,altBoundary:c}),y=F(t.placement),b=V(t.placement),w=!b,O=U(y),C="x"===O?"y":"x",S=t.modifiersData.popperOffsets,P=t.rects.reference,M=t.rects.popper,R="function"===typeof m?m(Object.assign(Object.assign({},t.rects),{},{placement:t.placement})):m,j={x:0,y:0};if(S){if(o){var D="y"===O?E:_,L="y"===O?k:T,N="y"===O?"height":"width",I=S[O],z=S[O]+g[D],H=S[O]-g[L],B=h?-M[N]/2:0,G=b===A?P[N]:M[N],q=b===A?-M[N]:-P[N],W=t.elements.arrow,K=h&&W?v(W):{width:0,height:0},Z=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},$=Z[D],X=Z[L],Y=ie(0,P[N],K[N]),Q=w?P[N]/2-B-Y-$-R:G-Y-$-R,J=w?-P[N]/2+B+Y+X+R:q+Y+X+R,ee=t.elements.arrow&&x(t.elements.arrow),te=ee?"y"===O?ee.clientTop||0:ee.clientLeft||0:0,ne=t.modifiersData.offset?t.modifiersData.offset[t.placement][O]:0,oe=S[O]+Q-ne-te,ae=S[O]+J-ne,se=ie(h?Math.min(z,oe):z,I,h?Math.max(H,ae):H);S[O]=se,j[O]=se-I}if(s){var le="x"===O?E:_,ue="x"===O?k:T,ce=S[C],de=ie(ce+g[le],ce,ce-g[ue]);S[C]=de,j[C]=de-ce}t.modifiersData[r]=j}},requiresIfExists:["offset"]},{name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,r=e.name,i=n.elements.arrow,o=n.modifiersData.popperOffsets,a=F(n.placement),s=U(a),l=[_,T].indexOf(a)>=0?"height":"width";if(i&&o){var u=n.modifiersData[r+"#persistent"].padding,c=v(i),d="y"===s?E:_,f="y"===s?k:T,h=n.rects.reference[l]+n.rects.reference[s]-o[s]-n.rects.popper[l],p=o[s]-n.rects.reference[s],m=x(i),g=m?"y"===s?m.clientHeight||0:m.clientWidth||0:0,y=h/2-p/2,b=u[d],w=g-c[l]-u[f],O=g/2-c[l]/2+y,C=ie(b,O,w),A=s;n.modifiersData[r]=((t={})[A]=C,t.centerOffset=C-O,t)}},effect:function(e){var t=e.state,n=e.options,r=e.name,i=n.element,o=void 0===i?"[data-popper-arrow]":i,a=n.padding,s=void 0===a?0:a;null!=o&&("string"!==typeof o||(o=t.elements.popper.querySelector(o)))&&Y(t.elements.popper,o)&&(t.elements.arrow=o,t.modifiersData[r+"#persistent"]={padding:te("number"!==typeof s?s:ne(s,C))})},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,i=t.rects.popper,o=t.modifiersData.preventOverflow,a=re(t,{elementContext:"reference"}),s=re(t,{altBoundary:!0}),l=oe(a,r),u=oe(s,i,o),c=ae(l),d=ae(u);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:c,hasPopperEscaped:d},t.attributes.popper=Object.assign(Object.assign({},t.attributes.popper),{},{"data-popper-reference-hidden":c,"data-popper-escaped":d})}}]}),le=n(7294),ue=n(3459),ce={name:"matchWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:e=>{var{state:t}=e;t.styles.popper.width=t.rects.reference.width+"px"},effect:e=>{var{state:t}=e;return()=>{var e=t.elements.reference;t.elements.popper.style.width=e.offsetWidth+"px"}}},de={name:"transformOrigin",enabled:!0,phase:"write",fn:e=>{var{state:t}=e;fe(t)},effect:e=>{var{state:t}=e;return()=>{fe(t)}}},fe=e=>{e.elements.popper.style.setProperty(ue.Dq.transformOrigin.var,(0,ue.mv)(e.placement))},he={name:"positionArrow",enabled:!0,phase:"afterWrite",fn:e=>{var{state:t}=e;pe(t)}},pe=e=>{var t;if(e.placement){var n=ve(e.placement);if(null!=(t=e.elements)&&t.arrow&&n){Object.assign(e.elements.arrow.style,{[n.property]:n.value,width:ue.Dq.arrowSize.varRef,height:ue.Dq.arrowSize.varRef,zIndex:-1});var r={[ue.Dq.arrowSizeHalf.var]:"calc("+ue.Dq.arrowSize.varRef+" / 2)",[ue.Dq.arrowOffset.var]:"calc("+ue.Dq.arrowSizeHalf.varRef+" * -1)"};for(var i in r)e.elements.arrow.style.setProperty(i,r[i])}}},ve=e=>e.startsWith("top")?{property:"bottom",value:ue.Dq.arrowOffset.varRef}:e.startsWith("bottom")?{property:"top",value:ue.Dq.arrowOffset.varRef}:e.startsWith("left")?{property:"right",value:ue.Dq.arrowOffset.varRef}:e.startsWith("right")?{property:"left",value:ue.Dq.arrowOffset.varRef}:void 0,me={name:"innerArrow",enabled:!0,phase:"main",requires:["arrow"],fn:e=>{var{state:t}=e;ge(t)},effect:e=>{var{state:t}=e;return()=>{ge(t)}}},ge=e=>{if(e.elements.arrow){var t=e.elements.arrow.querySelector("[data-popper-arrow-inner]");t&&Object.assign(t.style,{transform:"rotate(45deg)",background:ue.Dq.arrowBg.varRef,top:0,left:0,width:"100%",height:"100%",position:"absolute",zIndex:"inherit",boxShadow:(0,ue.Ke)(e.placement)})}};function ye(){return(ye=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function be(e){void 0===e&&(e={});var{enabled:t=!0,modifiers:n=[],placement:i="bottom",strategy:o="absolute",arrowPadding:a=8,eventListeners:s=!0,offset:l,gutter:u=8,flip:c=!0,boundary:d="clippingParents",preventOverflow:f=!0,matchWidth:h}=e,p=(0,le.useRef)(null),v=(0,le.useRef)(null),m=(0,le.useRef)(null),g=(0,le.useRef)((()=>{})),y=(0,le.useCallback)((()=>{t&&p.current&&v.current&&(null==g.current||g.current(),m.current=se(p.current,v.current,{placement:i,modifiers:[me,he,de,ye({},ce,{enabled:!!h}),ye({name:"eventListeners"},(0,ue.$B)(s)),{name:"arrow",options:{padding:a}},{name:"offset",options:{offset:null!=l?l:[0,u]}},{name:"flip",enabled:!!c,options:{padding:8}},{name:"preventOverflow",enabled:!!f,options:{boundary:d}},...n],strategy:o}),m.current.forceUpdate(),g.current=m.current.destroy)}),[t,i,n,h,s,a,l,u,c,f,d,o]);(0,le.useEffect)((()=>()=>{var e;p.current||v.current||(null==(e=m.current)||e.destroy(),m.current=null)}),[]);var b=(0,le.useCallback)((e=>{p.current=e,y()}),[y]),w=(0,le.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),ye({},e,{ref:(0,r.l)(b,t)})}),[b]),x=(0,le.useCallback)((e=>{v.current=e,y()}),[y]),E=(0,le.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),ye({},e,{ref:(0,r.l)(x,t),style:ye({},e.style,{position:o,minWidth:"max-content",inset:"0 auto auto 0"})})}),[o,x]),k=(0,le.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),ye({},function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,["size","shadowColor","bg","style"]),{ref:t,"data-popper-arrow":"",style:we(e)})}),[]),T=(0,le.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),ye({},e,{ref:t,"data-popper-arrow-inner":""})}),[]);return{update(){var e;null==(e=m.current)||e.update()},forceUpdate(){var e;null==(e=m.current)||e.forceUpdate()},transformOrigin:ue.Dq.transformOrigin.varRef,referenceRef:b,popperRef:x,getPopperProps:E,getArrowProps:k,getArrowInnerProps:T,getReferenceProps:w}}function we(e){var{size:t,shadowColor:n,bg:r,style:i}=e,o=ye({},i,{position:"absolute"});return t&&(o["--popper-arrow-size"]=t),n&&(o["--popper-arrow-shadow-color"]=n),r&&(o["--popper-arrow-bg"]=r),o}},3459:function(e,t,n){"use strict";function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}n.d(t,{Dq:function(){return o},Ke:function(){return a},mv:function(){return l},$B:function(){return c}});var i=(e,t)=>({var:e,varRef:t?"var("+e+", "+t+")":"var("+e+")"}),o={arrowShadowColor:i("--popper-arrow-shadow-color"),arrowSize:i("--popper-arrow-size","8px"),arrowSizeHalf:i("--popper-arrow-size-half"),arrowBg:i("--popper-arrow-bg"),transformOrigin:i("--popper-transform-origin"),arrowOffset:i("--popper-arrow-offset")};function a(e){return e.includes("top")?"1px 1px 1px 0 var(--popper-arrow-shadow-color)":e.includes("bottom")?"-1px -1px 1px 0 var(--popper-arrow-shadow-color)":e.includes("right")?"-1px 1px 1px 0 var(--popper-arrow-shadow-color)":e.includes("left")?"1px -1px 1px 0 var(--popper-arrow-shadow-color)":void 0}var s={top:"bottom center","top-start":"bottom left","top-end":"bottom right",bottom:"top center","bottom-start":"top left","bottom-end":"top right",left:"right center","left-start":"right top","left-end":"right bottom",right:"left center","right-start":"left top","right-end":"left bottom"},l=e=>s[e],u={scroll:!0,resize:!0};function c(e){return"object"===typeof e?{enabled:!0,options:r({},u,e)}:{enabled:e,options:u}}},4255:function(e,t,n){"use strict";n.d(t,{W:function(){return i}});var r=n(7294);function i(e){return r.Children.toArray(e).filter((e=>r.isValidElement(e)))}},2947:function(e,t,n){"use strict";n.d(t,{l:function(){return o}});var r=n(3808);function i(e,t){if(null!=e)if((0,r.mf)(e))e(t);else try{e.current=t}catch(n){throw new Error("Cannot assign value '"+t+"' to ref '"+e+"'")}}function o(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return e=>{t.forEach((t=>i(t,e)))}}},980:function(e,t,n){"use strict";n.d(t,{useTheme:function(){return i.useTheme}});n(2300);var r=n(4806);n.o(r,"useTheme")&&n.d(t,{useTheme:function(){return r.useTheme}});var i=n(1180)},3014:function(e,t,n){"use strict";n.d(t,{iR:function(){return ue},Ms:function(){return fe},gs:function(){return ce},Uj:function(){return de}});var r=n(63),i=n(2326),o=n(5284),a=n(9676),s=n(5643),l=n(3808),u=n(4461),c=n(8500),d=n(7294),f=n(762),h=n(1034),p=n(639);var v=n(4577),m="Invariant failed";var g=function(e,t){if(!e)throw new Error(m)},y=function(e){var t=e.top,n=e.right,r=e.bottom,i=e.left;return{top:t,right:n,bottom:r,left:i,width:n-i,height:r-t,x:i,y:t,center:{x:(n+i)/2,y:(r+t)/2}}},b=function(e,t){return{top:e.top+t.top,left:e.left+t.left,bottom:e.bottom-t.bottom,right:e.right-t.right}},w={top:0,right:0,bottom:0,left:0},x=function(e){var t,n,r=e.borderBox,i=e.margin,o=void 0===i?w:i,a=e.border,s=void 0===a?w:a,l=e.padding,u=void 0===l?w:l,c=y((n=o,{top:(t=r).top-n.top,left:t.left-n.left,bottom:t.bottom+n.bottom,right:t.right+n.right})),d=y(b(r,s)),f=y(b(d,u));return{marginBox:c,borderBox:y(r),paddingBox:d,contentBox:f,margin:o,border:s,padding:u}},E=function(e){var t=e.slice(0,-2);if("px"!==e.slice(-2))return 0;var n=Number(t);return isNaN(n)&&g(!1),n},k=function(e){return function(e,t){var n={top:E(t.marginTop),right:E(t.marginRight),bottom:E(t.marginBottom),left:E(t.marginLeft)},r={top:E(t.paddingTop),right:E(t.paddingRight),bottom:E(t.paddingBottom),left:E(t.paddingLeft)},i={top:E(t.borderTopWidth),right:E(t.borderRightWidth),bottom:E(t.borderBottomWidth),left:E(t.borderLeftWidth)};return x({borderBox:e,margin:n,padding:r,border:i})}(e.getBoundingClientRect(),window.getComputedStyle(e))},T=n(8327);var _=n(2653),O=n(9839);function C(e){return!!e.touches}var A={pageX:0,pageY:0};function S(e,t){void 0===t&&(t="page");var n=e.touches[0]||e.changedTouches[0]||A;return{x:n[t+"X"],y:n[t+"Y"]}}function P(e,t){return void 0===t&&(t="page"),{x:e[t+"X"],y:e[t+"Y"]}}function M(e,t){return void 0===t&&(t="page"),{point:C(e)?S(e,t):P(e,t)}}var R=function(e,t){void 0===t&&(t=!1);var n,r=t=>e(t,M(t));return t?(n=r,e=>{var t=e instanceof MouseEvent;(!t||t&&0===e.button)&&n(e)}):r},j={pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointercancel:"mousecancel",pointerover:"mouseover",pointerout:"mouseout",pointerenter:"mouseenter",pointerleave:"mouseleave"},D={pointerdown:"touchstart",pointermove:"touchmove",pointerup:"touchend",pointercancel:"touchcancel"};function L(e){return u.jU&&null===window.onpointerdown?e:u.jU&&null===window.ontouchstart?D[e]:u.jU&&null===window.onmousedown?j[e]:e}function N(e,t,n,r){return(0,u.EV)(e,L(t),R(n,"pointerdown"===t),r)}var I=n(658);function z(){return(z=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function H(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class B{constructor(e,t,n){if(H(this,"history",[]),H(this,"startEvent",null),H(this,"lastEvent",null),H(this,"lastEventInfo",null),H(this,"handlers",{}),H(this,"removeListeners",I.ZT),H(this,"threshold",3),H(this,"updatePoint",(()=>{if(this.lastEvent&&this.lastEventInfo){var e=G(this.lastEventInfo,this.history),t=null!==this.startEvent,n=(0,I.TE)(e.offset,{x:0,y:0})>=this.threshold;if(t||n){var{timestamp:r}=(0,O.$B)();this.history.push(z({},e.point,{timestamp:r}));var{onStart:i,onMove:o}=this.handlers;t||(null==i||i(this.lastEvent,e),this.startEvent=this.lastEvent),null==o||o(this.lastEvent,e)}}})),H(this,"onPointerMove",((e,t)=>{this.lastEvent=e,this.lastEventInfo=t,function(e){return"undefined"!==typeof PointerEvent&&e instanceof PointerEvent?!("mouse"!==e.pointerType):e instanceof MouseEvent}(e)&&0===e.buttons?this.onPointerUp(e,t):O.ZP.update(this.updatePoint,!0)})),H(this,"onPointerUp",((e,t)=>{var n=G(t,this.history),{onEnd:r,onSessionEnd:i}=this.handlers;null==i||i(e,n),this.end(),r&&this.startEvent&&(null==r||r(e,n))})),!(C(r=e)&&r.touches.length>1)){var r;this.handlers=t,n&&(this.threshold=n),e.stopPropagation(),e.preventDefault();var i=M(e),{timestamp:o}=(0,O.$B)();this.history=[z({},i.point,{timestamp:o})];var{onSessionStart:a}=t;null==a||a(e,G(i,this.history)),this.removeListeners=(0,I.zG)(N(window,"pointermove",this.onPointerMove),N(window,"pointerup",this.onPointerUp),N(window,"pointercancel",this.onPointerUp))}}updateHandlers(e){this.handlers=e}end(){var e;null==(e=this.removeListeners)||e.call(this),O.qY.update(this.updatePoint)}}function F(e,t){return{x:e.x-t.x,y:e.y-t.y}}function V(e){return e[0]}function U(e){return e[e.length-1]}function G(e,t){return{point:e.point,delta:F(e.point,U(t)),offset:F(e.point,V(t)),velocity:q(t,.1)}}function q(e,t){if(e.length<2)return{x:0,y:0};for(var n=e.length-1,r=null,i=function(e){return e[e.length-1]}(e);n>=0&&(r=e[n],!(i.timestamp-r.timestamp>1e3*t));)n--;if(!r)return{x:0,y:0};var o=(i.timestamp-r.timestamp)/1e3;if(0===o)return{x:0,y:0};var a={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}var W=n(4941);var K=n(7581);function Z(e,t){var n,r,i,o,{onPan:a,onPanStart:s,onPanEnd:l,onPanSessionStart:u,onPanSessionEnd:c}=t,f=Boolean(a||s||l||u||c),h=(0,d.useRef)(null),p={onSessionStart:u,onSessionEnd:c,onStart:s,onMove:a,onEnd(e,t){h.current=null,null==l||l(e,t)}};(0,d.useEffect)((()=>{var e;null==(e=h.current)||e.updateHandlers(p)})),n=()=>e.current,r="pointerdown",i=f?function(e){h.current=new B(e,p)}:I.ZT,(0,W.O)(L(r),R(i,"pointerdown"===r),n,o),(0,K.z)((()=>{var e;null==(e=h.current)||e.end(),h.current=null}))}var $=n(2947);Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER;function X(e,t){var n=function(e){var t=parseFloat(e);return(0,l.iy)(t)?0:t}(e),r=10**(null!=t?t:10);return n=Math.round(n*r)/r,t?n.toFixed(t):n.toString()}function Y(e,t,n){return 100*(e-t)/(n-t)}function Q(e,t,n){return X(Math.round((e-t)/n)*n+t,function(e){if(!Number.isFinite(e))return 0;for(var t=1,n=0;Math.round(e*t)/t!==e;)t*=10,n+=1;return n}(n))}function J(e,t,n){return null==e?e:((0,I.ZK)({condition:n<t,message:"clamp: max cannot be less than min"}),Math.min(Math.max(e,t),n))}var ee=n(7248);function te(){return(te=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function ne(e){var{orientation:t,vertical:n,horizontal:r}=e;return"vertical"===t?n:r}function re(){return(re=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function ie(e){var t,{min:n=0,max:r=100,onChange:i,value:o,defaultValue:a,isReversed:s,orientation:l="horizontal",id:c,isDisabled:m,isReadOnly:g,onChangeStart:y,onChangeEnd:b,step:w=1,getAriaValueText:x,"aria-valuetext":E,"aria-label":O,"aria-labelledby":C,name:A,focusThumbOnChange:S=!0}=e,P=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,["min","max","onChange","value","defaultValue","isReversed","orientation","id","isDisabled","isReadOnly","onChangeStart","onChangeEnd","step","getAriaValueText","aria-valuetext","aria-label","aria-labelledby","name","focusThumbOnChange"]),M=(0,f.W)(y),R=(0,f.W)(b),j=(0,f.W)(x),[D,L]=(0,h.T)({value:o,defaultValue:null!=a?a:oe(n,r),onChange:i}),[N,z]=(0,p.k)(),H=function(e){var t=(0,d.useRef)();return(0,d.useEffect)((()=>{t.current=e}),[e]),t.current}(N),[B,F]=(0,p.k)(),V=(0,d.useRef)(null),U=!(m||g),G=J(D,n,r),q=function(e){var t=d.useRef(null);return t.current=e,t}(G),W=(0,d.useRef)(q.current),K=Y(s?r-G+n:G,n,r),X="vertical"===l,ie=(0,d.useRef)(null),ae=(0,d.useRef)(null),se=(0,d.useRef)(null),[le,ue]=(0,v.ZS)(c,"slider-thumb","slider-track"),ce=(0,d.useCallback)((e=>{var t,i;if(ie.current){V.current="pointer";var o=k(ie.current).borderBox,{clientX:a,clientY:l}=null!=(t=null==(i=e.touches)?void 0:i[0])?t:e,u=(X?o.bottom-l:a-o.left)/(X?o.height:o.width);s&&(u=1-u);var c=function(e,t,n){return(n-t)*e+t}(u,n,r);return w&&(c=parseFloat(Q(c,n,w))),c=J(c,n,r)}}),[X,s,r,n,w]),de=(r-n)/10,fe=w||(r-n)/100,he=(0,d.useCallback)((e=>{U&&(e=J(e=parseFloat(Q(e,n,fe)),n,r),L(e))}),[fe,r,n,L,U]),pe=(0,d.useMemo)((()=>({stepUp:function(e){void 0===e&&(e=fe),he(s?G-e:G+e)},stepDown:function(e){void 0===e&&(e=fe),he(s?G+e:G-e)},reset:()=>he(a||0),stepTo:e=>he(e)})),[he,s,G,fe,a]),ve=(0,d.useCallback)((e=>{var t={ArrowRight:()=>pe.stepUp(),ArrowUp:()=>pe.stepUp(),ArrowLeft:()=>pe.stepDown(),ArrowDown:()=>pe.stepDown(),PageUp:()=>pe.stepUp(de),PageDown:()=>pe.stepDown(de),Home:()=>he(n),End:()=>he(r)}[(0,u.uh)(e)];t&&(e.preventDefault(),e.stopPropagation(),t(e),V.current="keyboard")}),[pe,he,r,n,de]),me=null!=(t=null==j?void 0:j(G))?t:E,ge=function(e,t){var[n,r]=d.useState(null),i=d.useRef();return(0,T.G)((()=>{if(e.current){var n=e.current;return o(),t&&(window.addEventListener("resize",o),window.addEventListener("scroll",o)),()=>{t&&(window.removeEventListener("resize",o),window.removeEventListener("scroll",o)),i.current&&cancelAnimationFrame(i.current)}}function o(){i.current=requestAnimationFrame((()=>{var e=k(n);r(e)}))}}),[t]),n}(ae),{thumbStyle:ye,rootStyle:be,trackStyle:we,innerTrackStyle:xe}=(0,d.useMemo)((()=>{var e,t=null!=(e=null==ge?void 0:ge.borderBox)?e:{width:0,height:0};return function(e){var{orientation:t,trackPercent:n,thumbRect:r,isReversed:i}=e,o=te({position:"absolute",userSelect:"none",WebkitUserSelect:"none",MozUserSelect:"none",msUserSelect:"none",touchAction:"none"},ne({orientation:t,vertical:{bottom:"calc("+n+"% - "+r.height/2+"px)"},horizontal:{left:"calc("+n+"% - "+r.width/2+"px)"}})),a=te({position:"relative",touchAction:"none",WebkitTapHighlightColor:"rgba(0,0,0,0)",userSelect:"none",outline:0},ne({orientation:t,vertical:{paddingLeft:r.width/2,paddingRight:r.width/2},horizontal:{paddingTop:r.height/2,paddingBottom:r.height/2}})),s=te({position:"absolute"},ne({orientation:t,vertical:{left:"50%",transform:"translateX(-50%)",height:"100%"},horizontal:{top:"50%",transform:"translateY(-50%)",width:"100%"}}));return{trackStyle:s,innerTrackStyle:te({},s,ne({orientation:t,vertical:i?{height:100-n+"%",top:0}:{height:n+"%",bottom:0},horizontal:i?{width:100-n+"%",right:0}:{width:n+"%",left:0}})),rootStyle:a,thumbStyle:o}}({isReversed:s,orientation:l,thumbRect:t,trackPercent:K})}),[s,l,null==ge?void 0:ge.borderBox,K]),Ee=(0,d.useCallback)((()=>{ae.current&&S&&setTimeout((()=>(0,ee.T)(ae.current)))}),[S]);(0,_.r)((()=>{Ee(),"keyboard"===V.current&&(null==b||b(q.current))}),[G,b]);var ke=e=>{var t=ce(e);null!=t&&t!==q.current&&L(t)};Z(se,{onPanSessionStart(e){U&&ke(e)},onPanSessionEnd(){U&&(H||W.current===q.current||(null==R||R(q.current),W.current=q.current))},onPanStart(){U&&(z.on(),null==M||M(q.current))},onPan(e){U&&ke(e)},onPanEnd(){U&&(z.off(),null==R||R(q.current))}});var Te=(0,d.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),re({},e,P,{ref:(0,$.l)(t,se),tabIndex:-1,"aria-disabled":(0,u.Qm)(m),"data-focused":(0,u.PB)(B),style:re({},e.style,be)})}),[P,m,B,be]),_e=(0,d.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),re({},e,{ref:(0,$.l)(t,ie),id:ue,"data-disabled":(0,u.PB)(m),style:re({},e.style,we)})}),[m,ue,we]),Oe=(0,d.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),re({},e,{ref:t,style:re({},e.style,xe)})}),[xe]),Ce=(0,d.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),re({},e,{ref:(0,$.l)(t,ae),role:"slider",tabIndex:U?0:void 0,id:le,"data-active":(0,u.PB)(N),"aria-valuetext":me,"aria-valuemin":n,"aria-valuemax":r,"aria-valuenow":G,"aria-orientation":l,"aria-disabled":(0,u.Qm)(m),"aria-readonly":(0,u.Qm)(g),"aria-label":O,"aria-labelledby":O?void 0:C,style:re({},e.style,ye),onKeyDown:(0,I.v0)(e.onKeyDown,ve),onFocus:(0,I.v0)(e.onFocus,F.on),onBlur:(0,I.v0)(e.onBlur,F.off)})}),[O,C,m,N,g,U,r,n,ve,l,F.off,F.on,le,ye,G,me]),Ae=(0,d.useCallback)((function(e,t){void 0===e&&(e={}),void 0===t&&(t=null);var i=!(e.value<n||e.value>r),o=G>=e.value,a=Y(e.value,n,r),c=re({position:"absolute",pointerEvents:"none"},function(e){var{orientation:t,vertical:n,horizontal:r}=e;return"vertical"===t?n:r}({orientation:l,vertical:{bottom:s?100-a+"%":a+"%"},horizontal:{left:s?100-a+"%":a+"%"}}));return re({},e,{ref:t,role:"presentation","aria-hidden":!0,"data-disabled":(0,u.PB)(m),"data-invalid":(0,u.PB)(!i),"data-highlighted":(0,u.PB)(o),style:re({},e.style,c)})}),[m,s,r,n,l,G]),Se=(0,d.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),re({},e,{ref:t,type:"hidden",value:G,name:A})}),[A,G]);return{state:{value:G,isFocused:B,isDragging:N},actions:pe,getRootProps:Te,getTrackProps:_e,getInnerTrackProps:Oe,getThumbProps:Ce,getMarkerProps:Ae,getInputProps:Se}}function oe(e,t){return t<e?e:e+(t-e)/2}function ae(){return(ae=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var[se,le]=(0,c.k)({name:"SliderContext",errorMessage:"useSliderContext: `context` is undefined. Seems you forgot to wrap all slider components within <Slider />"}),ue=(0,r.G)(((e,t)=>{var n=(0,i.j)("Slider",e),r=ie((0,o.Lr)(e)),{getInputProps:l,getRootProps:u}=r,c=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(r,["getInputProps","getRootProps"]),f=u(),h=l({},t),p=ae({display:"inline-block",position:"relative",cursor:"pointer"},n.container);return d.createElement(se,{value:c},d.createElement(a.Fo,{value:n},d.createElement(s.m$.div,ae({},f,{className:"chakra-slider",__css:p}),e.children,d.createElement("input",h))))}));ue.defaultProps={orientation:"horizontal"},l.Ts&&(ue.displayName="Slider");var ce=(0,r.G)(((e,t)=>{var{getThumbProps:n}=le(),r=ae({display:"flex",alignItems:"center",justifyContent:"center",position:"absolute",outline:0},(0,a.yK)().thumb),i=n(e,t);return d.createElement(s.m$.div,ae({},i,{className:(0,u.cx)("chakra-slider__thumb",e.className),__css:r}))}));l.Ts&&(ce.displayName="SliderThumb");var de=(0,r.G)(((e,t)=>{var{getTrackProps:n}=le(),r=ae({overflow:"hidden"},(0,a.yK)().track),i=n(e,t);return d.createElement(s.m$.div,ae({},i,{className:(0,u.cx)("chakra-slider__track",e.className),__css:r}))}));l.Ts&&(de.displayName="SliderTrack");var fe=(0,r.G)(((e,t)=>{var{getInnerTrackProps:n}=le(),r=ae({width:"inherit",height:"inherit"},(0,a.yK)().filledTrack),i=n(e,t);return d.createElement(s.m$.div,ae({},i,{className:"chakra-slider__filled-track",__css:r}))}));l.Ts&&(fe.displayName="SliderFilledTrack");var he=(0,r.G)(((e,t)=>{var{getMarkerProps:n}=le(),r=n(e,t);return d.createElement(s.m$.div,ae({},r,{className:(0,u.cx)("chakra-slider__marker",e.className)}))}));l.Ts&&(he.displayName="SliderMark")},8134:function(e,t,n){"use strict";n.d(t,{r:function(){return E}});var r=n(762),i=n(639),o=n(1034),a=n(8327),s=n(2947),l=n(658),u=n(4461),c=n(7248),d=n(5415),f=n(7294);function h(){return(h=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function p(e){void 0===e&&(e={});var{defaultIsChecked:t,defaultChecked:n=t,isChecked:p,isFocusable:m,isDisabled:g,isReadOnly:y,isRequired:b,onChange:w,isIndeterminate:x,isInvalid:E,name:k,value:T,id:_,onBlur:O,onFocus:C,"aria-label":A,"aria-labelledby":S,"aria-invalid":P,"aria-describedby":M}=e,R=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,["defaultIsChecked","defaultChecked","isChecked","isFocusable","isDisabled","isReadOnly","isRequired","onChange","isIndeterminate","isInvalid","name","value","id","onBlur","onFocus","aria-label","aria-labelledby","aria-invalid","aria-describedby"]),j=(0,r.W)(w),D=(0,r.W)(O),L=(0,r.W)(C),[N,I]=(0,i.k)(),[z,H]=(0,i.k)(),[B,F]=(0,i.k)(),V=(0,f.useRef)(null),[U,G]=(0,f.useState)(!0),[q,W]=(0,f.useState)(!!n),[K,Z]=(0,o.p)(p,q);(0,l.ZK)({condition:!!t,message:'The "defaultIsChecked" prop has been deprecated and will be removed in a future version. Please use the "defaultChecked" prop instead, which mirrors default React checkbox behavior.'});var $=(0,f.useCallback)((e=>{y||g?e.preventDefault():(K||W(Z?e.target.checked:!!x||e.target.checked),null==j||j(e))}),[y,g,Z,K,x,j]);(0,a.G)((()=>{V.current&&(V.current.indeterminate=Boolean(x))}),[x]);var X=g&&!m,Y=(0,f.useCallback)((e=>{" "===e.key&&F.on()}),[F]),Q=(0,f.useCallback)((e=>{" "===e.key&&F.off()}),[F]);(0,a.G)((()=>{V.current&&(V.current.checked!==Z&&W(V.current.checked))}),[V.current]);var J=(0,f.useCallback)((function(e,t){void 0===e&&(e={}),void 0===t&&(t=null);return h({},e,{ref:t,"data-active":(0,u.PB)(B),"data-hover":(0,u.PB)(z),"data-checked":(0,u.PB)(Z),"data-focus":(0,u.PB)(N),"data-indeterminate":(0,u.PB)(x),"data-disabled":(0,u.PB)(g),"data-invalid":(0,u.PB)(E),"data-readonly":(0,u.PB)(y),"aria-hidden":!0,onMouseDown:(0,l.v0)(e.onMouseDown,(e=>{e.preventDefault(),F.on()})),onMouseUp:(0,l.v0)(e.onMouseUp,F.off),onMouseEnter:(0,l.v0)(e.onMouseEnter,H.on),onMouseLeave:(0,l.v0)(e.onMouseLeave,H.off)})}),[B,Z,g,N,z,x,E,y,F,H.off,H.on]),ee=(0,f.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),h({},R,e,{ref:(0,s.l)(t,(e=>{e&&G("LABEL"===e.tagName)})),onClick:(0,l.v0)(e.onClick,(()=>{var e;U||(null==(e=V.current)||e.click(),(0,c.T)(V.current,{nextTick:!0}))})),"data-disabled":(0,u.PB)(g)})}),[R,g,U]),te=(0,f.useCallback)((function(e,t){void 0===e&&(e={}),void 0===t&&(t=null);return h({},e,{ref:(0,s.l)(V,t),type:"checkbox",name:k,value:T,id:_,onChange:(0,l.v0)(e.onChange,$),onBlur:(0,l.v0)(e.onBlur,D,I.off),onFocus:(0,l.v0)(e.onFocus,L,(()=>{(0,l.A4)(I.on)})),onKeyDown:(0,l.v0)(e.onKeyDown,Y),onKeyUp:(0,l.v0)(e.onKeyUp,Q),required:b,checked:Z,disabled:X,readOnly:y,"aria-label":A,"aria-labelledby":S,"aria-invalid":P?Boolean(P):E,"aria-describedby":M,"aria-disabled":g,style:d.NL})}),[k,T,_,$,I.off,I.on,D,L,Y,Q,b,Z,X,y,A,S,P,E,M,g]),ne=(0,f.useCallback)((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),h({},e,{ref:t,onMouseDown:(0,l.v0)(e.onMouseDown,v),onTouchStart:(0,l.v0)(e.onTouchStart,v),"data-disabled":(0,u.PB)(g),"data-checked":(0,u.PB)(Z),"data-invalid":(0,u.PB)(E)})}),[Z,g,E]);return{state:{isInvalid:E,isFocused:N,isChecked:Z,isActive:B,isHovered:z,isIndeterminate:x,isDisabled:g,isReadOnly:y,isRequired:b},getRootProps:ee,getCheckboxProps:J,getInputProps:te,getLabelProps:ne,htmlProps:R}}function v(e){e.preventDefault(),e.stopPropagation()}var m=n(63),g=n(2326),y=n(5284),b=n(5643),w=n(3808);function x(){return(x=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var E=(0,m.G)(((e,t)=>{var n=(0,g.j)("Switch",e),r=(0,y.Lr)(e),{spacing:i="0.5rem",children:o}=r,a=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(r,["spacing","children"]),{state:s,getInputProps:l,getCheckboxProps:c,getRootProps:d,getLabelProps:h}=p(a),v=f.useMemo((()=>x({display:"inline-block",verticalAlign:"middle",lineHeight:"normal"},n.container)),[n.container]),m=f.useMemo((()=>x({display:"inline-flex",flexShrink:0,justifyContent:"flex-start",boxSizing:"content-box",cursor:"pointer"},n.track)),[n.track]),w=f.useMemo((()=>x({userSelect:"none",marginStart:i},n.label)),[i,n.label]);return f.createElement(b.m$.label,x({},d(),{className:(0,u.cx)("chakra-switch",e.className),__css:v}),f.createElement("input",x({className:"chakra-switch__input"},l({},t))),f.createElement(b.m$.span,x({},c(),{className:"chakra-switch__track",__css:m}),f.createElement(b.m$.span,{__css:n.thumb,className:"chakra-switch__thumb","data-checked":(0,u.PB)(s.isChecked),"data-hover":(0,u.PB)(s.isHovered)})),o&&f.createElement(b.m$.span,x({className:"chakra-switch__label"},h(),{__css:w}),o))}));w.Ts&&(E.displayName="Switch")},63:function(e,t,n){"use strict";n.d(t,{G:function(){return i}});var r=n(7294);function i(e){return r.forwardRef(e)}},1180:function(e,t,n){"use strict";n.d(t,{useTheme:function(){return o.Fg}});var r=n(9421);n.o(r,"useTheme")&&n.d(t,{useTheme:function(){return r.useTheme}});var i=n(5070);n.o(i,"useTheme")&&n.d(t,{useTheme:function(){return i.useTheme}});var o=n(9676)},5643:function(e,t,n){"use strict";n.d(t,{m$:function(){return _}});var r=n(9421),i=n(5505),o=n(658),a=n(7294);function s(){return(s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var l=n(7866),u=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,c=(0,l.Z)((function(e){return u.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91})),d=n(2544),f=n(444),h=n(4199),p=c,v=function(e){return"theme"!==e},m=function(e){return"string"===typeof e&&e.charCodeAt(0)>96?p:v},g=function(e,t,n){var r;if(t){var i=t.shouldForwardProp;r=e.__emotion_forwardProp&&i?function(t){return e.__emotion_forwardProp(t)&&i(t)}:i}return"function"!==typeof r&&n&&(r=e.__emotion_forwardProp),r},y=function e(t,n){var r,i,o=t.__emotion_real===t,l=o&&t.__emotion_base||t;void 0!==n&&(r=n.label,i=n.target);var u=g(t,n,o),c=u||m(l),p=!c("as");return function(){var v=arguments,y=o&&void 0!==t.__emotion_styles?t.__emotion_styles.slice(0):[];if(void 0!==r&&y.push("label:"+r+";"),null==v[0]||void 0===v[0].raw)y.push.apply(y,v);else{0,y.push(v[0][0]);for(var b=v.length,w=1;w<b;w++)y.push(v[w],v[0][w])}var x=(0,d.w)((function(e,t,n){var r=p&&e.as||l,o="",s=[],v=e;if(null==e.theme){for(var g in v={},e)v[g]=e[g];v.theme=(0,a.useContext)(d.T)}"string"===typeof e.className?o=(0,f.f)(t.registered,s,e.className):null!=e.className&&(o=e.className+" ");var b=(0,h.O)(y.concat(s),t.registered,v);(0,f.M)(t,b,"string"===typeof r);o+=t.key+"-"+b.name,void 0!==i&&(o+=" "+i);var w=p&&void 0===u?m(r):c,x={};for(var E in e)p&&"as"===E||w(E)&&(x[E]=e[E]);return x.className=o,x.ref=n,(0,a.createElement)(r,x)}));return x.displayName=void 0!==r?r:"Styled("+("string"===typeof l?l:l.displayName||l.name||"Component")+")",x.defaultProps=t.defaultProps,x.__emotion_real=x,x.__emotion_base=l,x.__emotion_styles=y,x.__emotion_forwardProp=u,Object.defineProperty(x,"toString",{value:function(){return"."+i}}),x.withComponent=function(t,r){return e(t,s({},n,r,{shouldForwardProp:g(x,r,!0)})).apply(void 0,y)},x}}.bind();["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"].forEach((function(e){y[e]=y(e)}));var b=y,w=new Set([...r.propNames,"textStyle","layerStyle","apply","isTruncated","noOfLines","focusBorderColor","errorBorderColor","as","__css","css","sx"]),x=new Set(["htmlWidth","htmlHeight","htmlSize"]),E=e=>x.has(e)||!w.has(e),k=n(5284);function T(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}var _=function(e,t){var n=null!=t?t:{},{baseStyle:a}=n,s=T(n,["baseStyle"]);s.shouldForwardProp||(s.shouldForwardProp=E);var l=(e=>{var{baseStyle:t}=e;return e=>{var{css:n,__css:a,sx:s}=e,l=T(e,["theme","css","__css","sx"]),u=(0,i.lw)(l,((e,t)=>(0,r.isStyleProp)(t))),c=(0,o.Pu)(t,e),d=Object.assign({},a,c,(0,i.YU)(u),s),f=(0,r.css)(d)(e.theme);return n?[f,n]:f}})({baseStyle:a});return b(e,s)(l)};k.t6.forEach((e=>{_[e]=_(e)}))},5070:function(){},5284:function(e,t,n){"use strict";n.d(t,{t6:function(){return i},Lr:function(){return o}});var r=n(5505),i=["a","b","article","aside","blockquote","button","caption","cite","circle","code","dd","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hr","img","input","kbd","label","li","main","mark","nav","ol","p","path","pre","q","rect","s","svg","section","select","strong","small","span","sub","sup","table","tbody","td","textarea","tfoot","th","thead","tr","ul"];function o(e){return(0,r.CE)(e,["styleConfig","size","variant","colorScheme"])}},2326:function(e,t,n){"use strict";n.d(t,{j:function(){return v},m:function(){return p}});var r=n(5505),i=n(8554),o=n.n(i),a=n(658),s=n(7294),l=n(9590),u=n.n(l),c=n(4738),d=n(9676);function f(){return(f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function h(){return f({},(0,c.If)(),{theme:(0,d.Fg)()})}function p(e,t,n){var i,l;void 0===t&&(t={}),void 0===n&&(n={});var{styleConfig:c}=t,d=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(t,["styleConfig"]),{theme:f,colorMode:p}=h(),v=(0,r.Wf)(f,"components."+e),m=c||v,g=o()({theme:f,colorMode:p},null!=(i=null==m?void 0:m.defaultProps)?i:{},(0,r.YU)((0,r.CE)(d,["children"]))),y=(0,s.useRef)({});return(0,s.useMemo)((()=>{if(m){var e,t,r,i,s,l,c=(0,a.Pu)(null!=(e=m.baseStyle)?e:{},g),d=(0,a.Pu)(null!=(t=null==(r=m.variants)?void 0:r[g.variant])?t:{},g),f=(0,a.Pu)(null!=(i=null==(s=m.sizes)?void 0:s[g.size])?i:{},g),h=o()({},c,f,d);null!=(l=n)&&l.isMultiPart&&m.parts&&m.parts.forEach((e=>{var t;h[e]=null!=(t=h[e])?t:{}})),u()(y.current,h)||(y.current=h)}return y.current}),[m,g,null==(l=n)?void 0:l.isMultiPart])}function v(e,t){return p(e,t,{isMultiPart:!0})}},5684:function(e,t,n){"use strict";n.d(t,{u:function(){return V}});var r=n(3459),i=n(7294),o=n(7581);function a(){var e=i.useRef(!1),[t,n]=i.useState(0);return(0,o.z)((()=>{e.current=!0})),i.useCallback((()=>{e.current||n(t+1)}),[t])}var s=n(8327),l=n(4461),u=n(3808),c=n(8500),d=n(3935),f=n(4288);function h(){return(h=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var[p,v]=(0,c.k)({strict:!1,name:"PortalContext"}),m="chakra-portal",g=e=>i.createElement("div",{className:"chakra-portal-zIndex",style:{position:"absolute",zIndex:e.zIndex,top:0,left:0,right:0}},e.children),y=e=>{var{appendToParentPortal:t,children:n}=e,r=i.useRef(null),o=i.useRef(null),l=a(),u=v(),c=(0,f.L)();(0,s.G)((()=>{if(r.current){var e=r.current.ownerDocument,n=t&&null!=u?u:e.body;if(n){o.current=e.createElement("div"),o.current.className=m,n.appendChild(o.current),l();var i=o.current;return()=>{n.contains(i)&&n.removeChild(i)}}}}),[]);var h=null!=c&&c.zIndex?i.createElement(g,{zIndex:null==c?void 0:c.zIndex},n):n;return o.current?(0,d.createPortal)(i.createElement(p,{value:o.current},h),o.current):i.createElement("span",{ref:r})},b=e=>{var{children:t,containerRef:n,appendToParentPortal:r}=e,o=n.current,u=null!=o?o:l.jU?document.body:void 0,c=i.useMemo((()=>{var e=null==o?void 0:o.ownerDocument.createElement("div");return e&&(e.className=m),e}),[o]),f=a();return(0,s.G)((()=>{f()}),[]),(0,s.G)((()=>{if(c&&u)return u.appendChild(c),()=>{u.removeChild(c)}}),[c,u]),u&&c?(0,d.createPortal)(i.createElement(p,{value:r?c:null},t),c):null};function w(e){var{containerRef:t}=e,n=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,["containerRef"]);return t?i.createElement(b,h({containerRef:t},n)):i.createElement(y,n)}w.defaultProps={appendToParentPortal:!0},w.className=m,w.selector=".chakra-portal",u.Ts&&(w.displayName="Portal");var x=n(5643),E=n(63),k=n(2326),T=n(5284),_=n(9676),O=n(5505),C=n(5415),A=n(7554),S=n(3869),P={exit:{scale:.85,opacity:0,transition:{opacity:{duration:.15,easings:"easeInOut"},scale:{duration:.2,easings:"easeInOut"}}},enter:{scale:1,opacity:1,transition:{opacity:{easings:"easeOut",duration:.2},scale:{duration:.2,ease:[.175,.885,.4,1.1]}}}},M=n(4860),R=n(4577),j=n(4941),D=n(8931),L=n(658),N=n(8456),I=n(2947);function z(){return(z=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function H(e){void 0===e&&(e={});var{openDelay:t=0,closeDelay:n=0,closeOnClick:o=!0,closeOnMouseDown:a,onOpen:s,onClose:l,placement:u,id:c,isOpen:d,defaultIsOpen:f,arrowSize:h=10,arrowShadowColor:p,arrowPadding:v,modifiers:m,isDisabled:g,gutter:y,offset:b}=e,w=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,["openDelay","closeDelay","closeOnClick","closeOnMouseDown","onOpen","onClose","placement","id","isOpen","defaultIsOpen","arrowSize","arrowShadowColor","arrowPadding","modifiers","isDisabled","gutter","offset"]),{isOpen:x,onOpen:E,onClose:k}=(0,M.q)({isOpen:d,defaultIsOpen:f,onOpen:s,onClose:l}),{referenceRef:T,getPopperProps:_,getArrowInnerProps:O,getArrowProps:C}=(0,D.D)({enabled:x,placement:u,arrowPadding:v,modifiers:m,gutter:y,offset:b}),A=(0,R.Me)(c,"tooltip"),S=i.useRef(null),P=i.useRef(),H=i.useRef(),B=i.useCallback((()=>{g||(P.current=window.setTimeout(E,t))}),[g,E,t]),F=i.useCallback((()=>{P.current&&clearTimeout(P.current),H.current=window.setTimeout(k,n)}),[n,k]),V=i.useCallback((()=>{o&&F()}),[o,F]),U=i.useCallback((()=>{a&&F()}),[a,F]);(0,j.O)("keydown",(e=>{x&&"Escape"===e.key&&F()})),i.useEffect((()=>()=>{clearTimeout(P.current),clearTimeout(H.current)}),[]),(0,j.O)("mouseleave",F,S.current);var G=i.useCallback((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),z({},e,{ref:(0,I.l)(S,t,T),onMouseEnter:(0,L.v0)(e.onMouseEnter,B),onClick:(0,L.v0)(e.onClick,V),onMouseDown:(0,L.v0)(e.onMouseDown,U),onFocus:(0,L.v0)(e.onFocus,B),onBlur:(0,L.v0)(e.onBlur,F),"aria-describedby":x?A:void 0})}),[B,F,U,x,A,V,T]),q=i.useCallback((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),_(z({},e,{style:z({},e.style,{[r.Dq.arrowSize.var]:h?(0,N.px)(h):void 0,[r.Dq.arrowShadowColor.var]:p})}),t)}),[_,h,p]),W=i.useCallback((function(e,t){return void 0===e&&(e={}),void 0===t&&(t=null),z({ref:t},w,e,{id:A,role:"tooltip",style:z({},e.style,{position:"relative",transformOrigin:r.Dq.transformOrigin.varRef})})}),[w,A]);return{isOpen:x,show:B,hide:F,getTriggerProps:G,getTooltipProps:W,getTooltipPositionerProps:q,getArrowProps:C,getArrowInnerProps:O}}function B(){return(B=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var F=(0,x.m$)(A.E.div),V=(0,E.G)(((e,t)=>{var n=(0,k.m)("Tooltip",e),o=(0,T.Lr)(e),a=(0,_.Fg)(),{children:s,label:l,shouldWrapChildren:c,"aria-label":d,hasArrow:f,bg:h,portalProps:p}=o,v=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(o,["children","label","shouldWrapChildren","aria-label","hasArrow","bg","portalProps"]);h&&(n.bg=h,n[r.Dq.arrowBg.var]=(0,O.K1)(a,"colors",h));var m,g=H(v);if((0,u.HD)(s)||c)m=i.createElement(x.m$.span,B({tabIndex:0},g.getTriggerProps()),s);else{var y=i.Children.only(s);m=i.cloneElement(y,g.getTriggerProps(y.props,y.ref))}var b=!!d,E=g.getTooltipProps({},t),A=b?(0,O.CE)(E,["role","id"]):E,M=(0,O.ei)(E,["role","id"]);return l?i.createElement(i.Fragment,null,m,i.createElement(S.M,null,g.isOpen&&i.createElement(w,p,i.createElement(x.m$.div,B({},g.getTooltipPositionerProps(),{__css:{zIndex:n.zIndex,pointerEvents:"none"}}),i.createElement(F,B({variants:P},A,{initial:"exit",animate:"enter",exit:"exit",__css:n}),l,b&&i.createElement(C.TX,M,d),f&&i.createElement(x.m$.div,{"data-popper-arrow":!0,className:"chakra-tooltip__arrow-wrapper"},i.createElement(x.m$.div,{"data-popper-arrow-inner":!0,className:"chakra-tooltip__arrow",__css:{bg:n.bg}}))))))):i.createElement(i.Fragment,null,s)}));u.Ts&&(V.displayName="Tooltip")},7248:function(e,t,n){"use strict";n.d(t,{T:function(){return a}});var r=n(4461),i=n(658),o=n(7768);function a(e,t){void 0===t&&(t={});var{isActive:n=o.H9,nextTick:a,preventScroll:l=!0,selectTextIfInput:u=!0}=t;if(!e||n(e))return-1;function c(){if(e){if(function(){if(null==s){s=!1;try{document.createElement("div").focus({get preventScroll(){return s=!0,!0}})}catch(e){}}return s}())e.focus({preventScroll:l});else if(e.focus(),l)!function(e){for(var{element:t,scrollTop:n,scrollLeft:r}of e)t.scrollTop=n,t.scrollLeft=r}(function(e){var t=(0,r.lZ)(e),n=e.parentNode,i=[],o=t.scrollingElement||t.documentElement;for(;n instanceof HTMLElement&&n!==o;)(n.offsetHeight<n.scrollHeight||n.offsetWidth<n.scrollWidth)&&i.push({element:n,scrollTop:n.scrollTop,scrollLeft:n.scrollLeft}),n=n.parentNode;o instanceof HTMLElement&&i.push({element:o,scrollTop:o.scrollTop,scrollLeft:o.scrollLeft});return i}(e));(0,o.cK)(e)&&u&&e.select()}else(0,i.ZK)({condition:!0,message:"[chakra-ui]: can't call focus() on `null` or `undefined` element"})}return a?requestAnimationFrame(c):(c(),-1)}var s=null},7768:function(e,t,n){"use strict";n.d(t,{cK:function(){return o},H9:function(){return a},Wq:function(){return c}});var r=n(4461),i=e=>e.hasAttribute("tabindex");function o(e){return s(e)&&"input"===e.tagName.toLowerCase()&&"select"in e}function a(e){return(e instanceof HTMLElement?(0,r.lZ)(e):document).activeElement===e}function s(e){return e instanceof HTMLElement}function l(e){return!(!e.parentElement||!l(e.parentElement))||e.hidden}function u(e){if(!s(e)||l(e)||function(e){return!0===Boolean(e.getAttribute("disabled"))||!0===Boolean(e.getAttribute("aria-disabled"))}(e))return!1;var{localName:t}=e;if(["input","select","textarea","button"].indexOf(t)>=0)return!0;var n={a:()=>e.hasAttribute("href"),audio:()=>e.hasAttribute("controls"),video:()=>e.hasAttribute("controls")};return t in n?n[t]():!!function(e){var t=e.getAttribute("contenteditable");return"false"!==t&&null!=t}(e)||i(e)}function c(e){return!!e&&(s(e)&&u(e)&&!(e=>i(e)&&-1===e.tabIndex)(e))}},5415:function(e,t,n){"use strict";n.d(t,{NL:function(){return o},TX:function(){return a}});var r=n(5643),i=n(3808),o={border:"0px",clip:"rect(0px, 0px, 0px, 0px)",height:"1px",width:"1px",margin:"-1px",padding:"0px",overflow:"hidden",whiteSpace:"nowrap",position:"absolute"},a=(0,r.m$)("span",{baseStyle:o});i.Ts&&(a.displayName="VisuallyHidden");var s=(0,r.m$)("input",{baseStyle:o});i.Ts&&(s.displayName="VisuallyHiddenInput")},4309:function(e,t,n){"use strict";n.d(t,{iP:function(){return d}});var r=n(7294);var i=e=>{const t=r.useRef(e);return r.useEffect((()=>{t.current=e})),t};const o=(e,t=100,n=!1)=>{const o=i(e),a=r.useRef(),s=[t,n,o];function l(){a.current&&clearTimeout(a.current),a.current=void 0}function u(){a.current=void 0}return r.useEffect((()=>l),s),r.useCallback((function(){const e=arguments,{current:r}=a;if(void 0===r&&n)return a.current=setTimeout(u,t),o.current.apply(null,e);r&&clearTimeout(r),a.current=setTimeout((()=>{a.current=void 0,o.current.apply(null,e)}),t)}),s)};var a=r["undefined"!==typeof document&&void 0!==document.createElement?"useLayoutEffect":"useEffect"];var s=function(e,t,n,i){const o=r.useRef(n),s=r.useRef(i);a((()=>{o.current=n,s.current=i})),a((()=>{const n=e&&"current"in e?e.current:e;if(!n)return;let r=0;function i(...e){r||o.current.apply(this,e)}n.addEventListener(t,i);const a=s.current;return()=>{r=1,n.removeEventListener(t,i),a&&a()}}),[e,t])};const l={},u="undefined"===typeof window?null:window,c=()=>[document.documentElement.clientWidth,document.documentElement.clientHeight],d=(e=l)=>{const{wait:t,leading:n,initialWidth:i=0,initialHeight:a=0}=e,[d,f]=((e,t,n)=>{const i=r.useState(e);return[i[0],o(i[1],t,n)]})("undefined"===typeof document?[i,a]:c,t,n),h=()=>f(c);return s(u,"resize",h),s(u,"orientationchange",h),d}},2539:function(e,t,n){"use strict";n.r(t);t.default=function(e){return e instanceof Function?e:"string"===typeof e?function(t){return t[e]}:function(t){return e}}},3379:function(e){var t={animationIterationCount:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,stopOpacity:!0,strokeDashoffset:!0,strokeOpacity:!0,strokeWidth:!0};e.exports=function(e,n){return"number"!==typeof n||t[e]?n:n+"px"}},401:function(e,t,n){n(2406),n(9874),n(9236),n(2578),n(6699)},203:function(e){e.exports=THREE.ColladaLoader=function(e){this.manager=void 0!==e?e:THREE.DefaultLoadingManager},THREE.ColladaLoader.prototype={constructor:THREE.ColladaLoader,crossOrigin:"anonymous",load:function(e,t,n,r){var i=this,o=void 0===i.path?THREE.LoaderUtils.extractUrlBase(e):i.path,a=new THREE.FileLoader(i.manager);a.setPath(i.path),a.load(e,(function(e){t(i.parse(e,o))}),n,r)},setPath:function(e){return this.path=e,this},setResourcePath:function(e){return this.resourcePath=e,this},options:{set convertUpAxis(e){console.warn("THREE.ColladaLoader: options.convertUpAxis() has been removed. Up axis is converted automatically.")}},setCrossOrigin:function(e){return this.crossOrigin=e,this},parse:function(e,t){function n(e,t){for(var n=[],r=e.childNodes,i=0,o=r.length;i<o;i++){var a=r[i];a.nodeName===t&&n.push(a)}return n}function r(e){if(0===e.length)return[];for(var t=e.trim().split(/\s+/),n=new Array(t.length),r=0,i=t.length;r<i;r++)n[r]=t[r];return n}function i(e){if(0===e.length)return[];for(var t=e.trim().split(/\s+/),n=new Array(t.length),r=0,i=t.length;r<i;r++)n[r]=parseFloat(t[r]);return n}function o(e){if(0===e.length)return[];for(var t=e.trim().split(/\s+/),n=new Array(t.length),r=0,i=t.length;r<i;r++)n[r]=parseInt(t[r]);return n}function a(e){return e.substring(1)}function s(e){return 0===Object.keys(e).length}function l(e){return void 0!==e&&!0===e.hasAttribute("meter")?parseFloat(e.getAttribute("meter")):1}function u(e){return void 0!==e?e.textContent:"Y_UP"}function c(e,t,r,i){var o=n(e,t)[0];if(void 0!==o)for(var a=n(o,r),s=0;s<a.length;s++)i(a[s])}function d(e,t){for(var n in e){e[n].build=t(e[n])}}function f(e,t){return void 0!==e.build||(e.build=t(e)),e.build}function h(e){for(var t={inputs:{}},n=0,r=e.childNodes.length;n<r;n++){var i=e.childNodes[n];if(1===i.nodeType)switch(i.nodeName){case"input":var o=a(i.getAttribute("source")),s=i.getAttribute("semantic");t.inputs[s]=o}}return t}function p(e){var t={},n=e.getAttribute("target").split("/"),r=n.shift(),i=n.shift(),o=-1!==i.indexOf("("),s=-1!==i.indexOf(".");if(s)n=i.split("."),i=n.shift(),t.member=n.shift();else if(o){var l=i.split("(");i=l.shift();for(var u=0;u<l.length;u++)l[u]=parseInt(l[u].replace(/\)/,""));t.indices=l}return t.id=r,t.sid=i,t.arraySyntax=o,t.memberSyntax=s,t.sampler=a(e.getAttribute("source")),t}function v(e){var t=[],n=e.channels,r=e.samplers,i=e.sources;for(var o in n)if(n.hasOwnProperty(o)){var a=n[o],s=r[a.sampler],l=s.inputs.INPUT,u=s.inputs.OUTPUT;x(g(a,i[l],i[u]),t)}return t}function m(e){return f(We.animations[e],v)}function g(e,t,n){var r,i,o,a,s,l,u=We.nodes[e.id],c=Le(u.id),d=u.transforms[e.sid],f=u.matrix.clone().transpose(),h={};switch(d){case"matrix":for(o=0,a=t.array.length;o<a;o++)if(r=t.array[o],i=o*n.stride,void 0===h[r]&&(h[r]={}),!0===e.arraySyntax){var p=n.array[i],v=e.indices[0]+4*e.indices[1];h[r][v]=p}else for(s=0,l=n.stride;s<l;s++)h[r][s]=n.array[i+s];break;case"translate":case"rotate":case"scale":console.warn('THREE.ColladaLoader: Animation transform type "%s" not yet implemented.',d)}var m=function(e,t){var n=[];for(var r in e)n.push({time:parseFloat(r),value:e[r]});n.sort(o);for(var i=0;i<16;i++)E(n,i,t.elements[i]);return n;function o(e,t){return e.time-t.time}}(h,f);return{name:c.uuid,keyframes:m}}var y=new THREE.Vector3,b=new THREE.Vector3,w=new THREE.Quaternion;function x(e,t){for(var n=e.keyframes,r=e.name,i=[],o=[],a=[],s=[],l=0,u=n.length;l<u;l++){var c=n[l],d=c.time,f=c.value;Te.fromArray(f).transpose(),Te.decompose(y,w,b),i.push(d),o.push(y.x,y.y,y.z),a.push(w.x,w.y,w.z,w.w),s.push(b.x,b.y,b.z)}return o.length>0&&t.push(new THREE.VectorKeyframeTrack(r+".position",i,o)),a.length>0&&t.push(new THREE.QuaternionKeyframeTrack(r+".quaternion",i,a)),s.length>0&&t.push(new THREE.VectorKeyframeTrack(r+".scale",i,s)),t}function E(e,t,n){var r,i,o,a=!0;for(i=0,o=e.length;i<o;i++)void 0===(r=e[i]).value[t]?r.value[t]=null:a=!1;if(!0===a)for(i=0,o=e.length;i<o;i++)(r=e[i]).value[t]=n;else!function(e,t){for(var n,r,i=0,o=e.length;i<o;i++){var a=e[i];if(null===a.value[t]){if(n=k(e,i,t),r=T(e,i,t),null===n){a.value[t]=r.value[t];continue}if(null===r){a.value[t]=n.value[t];continue}_(a,n,r,t)}}}(e,t)}function k(e,t,n){for(;t>=0;){var r=e[t];if(null!==r.value[n])return r;t--}return null}function T(e,t,n){for(;t<e.length;){var r=e[t];if(null!==r.value[n])return r;t++}return null}function _(e,t,n,r){n.time-t.time!==0?e.value[r]=(e.time-t.time)*(n.value[r]-t.value[r])/(n.time-t.time)+t.value[r]:e.value[r]=t.value[r]}function O(e){for(var t=[],n=e.name,r=e.end-e.start||-1,i=e.animations,o=0,a=i.length;o<a;o++)for(var s=m(i[o]),l=0,u=s.length;l<u;l++)t.push(s[l]);return new THREE.AnimationClip(n,r,t)}function C(e){return f(We.clips[e],O)}function A(e){for(var t={sources:{}},n=0,r=e.childNodes.length;n<r;n++){var o=e.childNodes[n];if(1===o.nodeType)switch(o.nodeName){case"bind_shape_matrix":t.bindShapeMatrix=i(o.textContent);break;case"source":var a=o.getAttribute("id");t.sources[a]=ie(o);break;case"joints":t.joints=S(o);break;case"vertex_weights":t.vertexWeights=P(o)}}return t}function S(e){for(var t={inputs:{}},n=0,r=e.childNodes.length;n<r;n++){var i=e.childNodes[n];if(1===i.nodeType)switch(i.nodeName){case"input":var o=i.getAttribute("semantic"),s=a(i.getAttribute("source"));t.inputs[o]=s}}return t}function P(e){for(var t={inputs:{}},n=0,r=e.childNodes.length;n<r;n++){var i=e.childNodes[n];if(1===i.nodeType)switch(i.nodeName){case"input":var s=i.getAttribute("semantic"),l=a(i.getAttribute("source")),u=parseInt(i.getAttribute("offset"));t.inputs[s]={id:l,offset:u};break;case"vcount":t.vcount=o(i.textContent);break;case"v":t.v=o(i.textContent)}}return t}function M(e){var t={id:e.id},n=We.geometries[t.id];return void 0!==e.skin&&(t.skin=function(e){var t,n,r,i=4,o={joints:[],indices:{array:[],stride:i},weights:{array:[],stride:i}},a=e.sources,s=e.vertexWeights,l=s.vcount,u=s.v,c=s.inputs.JOINT.offset,d=s.inputs.WEIGHT.offset,f=e.sources[e.joints.inputs.JOINT],h=e.sources[e.joints.inputs.INV_BIND_MATRIX],p=a[s.inputs.WEIGHT.id].array,v=0;for(t=0,r=l.length;t<r;t++){var m=l[t],g=[];for(n=0;n<m;n++){var y=u[v+c],b=p[u[v+d]];g.push({index:y,weight:b}),v+=2}for(g.sort(k),n=0;n<i;n++){var w=g[n];void 0!==w?(o.indices.array.push(w.index),o.weights.array.push(w.weight)):(o.indices.array.push(0),o.weights.array.push(0))}}e.bindShapeMatrix?o.bindMatrix=(new THREE.Matrix4).fromArray(e.bindShapeMatrix).transpose():o.bindMatrix=(new THREE.Matrix4).identity();for(t=0,r=f.array.length;t<r;t++){var x=f.array[t],E=(new THREE.Matrix4).fromArray(h.array,t*h.stride).transpose();o.joints.push({name:x,boneInverse:E})}return o;function k(e,t){return t.weight-e.weight}}(e.skin),n.sources.skinIndices=t.skin.indices,n.sources.skinWeights=t.skin.weights),t}function R(e){return void 0!==e.build?e.build:e.init_from}function j(e){var t=We.images[e];return void 0!==t?f(t,R):(console.warn("THREE.ColladaLoader: Couldn't find image with ID:",e),null)}function D(e){for(var t={surfaces:{},samplers:{}},n=0,r=e.childNodes.length;n<r;n++){var i=e.childNodes[n];if(1===i.nodeType)switch(i.nodeName){case"newparam":L(i,t);break;case"technique":t.technique=z(i);break;case"extra":t.extra=G(i)}}return t}function L(e,t){for(var n=e.getAttribute("sid"),r=0,i=e.childNodes.length;r<i;r++){var o=e.childNodes[r];if(1===o.nodeType)switch(o.nodeName){case"surface":t.surfaces[n]=N(o);break;case"sampler2D":t.samplers[n]=I(o)}}}function N(e){for(var t={},n=0,r=e.childNodes.length;n<r;n++){var i=e.childNodes[n];if(1===i.nodeType)switch(i.nodeName){case"init_from":t.init_from=i.textContent}}return t}function I(e){for(var t={},n=0,r=e.childNodes.length;n<r;n++){var i=e.childNodes[n];if(1===i.nodeType)switch(i.nodeName){case"source":t.source=i.textContent}}return t}function z(e){for(var t={},n=0,r=e.childNodes.length;n<r;n++){var i=e.childNodes[n];if(1===i.nodeType)switch(i.nodeName){case"constant":case"lambert":case"blinn":case"phong":t.type=i.nodeName,t.parameters=H(i)}}return t}function H(e){for(var t={},n=0,r=e.childNodes.length;n<r;n++){var i=e.childNodes[n];if(1===i.nodeType)switch(i.nodeName){case"emission":case"diffuse":case"specular":case"bump":case"ambient":case"shininess":case"transparency":t[i.nodeName]=B(i);break;case"transparent":t[i.nodeName]={opaque:i.getAttribute("opaque"),data:B(i)}}}return t}function B(e){for(var t={},n=0,r=e.childNodes.length;n<r;n++){var o=e.childNodes[n];if(1===o.nodeType)switch(o.nodeName){case"color":t[o.nodeName]=i(o.textContent);break;case"float":t[o.nodeName]=parseFloat(o.textContent);break;case"texture":t[o.nodeName]={id:o.getAttribute("texture"),extra:F(o)}}}return t}function F(e){for(var t={technique:{}},n=0,r=e.childNodes.length;n<r;n++){var i=e.childNodes[n];if(1===i.nodeType)switch(i.nodeName){case"extra":V(i,t)}}return t}function V(e,t){for(var n=0,r=e.childNodes.length;n<r;n++){var i=e.childNodes[n];if(1===i.nodeType)switch(i.nodeName){case"technique":U(i,t)}}}function U(e,t){for(var n=0,r=e.childNodes.length;n<r;n++){var i=e.childNodes[n];if(1===i.nodeType)switch(i.nodeName){case"repeatU":case"repeatV":case"offsetU":case"offsetV":t.technique[i.nodeName]=parseFloat(i.textContent);break;case"wrapU":case"wrapV":"TRUE"===i.textContent.toUpperCase()?t.technique[i.nodeName]=1:"FALSE"===i.textContent.toUpperCase()?t.technique[i.nodeName]=0:t.technique[i.nodeName]=parseInt(i.textContent)}}}function G(e){for(var t={},n=0,r=e.childNodes.length;n<r;n++){var i=e.childNodes[n];if(1===i.nodeType)switch(i.nodeName){case"technique":t.technique=q(i)}}return t}function q(e){for(var t={},n=0,r=e.childNodes.length;n<r;n++){var i=e.childNodes[n];if(1===i.nodeType)switch(i.nodeName){case"double_sided":t[i.nodeName]=parseInt(i.textContent)}}return t}function W(e){return e}function K(e){var t,n,r=(t=e.url,f(We.effects[t],W)),i=r.profile.technique,o=r.profile.extra;switch(i.type){case"phong":case"blinn":n=new THREE.MeshPhongMaterial;break;case"lambert":n=new THREE.MeshLambertMaterial;break;default:n=new THREE.MeshBasicMaterial}function a(e){var t=r.profile.samplers[e.id],n=null;void 0!==t?n=j(r.profile.surfaces[t.source].init_from):(console.warn("THREE.ColladaLoader: Undefined sampler. Access image directly (see #12530)."),n=j(e.id));if(null!==n){var i=function(e){var t,n=e.slice(2+(e.lastIndexOf(".")-1>>>0));switch(n=n.toLowerCase()){case"tga":t=Be;break;default:t=Ve}return t}(n);if(void 0!==i){var o=i.load(n),a=e.extra;if(void 0!==a&&void 0!==a.technique&&!1===s(a.technique)){var l=a.technique;o.wrapS=l.wrapU?THREE.RepeatWrapping:THREE.ClampToEdgeWrapping,o.wrapT=l.wrapV?THREE.RepeatWrapping:THREE.ClampToEdgeWrapping,o.offset.set(l.offsetU||0,l.offsetV||0),o.repeat.set(l.repeatU||1,l.repeatV||1)}else o.wrapS=THREE.RepeatWrapping,o.wrapT=THREE.RepeatWrapping;return o}return console.warn("THREE.ColladaLoader: Loader for texture %s not found.",n),null}return console.warn("THREE.ColladaLoader: Couldn't create texture with ID:",e.id),null}n.name=e.name;var l=i.parameters;for(var u in l){var c=l[u];switch(u){case"diffuse":c.color&&n.color.fromArray(c.color),c.texture&&(n.map=a(c.texture));break;case"specular":c.color&&n.specular&&n.specular.fromArray(c.color),c.texture&&(n.specularMap=a(c.texture));break;case"bump":c.texture&&(n.normalMap=a(c.texture));break;case"ambient":c.texture&&(n.lightMap=a(c.texture));break;case"shininess":c.float&&n.shininess&&(n.shininess=c.float);break;case"emission":c.color&&n.emissive&&n.emissive.fromArray(c.color),c.texture&&(n.emissiveMap=a(c.texture))}}var d=l.transparent,h=l.transparency;if(void 0===h&&d&&(h={float:1}),void 0===d&&h&&(d={opaque:"A_ONE",data:{color:[1,1,1,1]}}),d&&h)if(d.data.texture)n.transparent=!0;else{var p=d.data.color;switch(d.opaque){case"A_ONE":n.opacity=p[3]*h.float;break;case"RGB_ZERO":n.opacity=1-p[0]*h.float;break;case"A_ZERO":n.opacity=1-p[3]*h.float;break;case"RGB_ONE":n.opacity=p[0]*h.float;break;default:console.warn('THREE.ColladaLoader: Invalid opaque type "%s" of transparent tag.',d.opaque)}n.opacity<1&&(n.transparent=!0)}return void 0!==o&&void 0!==o.technique&&1===o.technique.double_sided&&(n.side=THREE.DoubleSide),n}function Z(e){return f(We.materials[e],K)}function $(e){for(var t=0;t<e.childNodes.length;t++){var n=e.childNodes[t];switch(n.nodeName){case"technique_common":return X(n)}}return{}}function X(e){for(var t={},n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];switch(r.nodeName){case"perspective":case"orthographic":t.technique=r.nodeName,t.parameters=Y(r)}}return t}function Y(e){for(var t={},n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];switch(r.nodeName){case"xfov":case"yfov":case"xmag":case"ymag":case"znear":case"zfar":case"aspect_ratio":t[r.nodeName]=parseFloat(r.textContent)}}return t}function Q(e){var t;switch(e.optics.technique){case"perspective":t=new THREE.PerspectiveCamera(e.optics.parameters.yfov,e.optics.parameters.aspect_ratio,e.optics.parameters.znear,e.optics.parameters.zfar);break;case"orthographic":var n=e.optics.parameters.ymag,r=e.optics.parameters.xmag,i=e.optics.parameters.aspect_ratio;r=void 0===r?n*i:r,n=void 0===n?r/i:n,r*=.5,n*=.5,t=new THREE.OrthographicCamera(-r,r,n,-n,e.optics.parameters.znear,e.optics.parameters.zfar);break;default:t=new THREE.PerspectiveCamera}return t.name=e.name,t}function J(e){var t=We.cameras[e];return void 0!==t?f(t,Q):(console.warn("THREE.ColladaLoader: Couldn't find camera with ID:",e),null)}function ee(e){for(var t={},n=0,r=e.childNodes.length;n<r;n++){var i=e.childNodes[n];if(1===i.nodeType)switch(i.nodeName){case"directional":case"point":case"spot":case"ambient":t.technique=i.nodeName,t.parameters=te(i)}}return t}function te(e){for(var t={},n=0,r=e.childNodes.length;n<r;n++){var o=e.childNodes[n];if(1===o.nodeType)switch(o.nodeName){case"color":var a=i(o.textContent);t.color=(new THREE.Color).fromArray(a);break;case"falloff_angle":t.falloffAngle=parseFloat(o.textContent);break;case"quadratic_attenuation":var s=parseFloat(o.textContent);t.distance=s?Math.sqrt(1/s):0}}return t}function ne(e){var t;switch(e.technique){case"directional":t=new THREE.DirectionalLight;break;case"point":t=new THREE.PointLight;break;case"spot":t=new THREE.SpotLight;break;case"ambient":t=new THREE.AmbientLight}return e.parameters.color&&t.color.copy(e.parameters.color),e.parameters.distance&&(t.distance=e.parameters.distance),t}function re(e){var t=We.lights[e];return void 0!==t?f(t,ne):(console.warn("THREE.ColladaLoader: Couldn't find light with ID:",e),null)}function ie(e){for(var t={array:[],stride:3},o=0;o<e.childNodes.length;o++){var a=e.childNodes[o];if(1===a.nodeType)switch(a.nodeName){case"float_array":t.array=i(a.textContent);break;case"Name_array":t.array=r(a.textContent);break;case"technique_common":var s=n(a,"accessor")[0];void 0!==s&&(t.stride=parseInt(s.getAttribute("stride")))}}return t}function oe(e){for(var t={},n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];1===r.nodeType&&(t[r.getAttribute("semantic")]=a(r.getAttribute("source")))}return t}function ae(e){for(var t={type:e.nodeName,material:e.getAttribute("material"),count:parseInt(e.getAttribute("count")),inputs:{},stride:0,hasUV:!1},n=0,r=e.childNodes.length;n<r;n++){var i=e.childNodes[n];if(1===i.nodeType)switch(i.nodeName){case"input":var s=a(i.getAttribute("source")),l=i.getAttribute("semantic"),u=parseInt(i.getAttribute("offset")),c=parseInt(i.getAttribute("set")),d=c>0?l+c:l;t.inputs[d]={id:s,offset:u},t.stride=Math.max(t.stride,u+1),"TEXCOORD"===l&&(t.hasUV=!0);break;case"vcount":t.vcount=o(i.textContent);break;case"p":t.p=o(i.textContent)}}return t}function se(e){for(var t=0,n=0,r=e.length;n<r;n++){!0===e[n].hasUV&&t++}t>0&&t<e.length&&(e.uvsNeedsFix=!0)}function le(e){var t={},n=e.sources,r=e.vertices,i=e.primitives;if(0===i.length)return{};var o=function(e){for(var t={},n=0;n<e.length;n++){var r=e[n];void 0===t[r.type]&&(t[r.type]=[]),t[r.type].push(r)}return t}(i);for(var a in o){var s=o[a];se(s),t[a]=ue(s,n,r)}return t}function ue(e,t,n){for(var r={},i={array:[],stride:0},o={array:[],stride:0},a={array:[],stride:0},s={array:[],stride:0},l={array:[],stride:0},u=[],c=4,d=[],f=4,h=new THREE.BufferGeometry,p=[],v=0,m=0;m<e.length;m++){var g=e[m],y=g.inputs,b=0;switch(g.type){case"lines":case"linestrips":b=2*g.count;break;case"triangles":b=3*g.count;break;case"polylist":for(var w=0;w<g.count;w++){var x=g.vcount[w];switch(x){case 3:b+=3;break;case 4:b+=6;break;default:b+=3*(x-2)}}break;default:console.warn("THREE.ColladaLoader: Unknow primitive type:",g.type)}for(var E in h.addGroup(v,b,m),v+=b,g.material&&p.push(g.material),y){var k=y[E];switch(E){case"VERTEX":for(var T in n){var _=n[T];switch(T){case"POSITION":var O=i.array.length;if(ce(g,t[_],k.offset,i.array),i.stride=t[_].stride,t.skinWeights&&t.skinIndices&&(ce(g,t.skinIndices,k.offset,u),ce(g,t.skinWeights,k.offset,d)),!1===g.hasUV&&!0===e.uvsNeedsFix){b=(i.array.length-O)/i.stride;for(var C=0;C<b;C++)a.array.push(0,0)}break;case"NORMAL":ce(g,t[_],k.offset,o.array),o.stride=t[_].stride;break;case"COLOR":ce(g,t[_],k.offset,l.array),l.stride=t[_].stride;break;case"TEXCOORD":ce(g,t[_],k.offset,a.array),a.stride=t[_].stride;break;case"TEXCOORD1":ce(g,t[_],k.offset,s.array),a.stride=t[_].stride;break;default:console.warn('THREE.ColladaLoader: Semantic "%s" not handled in geometry build process.',T)}}break;case"NORMAL":ce(g,t[k.id],k.offset,o.array),o.stride=t[k.id].stride;break;case"COLOR":ce(g,t[k.id],k.offset,l.array),l.stride=t[k.id].stride;break;case"TEXCOORD":ce(g,t[k.id],k.offset,a.array),a.stride=t[k.id].stride;break;case"TEXCOORD1":ce(g,t[k.id],k.offset,s.array),s.stride=t[k.id].stride}}}return i.array.length>0&&h.addAttribute("position",new THREE.Float32BufferAttribute(i.array,i.stride)),o.array.length>0&&h.addAttribute("normal",new THREE.Float32BufferAttribute(o.array,o.stride)),l.array.length>0&&h.addAttribute("color",new THREE.Float32BufferAttribute(l.array,l.stride)),a.array.length>0&&h.addAttribute("uv",new THREE.Float32BufferAttribute(a.array,a.stride)),s.array.length>0&&h.addAttribute("uv2",new THREE.Float32BufferAttribute(s.array,s.stride)),u.length>0&&h.addAttribute("skinIndex",new THREE.Float32BufferAttribute(u,c)),d.length>0&&h.addAttribute("skinWeight",new THREE.Float32BufferAttribute(d,f)),r.data=h,r.type=e[0].type,r.materialKeys=p,r}function ce(e,t,n,r){var i=e.p,o=e.stride,a=e.vcount;function s(e){for(var t=i[e+n]*u,o=t+u;t<o;t++)r.push(l[t])}var l=t.array,u=t.stride;if(void 0!==e.vcount)for(var c=0,d=0,f=a.length;d<f;d++){var h=a[d];if(4===h){var p=c+1*o,v=c+2*o,m=c+3*o;s(c+0*o),s(p),s(m),s(p),s(v),s(m)}else if(3===h){p=c+1*o,v=c+2*o;s(c+0*o),s(p),s(v)}else if(h>4)for(var g=1,y=h-2;g<=y;g++){p=c+o*g,v=c+o*(g+1);s(c+0*o),s(p),s(v)}c+=o*h}else for(d=0,f=i.length;d<f;d+=o)s(d)}function de(e){return f(We.geometries[e],le)}function fe(e){return void 0!==e.build?e.build:e}function he(e,t){for(var n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];if(1===r.nodeType)switch(r.nodeName){case"joint":t.joints[r.getAttribute("sid")]=pe(r);break;case"link":t.links.push(me(r))}}}function pe(e){for(var t,n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];if(1===r.nodeType)switch(r.nodeName){case"prismatic":case"revolute":t=ve(r)}}return t}function ve(e,t){t={sid:e.getAttribute("sid"),name:e.getAttribute("name")||"",axis:new THREE.Vector3,limits:{min:0,max:0},type:e.nodeName,static:!1,zeroPosition:0,middlePosition:0};for(var n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];if(1===r.nodeType)switch(r.nodeName){case"axis":var o=i(r.textContent);t.axis.fromArray(o);break;case"limits":var a=r.getElementsByTagName("max")[0],s=r.getElementsByTagName("min")[0];t.limits.max=parseFloat(a.textContent),t.limits.min=parseFloat(s.textContent)}}return t.limits.min>=t.limits.max&&(t.static=!0),t.middlePosition=(t.limits.min+t.limits.max)/2,t}function me(e){for(var t={sid:e.getAttribute("sid"),name:e.getAttribute("name")||"",attachments:[],transforms:[]},n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];if(1===r.nodeType)switch(r.nodeName){case"attachment_full":t.attachments.push(ge(r));break;case"matrix":case"translate":case"rotate":t.transforms.push(ye(r))}}return t}function ge(e){for(var t={joint:e.getAttribute("joint").split("/").pop(),transforms:[],links:[]},n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];if(1===r.nodeType)switch(r.nodeName){case"link":t.links.push(me(r));break;case"matrix":case"translate":case"rotate":t.transforms.push(ye(r))}}return t}function ye(e){var t={type:e.nodeName},n=i(e.textContent);switch(t.type){case"matrix":t.obj=new THREE.Matrix4,t.obj.fromArray(n).transpose();break;case"translate":t.obj=new THREE.Vector3,t.obj.fromArray(n);break;case"rotate":t.obj=new THREE.Vector3,t.obj.fromArray(n),t.angle=THREE.Math.degToRad(n[3])}return t}function be(e,t){for(var n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];if(1===r.nodeType)switch(r.nodeName){case"technique_common":we(r,t)}}}function we(e,t){for(var n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];if(1===r.nodeType)switch(r.nodeName){case"inertia":t.inertia=i(r.textContent);break;case"mass":t.mass=i(r.textContent)[0]}}}function xe(e){for(var t={target:e.getAttribute("target").split("/").pop()},n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];if(1===r.nodeType)switch(r.nodeName){case"axis":var i=r.getElementsByTagName("param")[0];t.axis=i.textContent;var o=t.axis.split("inst_").pop().split("axis")[0];t.jointIndex=o.substr(0,o.length-1)}}return t}function Ee(e){return void 0!==e.build?e.build:e}function ke(e){for(var t=[],n=ze.querySelector('[id="'+e.id+'"]'),r=0;r<n.childNodes.length;r++){var o=n.childNodes[r];if(1===o.nodeType)switch(o.nodeName){case"matrix":var a=i(o.textContent),s=(new THREE.Matrix4).fromArray(a).transpose();t.push({sid:o.getAttribute("sid"),type:o.nodeName,obj:s});break;case"translate":case"scale":a=i(o.textContent);var l=(new THREE.Vector3).fromArray(a);t.push({sid:o.getAttribute("sid"),type:o.nodeName,obj:l});break;case"rotate":a=i(o.textContent),l=(new THREE.Vector3).fromArray(a);var u=THREE.Math.degToRad(a[3]);t.push({sid:o.getAttribute("sid"),type:o.nodeName,obj:l,angle:u})}}return t}var Te=new THREE.Matrix4,_e=new THREE.Vector3;function Oe(e){for(var t={name:e.getAttribute("name")||"",type:e.getAttribute("type"),id:e.getAttribute("id"),sid:e.getAttribute("sid"),matrix:new THREE.Matrix4,nodes:[],instanceCameras:[],instanceControllers:[],instanceLights:[],instanceGeometries:[],instanceNodes:[],transforms:{}},n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];if(1===r.nodeType)switch(r.nodeName){case"node":t.nodes.push(r.getAttribute("id")),Oe(r);break;case"instance_camera":t.instanceCameras.push(a(r.getAttribute("url")));break;case"instance_controller":t.instanceControllers.push(Ce(r));break;case"instance_light":t.instanceLights.push(a(r.getAttribute("url")));break;case"instance_geometry":t.instanceGeometries.push(Ce(r));break;case"instance_node":t.instanceNodes.push(a(r.getAttribute("url")));break;case"matrix":var o=i(r.textContent);t.matrix.multiply(Te.fromArray(o).transpose()),t.transforms[r.getAttribute("sid")]=r.nodeName;break;case"translate":o=i(r.textContent);_e.fromArray(o),t.matrix.multiply(Te.makeTranslation(_e.x,_e.y,_e.z)),t.transforms[r.getAttribute("sid")]=r.nodeName;break;case"rotate":o=i(r.textContent);var s=THREE.Math.degToRad(o[3]);t.matrix.multiply(Te.makeRotationAxis(_e.fromArray(o),s)),t.transforms[r.getAttribute("sid")]=r.nodeName;break;case"scale":o=i(r.textContent);t.matrix.scale(_e.fromArray(o)),t.transforms[r.getAttribute("sid")]=r.nodeName;break;case"extra":break;default:console.log(r)}}return De(t.id)?console.warn("THREE.ColladaLoader: There is already a node with ID %s. Exclude current node from further processing.",t.id):We.nodes[t.id]=t,t}function Ce(e){for(var t={id:a(e.getAttribute("url")),materials:{},skeletons:[]},n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];switch(r.nodeName){case"bind_material":for(var i=r.getElementsByTagName("instance_material"),o=0;o<i.length;o++){var s=i[o],l=s.getAttribute("symbol"),u=s.getAttribute("target");t.materials[l]=a(u)}break;case"skeleton":t.skeletons.push(a(r.textContent))}}return t}function Ae(e,t){var n,r,i,o=[],a=[];for(n=0;n<e.length;n++){var s=e[n];if(De(s))Se(Le(s),t,o);else if(i=s,void 0!==We.visualScenes[i])for(var l=We.visualScenes[s].children,u=0;u<l.length;u++){var c=l[u];if("JOINT"===c.type)Se(Le(c.id),t,o)}else console.error("THREE.ColladaLoader: Unable to find root bone of skeleton with ID:",s)}for(n=0;n<t.length;n++)for(u=0;u<o.length;u++)if((r=o[u]).bone.name===t[n].name){a[n]=r,r.processed=!0;break}for(n=0;n<o.length;n++)!1===(r=o[n]).processed&&(a.push(r),r.processed=!0);var d=[],f=[];for(n=0;n<a.length;n++)r=a[n],d.push(r.bone),f.push(r.boneInverse);return new THREE.Skeleton(d,f)}function Se(e,t,n){e.traverse((function(e){if(!0===e.isBone){for(var r,i=0;i<t.length;i++){var o=t[i];if(o.name===e.name){r=o.boneInverse;break}}void 0===r&&(r=new THREE.Matrix4),n.push({bone:e,boneInverse:r,processed:!1})}}))}function Pe(e){for(var t,n=[],r=e.matrix,i=e.nodes,o=e.type,a=e.instanceCameras,s=e.instanceControllers,l=e.instanceLights,u=e.instanceGeometries,c=e.instanceNodes,d=0,h=i.length;d<h;d++)n.push(Le(i[d]));for(d=0,h=a.length;d<h;d++){var p=J(a[d]);null!==p&&n.push(p.clone())}for(d=0,h=s.length;d<h;d++)for(var v=s[d],m=(t=v.id,f(We.controllers[t],M)),g=je(de(m.id),v.materials),y=Ae(v.skeletons,m.skin.joints),b=0,w=g.length;b<w;b++){var x;(x=g[b]).isSkinnedMesh&&(x.bind(y,m.skin.bindMatrix),x.normalizeSkinWeights()),n.push(x)}for(d=0,h=l.length;d<h;d++){var E=re(l[d]);null!==E&&n.push(E.clone())}for(d=0,h=u.length;d<h;d++)for(b=0,w=(g=je(de((v=u[d]).id),v.materials)).length;b<w;b++)n.push(g[b]);for(d=0,h=c.length;d<h;d++)n.push(Le(c[d]).clone());if(0===i.length&&1===n.length)x=n[0];else{x="JOINT"===o?new THREE.Bone:new THREE.Group;for(d=0;d<n.length;d++)x.add(n[d])}return""===x.name&&(x.name="JOINT"===o?e.sid:e.name),x.matrix.copy(r),x.matrix.decompose(x.position,x.quaternion,x.scale),x}var Me=new THREE.MeshBasicMaterial({color:16711935});function Re(e,t){for(var n=[],r=0,i=e.length;r<i;r++){var o=t[e[r]];void 0===o?(console.warn("THREE.ColladaLoader: Material with key %s not found. Apply fallback material.",e[r]),n.push(Me)):n.push(Z(o))}return n}function je(e,t){var n=[];for(var r in e){var i=e[r],o=Re(i.materialKeys,t);0===o.length&&("lines"===r||"linestrips"===r?o.push(new THREE.LineBasicMaterial):o.push(new THREE.MeshPhongMaterial));var a=void 0!==i.data.attributes.skinIndex;if(a)for(var s=0,l=o.length;s<l;s++)o[s].skinning=!0;var u,c=1===o.length?o[0]:o;switch(r){case"lines":u=new THREE.LineSegments(i.data,c);break;case"linestrips":u=new THREE.Line(i.data,c);break;case"triangles":case"polylist":u=a?new THREE.SkinnedMesh(i.data,c):new THREE.Mesh(i.data,c)}n.push(u)}return n}function De(e){return void 0!==We.nodes[e]}function Le(e){return f(We.nodes[e],Pe)}function Ne(e){var t=new THREE.Group;t.name=e.name;for(var n=e.children,r=0;r<n.length;r++){var i=n[r];t.add(Le(i.id))}return t}function Ie(e){return f(We.visualScenes[e],Ne)}if(0===e.length)return{scene:new THREE.Scene};var ze=n((new DOMParser).parseFromString(e,"application/xml"),"COLLADA")[0],He=ze.getAttribute("version");console.log("THREE.ColladaLoader: File version",He);var Be,Fe=function(e){return{unit:l(n(e,"unit")[0]),upAxis:u(n(e,"up_axis")[0])}}(n(ze,"asset")[0]),Ve=new THREE.TextureLoader(this.manager);Ve.setPath(this.resourcePath||t).setCrossOrigin(this.crossOrigin),THREE.TGALoader&&(Be=new THREE.TGALoader(this.manager)).setPath(this.resourcePath||t);var Ue=[],Ge={},qe=0,We={animations:{},clips:{},controllers:{},images:{},effects:{},materials:{},cameras:{},lights:{},geometries:{},nodes:{},visualScenes:{},kinematicsModels:{},physicsModels:{},kinematicsScenes:{}};c(ze,"library_animations","animation",(function(e){for(var t={sources:{},samplers:{},channels:{}},n=0,r=e.childNodes.length;n<r;n++){var i,o=e.childNodes[n];if(1===o.nodeType)switch(o.nodeName){case"source":i=o.getAttribute("id"),t.sources[i]=ie(o);break;case"sampler":i=o.getAttribute("id"),t.samplers[i]=h(o);break;case"channel":i=o.getAttribute("target"),t.channels[i]=p(o);break;default:console.log(o)}}We.animations[e.getAttribute("id")]=t})),c(ze,"library_animation_clips","animation_clip",(function(e){for(var t={name:e.getAttribute("id")||"default",start:parseFloat(e.getAttribute("start")||0),end:parseFloat(e.getAttribute("end")||0),animations:[]},n=0,r=e.childNodes.length;n<r;n++){var i=e.childNodes[n];if(1===i.nodeType)switch(i.nodeName){case"instance_animation":t.animations.push(a(i.getAttribute("url")))}}We.clips[e.getAttribute("id")]=t})),c(ze,"library_controllers","controller",(function(e){for(var t={},n=0,r=e.childNodes.length;n<r;n++){var i=e.childNodes[n];if(1===i.nodeType)switch(i.nodeName){case"skin":t.id=a(i.getAttribute("source")),t.skin=A(i);break;case"morph":t.id=a(i.getAttribute("source")),console.warn("THREE.ColladaLoader: Morph target animation not supported yet.")}}We.controllers[e.getAttribute("id")]=t})),c(ze,"library_images","image",(function(e){var t={init_from:n(e,"init_from")[0].textContent};We.images[e.getAttribute("id")]=t})),c(ze,"library_effects","effect",(function(e){for(var t={},n=0,r=e.childNodes.length;n<r;n++){var i=e.childNodes[n];if(1===i.nodeType)switch(i.nodeName){case"profile_COMMON":t.profile=D(i)}}We.effects[e.getAttribute("id")]=t})),c(ze,"library_materials","material",(function(e){for(var t={name:e.getAttribute("name")},n=0,r=e.childNodes.length;n<r;n++){var i=e.childNodes[n];if(1===i.nodeType)switch(i.nodeName){case"instance_effect":t.url=a(i.getAttribute("url"))}}We.materials[e.getAttribute("id")]=t})),c(ze,"library_cameras","camera",(function(e){for(var t={name:e.getAttribute("name")},n=0,r=e.childNodes.length;n<r;n++){var i=e.childNodes[n];if(1===i.nodeType)switch(i.nodeName){case"optics":t.optics=$(i)}}We.cameras[e.getAttribute("id")]=t})),c(ze,"library_lights","light",(function(e){for(var t={},n=0,r=e.childNodes.length;n<r;n++){var i=e.childNodes[n];if(1===i.nodeType)switch(i.nodeName){case"technique_common":t=ee(i)}}We.lights[e.getAttribute("id")]=t})),c(ze,"library_geometries","geometry",(function(e){var t={name:e.getAttribute("name"),sources:{},vertices:{},primitives:[]},r=n(e,"mesh")[0];if(void 0!==r){for(var i=0;i<r.childNodes.length;i++){var o=r.childNodes[i];if(1===o.nodeType){var a=o.getAttribute("id");switch(o.nodeName){case"source":t.sources[a]=ie(o);break;case"vertices":t.vertices=oe(o);break;case"polygons":console.warn("THREE.ColladaLoader: Unsupported primitive type: ",o.nodeName);break;case"lines":case"linestrips":case"polylist":case"triangles":t.primitives.push(ae(o));break;default:console.log(o)}}}We.geometries[e.getAttribute("id")]=t}})),c(ze,"library_nodes","node",Oe),c(ze,"library_visual_scenes","visual_scene",(function(e){var t={name:e.getAttribute("name"),children:[]};!function(e){for(var t=e.getElementsByTagName("node"),n=0;n<t.length;n++){var r=t[n];!1===r.hasAttribute("id")&&r.setAttribute("id","three_default_"+qe++)}}(e);for(var r=n(e,"node"),i=0;i<r.length;i++)t.children.push(Oe(r[i]));We.visualScenes[e.getAttribute("id")]=t})),c(ze,"library_kinematics_models","kinematics_model",(function(e){for(var t={name:e.getAttribute("name")||"",joints:{},links:[]},n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];if(1===r.nodeType)switch(r.nodeName){case"technique_common":he(r,t)}}We.kinematicsModels[e.getAttribute("id")]=t})),c(ze,"library_physics_models","physics_model",(function(e){for(var t={name:e.getAttribute("name")||"",rigidBodies:{}},n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];if(1===r.nodeType)switch(r.nodeName){case"rigid_body":t.rigidBodies[r.getAttribute("name")]={},be(r,t.rigidBodies[r.getAttribute("name")])}}We.physicsModels[e.getAttribute("id")]=t})),c(ze,"scene","instance_kinematics_scene",(function(e){for(var t={bindJointAxis:[]},n=0;n<e.childNodes.length;n++){var r=e.childNodes[n];if(1===r.nodeType)switch(r.nodeName){case"bind_joint_axis":t.bindJointAxis.push(xe(r))}}We.kinematicsScenes[a(e.getAttribute("url"))]=t})),d(We.animations,v),d(We.clips,O),d(We.controllers,M),d(We.images,R),d(We.effects,W),d(We.materials,K),d(We.cameras,Q),d(We.lights,ne),d(We.geometries,le),d(We.visualScenes,Ne),function(){var e=We.clips;if(!0===s(e)){if(!1===s(We.animations)){var t=[];for(var n in We.animations)for(var r=m(n),i=0,o=r.length;i<o;i++)t.push(r[i]);Ue.push(new THREE.AnimationClip("default",-1,t))}}else for(var n in e)Ue.push(C(n))}(),function(){var e=Object.keys(We.kinematicsModels)[0],t=Object.keys(We.kinematicsScenes)[0],n=Object.keys(We.visualScenes)[0];if(void 0!==e&&void 0!==t){for(var r,i=(r=e,f(We.kinematicsModels[r],fe)),o=function(e){return f(We.kinematicsScenes[e],Ee)}(t),a=Ie(n),s=o.bindJointAxis,l={},u=0,c=s.length;u<c;u++){var d=s[u],h=ze.querySelector('[sid="'+d.target+'"]');if(h){var p=h.parentElement;m(d.jointIndex,p)}}var v=new THREE.Matrix4;Ge={joints:i&&i.joints,getJointValue:function(e){var t=l[e];if(t)return t.position;console.warn("THREE.ColladaLoader: Joint "+e+" doesn't exist.")},setJointValue:function(e,t){var n=l[e];if(n){var r=n.joint;if(t>r.limits.max||t<r.limits.min)console.warn("THREE.ColladaLoader: Joint "+e+" value "+t+" outside of limits (min: "+r.limits.min+", max: "+r.limits.max+").");else if(r.static)console.warn("THREE.ColladaLoader: Joint "+e+" is static.");else{var i=n.object,o=r.axis,a=n.transforms;Te.identity();for(var s=0;s<a.length;s++){var u=a[s];if(u.sid&&-1!==u.sid.indexOf(e))switch(r.type){case"revolute":Te.multiply(v.makeRotationAxis(o,THREE.Math.degToRad(t)));break;case"prismatic":Te.multiply(v.makeTranslation(o.x*t,o.y*t,o.z*t));break;default:console.warn("THREE.ColladaLoader: Unknown joint type: "+r.type)}else switch(u.type){case"matrix":Te.multiply(u.obj);break;case"translate":Te.multiply(v.makeTranslation(u.obj.x,u.obj.y,u.obj.z));break;case"scale":Te.scale(u.obj);break;case"rotate":Te.multiply(v.makeRotationAxis(u.obj,u.angle))}}i.matrix.copy(Te),i.matrix.decompose(i.position,i.quaternion,i.scale),l[e].position=t}}else console.log("THREE.ColladaLoader: "+e+" does not exist.")}}}function m(e,t){var n=t.getAttribute("name"),r=i.joints[e];a.traverse((function(i){i.name===n&&(l[e]={object:i,transforms:ke(t),joint:r,position:r.zeroPosition})}))}}();var Ke=function(e){return Ie(a(n(e,"instance_visual_scene")[0].getAttribute("url")))}(n(ze,"scene")[0]);return"Z_UP"===Fe.upAxis&&Ke.quaternion.setFromEuler(new THREE.Euler(-Math.PI/2,0,0)),Ke.scale.multiplyScalar(Fe.unit),{animations:Ue,kinematics:Ge,library:We,scene:Ke}}}},9434:function(e){e.exports=THREE.FBXLoader=function(){var e,t,n;function r(e){this.manager=void 0!==e?e:THREE.DefaultLoadingManager}function i(e){this.textureLoader=e}function o(){}function a(){}function s(){}function l(){}function u(e,t){this.dv=new DataView(e),this.offset=0,this.littleEndian=void 0===t||t}function c(){}function d(e){var t=e.match(/FBXVersion: (\d+)/);if(t)return parseInt(t[1]);throw new Error("THREE.FBXLoader: Cannot find the version number for the file given.")}function f(e){return e/46186158e3}r.prototype={constructor:r,crossOrigin:"anonymous",load:function(e,t,n,r){var i=this,o=THREE.LoaderUtils.extractUrlBase(e),a=new THREE.FileLoader(this.manager);a.setResponseType("arraybuffer"),a.load(e,(function(n){try{var a=i.parse(n,o);t(a)}catch(s){setTimeout((function(){r&&r(s),i.manager.itemError(e)}),0)}}),n,r)},setCrossOrigin:function(e){return this.crossOrigin=e,this},parse:function(t,n){if(function(e){var t="Kaydara FBX Binary \0";return e.byteLength>=t.length&&t===k(e,0,t.length)}(t))e=(new l).parse(t);else{var r=k(t);if(!function(e){var t=["K","a","y","d","a","r","a","\\","F","B","X","\\","B","i","n","a","r","y","\\","\\"],n=0;function r(t){var r=e[t-1];return e=e.slice(n+t),n++,r}for(var i=0;i<t.length;++i){if(r(1)===t[i])return!1}return!0}(r))throw new Error("THREE.FBXLoader: Unknown format.");if(d(r)<7e3)throw new Error("THREE.FBXLoader: FBX version not supported, FileVersion: "+d(r));e=(new s).parse(r)}return new i(new THREE.TextureLoader(this.manager).setPath(n).setCrossOrigin(this.crossOrigin)).parse(e)}},i.prototype={constructor:i,parse:function(){t=this.parseConnections();var e=this.parseImages(),r=this.parseTextures(e),i=this.parseMaterials(r),a=this.parseDeformers(),s=(new o).parse(a);return this.parseScene(a,s,i),n},parseConnections:function(){var t=new Map;"Connections"in e&&e.Connections.connections.forEach((function(e){var n=e[0],r=e[1],i=e[2];t.has(n)||t.set(n,{parents:[],children:[]});var o={ID:r,relationship:i};t.get(n).parents.push(o),t.has(r)||t.set(r,{parents:[],children:[]});var a={ID:n,relationship:i};t.get(r).children.push(a)}));return t},parseImages:function(){var t={},n={};if("Video"in e.Objects){var r=e.Objects.Video;for(var i in r){var o=r[i];if(t[u=parseInt(i)]=o.RelativeFilename||o.Filename,"Content"in o){var a=o.Content instanceof ArrayBuffer&&o.Content.byteLength>0,s="string"===typeof o.Content&&""!==o.Content;if(a||s){var l=this.parseImage(r[i]);n[o.RelativeFilename||o.Filename]=l}}}}for(var u in t){var c=t[u];void 0!==n[c]?t[u]=n[c]:t[u]=t[u].split("\\").pop()}return t},parseImage:function(e){var t,n=e.Content,r=e.RelativeFilename||e.Filename,i=r.slice(r.lastIndexOf(".")+1).toLowerCase();switch(i){case"bmp":t="image/bmp";break;case"jpg":case"jpeg":t="image/jpeg";break;case"png":t="image/png";break;case"tif":t="image/tiff";break;case"tga":if("function"!==typeof THREE.TGALoader)return void console.warn("FBXLoader: THREE.TGALoader is required to load TGA textures");null===THREE.Loader.Handlers.get(".tga")&&THREE.Loader.Handlers.add(/\.tga$/i,new THREE.TGALoader),t="image/tga";break;default:return void console.warn('FBXLoader: Image type "'+i+'" is not supported.')}if("string"===typeof n)return"data:"+t+";base64,"+n;var o=new Uint8Array(n);return window.URL.createObjectURL(new Blob([o],{type:t}))},parseTextures:function(t){var n=new Map;if("Texture"in e.Objects){var r=e.Objects.Texture;for(var i in r){var o=this.parseTexture(r[i],t);n.set(parseInt(i),o)}}return n},parseTexture:function(e,t){var n=this.loadTexture(e,t);n.ID=e.id,n.name=e.attrName;var r=e.WrapModeU,i=e.WrapModeV,o=void 0!==r?r.value:0,a=void 0!==i?i.value:0;if(n.wrapS=0===o?THREE.RepeatWrapping:THREE.ClampToEdgeWrapping,n.wrapT=0===a?THREE.RepeatWrapping:THREE.ClampToEdgeWrapping,"Scaling"in e){var s=e.Scaling.value;n.repeat.x=s[0],n.repeat.y=s[1]}return n},loadTexture:function(e,n){var r,i,o=this.textureLoader.path,a=t.get(e.id).children;void 0!==a&&a.length>0&&void 0!==n[a[0].ID]&&(0!==(r=n[a[0].ID]).indexOf("blob:")&&0!==r.indexOf("data:")||this.textureLoader.setPath(void 0));var s=e.FileName.slice(-3).toLowerCase();if("tga"===s){var l=THREE.Loader.Handlers.get(".tga");null===l?(console.warn("FBXLoader: TGALoader not found, creating empty placeholder texture for",r),i=new THREE.Texture):i=l.load(r)}else"psd"===s?(console.warn("FBXLoader: PSD textures are not supported, creating empty placeholder texture for",r),i=new THREE.Texture):i=this.textureLoader.load(r);return this.textureLoader.setPath(o),i},parseMaterials:function(t){var n=new Map;if("Material"in e.Objects){var r=e.Objects.Material;for(var i in r){var o=this.parseMaterial(r[i],t);null!==o&&n.set(parseInt(i),o)}}return n},parseMaterial:function(e,n){var r=e.id,i=e.attrName,o=e.ShadingModel;if("object"===typeof o&&(o=o.value),!t.has(r))return null;var a,s=this.parseParameters(e,n,r);switch(o.toLowerCase()){case"phong":a=new THREE.MeshPhongMaterial;break;case"lambert":a=new THREE.MeshLambertMaterial;break;default:console.warn('THREE.FBXLoader: unknown material type "%s". Defaulting to MeshPhongMaterial.',o),a=new THREE.MeshPhongMaterial({color:3342591})}return a.setValues(s),a.name=i,a},parseParameters:function(e,n,r){var i={};e.BumpFactor&&(i.bumpScale=e.BumpFactor.value),e.Diffuse?i.color=(new THREE.Color).fromArray(e.Diffuse.value):e.DiffuseColor&&"Color"===e.DiffuseColor.type&&(i.color=(new THREE.Color).fromArray(e.DiffuseColor.value)),e.DisplacementFactor&&(i.displacementScale=e.DisplacementFactor.value),e.Emissive?i.emissive=(new THREE.Color).fromArray(e.Emissive.value):e.EmissiveColor&&"Color"===e.EmissiveColor.type&&(i.emissive=(new THREE.Color).fromArray(e.EmissiveColor.value)),e.EmissiveFactor&&(i.emissiveIntensity=parseFloat(e.EmissiveFactor.value)),e.Opacity&&(i.opacity=parseFloat(e.Opacity.value)),i.opacity<1&&(i.transparent=!0),e.ReflectionFactor&&(i.reflectivity=e.ReflectionFactor.value),e.Shininess&&(i.shininess=e.Shininess.value),e.Specular?i.specular=(new THREE.Color).fromArray(e.Specular.value):e.SpecularColor&&"Color"===e.SpecularColor.type&&(i.specular=(new THREE.Color).fromArray(e.SpecularColor.value));var o=this;return t.get(r).children.forEach((function(e){var t=e.relationship;switch(t){case"Bump":i.bumpMap=o.getTexture(n,e.ID);break;case"DiffuseColor":i.map=o.getTexture(n,e.ID);break;case"DisplacementColor":i.displacementMap=o.getTexture(n,e.ID);break;case"EmissiveColor":i.emissiveMap=o.getTexture(n,e.ID);break;case"NormalMap":i.normalMap=o.getTexture(n,e.ID);break;case"ReflectionColor":i.envMap=o.getTexture(n,e.ID),i.envMap.mapping=THREE.EquirectangularReflectionMapping;break;case"SpecularColor":i.specularMap=o.getTexture(n,e.ID);break;case"TransparentColor":i.alphaMap=o.getTexture(n,e.ID),i.transparent=!0;break;case"AmbientColor":case"ShininessExponent":case"SpecularFactor":case"VectorDisplacementColor":default:console.warn("THREE.FBXLoader: %s map is not supported in three.js, skipping texture.",t)}})),i},getTexture:function(n,r){return"LayeredTexture"in e.Objects&&r in e.Objects.LayeredTexture&&(console.warn("THREE.FBXLoader: layered textures are not supported in three.js. Discarding all but first layer."),r=t.get(r).children[0].ID),n.get(r)},parseDeformers:function(){var n={},r={};if("Deformer"in e.Objects){var i=e.Objects.Deformer;for(var o in i){var a=i[o],s=t.get(parseInt(o));if("Skin"===a.attrType){var l=this.parseSkeleton(s,i);l.ID=o,s.parents.length>1&&console.warn("THREE.FBXLoader: skeleton attached to more than one geometry is not supported."),l.geometryID=s.parents[0].ID,n[o]=l}else if("BlendShape"===a.attrType){var u={id:o};u.rawTargets=this.parseMorphTargets(s,i),u.id=o,s.parents.length>1&&console.warn("THREE.FBXLoader: morph target attached to more than one geometry is not supported."),r[o]=u}}}return{skeletons:n,morphTargets:r}},parseSkeleton:function(e,t){var n=[];return e.children.forEach((function(e){var r=t[e.ID];if("Cluster"===r.attrType){var i={ID:e.ID,indices:[],weights:[],transform:(new THREE.Matrix4).fromArray(r.Transform.a),transformLink:(new THREE.Matrix4).fromArray(r.TransformLink.a),linkMode:r.Mode};"Indexes"in r&&(i.indices=r.Indexes.a,i.weights=r.Weights.a),n.push(i)}})),{rawBones:n,bones:[]}},parseMorphTargets:function(e,n){for(var r=[],i=0;i<e.children.length;i++){if(8===i){console.warn("FBXLoader: maximum of 8 morph targets supported. Ignoring additional targets.");break}var o=e.children[i],a=n[o.ID],s={name:a.attrName,initialWeight:a.DeformPercent,id:a.id,fullWeights:a.FullWeights.a};if("BlendShapeChannel"!==a.attrType)return;t.get(parseInt(o.ID)).children.forEach((function(e){void 0===e.relationship&&(s.geoID=e.ID)})),r.push(s)}return r},parseScene:function(r,i,o){n=new THREE.Group;var s=this.parseModels(r.skeletons,i,o),l=e.Objects.Model,u=this;s.forEach((function(e){var r=l[e.ID];u.setLookAtProperties(e,r),t.get(e.ID).parents.forEach((function(t){var n=s.get(t.ID);void 0!==n&&n.add(e)})),null===e.parent&&n.add(e)})),this.bindSkeleton(r.skeletons,i,s),this.createAmbientLight(),this.setupMorphMaterials();var c=(new a).parse();1===n.children.length&&n.children[0].isGroup&&(n.children[0].animations=c,n=n.children[0]),n.animations=c},parseModels:function(n,r,i){var o=new Map,a=e.Objects.Model;for(var s in a){var l=parseInt(s),u=a[s],c=t.get(l),d=this.buildSkeleton(c,n,l,u.attrName);if(!d){switch(u.attrType){case"Camera":d=this.createCamera(c);break;case"Light":d=this.createLight(c);break;case"Mesh":d=this.createMesh(c,r,i);break;case"NurbsCurve":d=this.createCurve(c,r);break;case"LimbNode":case"Null":default:d=new THREE.Group}d.name=THREE.PropertyBinding.sanitizeNodeName(u.attrName),d.ID=l}this.setModelTransforms(d,u),o.set(l,d)}return o},buildSkeleton:function(e,t,n,r){var i=null;return e.parents.forEach((function(e){for(var o in t){var a=t[o];a.rawBones.forEach((function(t,o){if(t.ID===e.ID){var s=i;(i=new THREE.Bone).matrixWorld.copy(t.transformLink),i.name=THREE.PropertyBinding.sanitizeNodeName(r),i.ID=n,a.bones[o]=i,null!==s&&i.add(s)}}))}})),i},createCamera:function(t){var n,r;if(t.children.forEach((function(t){var n=e.Objects.NodeAttribute[t.ID];void 0!==n&&(r=n)})),void 0===r)n=new THREE.Object3D;else{var i=0;void 0!==r.CameraProjectionType&&1===r.CameraProjectionType.value&&(i=1);var o=1;void 0!==r.NearPlane&&(o=r.NearPlane.value/1e3);var a=1e3;void 0!==r.FarPlane&&(a=r.FarPlane.value/1e3);var s=window.innerWidth,l=window.innerHeight;void 0!==r.AspectWidth&&void 0!==r.AspectHeight&&(s=r.AspectWidth.value,l=r.AspectHeight.value);var u=s/l,c=45;void 0!==r.FieldOfView&&(c=r.FieldOfView.value);var d=r.FocalLength?r.FocalLength.value:null;switch(i){case 0:n=new THREE.PerspectiveCamera(c,u,o,a),null!==d&&n.setFocalLength(d);break;case 1:n=new THREE.OrthographicCamera(-s/2,s/2,l/2,-l/2,o,a);break;default:console.warn("THREE.FBXLoader: Unknown camera type "+i+"."),n=new THREE.Object3D}}return n},createLight:function(t){var n,r;if(t.children.forEach((function(t){var n=e.Objects.NodeAttribute[t.ID];void 0!==n&&(r=n)})),void 0===r)n=new THREE.Object3D;else{var i;i=void 0===r.LightType?0:r.LightType.value;var o=16777215;void 0!==r.Color&&(o=(new THREE.Color).fromArray(r.Color.value));var a=void 0===r.Intensity?1:r.Intensity.value/100;void 0!==r.CastLightOnObject&&0===r.CastLightOnObject.value&&(a=0);var s=0;void 0!==r.FarAttenuationEnd&&(s=void 0!==r.EnableFarAttenuation&&0===r.EnableFarAttenuation.value?0:r.FarAttenuationEnd.value);switch(i){case 0:n=new THREE.PointLight(o,a,s,1);break;case 1:n=new THREE.DirectionalLight(o,a);break;case 2:var l=Math.PI/3;void 0!==r.InnerAngle&&(l=THREE.Math.degToRad(r.InnerAngle.value));var u=0;void 0!==r.OuterAngle&&(u=THREE.Math.degToRad(r.OuterAngle.value),u=Math.max(u,1)),n=new THREE.SpotLight(o,a,s,l,u,1);break;default:console.warn("THREE.FBXLoader: Unknown light type "+r.LightType.value+", defaulting to a THREE.PointLight."),n=new THREE.PointLight(o,a)}void 0!==r.CastShadows&&1===r.CastShadows.value&&(n.castShadow=!0)}return n},createMesh:function(e,t,n){var r,i=null,o=null,a=[];return e.children.forEach((function(e){t.has(e.ID)&&(i=t.get(e.ID)),n.has(e.ID)&&a.push(n.get(e.ID))})),a.length>1?o=a:a.length>0?o=a[0]:(o=new THREE.MeshPhongMaterial({color:13421772}),a.push(o)),"color"in i.attributes&&a.forEach((function(e){e.vertexColors=THREE.VertexColors})),i.FBX_Deformer?(a.forEach((function(e){e.skinning=!0})),r=new THREE.SkinnedMesh(i,o)):r=new THREE.Mesh(i,o),r},createCurve:function(e,t){var n=e.children.reduce((function(e,n){return t.has(n.ID)&&(e=t.get(n.ID)),e}),null),r=new THREE.LineBasicMaterial({color:3342591,linewidth:1});return new THREE.Line(n,r)},setModelTransforms:function(e,t){var n={};"RotationOrder"in t&&(n.eulerOrder=parseInt(t.RotationOrder.value)),"Lcl_Translation"in t&&(n.translation=t.Lcl_Translation.value),"RotationOffset"in t&&(n.rotationOffset=t.RotationOffset.value),"Lcl_Rotation"in t&&(n.rotation=t.Lcl_Rotation.value),"PreRotation"in t&&(n.preRotation=t.PreRotation.value),"PostRotation"in t&&(n.postRotation=t.PostRotation.value),"Lcl_Scaling"in t&&(n.scale=t.Lcl_Scaling.value);var r=w(n);e.applyMatrix(r)},setLookAtProperties:function(r,i){"LookAtProperty"in i&&t.get(r.ID).children.forEach((function(t){if("LookAtProperty"===t.relationship){var i=e.Objects.Model[t.ID];if("Lcl_Translation"in i){var o=i.Lcl_Translation.value;void 0!==r.target?(r.target.position.fromArray(o),n.add(r.target)):r.lookAt((new THREE.Vector3).fromArray(o))}}}))},bindSkeleton:function(e,n,r){var i=this.parsePoseNodes();for(var o in e){var a=e[o];t.get(parseInt(a.ID)).parents.forEach((function(e){if(n.has(e.ID)){var o=e.ID;t.get(o).parents.forEach((function(e){r.has(e.ID)&&r.get(e.ID).bind(new THREE.Skeleton(a.bones),i[e.ID])}))}}))}},parsePoseNodes:function(){var t={};if("Pose"in e.Objects){var n=e.Objects.Pose;for(var r in n)if("BindPose"===n[r].attrType){var i=n[r].PoseNode;Array.isArray(i)?i.forEach((function(e){t[e.Node]=(new THREE.Matrix4).fromArray(e.Matrix.a)})):t[i.Node]=(new THREE.Matrix4).fromArray(i.Matrix.a)}}return t},createAmbientLight:function(){if("GlobalSettings"in e&&"AmbientColor"in e.GlobalSettings){var t=e.GlobalSettings.AmbientColor.value,r=t[0],i=t[1],o=t[2];if(0!==r||0!==i||0!==o){var a=new THREE.Color(r,i,o);n.add(new THREE.AmbientLight(a,1))}}},setupMorphMaterials:function(){n.traverse((function(e){if(e.isMesh&&(e.geometry.morphAttributes.position||e.geometry.morphAttributes.normal)){var t=e.uuid,r=e.material.uuid,i=!1;n.traverse((function(e){e.isMesh&&e.material.uuid===r&&e.uuid!==t&&(i=!0)})),!0===i&&(e.material=e.material.clone()),e.material.morphTargets=!0}}))}},o.prototype={constructor:o,parse:function(n){var r=new Map;if("Geometry"in e.Objects){var i=e.Objects.Geometry;for(var o in i){var a=t.get(parseInt(o)),s=this.parseGeometry(a,i[o],n);r.set(parseInt(o),s)}}return r},parseGeometry:function(e,t,n){switch(t.attrType){case"Mesh":return this.parseMeshGeometry(e,t,n);case"NurbsCurve":return this.parseNurbsGeometry(t)}},parseMeshGeometry:function(t,n,r){var i=r.skeletons,o=r.morphTargets,a=t.parents.map((function(t){return e.Objects.Model[t.ID]}));if(0!==a.length){var s=t.children.reduce((function(e,t){return void 0!==i[t.ID]&&(e=i[t.ID]),e}),null),l=t.children.reduce((function(e,t){return void 0!==o[t.ID]&&(e=o[t.ID]),e}),null),u=a[0],c={};"RotationOrder"in u&&(c.eulerOrder=u.RotationOrder.value),"GeometricTranslation"in u&&(c.translation=u.GeometricTranslation.value),"GeometricRotation"in u&&(c.rotation=u.GeometricRotation.value),"GeometricScaling"in u&&(c.scale=u.GeometricScaling.value);var d=w(c);return this.genGeometry(n,s,l,d)}},genGeometry:function(e,t,n,r){var i=new THREE.BufferGeometry;e.attrName&&(i.name=e.attrName);var o=this.parseGeoNode(e,t),a=this.genBuffers(o),s=new THREE.Float32BufferAttribute(a.vertex,3);if(r.applyToBufferAttribute(s),i.addAttribute("position",s),a.colors.length>0&&i.addAttribute("color",new THREE.Float32BufferAttribute(a.colors,3)),t&&(i.addAttribute("skinIndex",new THREE.Uint16BufferAttribute(a.weightsIndices,4)),i.addAttribute("skinWeight",new THREE.Float32BufferAttribute(a.vertexWeights,4)),i.FBX_Deformer=t),a.normal.length>0){var l=new THREE.Float32BufferAttribute(a.normal,3);(new THREE.Matrix3).getNormalMatrix(r).applyToBufferAttribute(l),i.addAttribute("normal",l)}if(a.uvs.forEach((function(e,t){var n="uv"+(t+1).toString();0===t&&(n="uv"),i.addAttribute(n,new THREE.Float32BufferAttribute(a.uvs[t],2))})),o.material&&"AllSame"!==o.material.mappingType){var u=a.materialIndex[0],c=0;if(a.materialIndex.forEach((function(e,t){e!==u&&(i.addGroup(c,t-c,u),u=e,c=t)})),i.groups.length>0){var d=i.groups[i.groups.length-1],f=d.start+d.count;f!==a.materialIndex.length&&i.addGroup(f,a.materialIndex.length-f,u)}0===i.groups.length&&i.addGroup(0,a.materialIndex.length,a.materialIndex[0])}return this.addMorphTargets(i,e,n,r),i},parseGeoNode:function(e,t){var n={};if(n.vertexPositions=void 0!==e.Vertices?e.Vertices.a:[],n.vertexIndices=void 0!==e.PolygonVertexIndex?e.PolygonVertexIndex.a:[],e.LayerElementColor&&(n.color=this.parseVertexColors(e.LayerElementColor[0])),e.LayerElementMaterial&&(n.material=this.parseMaterialIndices(e.LayerElementMaterial[0])),e.LayerElementNormal&&(n.normal=this.parseNormals(e.LayerElementNormal[0])),e.LayerElementUV){n.uv=[];for(var r=0;e.LayerElementUV[r];)n.uv.push(this.parseUVs(e.LayerElementUV[r])),r++}return n.weightTable={},null!==t&&(n.skeleton=t,t.rawBones.forEach((function(e,t){e.indices.forEach((function(r,i){void 0===n.weightTable[r]&&(n.weightTable[r]=[]),n.weightTable[r].push({id:t,weight:e.weights[i]})}))}))),n},genBuffers:function(e){var t={vertex:[],normal:[],colors:[],uvs:[],materialIndex:[],vertexWeights:[],weightsIndices:[]},n=0,r=0,i=!1,o=[],a=[],s=[],l=[],u=[],c=[],d=this;return e.vertexIndices.forEach((function(f,h){var v=!1;f<0&&(f^=-1,v=!0);var m=[],g=[];if(o.push(3*f,3*f+1,3*f+2),e.color){var y=p(h,n,f,e.color);s.push(y[0],y[1],y[2])}if(e.skeleton){if(void 0!==e.weightTable[f]&&e.weightTable[f].forEach((function(e){g.push(e.weight),m.push(e.id)})),g.length>4){i||(console.warn("THREE.FBXLoader: Vertex has more than 4 skinning weights assigned to vertex. Deleting additional weights."),i=!0);var b=[0,0,0,0],w=[0,0,0,0];g.forEach((function(e,t){var n=e,r=m[t];w.forEach((function(e,t,i){if(n>e){i[t]=n,n=e;var o=b[t];b[t]=r,r=o}}))})),m=b,g=w}for(;g.length<4;)g.push(0),m.push(0);for(var x=0;x<4;++x)u.push(g[x]),c.push(m[x])}if(e.normal){y=p(h,n,f,e.normal);a.push(y[0],y[1],y[2])}if(e.material&&"AllSame"!==e.material.mappingType)var E=p(h,n,f,e.material)[0];e.uv&&e.uv.forEach((function(e,t){var r=p(h,n,f,e);void 0===l[t]&&(l[t]=[]),l[t].push(r[0]),l[t].push(r[1])})),r++,v&&(d.genFace(t,e,o,E,a,s,l,u,c,r),n++,r=0,o=[],a=[],s=[],l=[],u=[],c=[])})),t},genFace:function(e,t,n,r,i,o,a,s,l,u){for(var c=2;c<u;c++)e.vertex.push(t.vertexPositions[n[0]]),e.vertex.push(t.vertexPositions[n[1]]),e.vertex.push(t.vertexPositions[n[2]]),e.vertex.push(t.vertexPositions[n[3*(c-1)]]),e.vertex.push(t.vertexPositions[n[3*(c-1)+1]]),e.vertex.push(t.vertexPositions[n[3*(c-1)+2]]),e.vertex.push(t.vertexPositions[n[3*c]]),e.vertex.push(t.vertexPositions[n[3*c+1]]),e.vertex.push(t.vertexPositions[n[3*c+2]]),t.skeleton&&(e.vertexWeights.push(s[0]),e.vertexWeights.push(s[1]),e.vertexWeights.push(s[2]),e.vertexWeights.push(s[3]),e.vertexWeights.push(s[4*(c-1)]),e.vertexWeights.push(s[4*(c-1)+1]),e.vertexWeights.push(s[4*(c-1)+2]),e.vertexWeights.push(s[4*(c-1)+3]),e.vertexWeights.push(s[4*c]),e.vertexWeights.push(s[4*c+1]),e.vertexWeights.push(s[4*c+2]),e.vertexWeights.push(s[4*c+3]),e.weightsIndices.push(l[0]),e.weightsIndices.push(l[1]),e.weightsIndices.push(l[2]),e.weightsIndices.push(l[3]),e.weightsIndices.push(l[4*(c-1)]),e.weightsIndices.push(l[4*(c-1)+1]),e.weightsIndices.push(l[4*(c-1)+2]),e.weightsIndices.push(l[4*(c-1)+3]),e.weightsIndices.push(l[4*c]),e.weightsIndices.push(l[4*c+1]),e.weightsIndices.push(l[4*c+2]),e.weightsIndices.push(l[4*c+3])),t.color&&(e.colors.push(o[0]),e.colors.push(o[1]),e.colors.push(o[2]),e.colors.push(o[3*(c-1)]),e.colors.push(o[3*(c-1)+1]),e.colors.push(o[3*(c-1)+2]),e.colors.push(o[3*c]),e.colors.push(o[3*c+1]),e.colors.push(o[3*c+2])),t.material&&"AllSame"!==t.material.mappingType&&(e.materialIndex.push(r),e.materialIndex.push(r),e.materialIndex.push(r)),t.normal&&(e.normal.push(i[0]),e.normal.push(i[1]),e.normal.push(i[2]),e.normal.push(i[3*(c-1)]),e.normal.push(i[3*(c-1)+1]),e.normal.push(i[3*(c-1)+2]),e.normal.push(i[3*c]),e.normal.push(i[3*c+1]),e.normal.push(i[3*c+2])),t.uv&&t.uv.forEach((function(t,n){void 0===e.uvs[n]&&(e.uvs[n]=[]),e.uvs[n].push(a[n][0]),e.uvs[n].push(a[n][1]),e.uvs[n].push(a[n][2*(c-1)]),e.uvs[n].push(a[n][2*(c-1)+1]),e.uvs[n].push(a[n][2*c]),e.uvs[n].push(a[n][2*c+1])}))},addMorphTargets:function(t,n,r,i){if(null!==r){t.morphAttributes.position=[],t.morphAttributes.normal=[];var o=this;r.rawTargets.forEach((function(r){var a=e.Objects.Geometry[r.geoID];void 0!==a&&o.genMorphGeometry(t,n,a,i)}))}},genMorphGeometry:function(e,t,n,r){var i=new THREE.BufferGeometry;n.attrName&&(i.name=n.attrName);for(var o=void 0!==t.PolygonVertexIndex?t.PolygonVertexIndex.a:[],a=void 0!==t.Vertices?t.Vertices.a.slice():[],s=void 0!==n.Vertices?n.Vertices.a:[],l=void 0!==n.Indexes?n.Indexes.a:[],u=0;u<l.length;u++){var c=3*l[u];a[c]+=s[3*u],a[c+1]+=s[3*u+1],a[c+2]+=s[3*u+2]}var d={vertexIndices:o,vertexPositions:a},f=this.genBuffers(d),h=new THREE.Float32BufferAttribute(f.vertex,3);h.name=n.attrName,r.applyToBufferAttribute(h),e.morphAttributes.position.push(h)},parseNormals:function(e){var t=e.MappingInformationType,n=e.ReferenceInformationType,r=e.Normals.a,i=[];return"IndexToDirect"===n&&("NormalIndex"in e?i=e.NormalIndex.a:"NormalsIndex"in e&&(i=e.NormalsIndex.a)),{dataSize:3,buffer:r,indices:i,mappingType:t,referenceType:n}},parseUVs:function(e){var t=e.MappingInformationType,n=e.ReferenceInformationType,r=e.UV.a,i=[];return"IndexToDirect"===n&&(i=e.UVIndex.a),{dataSize:2,buffer:r,indices:i,mappingType:t,referenceType:n}},parseVertexColors:function(e){var t=e.MappingInformationType,n=e.ReferenceInformationType,r=e.Colors.a,i=[];return"IndexToDirect"===n&&(i=e.ColorIndex.a),{dataSize:4,buffer:r,indices:i,mappingType:t,referenceType:n}},parseMaterialIndices:function(e){var t=e.MappingInformationType,n=e.ReferenceInformationType;if("NoMappingInformation"===t)return{dataSize:1,buffer:[0],indices:[0],mappingType:"AllSame",referenceType:n};for(var r=e.Materials.a,i=[],o=0;o<r.length;++o)i.push(o);return{dataSize:1,buffer:r,indices:i,mappingType:t,referenceType:n}},parseNurbsGeometry:function(e){if(void 0===THREE.NURBSCurve)return console.error("THREE.FBXLoader: The loader relies on THREE.NURBSCurve for any nurbs present in the model. Nurbs will show up as empty geometry."),new THREE.BufferGeometry;var t=parseInt(e.Order);if(isNaN(t))return console.error("THREE.FBXLoader: Invalid Order %s given for geometry ID: %s",e.Order,e.id),new THREE.BufferGeometry;for(var n,r,i=t-1,o=e.KnotVector.a,a=[],s=e.Points.a,l=0,u=s.length;l<u;l+=4)a.push((new THREE.Vector4).fromArray(s,l));if("Closed"===e.Form)a.push(a[0]);else if("Periodic"===e.Form){n=i,r=o.length-1-n;for(l=0;l<i;++l)a.push(a[l])}var c=new THREE.NURBSCurve(i,o,a,n,r).getPoints(7*a.length),d=new Float32Array(3*c.length);c.forEach((function(e,t){e.toArray(d,3*t)}));var f=new THREE.BufferGeometry;return f.addAttribute("position",new THREE.BufferAttribute(d,3)),f}},a.prototype={constructor:a,parse:function(){var e=[],t=this.parseClips();if(void 0===t)return e;for(var n in t){var r=t[n],i=this.addClip(r);e.push(i)}return e},parseClips:function(){if(void 0!==e.Objects.AnimationCurve){var t=this.parseAnimationCurveNodes();this.parseAnimationCurves(t);var n=this.parseAnimationLayers(t);return this.parseAnimStacks(n)}},parseAnimationCurveNodes:function(){var t=e.Objects.AnimationCurveNode,n=new Map;for(var r in t){var i=t[r];if(null!==i.attrName.match(/S|R|T|DeformPercent/)){var o={id:i.id,attr:i.attrName,curves:{}};n.set(o.id,o)}}return n},parseAnimationCurves:function(n){var r=e.Objects.AnimationCurve;for(var i in r){var o={id:r[i].id,times:r[i].KeyTime.a.map(f),values:r[i].KeyValueFloat.a},a=t.get(o.id);if(void 0!==a){var s=a.parents[0].ID,l=a.parents[0].relationship;l.match(/X/)?n.get(s).curves.x=o:l.match(/Y/)?n.get(s).curves.y=o:l.match(/Z/)?n.get(s).curves.z=o:l.match(/d|DeformPercent/)&&n.has(s)&&(n.get(s).curves.morph=o)}}},parseAnimationLayers:function(n){var r=e.Objects.AnimationLayer,i=new Map;for(var o in r){var a=[],s=t.get(parseInt(o));if(void 0!==s){var l=s.children,u=this;l.forEach((function(r,i){if(n.has(r.ID)){var o=n.get(r.ID);if(void 0!==o.curves.x||void 0!==o.curves.y||void 0!==o.curves.z){if(void 0===a[i]){t.get(r.ID).parents.forEach((function(e){void 0!==e.relationship&&(h=e.ID)}));var s=e.Objects.Model[h.toString()],l={modelName:THREE.PropertyBinding.sanitizeNodeName(s.attrName),initialPosition:[0,0,0],initialRotation:[0,0,0],initialScale:[1,1,1],transform:u.getModelAnimTransform(s)};"PreRotation"in s&&(l.preRotations=s.PreRotation.value),"PostRotation"in s&&(l.postRotations=s.PostRotation.value),a[i]=l}a[i][o.attr]=o}else if(void 0!==o.curves.morph){if(void 0===a[i]){var c;t.get(r.ID).parents.forEach((function(e){void 0!==e.relationship&&(c=e.ID)}));var d=t.get(c).parents[0].ID,f=t.get(d).parents[0].ID,h=t.get(f).parents[0].ID;s=e.Objects.Model[h],l={modelName:THREE.PropertyBinding.sanitizeNodeName(s.attrName),morphName:e.Objects.Deformer[c].attrName};a[i]=l}a[i][o.attr]=o}}})),i.set(parseInt(o),a)}}return i},getModelAnimTransform:function(e){var t={};return"RotationOrder"in e&&(t.eulerOrder=parseInt(e.RotationOrder.value)),"Lcl_Translation"in e&&(t.translation=e.Lcl_Translation.value),"RotationOffset"in e&&(t.rotationOffset=e.RotationOffset.value),"Lcl_Rotation"in e&&(t.rotation=e.Lcl_Rotation.value),"PreRotation"in e&&(t.preRotation=e.PreRotation.value),"PostRotation"in e&&(t.postRotation=e.PostRotation.value),"Lcl_Scaling"in e&&(t.scale=e.Lcl_Scaling.value),w(t)},parseAnimStacks:function(n){var r=e.Objects.AnimationStack,i={};for(var o in r){var a=t.get(parseInt(o)).children;a.length>1&&console.warn("THREE.FBXLoader: Encountered an animation stack with multiple layers, this is currently not supported. Ignoring subsequent layers.");var s=n.get(a[0].ID);i[o]={name:r[o].attrName,layer:s}}return i},addClip:function(e){var t=[],n=this;return e.layer.forEach((function(e){t=t.concat(n.generateTracks(e))})),new THREE.AnimationClip(e.name,-1,t)},generateTracks:function(e){var t=[],n=new THREE.Vector3,r=new THREE.Quaternion,i=new THREE.Vector3;if(e.transform&&e.transform.decompose(n,r,i),n=n.toArray(),r=(new THREE.Euler).setFromQuaternion(r).toArray(),i=i.toArray(),void 0!==e.T&&Object.keys(e.T.curves).length>0){var o=this.generateVectorTrack(e.modelName,e.T.curves,n,"position");void 0!==o&&t.push(o)}if(void 0!==e.R&&Object.keys(e.R.curves).length>0){var a=this.generateRotationTrack(e.modelName,e.R.curves,r,e.preRotations,e.postRotations);void 0!==a&&t.push(a)}if(void 0!==e.S&&Object.keys(e.S.curves).length>0){var s=this.generateVectorTrack(e.modelName,e.S.curves,i,"scale");void 0!==s&&t.push(s)}if(void 0!==e.DeformPercent){var l=this.generateMorphTrack(e);void 0!==l&&t.push(l)}return t},generateVectorTrack:function(e,t,n,r){var i=this.getTimesForAllAxes(t),o=this.getKeyframeTrackValues(i,t,n);return new THREE.VectorKeyframeTrack(e+"."+r,i,o)},generateRotationTrack:function(e,t,n,r,i){void 0!==t.x&&(this.interpolateRotations(t.x),t.x.values=t.x.values.map(THREE.Math.degToRad)),void 0!==t.y&&(this.interpolateRotations(t.y),t.y.values=t.y.values.map(THREE.Math.degToRad)),void 0!==t.z&&(this.interpolateRotations(t.z),t.z.values=t.z.values.map(THREE.Math.degToRad));var o=this.getTimesForAllAxes(t),a=this.getKeyframeTrackValues(o,t,n);void 0!==r&&((r=r.map(THREE.Math.degToRad)).push("ZYX"),r=(new THREE.Euler).fromArray(r),r=(new THREE.Quaternion).setFromEuler(r)),void 0!==i&&((i=i.map(THREE.Math.degToRad)).push("ZYX"),i=(new THREE.Euler).fromArray(i),i=(new THREE.Quaternion).setFromEuler(i).inverse());for(var s=new THREE.Quaternion,l=new THREE.Euler,u=[],c=0;c<a.length;c+=3)l.set(a[c],a[c+1],a[c+2],"ZYX"),s.setFromEuler(l),void 0!==r&&s.premultiply(r),void 0!==i&&s.multiply(i),s.toArray(u,c/3*4);return new THREE.QuaternionKeyframeTrack(e+".quaternion",o,u)},generateMorphTrack:function(e){var t=e.DeformPercent.curves.morph,r=t.values.map((function(e){return e/100})),i=n.getObjectByName(e.modelName).morphTargetDictionary[e.morphName];return new THREE.NumberKeyframeTrack(e.modelName+".morphTargetInfluences["+i+"]",t.times,r)},getTimesForAllAxes:function(e){var t=[];return void 0!==e.x&&(t=t.concat(e.x.times)),void 0!==e.y&&(t=t.concat(e.y.times)),void 0!==e.z&&(t=t.concat(e.z.times)),t=t.sort((function(e,t){return e-t})).filter((function(e,t,n){return n.indexOf(e)==t}))},getKeyframeTrackValues:function(e,t,n){var r=n,i=[],o=-1,a=-1,s=-1;return e.forEach((function(e){if(t.x&&(o=t.x.times.indexOf(e)),t.y&&(a=t.y.times.indexOf(e)),t.z&&(s=t.z.times.indexOf(e)),-1!==o){var n=t.x.values[o];i.push(n),r[0]=n}else i.push(r[0]);if(-1!==a){var l=t.y.values[a];i.push(l),r[1]=l}else i.push(r[1]);if(-1!==s){var u=t.z.values[s];i.push(u),r[2]=u}else i.push(r[2])})),i},interpolateRotations:function(e){for(var t=1;t<e.values.length;t++){var n=e.values[t-1],r=e.values[t]-n,i=Math.abs(r);if(i>=180){for(var o=i/180,a=r/o,s=n+a,l=e.times[t-1],u=(e.times[t]-l)/o,c=l+u,d=[],f=[];c<e.times[t];)d.push(c),c+=u,f.push(s),s+=a;e.times=T(e.times,t,d),e.values=T(e.values,t,f)}}}},s.prototype={constructor:s,getPrevNode:function(){return this.nodeStack[this.currentIndent-2]},getCurrentNode:function(){return this.nodeStack[this.currentIndent-1]},getCurrentProp:function(){return this.currentProp},pushStack:function(e){this.nodeStack.push(e),this.currentIndent+=1},popStack:function(){this.nodeStack.pop(),this.currentIndent-=1},setCurrentProp:function(e,t){this.currentProp=e,this.currentPropName=t},parse:function(e){this.currentIndent=0,console.log("FBXTree: ",c),this.allNodes=new c,this.nodeStack=[],this.currentProp=[],this.currentPropName="";var t=this,n=e.split(/[\r\n]+/);return n.forEach((function(e,r){var i=e.match(/^[\s\t]*;/),o=e.match(/^[\s\t]*$/);if(!i&&!o){var a=e.match("^\\t{"+t.currentIndent+"}(\\w+):(.*){",""),s=e.match("^\\t{"+t.currentIndent+"}(\\w+):[\\s\\t\\r\\n](.*)"),l=e.match("^\\t{"+(t.currentIndent-1)+"}}");a?t.parseNodeBegin(e,a):s?t.parseNodeProperty(e,s,n[++r]):l?t.popStack():e.match(/^[^\s\t}]/)&&t.parseNodePropertyContinued(e)}})),this.allNodes},parseNodeBegin:function(e,t){var n=t[1].trim().replace(/^"/,"").replace(/"$/,""),r=t[2].split(",").map((function(e){return e.trim().replace(/^"/,"").replace(/"$/,"")})),i={name:n},o=this.parseNodeAttr(r),a=this.getCurrentNode();0===this.currentIndent?this.allNodes.add(n,i):n in a?("PoseNode"===n?a.PoseNode.push(i):void 0!==a[n].id&&(a[n]={},a[n][a[n].id]=a[n]),""!==o.id&&(a[n][o.id]=i)):"number"===typeof o.id?(a[n]={},a[n][o.id]=i):"Properties70"!==n&&(a[n]="PoseNode"===n?[i]:i),"number"===typeof o.id&&(i.id=o.id),""!==o.name&&(i.attrName=o.name),""!==o.type&&(i.attrType=o.type),this.pushStack(i)},parseNodeAttr:function(e){var t=e[0];""!==e[0]&&(t=parseInt(e[0]),isNaN(t)&&(t=e[0]));var n="",r="";return e.length>1&&(n=e[1].replace(/^(\w+)::/,""),r=e[2]),{id:t,name:n,type:r}},parseNodeProperty:function(e,t,n){var r=t[1].replace(/^"/,"").replace(/"$/,"").trim(),i=t[2].replace(/^"/,"").replace(/"$/,"").trim();"Content"===r&&","===i&&(i=n.replace(/"/g,"").replace(/,$/,"").trim());var o=this.getCurrentNode();if("Properties70"!==o.name){if("C"===r){var a=i.split(",").slice(1),s=parseInt(a[0]),l=parseInt(a[1]),u=i.split(",").slice(3);r="connections",function(e,t){for(var n=0,r=e.length,i=t.length;n<i;n++,r++)e[r]=t[n]}(i=[s,l],u=u.map((function(e){return e.trim().replace(/^"/,"")}))),void 0===o[r]&&(o[r]=[])}"Node"===r&&(o.id=i),r in o&&Array.isArray(o[r])?o[r].push(i):"a"!==r?o[r]=i:o.a=i,this.setCurrentProp(o,r),"a"===r&&","!==i.slice(-1)&&(o.a=E(i))}else this.parseNodeSpecialProperty(e,r,i)},parseNodePropertyContinued:function(e){var t=this.getCurrentNode();t.a+=e,","!==e.slice(-1)&&(t.a=E(t.a))},parseNodeSpecialProperty:function(e,t,n){var r=n.split('",').map((function(e){return e.trim().replace(/^\"/,"").replace(/\s/,"_")})),i=r[0],o=r[1],a=r[2],s=r[3],l=r[4];switch(o){case"int":case"enum":case"bool":case"ULongLong":case"double":case"Number":case"FieldOfView":l=parseFloat(l);break;case"Color":case"ColorRGB":case"Vector3D":case"Lcl_Translation":case"Lcl_Rotation":case"Lcl_Scaling":l=E(l)}this.getPrevNode()[i]={type:o,type2:a,flag:s,value:l},this.setCurrentProp(this.getPrevNode(),i)}},l.prototype={constructor:l,parse:function(e){var t=new u(e);t.skip(23);var n=t.getUint32();console.log("THREE.FBXLoader: FBX binary version: "+n);for(var r=new c;!this.endOfContent(t);){var i=this.parseNode(t,n);null!==i&&r.add(i.name,i)}return r},endOfContent:function(e){return e.size()%16===0?(e.getOffset()+160+16&-16)>=e.size():e.getOffset()+160+16>=e.size()},parseNode:function(e,t){var n={},r=t>=7500?e.getUint64():e.getUint32(),i=t>=7500?e.getUint64():e.getUint32(),o=(t>=7500?e.getUint64():e.getUint32(),e.getUint8()),a=e.getString(o);if(0===r)return null;for(var s=[],l=0;l<i;l++)s.push(this.parseProperty(e));var u=s.length>0?s[0]:"",c=s.length>1?s[1]:"",d=s.length>2?s[2]:"";for(n.singleProperty=1===i&&e.getOffset()===r;r>e.getOffset();){var f=this.parseNode(e,t);null!==f&&this.parseSubNode(a,n,f)}return n.propertyList=s,"number"===typeof u&&(n.id=u),""!==c&&(n.attrName=c),""!==d&&(n.attrType=d),""!==a&&(n.name=a),n},parseSubNode:function(e,t,n){if(!0===n.singleProperty){var r=n.propertyList[0];Array.isArray(r)?(t[n.name]=n,n.a=r):t[n.name]=r}else if("Connections"===e&&"C"===n.name){var i=[];n.propertyList.forEach((function(e,t){0!==t&&i.push(e)})),void 0===t.connections&&(t.connections=[]),t.connections.push(i)}else if("Properties70"===n.name){Object.keys(n).forEach((function(e){t[e]=n[e]}))}else if("Properties70"===e&&"P"===n.name){var o,a=n.propertyList[0],s=n.propertyList[1],l=n.propertyList[2],u=n.propertyList[3];0===a.indexOf("Lcl ")&&(a=a.replace("Lcl ","Lcl_")),0===s.indexOf("Lcl ")&&(s=s.replace("Lcl ","Lcl_")),o="Color"===s||"ColorRGB"===s||"Vector"===s||"Vector3D"===s||0===s.indexOf("Lcl_")?[n.propertyList[4],n.propertyList[5],n.propertyList[6]]:n.propertyList[4],t[a]={type:s,type2:l,flag:u,value:o}}else void 0===t[n.name]?"number"===typeof n.id?(t[n.name]={},t[n.name][n.id]=n):t[n.name]=n:"PoseNode"===n.name?(Array.isArray(t[n.name])||(t[n.name]=[t[n.name]]),t[n.name].push(n)):void 0===t[n.name][n.id]&&(t[n.name][n.id]=n)},parseProperty:function(e){var t=e.getString(1);switch(t){case"C":return e.getBoolean();case"D":return e.getFloat64();case"F":return e.getFloat32();case"I":return e.getInt32();case"L":return e.getInt64();case"R":var n=e.getUint32();return e.getArrayBuffer(n);case"S":n=e.getUint32();return e.getString(n);case"Y":return e.getInt16();case"b":case"c":case"d":case"f":case"i":case"l":var r=e.getUint32(),i=e.getUint32(),o=e.getUint32();if(0===i)switch(t){case"b":case"c":return e.getBooleanArray(r);case"d":return e.getFloat64Array(r);case"f":return e.getFloat32Array(r);case"i":return e.getInt32Array(r);case"l":return e.getInt64Array(r)}"undefined"===typeof Zlib&&console.error("THREE.FBXLoader: External library Inflate.min.js required, obtain or import from https://github.com/imaya/zlib.js");var a=new u(new Zlib.Inflate(new Uint8Array(e.getArrayBuffer(o))).decompress().buffer);switch(t){case"b":case"c":return a.getBooleanArray(r);case"d":return a.getFloat64Array(r);case"f":return a.getFloat32Array(r);case"i":return a.getInt32Array(r);case"l":return a.getInt64Array(r)}default:throw new Error("THREE.FBXLoader: Unknown property type "+t)}}},u.prototype={constructor:u,getOffset:function(){return this.offset},size:function(){return this.dv.buffer.byteLength},skip:function(e){this.offset+=e},getBoolean:function(){return 1===(1&this.getUint8())},getBooleanArray:function(e){for(var t=[],n=0;n<e;n++)t.push(this.getBoolean());return t},getUint8:function(){var e=this.dv.getUint8(this.offset);return this.offset+=1,e},getInt16:function(){var e=this.dv.getInt16(this.offset,this.littleEndian);return this.offset+=2,e},getInt32:function(){var e=this.dv.getInt32(this.offset,this.littleEndian);return this.offset+=4,e},getInt32Array:function(e){for(var t=[],n=0;n<e;n++)t.push(this.getInt32());return t},getUint32:function(){var e=this.dv.getUint32(this.offset,this.littleEndian);return this.offset+=4,e},getInt64:function(){var e,t;return this.littleEndian?(e=this.getUint32(),t=this.getUint32()):(t=this.getUint32(),e=this.getUint32()),2147483648&t?(t=4294967295&~t,4294967295===(e=4294967295&~e)&&(t=t+1&4294967295),-(4294967296*t+(e=e+1&4294967295))):4294967296*t+e},getInt64Array:function(e){for(var t=[],n=0;n<e;n++)t.push(this.getInt64());return t},getUint64:function(){var e,t;return this.littleEndian?(e=this.getUint32(),t=this.getUint32()):(t=this.getUint32(),e=this.getUint32()),4294967296*t+e},getFloat32:function(){var e=this.dv.getFloat32(this.offset,this.littleEndian);return this.offset+=4,e},getFloat32Array:function(e){for(var t=[],n=0;n<e;n++)t.push(this.getFloat32());return t},getFloat64:function(){var e=this.dv.getFloat64(this.offset,this.littleEndian);return this.offset+=8,e},getFloat64Array:function(e){for(var t=[],n=0;n<e;n++)t.push(this.getFloat64());return t},getArrayBuffer:function(e){var t=this.dv.buffer.slice(this.offset,this.offset+e);return this.offset+=e,t},getString:function(e){for(var t=[],n=0;n<e;n++)t[n]=this.getUint8();var r=t.indexOf(0);return r>=0&&(t=t.slice(0,r)),THREE.LoaderUtils.decodeText(new Uint8Array(t))}},c.prototype={constructor:c,add:function(e,t){this[e]=t}};var h=[];function p(e,t,n,r){var i;switch(r.mappingType){case"ByPolygonVertex":i=e;break;case"ByPolygon":i=t;break;case"ByVertice":i=n;break;case"AllSame":i=r.indices[0];break;default:console.warn("THREE.FBXLoader: unknown attribute mapping type "+r.mappingType)}"IndexToDirect"===r.referenceType&&(i=r.indices[i]);var o=i*r.dataSize,a=o+r.dataSize;return function(e,t,n,r){for(var i=n,o=0;i<r;i++,o++)e[o]=t[i];return e}(h,r.buffer,o,a)}var v=new THREE.Matrix4,m=new THREE.Euler,g=new THREE.Vector3,y=new THREE.Vector3,b=new THREE.Matrix4;function w(e){var t=new THREE.Matrix4;y.set(0,0,0),b.identity();var n,r=e.eulerOrder?x(e.eulerOrder):x(0);(e.translation&&y.fromArray(e.translation),e.rotationOffset&&y.add(g.fromArray(e.rotationOffset)),e.rotation)&&((n=e.rotation.map(THREE.Math.degToRad)).push(r),b.makeRotationFromEuler(m.fromArray(n)));e.preRotation&&((n=e.preRotation.map(THREE.Math.degToRad)).push(r),v.makeRotationFromEuler(m.fromArray(n)),b.premultiply(v));e.postRotation&&((n=e.postRotation.map(THREE.Math.degToRad)).push(r),v.makeRotationFromEuler(m.fromArray(n)),v.getInverse(v),b.multiply(v));return e.scale&&t.scale(g.fromArray(e.scale)),t.setPosition(y),t.multiply(b),t}function x(e){var t=["ZYX","YZX","XZY","ZXY","YXZ","XYZ"];return 6===e?(console.warn("THREE.FBXLoader: unsupported Euler Order: Spherical XYZ. Animations and rotations may be incorrect."),t[0]):t[e]}function E(e){return e.split(",").map((function(e){return parseFloat(e)}))}function k(e,t,n){return void 0===t&&(t=0),void 0===n&&(n=e.byteLength),THREE.LoaderUtils.decodeText(new Uint8Array(e,t,n))}function T(e,t,n){return e.slice(0,t).concat(n).concat(e.slice(t))}return r}()},6453:function(e){e.exports=Object.assign((function(){}),{FACE_1:0,FACE_2:1,FACE_3:2,FACE_4:3,L_SHOULDER_1:4,R_SHOULDER_1:5,L_SHOULDER_2:6,R_SHOULDER_2:7,SELECT:8,START:9,DPAD_UP:12,DPAD_DOWN:13,DPAD_LEFT:14,DPAD_RIGHT:15,VENDOR:16})},4379:function(e){e.exports=function(e,t,n){this.type=e,this.index=t,this.pressed=n.pressed,this.value=n.value}},2667:function(e){e.exports={size:5,cellSize:10,extrudeSettings:{amount:1,bevelEnabled:!0,bevelSegments:1,steps:1,bevelSize:.5,bevelThickness:.5},autogenerated:!0,cells:[{q:-1,r:0,s:1,h:1,walkable:!0,userData:{}},{q:0,r:-1,s:1,h:1,walkable:!0,userData:{}},{q:0,r:0,s:0,h:1,walkable:!0,userData:{}},{q:1,r:-1,s:0,h:1,walkable:!0,userData:{}},{q:-1,r:1,s:0,h:0,walkable:!0,userData:{}},{q:0,r:1,s:-1,h:0,walkable:!0,userData:{}},{q:1,r:0,s:-1,h:0,walkable:!0,userData:{}}]}},4657:function(e){function t(e){const t=document.getElementById(e),n=t.parentNode;try{n&&n.removeChild(t)}catch(r){}}function n(e,n,r){return new r((function(r,i){const o=n.timeout||5e3,a="script_"+Date.now()+"_"+Math.ceil(1e5*Math.random()),s=function(e,t){var n=document.createElement("script");return n.type="text/javascript",n.async=!0,n.id=t,n.src=e,n}(e,a),l=setTimeout((function(){i(new Error("Script request to "+e+" timed out")),t(a)}),o),u=function(e){clearTimeout(e)};s.addEventListener("load",(function(e){r({ok:!0}),u(l),t(a)})),s.addEventListener("error",(function(n){i(new Error("Script request to "+e+" failed "+n)),u(l),t(a)})),function(e){const t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)}(s)}))}e.exports=function(e){return e=e||{},function(t,r){return n(t,r=r||{},e.Promise||Promise)}}},3471:function(e){var n=e.exports={VERSION:"0.1.1",PI:Math.PI,TAU:2*Math.PI,DEG_TO_RAD:.0174532925,RAD_TO_DEG:57.2957795,SQRT3:Math.sqrt(3),TILE:"tile",ENT:"entity",STR:"structure",HEX:"hex",SQR:"square",ABS:"abstract"};n.Board=function(e,t){if(!e)throw new Error("You must pass in a grid system for the board to use.");this.tiles=[],this.tileGroup=null,this.group=new THREE.Object3D,this.grid=null,this.overlay=null,this.finder=new n.AStarFinder(t),n.Loader.init(),this.setGrid(e)},n.Board.prototype={setEntityOnTile:function(e,t){var n=this.grid.cellToPixel(t.cell);e.position.copy(n),e.position.y+=e.heightOffset||0,e.tile&&(e.tile.entity=null),e.tile=t,t.entity=e},addTile:function(e){-1===this.tiles.indexOf(e)&&(this.tiles.push(e),this.snapTileToGrid(e),e.position.y=0,this.tileGroup.add(e.mesh),this.grid.add(e.cell),e.cell.tile=e)},removeTile:function(e){if(e){var t=this.tiles.indexOf(e);this.grid.remove(e.cell),-1!==t&&this.tiles.splice(t,1),e.dispose()}},removeAllTiles:function(){if(this.tileGroup)for(var e=this.tileGroup.children,t=0;t<e.length;t++)this.tileGroup.remove(e[t])},getTileAtCell:function(e){var t=this.grid.cellToHash(e);return e.tile||("undefined"!=typeof this.grid.cells[t]?this.grid.cells[t].tile:null)},snapToGrid:function(e){var t=this.grid.pixelToCell(e);e.copy(this.grid.cellToPixel(t))},snapTileToGrid:function(e){if(e.cell)e.position.copy(this.grid.cellToPixel(e.cell));else{var t=this.grid.pixelToCell(e.position);e.position.copy(this.grid.cellToPixel(t))}return e},getRandomTile:function(){var e=n.Tools.randomInt(0,this.tiles.length-1);return this.tiles[e]},findPath:function(e,t,n){return this.finder.findPath(e.cell,t.cell,n,this.grid)},setGrid:function(e){this.group.remove(this.tileGroup),this.grid&&e!==this.grid&&(this.removeAllTiles(),this.tiles.forEach((function(e){this.grid.remove(e.cell),e.dispose()})),this.grid.dispose()),this.grid=e,this.tiles=[],this.tileGroup=new THREE.Object3D,this.group.add(this.tileGroup)},generateOverlay:function(e){var t=new THREE.LineBasicMaterial({color:0,opacity:.3});this.overlay&&this.group.remove(this.overlay),this.overlay=new THREE.Object3D,this.grid.generateOverlay(e,this.overlay,t),this.group.add(this.overlay)},generateTilemap:function(e){this.reset();var t=this.grid.generateTiles(e);this.tiles=t,this.tileGroup=new THREE.Object3D;for(var n=0;n<t.length;n++)this.tileGroup.add(t[n].mesh);this.group.add(this.tileGroup)},reset:function(){this.removeAllTiles(),this.tileGroup&&this.group.remove(this.tileGroup)}},n.Board.prototype.constructor=n.Board,n.Cell=function(e,t,r,i){this.q=e||0,this.r=t||0,this.s=r||0,this.h=i||1,this.tile=null,this.userData={},this.walkable=!0,this._calcCost=0,this._priority=0,this._visited=!1,this._parent=null,this.uniqueID=n.LinkedList.generateID()},n.Cell.prototype={set:function(e,t,n){return this.q=e,this.r=t,this.s=n,this},copy:function(e){return this.q=e.q,this.r=e.r,this.s=e.s,this.h=e.h,this.tile=e.tile||null,this.userData=e.userData||{},this.walkable=e.walkable,this},add:function(e){return this.q+=e.q,this.r+=e.r,this.s+=e.s,this},equals:function(e){return this.q===e.q&&this.r===e.r&&this.s===e.s}},n.Cell.prototype.constructor=n.Cell,n.HexGrid=function(e){e=e||{},this.type=n.HEX,this.size=5,this.cellSize="undefined"==typeof e.cellSize?10:e.cellSize,this.cells={},this.numCells=0,this.extrudeSettings=null,this.autogenerated=!1;var t,r=[];for(t=0;6>t;t++)r.push(this._createVertex(t));for(this.cellShape=new THREE.Shape,this.cellShape.moveTo(r[0].x,r[0].y),t=1;6>t;t++)this.cellShape.lineTo(r[t].x,r[t].y);this.cellShape.lineTo(r[0].x,r[0].y),this.cellShape.autoClose=!0,this.cellGeo=new THREE.Geometry,this.cellGeo.vertices=r,this.cellGeo.verticesNeedUpdate=!0,this.cellShapeGeo=new THREE.ShapeGeometry(this.cellShape),this._cellWidth=2*this.cellSize,this._cellLength=.5*n.SQRT3*this._cellWidth,this._hashDelimeter=".",this._directions=[new n.Cell(1,-1,0),new n.Cell(1,0,-1),new n.Cell(0,1,-1),new n.Cell(-1,1,0),new n.Cell(-1,0,1),new n.Cell(0,-1,1)],this._diagonals=[new n.Cell(2,-1,-1),new n.Cell(1,1,-2),new n.Cell(-1,2,-1),new n.Cell(-2,1,1),new n.Cell(-1,-1,2),new n.Cell(1,-2,1)],this._list=[],this._vec3=new THREE.Vector3,this._cel=new n.Cell,this._conversionVec=new THREE.Vector3,this._geoCache=[],this._matCache=[]},n.HexGrid.TWO_THIRDS=2/3,n.HexGrid.prototype={cellToPixel:function(e){return this._vec3.x=e.q*this._cellWidth*.75,this._vec3.y=e.h,this._vec3.z=-(e.s-e.r)*this._cellLength*.5,this._vec3},pixelToCell:function(e){var t=e.x*(n.HexGrid.TWO_THIRDS/this.cellSize),r=(-e.x/3+n.SQRT3/3*e.z)/this.cellSize;return this._cel.set(t,r,-t-r),this._cubeRound(this._cel)},getCellAt:function(e){var t=e.x*(n.HexGrid.TWO_THIRDS/this.cellSize),r=(-e.x/3+n.SQRT3/3*e.z)/this.cellSize;return this._cel.set(t,r,-t-r),this._cubeRound(this._cel),this.cells[this.cellToHash(this._cel)]},getNeighbors:function(e,t,n){var r,i,o=this._directions.length;for(this._list.length=0,r=0;o>r;r++)this._cel.copy(e),this._cel.add(this._directions[r]),!(i=this.cells[this.cellToHash(this._cel)])||n&&!n(e,i)||this._list.push(i);if(t)for(r=0;o>r;r++)this._cel.copy(e),this._cel.add(this._diagonals[r]),!(i=this.cells[this.cellToHash(this._cel)])||n&&!n(e,i)||this._list.push(i);return this._list},getRandomCell:function(){var e,t=0,r=n.Tools.randomInt(0,this.numCells);for(e in this.cells){if(t===r)return this.cells[e];t++}return this.cells[e]},cellToHash:function(e){return e.q+this._hashDelimeter+e.r+this._hashDelimeter+e.s},distance:function(e,t){return Math.max(Math.abs(e.q-t.q),Math.abs(e.r-t.r),Math.abs(e.s-t.s))+(t.h-e.h)},clearPath:function(){var e,t;for(e in this.cells)(t=this.cells[e])._calcCost=0,t._priority=0,t._parent=null,t._visited=!1},traverse:function(e){var t;for(t in this.cells)e(this.cells[t])},generateTile:function(e,t,r){var i=Math.abs(e.h);1>i&&(i=1);var o=this._geoCache[i];o||(this.extrudeSettings.amount=i,o=new THREE.ExtrudeGeometry(this.cellShape,this.extrudeSettings),this._geoCache[i]=o);var a=new n.Tile({size:this.cellSize,scale:t,cell:e,geometry:o,material:r});return e.tile=a,a},generateTiles:function(e){e=e||{};var t,r,i,o=[],a={tileScale:.95,cellSize:this.cellSize,material:null,extrudeSettings:{amount:1,bevelEnabled:!0,bevelSegments:1,steps:1,bevelSize:.5,bevelThickness:.5}};for(t in a=n.Tools.merge(a,e),this.cellSize=a.cellSize,this._cellWidth=2*this.cellSize,this._cellLength=.5*n.SQRT3*this._cellWidth,this.autogenerated=!0,this.extrudeSettings=a.extrudeSettings,this.cells)i=this.cells[t],(r=this.generateTile(i,a.tileScale,a.material)).position.copy(this.cellToPixel(i)),r.position.y=0,o.push(r);return o},generateTilePoly:function(e){e||(e=new THREE.MeshBasicMaterial({color:2405631}));var t=new THREE.Mesh(this.cellShapeGeo,e);return this._vec3.set(1,0,0),t.rotateOnAxis(this._vec3,n.PI/2),t},generate:function(e){var t,r,i,o;for(e=e||{},this.size="undefined"==typeof e.size?this.size:e.size,t=-this.size;t<this.size+1;t++)for(r=-this.size;r<this.size+1;r++)i=-t-r,Math.abs(t)<=this.size&&Math.abs(r)<=this.size&&Math.abs(i)<=this.size&&(o=new n.Cell(t,r,i),this.add(o))},generateOverlay:function(e,t,r){var i,o,a,s=this.cellShape.createPointsGeometry();for(i=-e;e+1>i;i++)for(o=-e;e+1>o;o++)if(a=-i-o,Math.abs(i)<=e&&Math.abs(o)<=e&&Math.abs(a)<=e){this._cel.set(i,o,a);var l=new THREE.Line(s,r);l.position.copy(this.cellToPixel(this._cel)),l.rotation.x=90*n.DEG_TO_RAD,t.add(l)}},add:function(e){var t=this.cellToHash(e);if(!this.cells[t])return this.cells[t]=e,this.numCells++,e},remove:function(e){var t=this.cellToHash(e);this.cells[t]&&(delete this.cells[t],this.numCells--)},dispose:function(){this.cells=null,this.numCells=0,this.cellShape=null,this.cellGeo.dispose(),this.cellGeo=null,this.cellShapeGeo.dispose(),this.cellShapeGeo=null,this._list=null,this._vec3=null,this._conversionVec=null,this._geoCache=null,this._matCache=null},load:function(e,t,r){var i=this;n.Tools.getJSON({url:e,callback:function(e){i.fromJSON(e),t.call(r||null,e)},cache:!1,scope:i})},fromJSON:function(e){var t,r,i=e.cells;for(this.cells={},this.numCells=0,this.size=e.size,this.cellSize=e.cellSize,this._cellWidth=2*this.cellSize,this._cellLength=.5*n.SQRT3*this._cellWidth,this.extrudeSettings=e.extrudeSettings,this.autogenerated=e.autogenerated,t=0;t<i.length;t++)(r=new n.Cell).copy(i[t]),this.add(r)},toJSON:function(){var e,t,n={size:this.size,cellSize:this.cellSize,extrudeSettings:this.extrudeSettings,autogenerated:this.autogenerated},r=[];for(t in this.cells)e=this.cells[t],r.push({q:e.q,r:e.r,s:e.s,h:e.h,walkable:e.walkable,userData:e.userData});return n.cells=r,n},_createVertex:function(e){var t=n.TAU/6*e;return new THREE.Vector3(this.cellSize*Math.cos(t),this.cellSize*Math.sin(t),0)},_cubeRound:function(e){var t=Math.round(e.q),n=Math.round(e.r),r=Math.round(e.s),i=Math.abs(t-e.q),o=Math.abs(n-e.r),a=Math.abs(r-e.s);return i>o&&i>a?t=-n-r:o>a?n=-t-r:r=-t-n,this._cel.set(t,n,r)}},n.HexGrid.prototype.constructor=n.HexGrid,n.SqrGrid=function(e){e=e||{},this.type=n.SQR,this.size=5,this.cellSize="undefined"==typeof e.cellSize?10:e.cellSize,this.cells={},this.numCells=0,this.extrudeSettings=null,this.autogenerated=!1;var t=[];t.push(new THREE.Vector3),t.push(new THREE.Vector3(-this.cellSize,this.cellSize)),t.push(new THREE.Vector3(this.cellSize,this.cellSize)),t.push(new THREE.Vector3(this.cellSize,-this.cellSize)),this.cellShape=new THREE.Shape,this.cellShape.moveTo(-this.cellSize,-this.cellSize),this.cellShape.lineTo(-this.cellSize,this.cellSize),this.cellShape.lineTo(this.cellSize,this.cellSize),this.cellShape.lineTo(this.cellSize,-this.cellSize),this.cellShape.lineTo(-this.cellSize,-this.cellSize),this.cellGeo=new THREE.Geometry,this.cellGeo.vertices=t,this.cellGeo.verticesNeedUpdate=!0,this.cellShapeGeo=new THREE.ShapeGeometry(this.cellShape),this._fullCellSize=2*this.cellSize,this._hashDelimeter=".",this._directions=[new n.Cell(1,0,0),new n.Cell(0,-1,0),new n.Cell(-1,0,0),new n.Cell(0,1,0)],this._diagonals=[new n.Cell(-1,-1,0),new n.Cell(-1,1,0),new n.Cell(1,1,0),new n.Cell(1,-1,0)],this._list=[],this._vec3=new THREE.Vector3,this._cel=new n.Cell,this._conversionVec=new THREE.Vector3,this._geoCache=[],this._matCache=[]},n.SqrGrid.prototype={cellToPixel:function(e){return this._vec3.x=e.q*this._fullCellSize,this._vec3.y=e.h,this._vec3.z=e.r*this._fullCellSize,this._vec3},pixelToCell:function(e){var t=Math.round(e.x/this._fullCellSize),n=Math.round(e.z/this._fullCellSize);return this._cel.set(t,n,0)},getCellAt:function(e){var t=Math.round(e.x/this._fullCellSize),n=Math.round(e.z/this._fullCellSize);return this._cel.set(t,n),this.cells[this.cellToHash(this._cel)]},getNeighbors:function(e,t,n){var r,i,o=this._directions.length;for(this._list.length=0,r=0;o>r;r++)this._cel.copy(e),this._cel.add(this._directions[r]),!(i=this.cells[this.cellToHash(this._cel)])||n&&!n(e,i)||this._list.push(i);if(t)for(r=0;o>r;r++)this._cel.copy(e),this._cel.add(this._diagonals[r]),!(i=this.cells[this.cellToHash(this._cel)])||n&&!n(e,i)||this._list.push(i);return this._list},getRandomCell:function(){var e,t=0,r=n.Tools.randomInt(0,this.numCells);for(e in this.cells){if(t===r)return this.cells[e];t++}return this.cells[e]},cellToHash:function(e){return e.q+this._hashDelimeter+e.r},distance:function(e,t){return Math.max(Math.abs(e.q-t.q),Math.abs(e.r-t.r))+(t.h-e.h)},clearPath:function(){var e,t;for(e in this.cells)(t=this.cells[e])._calcCost=0,t._priority=0,t._parent=null,t._visited=!1},traverse:function(e){var t;for(t in this.cells)e(this.cells[t])},generateTile:function(e,t,r){var i=Math.abs(e.h);1>i&&(i=1);var o=this._geoCache[i];o||(this.extrudeSettings.amount=i,o=new THREE.ExtrudeGeometry(this.cellShape,this.extrudeSettings),this._geoCache[i]=o);var a=new n.Tile({size:this.cellSize,scale:t,cell:e,geometry:o,material:r});return e.tile=a,a},generateTiles:function(e){e=e||{};var t,r,i,o=[],a={tileScale:.95,cellSize:this.cellSize,material:null,extrudeSettings:{amount:1,bevelEnabled:!0,bevelSegments:1,steps:1,bevelSize:.5,bevelThickness:.5}};for(t in a=n.Tools.merge(a,e),this.cellSize=a.cellSize,this._fullCellSize=2*this.cellSize,this.autogenerated=!0,this.extrudeSettings=a.extrudeSettings,this.cells)i=this.cells[t],(r=this.generateTile(i,a.tileScale,a.material)).position.copy(this.cellToPixel(i)),r.position.y=0,o.push(r);return o},generateTilePoly:function(e){e||(e=new THREE.MeshBasicMaterial({color:2405631}));var t=new THREE.Mesh(this.cellShapeGeo,e);return this._vec3.set(1,0,0),t.rotateOnAxis(this._vec3,n.PI/2),t},generate:function(e){e=e||{},this.size="undefined"==typeof e.size?this.size:e.size;var t,r,i,o=Math.ceil(this.size/2);for(t=-o;o>t;t++)for(r=-o;o>r;r++)i=new n.Cell(t,r+1),this.add(i)},generateOverlay:function(e,t,r){var i,o,a=Math.ceil(e/2);for(i=-a;a>i;i++)for(o=-a;a>o;o++){this._cel.set(i,o);var s=new THREE.Line(this.cellGeo,r);s.position.copy(this.cellToPixel(this._cel)),s.rotation.x=90*n.DEG_TO_RAD,t.add(s)}},add:function(e){var t=this.cellToHash(e);if(!this.cells[t])return this.cells[t]=e,this.numCells++,e},remove:function(e){var t=this.cellToHash(e);this.cells[t]&&(delete this.cells[t],this.numCells--)},dispose:function(){this.cells=null,this.numCells=0,this.cellShape=null,this.cellGeo.dispose(),this.cellGeo=null,this.cellShapeGeo.dispose(),this.cellShapeGeo=null,this._list=null,this._vec3=null,this._conversionVec=null,this._geoCache=null,this._matCache=null},load:function(e,t,r){n.Tools.getJSON({url:e,callback:function(e){this.fromJSON(e),t.call(r||null,e)},cache:!1,scope:this})},fromJSON:function(e){var t,r,i=e.cells;for(this.cells={},this.numCells=0,this.size=e.size,this.cellSize=e.cellSize,this._fullCellSize=2*this.cellSize,this.extrudeSettings=e.extrudeSettings,this.autogenerated=e.autogenerated,t=0;t<i.length;t++)(r=new n.Cell).copy(i[t]),this.add(r)},toJSON:function(){var e,t,n={size:this.size,cellSize:this.cellSize,extrudeSettings:this.extrudeSettings,autogenerated:this.autogenerated},r=[];for(t in this.cells)e=this.cells[t],r.push({q:e.q,r:e.r,s:e.s,h:e.h,walkable:e.walkable,userData:e.userData});return n.cells=r,n}},n.SqrGrid.prototype.constructor=n.SqrGrid,n.Tile=function(e){e=e||{};var t={cell:null,geometry:null,material:null};if(!(t=n.Tools.merge(t,e)).cell||!t.geometry)throw new Error("Missing vg.Tile configuration");this.cell=t.cell,this.cell.tile&&this.cell.tile!==this&&this.cell.tile.dispose(),this.cell.tile=this,this.uniqueID=n.Tools.generateID(),this.geometry=t.geometry,this.material=t.material,this.material||(this.material=new THREE.MeshPhongMaterial({color:n.Tools.randomizeRGB("30, 30, 30",13)})),this.objectType=n.TILE,this.entity=null,this.userData={},this.selected=!1,this.highlight="0x0084cc",this.mesh=new THREE.Mesh(this.geometry,this.material),this.mesh.userData.structure=this,this.position=this.mesh.position,this.rotation=this.mesh.rotation,this.rotation.x=-90*n.DEG_TO_RAD,this.mesh.scale.set(t.scale,t.scale,1),this.material.emissive?this._emissive=this.material.emissive.getHex():this._emissive=null},n.Tile.prototype={select:function(){return this.material.emissive&&this.material.emissive.setHex(this.highlight),this.selected=!0,this},deselect:function(){return null!==this._emissive&&this.material.emissive&&this.material.emissive.setHex(this._emissive),this.selected=!1,this},toggle:function(){return this.selected?this.deselect():this.select(),this},dispose:function(){this.cell&&this.cell.tile&&(this.cell.tile=null),this.cell=null,this.position=null,this.rotation=null,this.mesh.parent&&this.mesh.parent.remove(this.mesh),this.mesh.userData.structure=null,this.mesh=null,this.material=null,this.userData=null,this.entity=null,this.geometry=null,this._emissive=null}},n.Tile.prototype.constructor=n.Tile,function(){var e=function(){this.obj=null,this.next=null,this.prev=null,this.free=!0},t=function(){this.first=null,this.last=null,this.length=0,this.objToNodeMap={},this.uniqueID=Date.now()+""+Math.floor(1e3*Math.random()),this.sortArray=[]};t.generateID=function(){return Math.random().toString(36).slice(2)+Date.now()},(t.prototype={getNode:function(e){return this.objToNodeMap[e.uniqueID]},addNode:function(n){var r=new e;if(!n.uniqueID)try{n.uniqueID=t.generateID()}catch(i){return console.error("[LinkedList.addNode] obj passed is immutable: cannot attach necessary identifier"),null}return r.obj=n,r.free=!1,this.objToNodeMap[n.uniqueID]=r,r},swapObjects:function(e,t){this.objToNodeMap[e.obj.uniqueID]=null,this.objToNodeMap[t.uniqueID]=e,e.obj=t},add:function(e){var t=this.objToNodeMap[e.uniqueID];if(t){if(!1===t.free)return;t.obj=e,t.free=!1,t.next=null,t.prev=null}else t=this.addNode(e);if(this.first){if(!this.last)throw new Error("[LinkedList.add] No last in the list -- that shouldn't happen here");this.last.next=t,t.prev=this.last,this.last=t,t.next=null}else this.first=t,this.last=t,t.next=null,t.prev=null;this.length++,this.showDebug&&this.dump("after add")},has:function(e){return!!this.objToNodeMap[e.uniqueID]},moveUp:function(e){this.dump("before move up");var t=this.getNode(e);if(!t)throw"Oops, trying to move an object that isn't in the list";if(t.prev){var n=t.prev,r=n.prev;t==this.last&&(this.last=n);var i=t.next;r&&(r.next=t),t.next=n,t.prev=n.prev,n.next=i,n.prev=t,this.first==n&&(this.first=t)}},moveDown:function(e){var t=this.getNode(e);if(!t)throw"Oops, trying to move an object that isn't in the list";if(t.next){var n=t.next;this.moveUp(n.obj),this.last==n&&(this.last=t)}},sort:function(e){var t,n,r=this.sortArray,i=this.first;for(r.length=0;i;)r.push(i.obj),i=i.next;for(this.clear(),r.sort(e),n=r.length,t=0;n>t;t++)this.add(r[t])},remove:function(e){var t=this.getNode(e);return!(!t||t.free)&&(t.prev&&(t.prev.next=t.next),t.next&&(t.next.prev=t.prev),t.prev||(this.first=t.next),t.next||(this.last=t.prev),t.free=!0,t.prev=null,t.next=null,this.length--,!0)},shift:function(){var e=this.first;return 0===this.length?null:(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),this.first=e.next,e.next||(this.last=null),e.free=!0,e.prev=null,e.next=null,this.length--,e.obj)},pop:function(){var e=this.last;return 0===this.length?null:(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),this.last=e.prev,e.prev||(this.first=null),e.free=!0,e.prev=null,e.next=null,this.length--,e.obj)},concat:function(e){for(var t=e.first;t;)this.add(t.obj),t=t.next},clear:function(){for(var e=this.first;e;)e.free=!0,e=e.next;this.first=null,this.length=0},dispose:function(){for(var e=this.first;e;)e.obj=null,e=e.next;this.first=null,this.objToNodeMap=null},dump:function(e){console.log("===================="+e+"=====================");for(var t=this.first;t;)console.log("{"+t.obj.toString()+"} previous="+(t.prev?t.prev.obj:"NULL")),t=t.next();console.log("==================================="),console.log("Last: {"+(this.last?this.last.obj:"NULL")+"} First: {"+(this.first?this.first.obj:"NULL")+"}")}}).constructor=t,n.LinkedList=t}(),function(){var e=function(e,t,n,r,i){this._listener=t,this.isOnce=n,this.context=r,this.signal=e,this._priority=i||0};(e.prototype={active:!0,params:null,execute:function(e){var t,n;return this.active&&this._listener&&(n=this.params?this.params.concat(e):e,t=this._listener.apply(this.context,n),this.isOnce&&this.detach()),t},detach:function(){return this.isBound()?this.signal.remove(this._listener,this.context):null},isBound:function(){return!!this.signal&&!!this._listener},_destroy:function(){delete this.signal,delete this._listener,delete this.context},toString:function(){return"[SignalBinding isOnce:"+this.isOnce+", isBound:"+this.isBound()+", active:"+this.active+"]"}}).constructor=e;var t=function(){this._bindings=[],this._prevParams=null;var e=this;this.dispatch=function(){t.prototype.dispatch.apply(e,arguments)}};t.prototype={memorize:!1,_shouldPropagate:!0,active:!0,validateListener:function(e,t){if("function"!=typeof e)throw new Error("Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",t))},_registerListener:function(t,n,r,i){var o,a=this._indexOfListener(t,r);if(-1!==a){if((o=this._bindings[a]).isOnce!==n)throw new Error("You cannot add"+(n?"":"Once")+"() then add"+(n?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e(this,t,n,r,i),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(e){var t=this._bindings.length;do{t--}while(this._bindings[t]&&e._priority<=this._bindings[t]._priority);this._bindings.splice(t+1,0,e)},_indexOfListener:function(e,t){for(var n,r=this._bindings.length;r--;)if((n=this._bindings[r])._listener===e&&n.context===t)return r;return-1},has:function(e,t){return-1!==this._indexOfListener(e,t)},add:function(e,t,n){return this.validateListener(e,"add"),this._registerListener(e,!1,t,n)},addOnce:function(e,t,n){return this.validateListener(e,"addOnce"),this._registerListener(e,!0,t,n)},remove:function(e,t){this.validateListener(e,"remove");var n=this._indexOfListener(e,t);return-1!==n&&(this._bindings[n]._destroy(),this._bindings.splice(n,1)),e},removeAll:function(e){"undefined"==typeof e&&(e=null);for(var t=this._bindings.length;t--;)e?this._bindings[t].context===e&&(this._bindings[t]._destroy(),this._bindings.splice(t,1)):this._bindings[t]._destroy();e||(this._bindings.length=0)},getNumListeners:function(){return this._bindings.length},halt:function(){this._shouldPropagate=!1},dispatch:function(){if(this.active){var e,t=Array.prototype.slice.call(arguments),n=this._bindings.length;if(this.memorize&&(this._prevParams=t),n){e=this._bindings.slice(),this._shouldPropagate=!0;do{n--}while(e[n]&&this._shouldPropagate&&!1!==e[n].execute(t))}}},forget:function(){this._prevParams=null},dispose:function(){this.removeAll(),delete this._bindings,delete this._prevParams},toString:function(){return"[Signal active:"+this.active+" numListeners:"+this.getNumListeners()+"]"}},t.prototype.constructor=t,n.Signal=t}(),n.AStarFinder=function(e){e=e||{};var t={allowDiagonal:!1,heuristicFilter:null};t=n.Tools.merge(t,e),this.allowDiagonal=t.allowDiagonal,this.heuristicFilter=t.heuristicFilter,this.list=new n.LinkedList},n.AStarFinder.prototype={findPath:function(e,t,r,i){var o,a,s,l,u,c;for(r=r||this.heuristicFilter,i.clearPath(),this.list.clear(),this.list.add(e);this.list.length>0;){if(this.list.sort(this.compare),(o=this.list.shift())._visited=!0,o===t)return n.PathUtil.backtrace(t);for(u=0,c=(s=i.getNeighbors(o,this.allowDiagonal,r)).length;c>u;u++)if((l=s[u]).walkable&&(a=o._calcCost+i.distance(o,l),!l._visited||a<l._calcCost)){if(l._visited=!0,l._parent=o,l._calcCost=a,l._priority=a+i.distance(t,l),l===t)return n.PathUtil.backtrace(t);this.list.add(l)}}return null},compare:function(e,t){return e._priority-t._priority}},n.AStarFinder.prototype.constructor=n.AStarFinder,n.PathUtil={backtrace:function(e){for(var t=[e];e._parent;)e=e._parent,t.push(e);return t.reverse()},biBacktrace:function(e,t){var n=this.backtrace(e),r=this.backtrace(t);return n.concat(r.reverse())},pathLength:function(e){var t,n,r,i,o,a=0;for(t=1;t<e.length;++t)n=e[t-1],r=e[t],i=n[0]-r[0],o=n[1]-r[1],a+=Math.sqrt(i*i+o*o);return a},interpolate:function(e,t,n,r){var i,o,a,s,l,u,c=Math.abs,d=[];for(i=n>e?1:-1,o=r>t?1:-1,l=(a=c(n-e))-(s=c(r-t));e!==n||t!==r;)d.push([e,t]),(u=2*l)>-s&&(l-=s,e+=i),a>u&&(l+=a,t+=o);return d},expandPath:function(e){var t,n,r,i,o,a,s=[],l=e.length;if(2>l)return s;for(o=0;l-1>o;++o)for(t=e[o],n=e[o+1],i=(r=this.interpolate(t[0],t[1],n[0],n[1])).length,a=0;i-1>a;++a)s.push(r[a]);return s.push(e[l-1]),s},smoothenPath:function(e,t){var n,r,i,o,a,s,l,u,c,d,f,h,p=t.length,v=t[0][0],m=t[0][1],g=t[p-1][0],y=t[p-1][1];for(a=[[n=v,r=m]],l=2;p>l;++l){for(i=(c=t[l])[0],o=c[1],d=this.interpolate(n,r,i,o),h=!1,u=1;u<d.length;++u)if(f=d[u],!e.isWalkableAt(f[0],f[1])){h=!0;break}h&&(s=t[l-1],a.push(s),n=s[0],r=s[1])}return a.push([g,y]),a},compressPath:function(e){if(e.length<3)return e;var t,n,r,i,o,a,s=[],l=e[0][0],u=e[0][1],c=e[1][0],d=e[1][1],f=c-l,h=d-u;for(f/=o=Math.sqrt(f*f+h*h),h/=o,s.push([l,u]),a=2;a<e.length;a++)t=c,n=d,r=f,i=h,f=(c=e[a][0])-t,h=(d=e[a][1])-n,h/=o=Math.sqrt(f*f+h*h),((f/=o)!==r||h!==i)&&s.push([t,n]);return s.push([c,d]),s}},n.Loader={manager:null,imageLoader:null,crossOrigin:!1,init:function(e){this.crossOrigin=e||!1,this.manager=new THREE.LoadingManager((function(){}),(function(){}),(function(){console.warn("Error loading images")})),this.imageLoader=new THREE.ImageLoader(this.manager),this.imageLoader.crossOrigin=e},loadTexture:function(e,t,n,r){var i=new THREE.Texture(null,t);return this.imageLoader.load(e,(function(e){i.image=e,i.needsUpdate=!0,n&&n(i)}),null,(function(e){r&&r(e)})),i.sourceFile=e,i}},n.MouseCaster=function(e,t,r){this.down=!1,this.rightDown=!1,this.pickedObject=null,this.selectedObject=null,this.allHits=null,this.active=!0,this.shift=!1,this.ctrl=!1,this.wheel=0,this.position=new THREE.Vector3,this.screenPosition=new THREE.Vector2,this.signal=new n.Signal,this.group=e,this._camera=t,this._raycaster=new THREE.Raycaster,this._preventDefault=!1,(r=r||document).addEventListener("mousemove",this._onDocumentMouseMove.bind(this),!1),r.addEventListener("mousedown",this._onDocumentMouseDown.bind(this),!1),r.addEventListener("mouseup",this._onDocumentMouseUp.bind(this),!1),r.addEventListener("mousewheel",this._onMouseWheel.bind(this),!1),r.addEventListener("DOMMouseScroll",this._onMouseWheel.bind(this),!1)},n.MouseCaster.OVER="over",n.MouseCaster.OUT="out",n.MouseCaster.DOWN="down",n.MouseCaster.UP="up",n.MouseCaster.CLICK="click",n.MouseCaster.WHEEL="wheel",n.MouseCaster.prototype={update:function(){if(this.active){this._raycaster.setFromCamera(this.screenPosition,this._camera);var e,t,r=this._raycaster.intersectObject(this.group,!0);r.length>0?(t=(e=r[0]).object.userData.structure,this.pickedObject!=t&&(this.pickedObject&&this.signal.dispatch(n.MouseCaster.OUT,this.pickedObject),this.pickedObject=t,this.selectedObject=null,this.signal.dispatch(n.MouseCaster.OVER,this.pickedObject)),this.position.copy(e.point),this.screenPosition.z=e.distance):(this.pickedObject&&this.signal.dispatch(n.MouseCaster.OUT,this.pickedObject),this.pickedObject=null,this.selectedObject=null),this.allHits=r}},preventDefault:function(){this._preventDefault=!0},_onDocumentMouseDown:function(e){return(e=e||window.event).preventDefault(),this._preventDefault?(this._preventDefault=!1,!1):(this.pickedObject&&(this.selectedObject=this.pickedObject),this.shift=e.shiftKey,this.ctrl=e.ctrlKey,this.down=1===e.which,this.rightDown=3===e.which,void this.signal.dispatch(n.MouseCaster.DOWN,this.pickedObject))},_onDocumentMouseUp:function(e){return e.preventDefault(),this._preventDefault?(this._preventDefault=!1,!1):(this.shift=e.shiftKey,this.ctrl=e.ctrlKey,this.signal.dispatch(n.MouseCaster.UP,this.pickedObject),this.selectedObject&&this.pickedObject&&this.selectedObject.uniqueID===this.pickedObject.uniqueID&&this.signal.dispatch(n.MouseCaster.CLICK,this.pickedObject),this.down=1!==e.which&&this.down,void(this.rightDown=3!==e.which&&this.rightDown))},_onDocumentMouseMove:function(e){e.preventDefault(),this.screenPosition.x=e.clientX/window.innerWidth*2-1,this.screenPosition.y=-e.clientY/window.innerHeight*2+1},_onMouseWheel:function(e){if(this.active){e.preventDefault(),e.stopPropagation();var t=0;void 0!==e.wheelDelta?t=e.wheelDelta:void 0!==e.detail&&(t=-e.detail),t>0?this.wheel++:this.wheel--,this.signal.dispatch(n.MouseCaster.WHEEL,this.wheel)}}},n.MouseCaster.prototype.constructor=n.MouseCaster,n.Scene=function(e,t){var r={element:document.body,alpha:!0,antialias:!0,clearColor:"#fff",sortObjects:!1,fog:null,light:new THREE.DirectionalLight(16777215),lightPosition:null,cameraType:"PerspectiveCamera",cameraPosition:null,orthoZoom:4},i={minDistance:100,maxDistance:1e3,zoomSpeed:2,noZoom:!1};if(r=n.Tools.merge(r,e),"boolean"!=typeof t&&(i=n.Tools.merge(i,t)),this.renderer=new THREE.WebGLRenderer({alpha:r.alpha,antialias:r.antialias}),this.renderer.setClearColor(r.clearColor,0),this.renderer.sortObjects=r.sortObjects,this.width=window.innerWidth,this.height=window.innerHeight,this.orthoZoom=r.orthoZoom,this.container=new THREE.Scene,this.container.fog=r.fog,this.container.add(new THREE.AmbientLight(14540253)),r.lightPosition||r.light.position.set(-1,1,-1).normalize(),this.container.add(r.light),"OrthographicCamera"===r.cameraType){var o=window.innerWidth/this.orthoZoom,a=window.innerHeight/this.orthoZoom;this.camera=new THREE.OrthographicCamera(o/-2,o/2,a/2,a/-2,1,5e3)}else this.camera=new THREE.PerspectiveCamera(50,this.width/this.height,1,5e3);this.contolled=!!t,this.contolled&&(this.controls=new THREE.OrbitControls(this.camera,this.renderer.domElement),this.controls.minDistance=i.minDistance,this.controls.maxDistance=i.maxDistance,this.controls.zoomSpeed=i.zoomSpeed,this.controls.noZoom=i.noZoom),r.cameraPosition&&this.camera.position.copy(r.cameraPosition),window.addEventListener("resize",function(){if(this.width=window.innerWidth,this.height=window.innerHeight,"OrthographicCamera"===this.camera.type){var e=this.width/this.orthoZoom,t=this.height/this.orthoZoom;this.camera.left=e/-2,this.camera.right=e/2,this.camera.top=t/2,this.camera.bottom=t/-2}else this.camera.aspect=this.width/this.height;this.camera.updateProjectionMatrix(),this.renderer.setSize(this.width,this.height)}.bind(this),!1),this.attachTo(r.element)},n.Scene.prototype={attachTo:function(e){e.style.width=this.width+"px",e.style.height=this.height+"px",this.renderer.setPixelRatio(window.devicePixelRatio),this.renderer.setSize(this.width,this.height),e.appendChild(this.renderer.domElement)},add:function(e){this.container.add(e)},remove:function(e){this.container.remove(e)},render:function(){this.contolled&&this.controls.update(),this.renderer.render(this.container,this.camera)},updateOrthoZoom:function(){if(this.orthoZoom<=0)this.orthoZoom=0;else{var e=this.width/this.orthoZoom,t=this.height/this.orthoZoom;this.camera.left=e/-2,this.camera.right=e/2,this.camera.top=t/2,this.camera.bottom=t/-2,this.camera.updateProjectionMatrix()}},focusOn:function(e){this.camera.lookAt(e.position)}},n.Scene.prototype.constructor=n.Scene,n.SelectionManager=function(e){this.mouse=e,this.onSelect=new n.Signal,this.onDeselect=new n.Signal,this.selected=null,this.toggleSelection=!1,this.mouse.signal.add(this.onMouse,this)},n.SelectionManager.prototype={select:function(e,t){e&&(t=t||!0,this.selected!==e&&this.clearSelection(t),e.selected?this.toggleSelection&&(t&&this.onDeselect.dispatch(e),e.deselect()):e.select(),this.selected=e,t&&this.onSelect.dispatch(e))},clearSelection:function(e){e=e||!0,this.selected&&(e&&this.onDeselect.dispatch(this.selected),this.selected.deselect()),this.selected=null},onMouse:function(e,t){switch(e){case n.MouseCaster.DOWN:t||this.clearSelection();break;case n.MouseCaster.CLICK:this.select(t)}}},n.SelectionManager.prototype.constructor=n.SelectionManager,n.Tools={clamp:function(e,t,n){return Math.max(t,Math.min(n,e))},sign:function(e){return e&&e/Math.abs(e)},random:function(e,t){return 1===arguments.length?Math.random()*e-.5*e:Math.random()*(t-e)+e},randomInt:function(e,t){return 1===arguments.length?Math.random()*e-.5*e|0:Math.random()*(t-e+1)+e|0},normalize:function(e,t,n){return(e-t)/(n-t)},getShortRotation:function(e){return(e%=this.TAU)>this.PI?e-=this.TAU:e<-this.PI&&(e+=this.TAU),e},generateID:function(){return Math.random().toString(36).slice(2)+Date.now()},isPlainObject:function(e){if("object"!=typeof e||e.nodeType||e===e.window)return!1;try{if(e.constructor&&!Object.prototype.hasOwnProperty.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},merge:function(e,t){var n=this,r=Array.isArray(t),i=r&&[]||{};return r?(e=e||[],i=i.concat(e),t.forEach((function(t,r){"undefined"==typeof i[r]?i[r]=t:n.isPlainObject(t)?i[r]=n.merge(e[r],t):-1===e.indexOf(t)&&i.push(t)})),i):(e&&n.isPlainObject(e)&&Object.keys(e).forEach((function(t){i[t]=e[t]})),Object.keys(t).forEach((function(r){t[r]&&n.isPlainObject(t[r])&&e[r]?i[r]=n.merge(e[r],t[r]):i[r]=t[r]})),i)},now:function(){return window.nwf?window.nwf.system.Performance.elapsedTime:window.performance.now()},empty:function(e){for(;e.lastChild;)e.removeChild(e.lastChild)},radixSort:function(e,t,n,r){if(r=r||31,!((t=t||0)>=(n=n||e.length)-1||0>r)){for(var i=t,o=n,a=1<<r;o>i;)if(e[i]&a){--o;var s=e[i];e[i]=e[o],e[o]=s}else++i;this.radixSort(e,t,o,r-1),this.radixSort(e,o,n,r-1)}},randomizeRGB:function(e,t){var n,r,i=e.split(","),o="rgb(";for(t=this.randomInt(t),n=0;3>n;n++)0>(r=parseInt(i[n])+t)?r=0:r>255&&(r=255),o+=r+",";return(o=o.substring(0,o.length-1))+")"},getJSON:function(e){var t=new XMLHttpRequest,n="undefined"!=typeof e.cache&&e.cache?e.url:e.url+"?t="+Math.floor(1e4*Math.random())+Date.now();t.onreadystatechange=function(){if(200!==this.status)0!==this.status&&console.warn("[Tools.getJSON] Error: "+this.status+" ("+this.statusText+") :: "+e.url);else{var t=null;try{t=JSON.parse(this.responseText)}catch(n){return}e.callback.call(e.scope||null,t)}},t.open("GET",n,!0),t.setRequestHeader("Accept","application/json"),t.setRequestHeader("Content-Type","application/json"),t.send("")}}},7454:function(){!function(e){var t="KeyboardEvent"in e;t||(e.KeyboardEvent=function(){throw TypeError("Illegal constructor")}),"DOM_KEY_LOCATION_STANDARD"in e.KeyboardEvent||(e.KeyboardEvent.DOM_KEY_LOCATION_STANDARD=0),"DOM_KEY_LOCATION_LEFT"in e.KeyboardEvent||(e.KeyboardEvent.DOM_KEY_LOCATION_LEFT=1),"DOM_KEY_LOCATION_RIGHT"in e.KeyboardEvent||(e.KeyboardEvent.DOM_KEY_LOCATION_RIGHT=2),"DOM_KEY_LOCATION_NUMPAD"in e.KeyboardEvent||(e.KeyboardEvent.DOM_KEY_LOCATION_NUMPAD=3);var n=window.KeyboardEvent.DOM_KEY_LOCATION_STANDARD,r=window.KeyboardEvent.DOM_KEY_LOCATION_LEFT,i=window.KeyboardEvent.DOM_KEY_LOCATION_RIGHT,o=window.KeyboardEvent.DOM_KEY_LOCATION_NUMPAD;function a(e,t){return-1!==String(e).indexOf(t)}var s=a(navigator.platform,"Win")?"win":a(navigator.platform,"Mac")?"mac":a(navigator.platform,"CrOS")?"cros":a(navigator.platform,"Linux")?"linux":a(navigator.userAgent,"iPad")||a(navigator.platform,"iPod")||a(navigator.platform,"iPhone")?"ios":"",l=a(navigator.userAgent,"Chrome/")?"chrome":a(navigator.vendor,"Apple")?"safari":a(navigator.userAgent,"MSIE")?"ie":a(navigator.userAgent,"Gecko/")?"moz":a(navigator.userAgent,"Opera/")?"opera":"",u=l+"-"+s;function c(e,t,n){u!==t&&l!==t&&s!==t||Object.keys(n).forEach((function(t){e[t]=n[t]}))}var d={3:{code:"Cancel"},6:{code:"Help"},8:{code:"Backspace"},9:{code:"Tab"},12:{code:"Clear"},13:{code:"Enter"},16:{code:"Shift"},17:{code:"Control"},18:{code:"Alt"},19:{code:"Pause"},20:{code:"CapsLock"},21:{code:"KanaMode"},22:{code:"HangulMode"},23:{code:"JunjaMode"},24:{code:"FinalMode"},25:{code:"KanjiMode"},27:{code:"Escape"},28:{code:"Convert"},29:{code:"NonConvert"},30:{code:"Accept"},31:{code:"ModeChange"},32:{code:"Space"},33:{code:"PageUp"},34:{code:"PageDown"},35:{code:"End"},36:{code:"Home"},37:{code:"ArrowLeft"},38:{code:"ArrowUp"},39:{code:"ArrowRight"},40:{code:"ArrowDown"},41:{code:"Select"},42:{code:"Print"},43:{code:"Execute"},44:{code:"PrintScreen"},45:{code:"Insert"},46:{code:"Delete"},47:{code:"Help"},48:{code:"Digit0",keyCap:"0"},49:{code:"Digit1",keyCap:"1"},50:{code:"Digit2",keyCap:"2"},51:{code:"Digit3",keyCap:"3"},52:{code:"Digit4",keyCap:"4"},53:{code:"Digit5",keyCap:"5"},54:{code:"Digit6",keyCap:"6"},55:{code:"Digit7",keyCap:"7"},56:{code:"Digit8",keyCap:"8"},57:{code:"Digit9",keyCap:"9"},65:{code:"KeyA",keyCap:"a"},66:{code:"KeyB",keyCap:"b"},67:{code:"KeyC",keyCap:"c"},68:{code:"KeyD",keyCap:"d"},69:{code:"KeyE",keyCap:"e"},70:{code:"KeyF",keyCap:"f"},71:{code:"KeyG",keyCap:"g"},72:{code:"KeyH",keyCap:"h"},73:{code:"KeyI",keyCap:"i"},74:{code:"KeyJ",keyCap:"j"},75:{code:"KeyK",keyCap:"k"},76:{code:"KeyL",keyCap:"l"},77:{code:"KeyM",keyCap:"m"},78:{code:"KeyN",keyCap:"n"},79:{code:"KeyO",keyCap:"o"},80:{code:"KeyP",keyCap:"p"},81:{code:"KeyQ",keyCap:"q"},82:{code:"KeyR",keyCap:"r"},83:{code:"KeyS",keyCap:"s"},84:{code:"KeyT",keyCap:"t"},85:{code:"KeyU",keyCap:"u"},86:{code:"KeyV",keyCap:"v"},87:{code:"KeyW",keyCap:"w"},88:{code:"KeyX",keyCap:"x"},89:{code:"KeyY",keyCap:"y"},90:{code:"KeyZ",keyCap:"z"},91:{code:"OSLeft",location:r},92:{code:"OSRight",location:i},93:{code:"ContextMenu"},95:{code:"Standby"},96:{code:"Numpad0",keyCap:"0",location:o},97:{code:"Numpad1",keyCap:"1",location:o},98:{code:"Numpad2",keyCap:"2",location:o},99:{code:"Numpad3",keyCap:"3",location:o},100:{code:"Numpad4",keyCap:"4",location:o},101:{code:"Numpad5",keyCap:"5",location:o},102:{code:"Numpad6",keyCap:"6",location:o},103:{code:"Numpad7",keyCap:"7",location:o},104:{code:"Numpad8",keyCap:"8",location:o},105:{code:"Numpad9",keyCap:"9",location:o},106:{code:"NumpadMultiply",keyCap:"*",location:o},107:{code:"NumpadAdd",keyCap:"+",location:o},108:{code:"NumpadComma",keyCap:",",location:o},109:{code:"NumpadSubtract",keyCap:"-",location:o},110:{code:"NumpadDecimal",keyCap:".",location:o},111:{code:"NumpadDivide",keyCap:"/",location:o},112:{code:"F1"},113:{code:"F2"},114:{code:"F3"},115:{code:"F4"},116:{code:"F5"},117:{code:"F6"},118:{code:"F7"},119:{code:"F8"},120:{code:"F9"},121:{code:"F10"},122:{code:"F11"},123:{code:"F12"},124:{code:"F13"},125:{code:"F14"},126:{code:"F15"},127:{code:"F16"},128:{code:"F17"},129:{code:"F18"},130:{code:"F19"},131:{code:"F20"},132:{code:"F21"},133:{code:"F22"},134:{code:"F23"},135:{code:"F24"},144:{code:"NumLock",location:o},145:{code:"ScrollLock"},160:{code:"ShiftLeft",location:r},161:{code:"ShiftRight",location:i},162:{code:"ControlLeft",location:r},163:{code:"ControlRight",location:i},164:{code:"AltLeft",location:r},165:{code:"AltRight",location:i},166:{code:"BrowserBack"},167:{code:"BrowserForward"},168:{code:"BrowserRefresh"},169:{code:"BrowserStop"},170:{code:"BrowserSearch"},171:{code:"BrowserFavorites"},172:{code:"BrowserHome"},173:{code:"VolumeMute"},174:{code:"VolumeDown"},175:{code:"VolumeUp"},176:{code:"MediaTrackNext"},177:{code:"MediaTrackPrevious"},178:{code:"MediaStop"},179:{code:"MediaPlayPause"},180:{code:"LaunchMail"},181:{code:"MediaSelect"},182:{code:"LaunchApp1"},183:{code:"LaunchApp2"},186:{code:"Semicolon",keyCap:";"},187:{code:"Equal",keyCap:"="},188:{code:"Comma",keyCap:","},189:{code:"Minus",keyCap:"-"},190:{code:"Period",keyCap:"."},191:{code:"Slash",keyCap:"/"},192:{code:"Backquote",keyCap:"`"},219:{code:"BracketLeft",keyCap:"["},220:{code:"Backslash",keyCap:"\\"},221:{code:"BracketRight",keyCap:"]"},222:{code:"Quote",keyCap:"'"},226:{code:"IntlBackslash",keyCap:"\\"},229:{code:"Process"},246:{code:"Attn"},247:{code:"CrSel"},248:{code:"ExSel"},249:{code:"EraseEof"},250:{code:"Play"},251:{code:"ZoomToggle"},254:{code:"Clear"}};c(d,"moz",{59:{code:"Semicolon",keyCap:";"},61:{code:"Equal",keyCap:"="},107:{code:"Equal",keyCap:"="},109:{code:"Minus",keyCap:"-"},187:{code:"NumpadAdd",keyCap:"+",location:o},189:{code:"NumpadSubtract",keyCap:"-",location:o}}),c(d,"moz-mac",{12:{code:"NumLock",location:o},173:{code:"Minus",keyCap:"-"}}),c(d,"moz-win",{173:{code:"Minus",keyCap:"-"}}),c(d,"chrome-mac",{93:{code:"OSRight",location:i}}),c(d,"safari",{3:{code:"Enter"},25:{code:"Tab"}}),c(d,"ios",{10:{code:"Enter",location:n}}),c(d,"safari-mac",{91:{code:"OSLeft",location:r},93:{code:"OSRight",location:i},229:{code:"KeyQ",keyCap:"Q"}});var f={};"cros"===s&&(f["U+00A0"]={code:"ShiftLeft",location:r},f["U+00A1"]={code:"ShiftRight",location:i},f["U+00A2"]={code:"ControlLeft",location:r},f["U+00A3"]={code:"ControlRight",location:i},f["U+00A4"]={code:"AltLeft",location:r},f["U+00A5"]={code:"AltRight",location:i}),"chrome-mac"===u&&(f["U+0010"]={code:"ContextMenu"}),"safari-mac"===u&&(f["U+0010"]={code:"ContextMenu"}),"ios"===s&&(f["U+0010"]={code:"Function"},f["U+001C"]={code:"ArrowLeft"},f["U+001D"]={code:"ArrowRight"},f["U+001E"]={code:"ArrowUp"},f["U+001F"]={code:"ArrowDown"},f["U+0001"]={code:"Home"},f["U+0004"]={code:"End"},f["U+000B"]={code:"PageUp"},f["U+000C"]={code:"PageDown"});var h=[];h[r]={16:{code:"ShiftLeft",location:r},17:{code:"ControlLeft",location:r},18:{code:"AltLeft",location:r}},h[i]={16:{code:"ShiftRight",location:i},17:{code:"ControlRight",location:i},18:{code:"AltRight",location:i}},h[o]={13:{code:"NumpadEnter",location:o}},c(h[o],"moz",{109:{code:"NumpadSubtract",location:o},107:{code:"NumpadAdd",location:o}}),c(h[r],"moz-mac",{224:{code:"OSLeft",location:r}}),c(h[i],"moz-mac",{224:{code:"OSRight",location:i}}),c(h[i],"moz-win",{91:{code:"OSRight",location:i}}),c(h[i],"mac",{93:{code:"OSRight",location:i}}),c(h[o],"chrome-mac",{12:{code:"NumLock",location:o}}),c(h[o],"safari-mac",{12:{code:"NumLock",location:o},187:{code:"NumpadAdd",location:o},189:{code:"NumpadSubtract",location:o},190:{code:"NumpadDecimal",location:o},191:{code:"NumpadDivide",location:o}});var p={ShiftLeft:{key:"Shift"},ShiftRight:{key:"Shift"},ControlLeft:{key:"Control"},ControlRight:{key:"Control"},AltLeft:{key:"Alt"},AltRight:{key:"Alt"},OSLeft:{key:"OS"},OSRight:{key:"OS"},NumpadEnter:{key:"Enter"},Space:{key:" "},Digit0:{key:"0",shiftKey:")"},Digit1:{key:"1",shiftKey:"!"},Digit2:{key:"2",shiftKey:"@"},Digit3:{key:"3",shiftKey:"#"},Digit4:{key:"4",shiftKey:"$"},Digit5:{key:"5",shiftKey:"%"},Digit6:{key:"6",shiftKey:"^"},Digit7:{key:"7",shiftKey:"&"},Digit8:{key:"8",shiftKey:"*"},Digit9:{key:"9",shiftKey:"("},KeyA:{key:"a",shiftKey:"A"},KeyB:{key:"b",shiftKey:"B"},KeyC:{key:"c",shiftKey:"C"},KeyD:{key:"d",shiftKey:"D"},KeyE:{key:"e",shiftKey:"E"},KeyF:{key:"f",shiftKey:"F"},KeyG:{key:"g",shiftKey:"G"},KeyH:{key:"h",shiftKey:"H"},KeyI:{key:"i",shiftKey:"I"},KeyJ:{key:"j",shiftKey:"J"},KeyK:{key:"k",shiftKey:"K"},KeyL:{key:"l",shiftKey:"L"},KeyM:{key:"m",shiftKey:"M"},KeyN:{key:"n",shiftKey:"N"},KeyO:{key:"o",shiftKey:"O"},KeyP:{key:"p",shiftKey:"P"},KeyQ:{key:"q",shiftKey:"Q"},KeyR:{key:"r",shiftKey:"R"},KeyS:{key:"s",shiftKey:"S"},KeyT:{key:"t",shiftKey:"T"},KeyU:{key:"u",shiftKey:"U"},KeyV:{key:"v",shiftKey:"V"},KeyW:{key:"w",shiftKey:"W"},KeyX:{key:"x",shiftKey:"X"},KeyY:{key:"y",shiftKey:"Y"},KeyZ:{key:"z",shiftKey:"Z"},Numpad0:{key:"0"},Numpad1:{key:"1"},Numpad2:{key:"2"},Numpad3:{key:"3"},Numpad4:{key:"4"},Numpad5:{key:"5"},Numpad6:{key:"6"},Numpad7:{key:"7"},Numpad8:{key:"8"},Numpad9:{key:"9"},NumpadMultiply:{key:"*"},NumpadAdd:{key:"+"},NumpadComma:{key:","},NumpadSubtract:{key:"-"},NumpadDecimal:{key:"."},NumpadDivide:{key:"/"},Semicolon:{key:";",shiftKey:":"},Equal:{key:"=",shiftKey:"+"},Comma:{key:",",shiftKey:"<"},Minus:{key:"-",shiftKey:"_"},Period:{key:".",shiftKey:">"},Slash:{key:"/",shiftKey:"?"},Backquote:{key:"`",shiftKey:"~"},BracketLeft:{key:"[",shiftKey:"{"},Backslash:{key:"\\",shiftKey:"|"},BracketRight:{key:"]",shiftKey:"}"},Quote:{key:"'",shiftKey:'"'},IntlBackslash:{key:"\\",shiftKey:"|"}};c(p,"mac",{OSLeft:{key:"Meta"},OSRight:{key:"Meta"}});var v={Esc:"Escape",Nonconvert:"NonConvert",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Menu:"ContextMenu",MediaNextTrack:"MediaTrackNext",MediaPreviousTrack:"MediaTrackPrevious",SelectMedia:"MediaSelect",HalfWidth:"Hankaku",FullWidth:"Zenkaku",RomanCharacters:"Romaji",Crsel:"CrSel",Exsel:"ExSel",Zoom:"ZoomToggle"},m=function(e,t){var n={};return Object.keys(e).forEach((function(r){var i=e[r];t in i&&(n[i[t]]=i)})),n}(d,"code");try{var g=t&&"location"in new KeyboardEvent("")}catch(b){}function y(e){var t="keyCode"in e?e.keyCode:"which"in e?e.which:0,n=function(){if(g||"keyLocation"in e){var n=g?e.location:e.keyLocation;if(n&&t in h[n])return h[n][t]}return"keyIdentifier"in e&&e.keyIdentifier in f?f[e.keyIdentifier]:t in d?d[t]:null}();if(!n)return null;var r=function(){var t=p[n.code];return t?e.shiftKey&&"shiftKey"in t?t.shiftKey:t.key:n.code}();return{code:n.code,key:r,location:n.location,keyCap:n.keyCap}}"KeyboardEvent"in e&&"defineProperty"in Object&&function(){function e(e,t,n){t in e||Object.defineProperty(e,t,n)}if(e(KeyboardEvent.prototype,"code",{get:function(){var e=y(this);return e?e.code:""}}),"key"in KeyboardEvent.prototype){var t=Object.getOwnPropertyDescriptor(KeyboardEvent.prototype,"key");Object.defineProperty(KeyboardEvent.prototype,"key",{get:function(){var e=t.get.call(this);return v.hasOwnProperty(e)?v[e]:e}})}e(KeyboardEvent.prototype,"key",{get:function(){var e=y(this);return e&&"key"in e?e.key:"Unidentified"}}),e(KeyboardEvent.prototype,"location",{get:function(){var e=y(this);return e&&"location"in e?e.location:n}}),e(KeyboardEvent.prototype,"locale",{get:function(){return""}})}(),"queryKeyCap"in e.KeyboardEvent||(e.KeyboardEvent.queryKeyCap=function(e,t){if(e=String(e),!m.hasOwnProperty(e))return"Undefined";if(t&&"en-us"!==String(t).toLowerCase())throw Error("Unsupported locale");var n=m[e];return n.keyCap||n.code||"Undefined"}),e.identifyKey=function(e){if(!("code"in e)){var t=y(e);e.code=t?t.code:"",e.key=t&&"key"in t?t.key:"Unidentified",e.location="location"in e?e.location:"keyLocation"in e?e.keyLocation:t&&"location"in t?t.location:n,e.locale=""}}}(window)},3386:function(e){e.exports=AFRAME.registerComponent("checkpoint-controls",{schema:{enabled:{default:!0},mode:{default:"teleport",oneOf:["teleport","animate"]},animateSpeed:{default:3}},init:function(){this.active=!0,this.checkpoint=null,this.isNavMeshConstrained=!1,this.offset=new THREE.Vector3,this.position=new THREE.Vector3,this.targetPosition=new THREE.Vector3},play:function(){this.active=!0},pause:function(){this.active=!1},setCheckpoint:function(e){const t=this.el;this.active&&this.checkpoint!==e&&(this.checkpoint&&t.emit("navigation-end",{checkpoint:this.checkpoint}),this.checkpoint=e,this.sync(),this.position.distanceTo(this.targetPosition)<.1?this.checkpoint=null:(t.emit("navigation-start",{checkpoint:e}),"teleport"===this.data.mode&&(this.el.setAttribute("position",this.targetPosition),this.checkpoint=null,t.emit("navigation-end",{checkpoint:e}),t.components["movement-controls"].updateNavLocation())))},isVelocityActive:function(){return!(!this.active||!this.checkpoint)},getVelocity:function(){if(!this.active)return;const e=this.data,t=this.offset,n=this.position,r=this.targetPosition,i=this.checkpoint;return this.sync(),n.distanceTo(r)<.1?(this.checkpoint=null,this.el.emit("navigation-end",{checkpoint:i}),t.set(0,0,0)):(t.setLength(e.animateSpeed),t)},sync:function(){const e=this.offset,t=this.position,n=this.targetPosition;t.copy(this.el.getAttribute("position")),this.checkpoint.object3D.getWorldPosition(n),n.add(this.checkpoint.components.checkpoint.getOffset()),e.copy(n).sub(t)}})},5062:function(e,t,n){const r=n(6453),i=n(4379),o=.2,a="left",s="right",l=1,u=2;e.exports=AFRAME.registerComponent("gamepad-controls",{GamepadButton:r,schema:{enabled:{default:!0},camera:{default:"[camera]",type:"selector"},rotationSensitivity:{default:2}},init:function(){const e=this.el.sceneEl;this.system=e.systems["tracked-controls-webxr"]||{controllers:[]},this.prevTime=window.performance.now(),this.buttons={};const t=this.el.object3D.rotation;this.pitch=new THREE.Object3D,this.pitch.rotation.x=THREE.Math.degToRad(t.x),this.yaw=new THREE.Object3D,this.yaw.position.y=10,this.yaw.rotation.y=THREE.Math.degToRad(t.y),this.yaw.add(this.pitch),this._lookVector=new THREE.Vector2,this._moveVector=new THREE.Vector2,this._dpadVector=new THREE.Vector2,e.addBehavior(this)},update:function(){this.tick()},tick:function(e,t){this.updateButtonState(),this.updateRotation(t)},remove:function(){},isVelocityActive:function(){if(!this.data.enabled||!this.isConnected())return!1;const e=this._dpadVector,t=this._moveVector;this.getDpad(e),this.getJoystick(l,t);const n=e.x||t.x,r=e.y||t.y;return Math.abs(n)>o||Math.abs(r)>o},getVelocityDelta:function(){const e=this._dpadVector,t=this._moveVector;this.getDpad(e),this.getJoystick(l,t);const n=e.x||t.x,r=e.y||t.y,i=new THREE.Vector3;return Math.abs(n)>o&&(i.x+=n),Math.abs(r)>o&&(i.z+=r),i},isRotationActive:function(){if(!this.data.enabled||!this.isConnected())return!1;const e=this._lookVector;return this.getJoystick(u,e),Math.abs(e.x)>o||Math.abs(e.y)>o},updateRotation:function(e){if(!this.isRotationActive())return;const t=this.data,n=this.yaw,r=this.pitch,i=t.camera.components["look-controls"],a=i&&i.pitchObject&&i.yawObject;a&&(r.rotation.copy(i.pitchObject.rotation),n.rotation.copy(i.yawObject.rotation));const s=this._lookVector;this.getJoystick(u,s),Math.abs(s.x)<=o&&(s.x=0),Math.abs(s.y)<=o&&(s.y=0),s.multiplyScalar(t.rotationSensitivity*e/1e3),n.rotation.y-=s.x,r.rotation.x-=s.y,r.rotation.x=Math.max(-Math.PI/2,Math.min(Math.PI/2,r.rotation.x)),t.camera.object3D.rotation.set(r.rotation.x,n.rotation.y,0),a&&(i.pitchObject.rotation.copy(r.rotation),i.yawObject.rotation.copy(n.rotation))},updateButtonState:function(){const e=this.getGamepad(s);if(this.data.enabled&&e)for(var t=0;t<e.buttons.length;t++)e.buttons[t].pressed&&!this.buttons[t]?this.emit(new i("gamepadbuttondown",t,e.buttons[t])):!e.buttons[t].pressed&&this.buttons[t]&&this.emit(new i("gamepadbuttonup",t,e.buttons[t])),this.buttons[t]=e.buttons[t].pressed;else Object.keys(this.buttons)&&(this.buttons={})},emit:function(e){this.el.emit(e.type,e),this.el.emit(e.type+":"+e.index,new i(e.type,e.index,e))},getGamepad:function(){const e=[],t=[];return function(n){const r=this.el.sceneEl.components["proxy-controls"],i=r&&r.isConnected()&&r.getGamepad(0);if(i)return i;e.length=0;for(let t=0;t<this.system.controllers.length;t++){const r=this.system.controllers[t],i=r?r.gamepad:null;if(e.push(i),i&&i.handedness===n)return i}const o=navigator.getGamepads?navigator.getGamepads():t;for(let e=0;e<o.length;e++){const t=o[e];if(t&&t.hand===n)return t}return e[0]||o[0]}}(),getButton:function(e){return this.getGamepad(s).buttons[e]},getAxis:function(e){return this.getGamepad(e>1?s:a).axes[e]},getJoystick:function(e,t){const n=this.getGamepad(e===l?a:s);if("xr-standard"===n.mapping)switch(e){case l:return t.set(n.axes[2],n.axes[3]);case u:return t.set(n.axes[0],n.axes[1])}else switch(e){case l:return t.set(n.axes[0],n.axes[1]);case u:return t.set(n.axes[2],n.axes[3])}throw new Error('Unexpected joystick index "%d".',e)},getDpad:function(e){const t=this.getGamepad(a);return t.buttons[r.DPAD_RIGHT]?e.set((t.buttons[r.DPAD_RIGHT].pressed?1:0)+(t.buttons[r.DPAD_LEFT].pressed?-1:0),(t.buttons[r.DPAD_UP].pressed?-1:0)+(t.buttons[r.DPAD_DOWN].pressed?1:0)):e.set(0,0)},isConnected:function(){const e=this.getGamepad(a);return!(!e||!e.connected)},getID:function(){return this.getGamepad(a).id}})},2406:function(e,t,n){n(3386),n(5062),n(2250),n(9048),n(3819),n(9893)},2250:function(e,t,n){n(7454);const r=window.KeyboardEvent;e.exports=AFRAME.registerComponent("keyboard-controls",{schema:{enabled:{default:!0},debug:{default:!1}},init:function(){this.dVelocity=new THREE.Vector3,this.localKeys={},this.listeners={keydown:this.onKeyDown.bind(this),keyup:this.onKeyUp.bind(this),blur:this.onBlur.bind(this)},this.attachEventListeners()},isVelocityActive:function(){return this.data.enabled&&!!Object.keys(this.getKeys()).length},getVelocityDelta:function(){const e=this.data,t=this.getKeys();return this.dVelocity.set(0,0,0),e.enabled&&((t.KeyW||t.ArrowUp)&&(this.dVelocity.z-=1),(t.KeyA||t.ArrowLeft)&&(this.dVelocity.x-=1),(t.KeyS||t.ArrowDown)&&(this.dVelocity.z+=1),(t.KeyD||t.ArrowRight)&&(this.dVelocity.x+=1)),this.dVelocity.clone()},play:function(){this.attachEventListeners()},pause:function(){this.removeEventListeners()},remove:function(){this.pause()},attachEventListeners:function(){window.addEventListener("keydown",this.listeners.keydown,!1),window.addEventListener("keyup",this.listeners.keyup,!1),window.addEventListener("blur",this.listeners.blur,!1)},removeEventListeners:function(){window.removeEventListener("keydown",this.listeners.keydown),window.removeEventListener("keyup",this.listeners.keyup),window.removeEventListener("blur",this.listeners.blur)},onKeyDown:function(e){AFRAME.utils.shouldCaptureKeyEvent(e)&&(this.localKeys[e.code]=!0,this.emit(e))},onKeyUp:function(e){AFRAME.utils.shouldCaptureKeyEvent(e)&&(delete this.localKeys[e.code],this.emit(e))},onBlur:function(){for(let e in this.localKeys)this.localKeys.hasOwnProperty(e)&&delete this.localKeys[e]},emit:function(e){"__keyboard-controls-proxy"in e&&this.el.emit(e.type,e),this.el.emit(e.type+":"+e.code,new r(e.type,e)),this.data.debug&&console.log(e.type+":"+e.code)},isPressed:function(e){return e in this.getKeys()},getKeys:function(){return this.isProxied()?this.el.sceneEl.components["proxy-controls"].getKeyboard():this.localKeys},isProxied:function(){const e=this.el.sceneEl.components["proxy-controls"];return e&&e.isConnected()}})},3819:function(e){const t="-controls";e.exports=AFRAME.registerComponent("movement-controls",{dependencies:["rotation"],schema:{enabled:{default:!0},controls:{default:["gamepad","trackpad","keyboard","touch"]},speed:{default:.3,min:0},fly:{default:!1},constrainToNavMesh:{default:!1},camera:{default:"[movement-controls] [camera]",type:"selector"}},init:function(){const e=this.el;this.velocityCtrl=null,this.velocity=new THREE.Vector3,this.heading=new THREE.Quaternion,this.navGroup=null,this.navNode=null,e.sceneEl.hasLoaded?this.injectControls():e.sceneEl.addEventListener("loaded",this.injectControls.bind(this))},update:function(e){const t=this.el,n=this.data,r=t.sceneEl.systems.nav;t.sceneEl.hasLoaded&&this.injectControls(),r&&n.constrainToNavMesh!==e.constrainToNavMesh&&(n.constrainToNavMesh?r.addAgent(this):r.removeAgent(this))},injectControls:function(){const e=this.data;var n;for(let r=0;r<e.controls.length;r++)n=e.controls[r]+t,this.el.components[n]||this.el.setAttribute(n,"")},updateNavLocation:function(){this.navGroup=null,this.navNode=null},tick:function(){const e=new THREE.Vector3,t=new THREE.Vector3,n=new THREE.Vector3;return function(r,i){if(!i)return;const o=this.el,a=this.data;if(!a.enabled)return;this.updateVelocityCtrl();const s=this.velocityCtrl,l=this.velocity;if(s)if(i/1e3>.2?l.set(0,0,0):this.updateVelocity(i),a.constrainToNavMesh&&!1!==s.isNavMeshConstrained){if(l.lengthSq()<1e-5)return;e.copy(o.object3D.position),t.copy(l).multiplyScalar(i/1e3).add(e);const r=o.sceneEl.systems.nav;this.navGroup=null===this.navGroup?r.getGroup(e):this.navGroup,this.navNode=this.navNode||r.getNode(e,this.navGroup),this.navNode=r.clampStep(e,t,this.navGroup,this.navNode,n),o.object3D.position.copy(n)}else o.hasAttribute("velocity")?o.setAttribute("velocity",l):(o.object3D.position.x+=l.x*i/1e3,o.object3D.position.y+=l.y*i/1e3,o.object3D.position.z+=l.z*i/1e3)}}(),updateVelocityCtrl:function(){const e=this.data;if(e.enabled){for(let n=0,r=e.controls.length;n<r;n++){const r=this.el.components[e.controls[n]+t];if(r&&r.isVelocityActive())return void(this.velocityCtrl=r)}this.velocityCtrl=null}},updateVelocity:function(){const e=new THREE.Vector2,t=new THREE.Quaternion;return function(n){let r;const i=this.el,o=this.velocityCtrl,a=this.velocity,s=this.data;if(o){if(!o.getVelocityDelta){if(o.getVelocity)return void a.copy(o.getVelocity());if(o.getPositionDelta)return void a.copy(o.getPositionDelta(n).multiplyScalar(1e3/n));throw new Error("Incompatible movement controls: ",o)}r=o.getVelocityDelta(n)}if(i.hasAttribute("velocity")&&!s.constrainToNavMesh&&a.copy(this.el.getAttribute("velocity")),r&&s.enabled){const n=s.camera;t.copy(n.object3D.quaternion),t.premultiply(i.object3D.quaternion),r.applyQuaternion(t);const o=r.length();s.fly?(a.copy(r),a.multiplyScalar(16.66667*this.data.speed)):(e.set(r.x,r.z),e.setLength(o*this.data.speed*16.66667),a.x=e.x,a.z=e.y)}}}()})},9048:function(e){e.exports=AFRAME.registerComponent("touch-controls",{schema:{enabled:{default:!0},reverseEnabled:{default:!0}},init:function(){this.dVelocity=new THREE.Vector3,this.bindMethods(),this.direction=0},play:function(){this.addEventListeners()},pause:function(){this.removeEventListeners(),this.dVelocity.set(0,0,0)},remove:function(){this.pause()},addEventListeners:function(){const e=this.el.sceneEl,t=e.canvas;t?(t.addEventListener("touchstart",this.onTouchStart),t.addEventListener("touchend",this.onTouchEnd)):e.addEventListener("render-target-loaded",this.addEventListeners.bind(this))},removeEventListeners:function(){const e=this.el.sceneEl&&this.el.sceneEl.canvas;e&&(e.removeEventListener("touchstart",this.onTouchStart),e.removeEventListener("touchend",this.onTouchEnd))},isVelocityActive:function(){return this.data.enabled&&!!this.direction},getVelocityDelta:function(){return this.dVelocity.z=this.direction,this.dVelocity.clone()},bindMethods:function(){this.onTouchStart=this.onTouchStart.bind(this),this.onTouchEnd=this.onTouchEnd.bind(this)},onTouchStart:function(e){this.direction=-1,this.data.reverseEnabled&&2===e.touches.length&&(this.direction=1),e.preventDefault()},onTouchEnd:function(e){this.direction=0,e.preventDefault()}})},9893:function(e){e.exports=AFRAME.registerComponent("trackpad-controls",{schema:{enabled:{default:!0},enableNegX:{default:!0},enablePosX:{default:!0},enableNegZ:{default:!0},enablePosZ:{default:!0},mode:{default:"touch",oneOf:["swipe","touch","press"]}},init:function(){this.dVelocity=new THREE.Vector3,this.zVel=0,this.xVel=0,this.bindMethods()},play:function(){this.addEventListeners()},pause:function(){this.removeEventListeners(),this.dVelocity.set(0,0,0)},remove:function(){this.pause()},addEventListeners:function(){const e=this.data,t=this.el.sceneEl;switch(t.addEventListener("axismove",this.onAxisMove),e.mode){case"swipe":case"touch":t.addEventListener("trackpadtouchstart",this.onTouchStart),t.addEventListener("trackpadtouchend",this.onTouchEnd);break;case"press":t.addEventListener("trackpaddown",this.onTouchStart),t.addEventListener("trackpadup",this.onTouchEnd)}},removeEventListeners:function(){const e=this.el.sceneEl;e.removeEventListener("axismove",this.onAxisMove),e.removeEventListener("trackpadtouchstart",this.onTouchStart),e.removeEventListener("trackpadtouchend",this.onTouchEnd),e.removeEventListener("trackpaddown",this.onTouchStart),e.removeEventListener("trackpadup",this.onTouchEnd)},isVelocityActive:function(){return this.data.enabled&&this.isMoving},getVelocityDelta:function(){return this.dVelocity.z=this.isMoving?-this.zVel:1,this.dVelocity.x=this.isMoving?this.xVel:1,this.dVelocity.clone()},bindMethods:function(){this.onTouchStart=this.onTouchStart.bind(this),this.onTouchEnd=this.onTouchEnd.bind(this),this.onAxisMove=this.onAxisMove.bind(this)},onTouchStart:function(e){switch(this.data.mode){case"swipe":this.canRecordAxis=!0,this.startingAxisData=[];break;case"touch":case"press":this.isMoving=!0}e.preventDefault()},onTouchEnd:function(e){"swipe"==this.data.mode&&(this.startingAxisData=[]),this.isMoving=!1,e.preventDefault()},onAxisMove:function(e){switch(this.data.mode){case"swipe":return this.handleSwipeAxis(e);case"touch":case"press":return this.handleTouchAxis(e)}},handleSwipeAxis:function(e){const t=this.data,n=e.detail.axis;if(0===this.startingAxisData.length&&this.canRecordAxis&&(this.canRecordAxis=!1,this.startingAxisData[0]=n[0],this.startingAxisData[1]=n[1]),this.startingAxisData.length>0){let e=0,r=0;t.enableNegX&&n[0]<this.startingAxisData[0]&&(e=-1),t.enablePosX&&n[0]>this.startingAxisData[0]&&(e=1),t.enablePosZ&&n[1]>this.startingAxisData[1]&&(r=-1),t.enableNegZ&&n[1]<this.startingAxisData[1]&&(r=1);const i=Math.abs(this.startingAxisData[1]-n[1]);Math.abs(this.startingAxisData[0]-n[0])>i?(this.zVel=0,this.xVel=e,this.isMoving=!0):(this.xVel=0,this.zVel=r,this.isMoving=!0)}},handleTouchAxis:function(e){const t=this.data,n=e.detail.axis;let r=0,i=0;t.enableNegX&&n[0]<0&&(r=-1),t.enablePosX&&n[0]>0&&(r=1),t.enablePosZ&&n[1]>0&&(i=-1),t.enableNegZ&&n[1]<0&&(i=1),Math.abs(n[0])>Math.abs(n[1])?(this.zVel=0,this.xVel=r):(this.xVel=0,this.zVel=i)}})},6591:function(e){const t={once:THREE.LoopOnce,repeat:THREE.LoopRepeat,pingpong:THREE.LoopPingPong};function n(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&")}e.exports=AFRAME.registerComponent("animation-mixer",{schema:{clip:{default:"*"},duration:{default:0},clampWhenFinished:{default:!1,type:"boolean"},crossFadeDuration:{default:0},loop:{default:"repeat",oneOf:Object.keys(t)},repetitions:{default:1/0,min:0},timeScale:{default:1}},init:function(){this.model=null,this.mixer=null,this.activeActions=[];const e=this.el.getObject3D("mesh");e?this.load(e):this.el.addEventListener("model-loaded",(e=>{this.load(e.detail.model)}))},load:function(e){const t=this.el;this.model=e,this.mixer=new THREE.AnimationMixer(e),this.mixer.addEventListener("loop",(e=>{t.emit("animation-loop",{action:e.action,loopDelta:e.loopDelta})})),this.mixer.addEventListener("finished",(e=>{t.emit("animation-finished",{action:e.action,direction:e.direction})})),this.data.clip&&this.update({})},remove:function(){this.mixer&&this.mixer.stopAllAction()},update:function(e){if(!e)return;const n=this.data,r=AFRAME.utils.diff(n,e);if("clip"in r)return this.stopAction(),void(n.clip&&this.playAction());this.activeActions.forEach((e=>{"duration"in r&&n.duration&&e.setDuration(n.duration),"clampWhenFinished"in r&&(e.clampWhenFinished=n.clampWhenFinished),("loop"in r||"repetitions"in r)&&e.setLoop(t[n.loop],n.repetitions),"timeScale"in r&&e.setEffectiveTimeScale(n.timeScale)}))},stopAction:function(){const e=this.data;for(let t=0;t<this.activeActions.length;t++)e.crossFadeDuration?this.activeActions[t].fadeOut(e.crossFadeDuration):this.activeActions[t].stop();this.activeActions.length=0},playAction:function(){if(!this.mixer)return;const e=this.model,r=this.data,i=e.animations||(e.geometry||{}).animations||[];if(!i.length)return;const o=(a=r.clip,new RegExp("^"+a.split(/\*+/).map(n).join(".*")+"$"));var a;for(let n,s=0;n=i[s];s++)if(n.name.match(o)){const i=this.mixer.clipAction(n,e);i.enabled=!0,i.clampWhenFinished=r.clampWhenFinished,r.duration&&i.setDuration(r.duration),1!==r.timeScale&&i.setEffectiveTimeScale(r.timeScale),i.setLoop(t[r.loop],r.repetitions).fadeIn(r.crossFadeDuration).play(),this.activeActions.push(i)}},tick:function(e,t){this.mixer&&!isNaN(t)&&this.mixer.update(t/1e3)}})},2290:function(e,t,n){THREE.ColladaLoader=n(203),e.exports.Component=AFRAME.registerComponent("collada-model-legacy",{schema:{type:"asset"},init:function(){this.model=null,this.loader=new THREE.ColladaLoader},update:function(){var e=this,t=this.el,n=this.data,r=this.el.sceneEl.systems.renderer;n&&(this.remove(),this.loader.load(n,(function(n){e.model=n.scene,e.model.traverse((function(e){if(e.isMesh){var t=e.material;t.color&&r.applyColorCorrection(t.color),t.map&&r.applyColorCorrection(t.map),t.emissive&&r.applyColorCorrection(t.emissive),t.emissiveMap&&r.applyColorCorrection(t.emissiveMap)}})),t.setObject3D("mesh",e.model),t.emit("model-loaded",{format:"collada",model:e.model})})))},remove:function(){this.model&&this.el.removeObject3D("mesh")}})},5310:function(e,t,n){THREE.FBXLoader=n(9434),e.exports=AFRAME.registerComponent("fbx-model",{schema:{src:{type:"asset"},crossorigin:{default:""}},init:function(){this.model=null},update:function(){const e=this.data;if(!e.src)return;this.remove();const t=new THREE.FBXLoader;e.crossorigin&&t.setCrossOrigin(e.crossorigin),t.load(e.src,this.load.bind(this))},load:function(e){this.model=e,this.el.setObject3D("mesh",e),this.el.emit("model-loaded",{format:"fbx",model:e})},remove:function(){this.model&&this.el.removeObject3D("mesh")}})},8837:function(e,t,n){const r=n(4657)(),i=function(){let e;return function(){return e=e||r("https://cdn.jsdelivr.net/gh/mrdoob/three.js@r86/examples/js/loaders/GLTFLoader.js"),e}}();e.exports=AFRAME.registerComponent("gltf-model-legacy",{schema:{type:"model"},init:function(){this.model=null,this.loader=null,this.loaderPromise=i().then((()=>{this.loader=new THREE.GLTFLoader,this.loader.setCrossOrigin("Anonymous")}))},update:function(){const e=this,t=this.el,n=this.data;n&&(this.remove(),this.loaderPromise.then((()=>{this.loader.load(n,(function(n){e.model=n.scene,e.model.animations=n.animations,t.setObject3D("mesh",e.model),t.emit("model-loaded",{format:"gltf",model:e.model})}))})))},remove:function(){this.model&&this.el.removeObject3D("mesh")}})},9874:function(e,t,n){n(6591),n(2290),n(5310),n(8837),n(171)},171:function(e){e.exports=AFRAME.registerComponent("object-model",{schema:{src:{type:"asset"},crossorigin:{default:""}},init:function(){this.model=null},update:function(){let e;const t=this.data;t.src&&(this.remove(),e=new THREE.ObjectLoader,t.crossorigin&&e.setCrossOrigin(t.crossorigin),e.load(t.src,(e=>{e.traverse((e=>{e instanceof THREE.SkinnedMesh&&e.material&&(e.material.skinning=!!(e.geometry&&e.geometry.bones||[]).length)})),this.load(e)})))},load:function(e){this.model=e,this.el.setObject3D("mesh",e),this.el.emit("model-loaded",{format:"json",model:e})},remove:function(){this.model&&this.el.removeObject3D("mesh")}})},7642:function(e){e.exports=AFRAME.registerComponent("checkpoint",{schema:{offset:{default:{x:0,y:0,z:0},type:"vec3"}},init:function(){this.active=!1,this.targetEl=null,this.fire=this.fire.bind(this),this.offset=new THREE.Vector3},update:function(){this.offset.copy(this.data.offset)},play:function(){this.el.addEventListener("click",this.fire)},pause:function(){this.el.removeEventListener("click",this.fire)},remove:function(){this.pause()},fire:function(){const e=this.el.sceneEl.querySelector("[checkpoint-controls]");if(!e)throw new Error("No `checkpoint-controls` component found.");e.components["checkpoint-controls"].setCheckpoint(this.el)},getOffset:function(){return this.offset.copy(this.data.offset)}})},4795:function(e){function t(e,t,n,r){e&&(t=t||[],e.traverse((e=>{if(!e.isMesh)return;var i;((i=e.material)?Array.isArray(i)?i:i.materials?i.materials:[i]:[]).forEach((e=>{e&&!("envMap"in e)||t.length&&-1===t.indexOf(e.name)||(e.envMap=n,e.reflectivity=r,e.needsUpdate=!0)}))})))}e.exports=AFRAME.registerComponent("cube-env-map",{multiple:!0,schema:{path:{default:""},extension:{default:"jpg",oneOf:["jpg","png"]},format:{default:"RGBFormat",oneOf:["RGBFormat","RGBAFormat"]},enableBackground:{default:!1},reflectivity:{default:1,min:0,max:1},materials:{default:[]}},init:function(){const e=this.data;this.texture=(new THREE.CubeTextureLoader).load([e.path+"posx."+e.extension,e.path+"negx."+e.extension,e.path+"posy."+e.extension,e.path+"negy."+e.extension,e.path+"posz."+e.extension,e.path+"negz."+e.extension]),this.texture.format=THREE[e.format],this.object3dsetHandler=()=>{const e=this.el.getObject3D("mesh"),n=this.data;t(e,n.materials,this.texture,n.reflectivity)},this.el.addEventListener("object3dset",this.object3dsetHandler)},update:function(e){const n=this.data,r=this.el.getObject3D("mesh");let i=[],o=[];if(n.materials.length&&(e.materials?(i=n.materials.filter((t=>!e.materials.includes(t))),o=e.materials.filter((e=>!n.materials.includes(e)))):i=n.materials),i.length&&t(r,i,this.texture,n.reflectivity),o.length&&t(r,o,null,1),e.materials&&n.reflectivity!==e.reflectivity){const i=n.materials.filter((t=>e.materials.includes(t)));i.length&&t(r,i,this.texture,n.reflectivity)}this.data.enableBackground&&!e.enableBackground?this.setBackground(this.texture):!this.data.enableBackground&&e.enableBackground&&this.setBackground(null)},remove:function(){this.el.removeEventListener("object3dset",this.object3dsetHandler);const e=this.el.getObject3D("mesh"),n=this.data;t(e,n.materials,null,1),n.enableBackground&&this.setBackground(null)},setBackground:function(e){this.el.sceneEl.object3D.background=e}})},9511:function(e){e.exports=AFRAME.registerComponent("grab",{init:function(){this.system=this.el.sceneEl.systems.physics,this.GRABBED_STATE="grabbed",this.grabbing=!1,this.hitEl=null,this.physics=this.el.sceneEl.systems.physics,this.constraint=null,this.onHit=this.onHit.bind(this),this.onGripOpen=this.onGripOpen.bind(this),this.onGripClose=this.onGripClose.bind(this)},play:function(){const e=this.el;e.addEventListener("hit",this.onHit),e.addEventListener("gripdown",this.onGripClose),e.addEventListener("gripup",this.onGripOpen),e.addEventListener("trackpaddown",this.onGripClose),e.addEventListener("trackpadup",this.onGripOpen),e.addEventListener("triggerdown",this.onGripClose),e.addEventListener("triggerup",this.onGripOpen)},pause:function(){const e=this.el;e.removeEventListener("hit",this.onHit),e.removeEventListener("gripdown",this.onGripClose),e.removeEventListener("gripup",this.onGripOpen),e.removeEventListener("trackpaddown",this.onGripClose),e.removeEventListener("trackpadup",this.onGripOpen),e.removeEventListener("triggerdown",this.onGripClose),e.removeEventListener("triggerup",this.onGripOpen)},onGripClose:function(){this.grabbing=!0},onGripOpen:function(){const e=this.hitEl;this.grabbing=!1,e&&(e.removeState(this.GRABBED_STATE),this.hitEl=void 0,this.system.removeConstraint(this.constraint),this.constraint=null)},onHit:function(e){const t=e.detail.el;t&&!t.is(this.GRABBED_STATE)&&this.grabbing&&!this.hitEl&&(t.addState(this.GRABBED_STATE),this.hitEl=t,this.constraint=new CANNON.LockConstraint(this.el.body,t.body),this.system.addConstraint(this.constraint))}})},9236:function(e,t,n){n(7642),n(4795),n(9511),n(765),n(837),n(8310),n(8240),n(1790)},765:function(e){e.exports=AFRAME.registerComponent("jump-ability",{dependencies:["velocity"],schema:{on:{default:"keydown:Space gamepadbuttondown:0"},playerHeight:{default:1.764},maxJumps:{default:1},distance:{default:5},debug:{default:!1}},init:function(){this.velocity=0,this.numJumps=0;const e=this.beginJump.bind(this),t=this.data.on.split(" ");this.bindings={};for(let n=0;n<t.length;n++)this.bindings[t[n]]=e,this.el.addEventListener(t[n],e);this.bindings.collide=this.onCollide.bind(this),this.el.addEventListener("collide",this.bindings.collide)},remove:function(){for(var e in this.bindings)this.bindings.hasOwnProperty(e)&&(this.el.removeEventListener(e,this.bindings[e]),delete this.bindings[e]);this.el.removeEventListener("collide",this.bindings.collide),delete this.bindings.collide},beginJump:function(){if(this.numJumps<this.data.maxJumps){const e=this.data,t=Math.sqrt(-2*e.distance*-24.8),n=this.el.getAttribute("velocity");this.el.setAttribute("velocity",{x:n.x,y:t,z:n.z}),this.numJumps++,this.el.emit("jumpstart")}},onCollide:function(){this.numJumps>0&&this.el.emit("jumpend"),this.numJumps=0}})},837:function(e){const t=1e-6;e.exports=AFRAME.registerComponent("kinematic-body",{dependencies:["velocity"],schema:{mass:{default:5},radius:{default:1.3},linearDamping:{default:.05},enableSlopes:{default:!0},enableJumps:{default:!1}},init:function(){this.system=this.el.sceneEl.systems.physics,this.system.addComponent(this);const e=this.el,t=this.data,n=(new CANNON.Vec3).copy(e.object3D.getWorldPosition(new THREE.Vector3));this.body=new CANNON.Body({material:this.system.getMaterial("staticMaterial"),position:n,mass:t.mass,linearDamping:t.linearDamping,fixedRotation:!0}),this.body.addShape(new CANNON.Sphere(t.radius),new CANNON.Vec3(0,t.radius,0)),this.body.el=this.el,this.el.body=this.body,this.system.addBody(this.body),e.hasAttribute("wasd-controls")&&console.warn("[kinematic-body] Not compatible with wasd-controls, use movement-controls.")},remove:function(){this.system.removeBody(this.body),this.system.removeComponent(this),delete this.el.body},beforeStep:function(e,t){if(!t)return;const n=this.el,r=this.data,i=this.body;r.enableJumps||i.velocity.set(0,0,0),i.position.copy(n.getAttribute("position"))},step:function(){const e=new THREE.Vector3,n=new THREE.Vector3,r=new THREE.Vector3,i=new THREE.Vector3;return function(o,a){if(!a)return;let s,l,u=this.body,c=this.data,d=!1,f=-1/0,h=this.system.getContacts();a=Math.min(a,1e3*this.system.data.maxInterval),i.set(0,0,0),e.copy(this.el.getAttribute("velocity")),u.velocity.copy(e);for(var p,v=0;p=h[v];v++)if(p.enabled){if(u.id===p.bi.id)p.ni.negate(r);else{if(u.id!==p.bj.id)continue;r.copy(p.ni)}d=u.velocity.dot(r)<-t,d&&r.y<=.5?e.projectOnPlane(r):r.y>.5&&(s=u.id===p.bi.id?Math.abs(p.rj.y+p.bj.position.y):Math.abs(p.ri.y+p.bi.position.y),s>f&&(f=s,i.copy(r),l=u.id===p.bi.id?p.bj:p.bi))}n.copy(e).normalize(),l&&(!c.enableJumps||n.y<.5)?(c.enableSlopes?i.y<1-t&&i.copy(this.raycastToGround(l,i)):i.set(0,1,0),e.projectOnPlane(i)):this.system.driver.world&&e.add(this.system.driver.world.gravity.scale(4*a/1e3)),u.velocity.copy(e),this.el.setAttribute("velocity",u.velocity),this.el.setAttribute("position",u.position)}}(),raycastToGround:function(e,t){let n,r,i=this.body.position,o=this.body.position.clone();return n=new CANNON.Ray(i,o),n._updateDirection(),n.intersectBody(e),n.hasHit?(r=n.result.hitNormalWorld,Math.abs(r.y)>Math.abs(t.y)?r:t):t}})},8310:function(e){e.exports=AFRAME.registerComponent("mesh-smooth",{init:function(){this.el.addEventListener("model-loaded",(e=>{e.detail.model.traverse((e=>{e.isMesh&&e.geometry.computeVertexNormals()}))}))}})},8240:function(e){e.exports=AFRAME.registerComponent("normal-material",{init:function(){this.material=new THREE.MeshNormalMaterial({flatShading:!0}),this.applyMaterial=this.applyMaterial.bind(this),this.el.addEventListener("object3dset",this.applyMaterial)},remove:function(){this.el.removeEventListener("object3dset",this.applyMaterial)},applyMaterial:function(){this.el.object3D.traverse((e=>{e.isMesh&&(e.material=this.material)}))}})},1790:function(e){e.exports=AFRAME.registerComponent("sphere-collider",{schema:{objects:{default:""},state:{default:"collided"},radius:{default:.05},watch:{default:!0}},init:function(){this.observer=null,this.els=[],this.collisions=[],this.handleHit=this.handleHit.bind(this),this.handleHitEnd=this.handleHitEnd.bind(this)},remove:function(){this.pause()},play:function(){const e=this.el.sceneEl;this.data.watch&&(this.observer=new MutationObserver(this.update.bind(this,null)),this.observer.observe(e,{childList:!0,subtree:!0}))},pause:function(){this.observer&&(this.observer.disconnect(),this.observer=null)},update:function(){const e=this.data;let t;t=e.objects?this.el.sceneEl.querySelectorAll(e.objects):this.el.sceneEl.children,this.els=Array.prototype.slice.call(t)},tick:function(){const e=new THREE.Vector3,t=new THREE.Vector3,n=new THREE.Vector3,r=new THREE.Vector3,i=new THREE.Box3,o=new Map;return function(){const a=this.el,s=this.data,l=a.getObject3D("mesh"),u=[];let c;var d;l&&(o.clear(),a.object3D.getWorldPosition(e),a.object3D.getWorldScale(n),c=s.radius*(d=n,Math.max.apply(null,d.toArray())),this.els.forEach((function(n){let a,s,l,d;if(!n.isEntity)return;if(s=n.getObject3D("mesh"),!s)return;if(i.setFromObject(s).getSize(r),d=Math.max(r.x,r.y,r.z)/2,a=Math.sqrt(2*d*d),i.getCenter(t),!a)return;l=e.distanceTo(t),l<a+c&&(u.push(n),o.set(n,l))})),u.sort(((e,t)=>o.get(e)>o.get(t)?1:-1)).forEach(this.handleHit),0===u.length&&a.emit("hit",{el:null}),this.collisions.filter((e=>!o.has(e))).forEach(this.handleHitEnd),this.collisions=u)}}(),handleHit:function(e){e.emit("hit"),e.addState(this.data.state),this.el.emit("hit",{el:e})},handleHitEnd:function(e){e.emit("hitend"),e.removeState(this.data.state),this.el.emit("hitend",{el:e})}})},2578:function(e,t,n){n(8453),n(1250),n(1465)},1250:function(e){e.exports=AFRAME.registerComponent("nav-agent",{schema:{destination:{type:"vec3"},active:{default:!1},speed:{default:2}},init:function(){this.system=this.el.sceneEl.systems.nav,this.system.addAgent(this),this.group=null,this.path=[],this.raycaster=new THREE.Raycaster},remove:function(){this.system.removeAgent(this)},update:function(){this.path.length=0},updateNavLocation:function(){this.group=null,this.path=[]},tick:function(){const e=new THREE.Vector3,t=new THREE.Vector3,n=new THREE.Vector3;return function(r,i){const o=this.el,a=this.data,s=this.raycaster,l=a.speed*i/1e3;if(!a.active)return;if(!this.path.length){const t=this.el.object3D.position;this.group=this.group||this.system.getGroup(t),this.path=this.system.getPath(t,e.copy(a.destination),this.group)||[],o.emit("navigation-start")}if(!this.path.length)return console.warn("[nav] Unable to find path to %o.",a.destination),this.el.setAttribute("nav-agent",{active:!1}),void o.emit("navigation-end");const u=o.object3D.position,c=this.path[0];t.subVectors(c,u);let d;if(t.length()<l){if(this.path.shift(),!this.path.length)return this.el.setAttribute("nav-agent",{active:!1}),void o.emit("navigation-end");n.copy(u),d=this.path[0]}else n.copy(t.setLength(l)).add(u),d=c;d.y=u.y,o.object3D.lookAt(d),s.ray.origin.copy(n),s.ray.origin.y+=1.5,s.ray.direction.y=-1;const f=s.intersectObject(this.system.getNavMesh());f.length?(t.subVectors(f[0].point,u),u.add(t.setLength(l))):u.copy(n)}}()})},8453:function(e){e.exports=AFRAME.registerComponent("nav-mesh",{init:function(){this.system=this.el.sceneEl.systems.nav,this.hasLoadedNavMesh=!1,this.el.addEventListener("object3dset",this.loadNavMesh.bind(this))},play:function(){this.hasLoadedNavMesh||this.loadNavMesh()},loadNavMesh:function(){const e=this.el.getObject3D("mesh"),t=this.el.sceneEl.object3D;if(!e)return;let n;if(e.traverse((e=>{e.isMesh&&(n=e)})),!n)return;const r=n.geometry.isBufferGeometry?(new THREE.Geometry).fromBufferGeometry(n.geometry):n.geometry.clone();t.updateMatrixWorld(),r.applyMatrix(n.matrixWorld),this.system.setNavMeshGeometry(r),this.hasLoadedNavMesh=!0}})},1465:function(e,t,n){const{Pathfinding:r}=n(6594),i=new r,o="level";e.exports=AFRAME.registerSystem("nav",{init:function(){this.navMesh=null,this.agents=new Set},setNavMeshGeometry:function(e){this.navMesh=new THREE.Mesh(e),i.setZoneData(o,r.createZone(e)),Array.from(this.agents).forEach((e=>e.updateNavLocation()))},getNavMesh:function(){return this.navMesh},addAgent:function(e){this.agents.add(e)},removeAgent:function(e){this.agents.delete(e)},getPath:function(e,t,n){return this.navMesh?i.findPath(e,t,o,n):null},getGroup:function(e){return this.navMesh?i.getGroup(o,e):null},getNode:function(e,t){return this.navMesh?i.getClosestNode(e,o,t,!0):null},clampStep:function(e,t,n,r,a){return this.navMesh?r?i.clampStep(e,t,r,o,n,a):(a.copy(t),this.getNode(t,n)):(a.copy(t),null)}})},386:function(e){e.exports=AFRAME.registerPrimitive("a-grid",{defaultComponents:{geometry:{primitive:"plane",width:75,height:75},rotation:{x:-90,y:0,z:0},material:{src:"url(https://cdn.jsdelivr.net/gh/donmccurdy/[email protected]/assets/grid.png)",repeat:"75 75"}},mappings:{width:"geometry.width",height:"geometry.height",src:"material.src"}})},3535:function(e,t,n){const r=n(3471),i=n(2667);e.exports.Primitive=AFRAME.registerPrimitive("a-hexgrid",{defaultComponents:{hexgrid:{}},mappings:{src:"hexgrid.src"}}),e.exports.Component=AFRAME.registerComponent("hexgrid",{dependencies:["material"],schema:{src:{type:"asset"}},init:function(){const e=this.data;e.src?fetch(e.src).then((e=>e.json())).then((e=>this.addMesh(e))):this.addMesh(i)},addMesh:function(e){const t=new r.HexGrid;t.fromJSON(e);const n=new r.Board(t);n.generateTilemap(),this.el.setObject3D("mesh",n.group),this.addMaterial()},addMaterial:function(){const e=(this.el.components.material||{}).material;e&&this.el.object3D.traverse((t=>{t.isMesh&&(t.material=e)}))},remove:function(){this.el.removeObject3D("mesh")}})},9307:function(e){e.exports.Primitive=AFRAME.registerPrimitive("a-ocean",{defaultComponents:{ocean:{},rotation:{x:-90,y:0,z:0}},mappings:{width:"ocean.width",depth:"ocean.depth",density:"ocean.density",amplitude:"ocean.amplitude",amplitudeVariance:"ocean.amplitudeVariance",speed:"ocean.speed",speedVariance:"ocean.speedVariance",color:"ocean.color",opacity:"ocean.opacity"}}),e.exports.Component=AFRAME.registerComponent("ocean",{schema:{width:{default:10,min:0},depth:{default:10,min:0},density:{default:10},amplitude:{default:.1},amplitudeVariance:{default:.3},speed:{default:1},speedVariance:{default:2},color:{default:"#7AD2F7",type:"color"},opacity:{default:.8}},play:function(){const e=this.el,t=this.data;let n=e.components.material;const r=new THREE.PlaneGeometry(t.width,t.depth,t.density,t.density);r.mergeVertices(),this.waves=[];for(let i,o=0,a=r.vertices.length;o<a;o++)i=r.vertices[o],this.waves.push({z:i.z,ang:Math.random()*Math.PI*2,amp:t.amplitude+Math.random()*t.amplitudeVariance,speed:(t.speed+Math.random()*t.speedVariance)/1e3});n||(n={},n.material=new THREE.MeshPhongMaterial({color:t.color,transparent:t.opacity<1,opacity:t.opacity,shading:THREE.FlatShading})),this.mesh=new THREE.Mesh(r,n.material),e.setObject3D("mesh",this.mesh)},remove:function(){this.el.removeObject3D("mesh")},tick:function(e,t){if(!t)return;const n=this.mesh.geometry.vertices;for(let r,i,o=0;r=n[o];o++)i=this.waves[o],r.z=i.z+Math.sin(i.ang)*i.amp,i.ang+=i.speed*t;this.mesh.geometry.verticesNeedUpdate=!0}})},699:function(e){e.exports.Primitive=AFRAME.registerPrimitive("a-tube",{defaultComponents:{tube:{}},mappings:{path:"tube.path",segments:"tube.segments",radius:"tube.radius","radial-segments":"tube.radialSegments",closed:"tube.closed"}}),e.exports.Component=AFRAME.registerComponent("tube",{schema:{path:{default:[]},segments:{default:64},radius:{default:1},radialSegments:{default:8},closed:{default:!1}},init:function(){const e=this.el,t=this.data;let n=e.components.material;if(!t.path.length)return void console.error("[a-tube] `path` property expected but not found.");const r=new THREE.CatmullRomCurve3(t.path.map((function(e){return e=e.split(" "),new THREE.Vector3(Number(e[0]),Number(e[1]),Number(e[2]))}))),i=new THREE.TubeGeometry(r,t.segments,t.radius,t.radialSegments,t.closed);n||(n={},n.material=new THREE.MeshPhongMaterial),this.mesh=new THREE.Mesh(i,n.material),this.el.setObject3D("mesh",this.mesh)},update:function(e){Object.keys(e).length&&(this.remove(),this.init())},remove:function(){this.mesh&&this.el.removeObject3D("mesh")}})},6699:function(e,t,n){n(386),n(3535),n(9307),n(699)},1359:function(e,t,n){if("undefined"===typeof AFRAME)throw new Error("Component attempted to register before AFRAME was available.");let r=n(2539);"default"in r&&(r=r.default);let i=n(1398);"default"in i&&(i=i.default);const o=function(e){return"string"===typeof e?JSON.parse(e):e},a=function(e){if("function"===typeof e)return e;const t=eval;try{return t("("+e+")")}catch(n){}return null},s=function(e){return isNaN(parseFloat(e))?a(e)?a(e):e:parseFloat(e)};AFRAME.registerComponent("forcegraph",{schema:{jsonUrl:{type:"string",default:""},nodes:{parse:o,default:[]},links:{parse:o,default:[]},numDimensions:{type:"number",default:3},dagMode:{type:"string",default:""},dagLevelDistance:{type:"number",default:0},dagNodeFilter:{parse:a,function:()=>!0},onDagError:{parse:a,default:void 0},nodeRelSize:{type:"number",default:4},nodeId:{type:"string",default:"id"},nodeVal:{parse:s,default:"val"},nodeResolution:{type:"number",default:8},nodeVisibility:{parse:s,default:!0},nodeColor:{parse:s,default:"color"},nodeAutoColorBy:{parse:s,default:""},nodeOpacity:{type:"number",default:.75},nodeThreeObject:{parse:s,default:null},nodeThreeObjectExtend:{parse:s,default:!1},linkSource:{type:"string",default:"source"},linkTarget:{type:"string",default:"target"},linkVisibility:{parse:s,default:!0},linkColor:{parse:s,default:"color"},linkAutoColorBy:{parse:s,default:""},linkOpacity:{type:"number",default:.2},linkWidth:{parse:s,default:0},linkResolution:{type:"number",default:6},linkCurvature:{parse:s,default:0},linkCurveRotation:{parse:s,default:0},linkMaterial:{parse:s,default:null},linkThreeObject:{parse:s,default:null},linkThreeObjectExtend:{parse:s,default:!1},linkPositionUpdate:{parse:a,default:null},linkDirectionalArrowLength:{parse:s,default:0},linkDirectionalArrowColor:{parse:s,default:null},linkDirectionalArrowRelPos:{parse:s,default:.5},linkDirectionalArrowResolution:{type:"number",default:8},linkDirectionalParticles:{parse:s,default:0},linkDirectionalParticleSpeed:{parse:s,default:.01},linkDirectionalParticleWidth:{parse:s,default:.5},linkDirectionalParticleColor:{parse:s,default:null},linkDirectionalParticleResolution:{type:"number",default:4},onNodeHover:{parse:a,default:()=>{}},onLinkHover:{parse:a,default:()=>{}},onNodeClick:{parse:a,default:()=>{}},onLinkClick:{parse:a,default:()=>{}},forceEngine:{type:"string",default:"d3"},d3AlphaMin:{type:"number",default:0},d3AlphaDecay:{type:"number",default:.0228},d3VelocityDecay:{type:"number",default:.4},ngraphPhysics:{parse:o,default:null},warmupTicks:{type:"int",default:0},cooldownTicks:{type:"int",default:1e18},cooldownTime:{type:"int",default:15e3},onEngineTick:{parse:a,default:function(){}},onEngineStop:{parse:a,default:function(){}}},getGraphBbox:function(){return this.forceGraph||(this.forceGraph=new i),this.forceGraph.getGraphBbox()},emitParticle:function(){this.forceGraph||(this.forceGraph=new i);const e=this.forceGraph,t=e.emitParticle.apply(e,arguments);return t===e?this:t},d3Force:function(){this.forceGraph||(this.forceGraph=new i);const e=this.forceGraph,t=e.d3Force.apply(e,arguments);return t===e?this:t},d3ReheatSimulation:function(){return this.forceGraph&&this.forceGraph.d3ReheatSimulation(),this},refresh:function(){return this.forceGraph&&this.forceGraph.refresh(),this},init:function(){const e=this.state={};e.infoEl=document.createElement("a-text"),e.infoEl.setAttribute("position","0 -0.1 -1"),e.infoEl.setAttribute("width",1),e.infoEl.setAttribute("align","center"),e.infoEl.setAttribute("color","lavender");const t=document.querySelector("a-entity[camera], a-camera");t.appendChild(e.infoEl),e.cameraObj=t.object3D.children.filter((function(e){return"PerspectiveCamera"===e.type}))[0],this.el.sceneEl.addEventListener("camera-set-active",(function(t){e.cameraObj=t.detail.cameraEl.components.camera.camera})),this.forceGraph||(this.forceGraph=new i),this.forceGraph.onFinishUpdate((()=>this.el.setObject3D("forcegraphGroup",this.forceGraph))).onLoading((()=>e.infoEl.setAttribute("value","Loading..."))).onFinishLoading((()=>e.infoEl.setAttribute("value",""))),this.el.addEventListener("raycaster-intersected",(t=>e.hoverDetail=t.detail)),this.el.addEventListener("raycaster-intersected-cleared",(t=>e.hoverDetail=t.detail)),this.el.addEventListener("click",(()=>e.hoverObj&&this.data["on"+("node"===e.hoverObj.__graphObjType?"Node":"Link")+"Click"](e.hoverObj.__data)))},remove:function(){this.state.infoEl.remove(),this.el.removeObject3D("forcegraphGroup")},update:function(e){const t=this,n=this.data,r=AFRAME.utils.diff(n,e);["jsonUrl","numDimensions","dagMode","dagLevelDistance","dagNodeFilter","onDagError","nodeRelSize","nodeId","nodeVal","nodeResolution","nodeVisibility","nodeColor","nodeAutoColorBy","nodeOpacity","nodeThreeObject","nodeThreeObjectExtend","linkSource","linkTarget","linkVisibility","linkColor","linkAutoColorBy","linkOpacity","linkWidth","linkResolution","linkCurvature","linkCurveRotation","linkMaterial","linkThreeObject","linkThreeObjectExtend","linkPositionUpdate","linkDirectionalArrowLength","linkDirectionalArrowColor","linkDirectionalArrowRelPos","linkDirectionalArrowResolution","linkDirectionalParticles","linkDirectionalParticleSpeed","linkDirectionalParticleWidth","linkDirectionalParticleColor","linkDirectionalParticleResolution","forceEngine","d3AlphaMin","d3AphaDecay","d3VelocityDecay","ngraphPhysics","warmupTicks","cooldownTicks","cooldownTime","onEngineTick","onEngineStop"].filter((function(e){return e in r})).forEach((function(e){t.forceGraph[e](""!==n[e]?n[e]:null)})),("nodes"in r||"links"in r)&&t.forceGraph.graphData({nodes:n.nodes,links:n.links})},tick:function(e,t){const n=this.state,r=this.data,i=n.hoverDetail?n.hoverDetail.getIntersection?n.hoverDetail.getIntersection(this.el):n.hoverDetail.intersection||void 0:void 0;let o=i?i.object:void 0;for(;o&&!o.hasOwnProperty("__graphObjType");)o=o.parent;if(o!==n.hoverObj){const e=n.hoverObj?n.hoverObj.__graphObjType:null,t=n.hoverObj?n.hoverObj.__data:null,i=o?o.__graphObjType:null,a=o?o.__data:null;e&&e!==i&&r["on"+("node"===e?"Node":"Link")+"Hover"](null,t),i&&r["on"+("node"===i?"Node":"Link")+"Hover"](a,e===i?t:null),n.hoverObj=o}this.forceGraph.tickFrame()}})},296:function(e){function t(e,t,n){var r,i,o,a,s;function l(){var u=Date.now()-a;u<t&&u>=0?r=setTimeout(l,t-u):(r=null,n||(s=e.apply(o,i),o=i=null))}null==t&&(t=100);var u=function(){o=this,i=arguments,a=Date.now();var u=n&&!r;return r||(r=setTimeout(l,t)),u&&(s=e.apply(o,i),o=i=null),s};return u.clear=function(){r&&(clearTimeout(r),r=null)},u.flush=function(){r&&(s=e.apply(o,i),o=i=null,clearTimeout(r),r=null)},u}t.debounce=t,e.exports=t},3879:function(e,t,n){var r=n(7236),i=n(6189),o={float:"cssFloat"},a=n(3379);function s(e,t,n){var s=o[t];if("undefined"===typeof s&&(s=function(e){var t=i(e),n=r(t);return o[t]=o[e]=o[n]=n,n}(t)),s){if(void 0===n)return e.style[s];e.style[s]=a(s,n)}}function l(e,t){for(var n in t)t.hasOwnProperty(n)&&s(e,n,t[n])}function u(){2===arguments.length?"string"===typeof arguments[1]?arguments[0].style.cssText=arguments[1]:l(arguments[0],arguments[1]):s(arguments[0],arguments[1],arguments[2])}e.exports=u,e.exports.set=u,e.exports.get=function(e,t){return Array.isArray(t)?t.reduce((function(t,n){return t[n]=s(e,n||""),t}),{}):s(e,t||"")}},3869:function(e,t,n){"use strict";n.d(t,{M:function(){return p}});var r=n(1439),i=n(7294),o=n(6717);var a=n(8626),s=n(5930),l=0;function u(){var e=l;return l++,e}var c=function(e){var t=e.children,n=e.initial,r=e.isPresent,o=e.onExitComplete,l=e.custom,c=e.presenceAffectsLayout,f=(0,s.h)(d),h=(0,s.h)(u),p=(0,i.useMemo)((function(){return{id:h,initial:n,isPresent:r,custom:l,onExitComplete:function(e){f.set(e,!0);var t=!0;f.forEach((function(e){e||(t=!1)})),t&&(null===o||void 0===o||o())},register:function(e){return f.set(e,!1),function(){return f.delete(e)}}}}),c?void 0:[r]);return(0,i.useMemo)((function(){f.forEach((function(e,t){return f.set(t,!1)}))}),[r]),i.useEffect((function(){!r&&!f.size&&(null===o||void 0===o||o())}),[r]),i.createElement(a.O.Provider,{value:p},t)};function d(){return new Map}var f=n(9870);function h(e){return e.key||""}var p=function(e){var t=e.children,n=e.custom,a=e.initial,s=void 0===a||a,l=e.onExitComplete,u=e.exitBeforeEnter,d=e.presenceAffectsLayout,p=void 0===d||d,v=function(){var e=(0,i.useRef)(!1),t=(0,r.CR)((0,i.useState)(0),2),n=t[0],a=t[1];return(0,o.z)((function(){return e.current=!0})),(0,i.useCallback)((function(){!e.current&&a(n+1)}),[n])}(),m=(0,i.useContext)(f.WH);(0,f.Md)(m)&&(v=m.forceUpdate);var g=(0,i.useRef)(!0),y=function(e){var t=[];return i.Children.forEach(e,(function(e){(0,i.isValidElement)(e)&&t.push(e)})),t}(t),b=(0,i.useRef)(y),w=(0,i.useRef)(new Map).current,x=(0,i.useRef)(new Set).current;if(function(e,t){e.forEach((function(e){var n=h(e);t.set(n,e)}))}(y,w),g.current)return g.current=!1,i.createElement(i.Fragment,null,y.map((function(e){return i.createElement(c,{key:h(e),isPresent:!0,initial:!!s&&void 0,presenceAffectsLayout:p},e)})));for(var E=(0,r.ev)([],(0,r.CR)(y)),k=b.current.map(h),T=y.map(h),_=k.length,O=0;O<_;O++){var C=k[O];-1===T.indexOf(C)?x.add(C):x.delete(C)}return u&&x.size&&(E=[]),x.forEach((function(e){if(-1===T.indexOf(e)){var t=w.get(e);if(t){var r=k.indexOf(e);E.splice(r,0,i.createElement(c,{key:h(t),isPresent:!1,onExitComplete:function(){w.delete(e),x.delete(e);var t=b.current.findIndex((function(t){return t.key===e}));b.current.splice(t,1),x.size||(b.current=y,v(),l&&l())},custom:n,presenceAffectsLayout:p},t))}}})),E=E.map((function(e){var t=e.key;return x.has(t)?e:i.createElement(c,{key:h(e),isPresent:!0,presenceAffectsLayout:p},e)})),b.current=E,i.createElement(i.Fragment,null,x.size?E:E.map((function(e){return(0,i.cloneElement)(e)})))}},1053:function(e,t,n){"use strict";var r,i;n.d(t,{z:function(){return r},c:function(){return i}}),function(e){e[e.Entering=0]="Entering",e[e.Present=1]="Present",e[e.Exiting=2]="Exiting"}(r||(r={})),function(e){e[e.Hide=0]="Hide",e[e.Show=1]="Show"}(i||(i={}))},8626:function(e,t,n){"use strict";n.d(t,{O:function(){return r}});var r=(0,n(7294).createContext)(null)},9870:function(e,t,n){"use strict";n.d(t,{bg:function(){return p},WH:function(){return h},Md:function(){return v}});var r=n(7294),i=n(1439),o=n(9839),a=n(8839),s=n(7565),l=n(519),u=n(1053),c={layoutReady:function(e){return e.notifyLayoutReady()}};function d(){var e=new Set;return{add:function(t){return e.add(t)},flush:function(t){var n=void 0===t?c:t,r=n.layoutReady,d=n.parent;(0,s.U)((function(t,n){var s=Array.from(e).sort(l._),c=d?(0,a.kv)(d):[];n((function(){(0,i.ev)((0,i.ev)([],(0,i.CR)(c)),(0,i.CR)(s)).forEach((function(e){return e.resetTransform()}))})),t((function(){s.forEach(a.de)})),n((function(){c.forEach((function(e){return e.restoreTransform()})),s.forEach(r)})),t((function(){s.forEach((function(e){e.isPresent&&(e.presence=u.z.Present)}))})),n((function(){o.iW.preRender(),o.iW.render()})),t((function(){o.ZP.postRender((function(){return s.forEach(f)})),e.clear()}))})),(0,s.R)()}}}function f(e){e.prevViewportBox=e.projection.target}var h=(0,r.createContext)(d()),p=(0,r.createContext)(d());function v(e){return!!e.forceUpdate}},7554:function(e,t,n){"use strict";n.d(t,{E:function(){return Oo}});var r=n(1439),i=n(7294),o=function(e){return{isEnabled:function(t){return e.some((function(e){return!!t[e]}))}}},a={measureLayout:o(["layout","layoutId","drag","_layoutResetTransform"]),animation:o(["animate","exit","variants","whileHover","whileTap","whileFocus","whileDrag"]),exit:o(["exit"]),drag:o(["drag","dragControls"]),focus:o(["whileFocus"]),hover:o(["whileHover","onHoverStart","onHoverEnd"]),tap:o(["whileTap","onTap","onTapStart","onTapCancel"]),pan:o(["onPan","onPanStart","onPanSessionStart","onPanEnd"]),layoutAnimation:o(["layout","layoutId"])};var s=(0,i.createContext)({strict:!1}),l=Object.keys(a),u=l.length;var c=(0,i.createContext)({transformPagePoint:function(e){return e},isStatic:!1}),d=(0,i.createContext)({});var f=n(8626),h=n(5930);function p(){var e=(0,i.useContext)(f.O);if(null===e)return[!0,null];var t=e.isPresent,n=e.onExitComplete,r=e.register,o=y();(0,i.useEffect)((function(){return r(o)}),[]);return!t&&n?[!1,function(){return null===n||void 0===n?void 0:n(o)}]:[!0]}function v(e){return null===e||e.isPresent}var m=0,g=function(){return m++},y=function(){return(0,h.h)(g)},b=(0,i.createContext)(null),w="undefined"!==typeof window,x=w?i.useLayoutEffect:i.useEffect;function E(e,t,n,o){var a=(0,i.useContext)(c),l=(0,i.useContext)(s),u=(0,i.useContext)(d).visualElement,h=(0,i.useContext)(f.O),p=function(e){var t=e.layoutId,n=(0,i.useContext)(b);return n&&void 0!==t?n+"-"+t:t}(n),m=(0,i.useRef)(void 0);o||(o=l.renderer),!m.current&&o&&(m.current=o(e,{visualState:t,parent:u,props:(0,r.pi)((0,r.pi)({},n),{layoutId:p}),presenceId:null===h||void 0===h?void 0:h.id,blockInitialAnimation:!1===(null===h||void 0===h?void 0:h.initial)}));var g=m.current;return x((function(){g&&(g.setProps((0,r.pi)((0,r.pi)((0,r.pi)({},a),n),{layoutId:p})),g.isPresent=v(h),g.isPresenceRoot=!u||u.presenceId!==(null===h||void 0===h?void 0:h.id),g.syncRender())})),(0,i.useEffect)((function(){var e;g&&(null===(e=g.animationState)||void 0===e||e.animateChanges())})),x((function(){return function(){return null===g||void 0===g?void 0:g.notifyUnmount()}}),[]),g}function k(e){return"object"===typeof e&&Object.prototype.hasOwnProperty.call(e,"current")}function T(e){return Array.isArray(e)}function _(e){return"string"===typeof e||T(e)}function O(e,t,n,r,i){var o;return void 0===r&&(r={}),void 0===i&&(i={}),"string"===typeof t&&(t=null===(o=e.variants)||void 0===o?void 0:o[t]),"function"===typeof t?t(null!==n&&void 0!==n?n:e.custom,r,i):t}function C(e,t,n){var r=e.getProps();return O(r,t,null!==n&&void 0!==n?n:r.custom,function(e){var t={};return e.forEachValue((function(e,n){return t[n]=e.get()})),t}(e),function(e){var t={};return e.forEachValue((function(e,n){return t[n]=e.getVelocity()})),t}(e))}function A(e){var t;return"function"===typeof(null===(t=e.animate)||void 0===t?void 0:t.start)||_(e.initial)||_(e.animate)||_(e.whileHover)||_(e.whileDrag)||_(e.whileTap)||_(e.whileFocus)||_(e.exit)}function S(e){return Boolean(A(e)||e.variants)}function P(e,t){var n=function(e,t){if(A(e)){var n=e.initial,r=e.animate;return{initial:!1===n||_(n)?n:void 0,animate:_(r)?r:void 0}}return!1!==e.inherit?t:{}}(e,(0,i.useContext)(d)),r=n.initial,o=n.animate;return(0,i.useMemo)((function(){return{initial:r,animate:o}}),t?[M(r),M(o)]:[])}function M(e){return Array.isArray(e)?e.join(" "):e}function R(e){var t=e.preloadedFeatures,n=e.createVisualElement,o=e.useRender,f=e.useVisualState,h=e.Component;return t&&function(e){for(var t in e){var n=e[t];null!==n&&(a[t].Component=n)}}(t),(0,i.forwardRef)((function(e,t){var p=(0,i.useContext)(c).isStatic,v=null,m=P(e,p),g=f(e,p);return!p&&w&&(m.visualElement=E(h,g,e,n),v=function(e,t,n){var o=[];if((0,i.useContext)(s),!t)return null;for(var c=0;c<u;c++){var d=l[c],f=a[d],h=f.isEnabled,p=f.Component;h(e)&&p&&o.push(i.createElement(p,(0,r.pi)({key:d},e,{visualElement:t})))}return o}(e,m.visualElement)),i.createElement(i.Fragment,null,i.createElement(d.Provider,{value:m},o(h,e,function(e,t,n){return(0,i.useCallback)((function(r){var i;r&&(null===(i=e.mount)||void 0===i||i.call(e,r)),t&&(r?t.mount(r):t.unmount()),n&&("function"===typeof n?n(r):k(n)&&(n.current=r))}),[t])}(g,m.visualElement,t),g,p)),v)}))}function j(e){function t(t,n){return void 0===n&&(n={}),R(e(t,n))}var n=new Map;return new Proxy(t,{get:function(e,r){return n.has(r)||n.set(r,t(r)),n.get(r)}})}var D=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","svg","switch","symbol","text","tspan","use","view"];function L(e){return"string"===typeof e&&!e.includes("-")&&!!(D.indexOf(e)>-1||/[A-Z]/.test(e))}var N={};var I=["","X","Y","Z"],z=["transformPerspective","x","y","z"];function H(e,t){return z.indexOf(e)-z.indexOf(t)}["translate","scale","rotate","skew"].forEach((function(e){return I.forEach((function(t){return z.push(e+t)}))}));var B=new Set(z);function F(e){return B.has(e)}var V=new Set(["originX","originY","originZ"]);function U(e){return V.has(e)}function G(e,t){var n=t.layout,r=t.layoutId;return F(e)||U(e)||(n||void 0!==r)&&(!!N[e]||"opacity"===e)}var q=function(e){return null!==e&&"object"===typeof e&&e.getVelocity},W={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"};function K(e){return e.startsWith("--")}var Z=function(e,t){return t&&"number"===typeof e?t.transform(e):e};var $=function(){return($=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};Object.create;Object.create;var X=function(e,t){return function(n){return Math.max(Math.min(n,t),e)}},Y=function(e){return e%1?Number(e.toFixed(5)):e},Q=/(-)?([\d]*\.?[\d])+/g,J=/(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))/gi,ee=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i;function te(e){return"string"===typeof e}var ne=function(e){return{test:function(t){return te(t)&&t.endsWith(e)&&1===t.split(" ").length},parse:parseFloat,transform:function(t){return""+t+e}}},re=ne("deg"),ie=ne("%"),oe=ne("px"),ae=ne("vh"),se=ne("vw"),le=$($({},ie),{parse:function(e){return ie.parse(e)/100},transform:function(e){return ie.transform(100*e)}}),ue={test:function(e){return"number"===typeof e},parse:parseFloat,transform:function(e){return e}},ce=$($({},ue),{transform:X(0,1)}),de=$($({},ue),{default:1}),fe=(0,r.pi)((0,r.pi)({},ue),{transform:Math.round}),he={borderWidth:oe,borderTopWidth:oe,borderRightWidth:oe,borderBottomWidth:oe,borderLeftWidth:oe,borderRadius:oe,radius:oe,borderTopLeftRadius:oe,borderTopRightRadius:oe,borderBottomRightRadius:oe,borderBottomLeftRadius:oe,width:oe,maxWidth:oe,height:oe,maxHeight:oe,size:oe,top:oe,right:oe,bottom:oe,left:oe,padding:oe,paddingTop:oe,paddingRight:oe,paddingBottom:oe,paddingLeft:oe,margin:oe,marginTop:oe,marginRight:oe,marginBottom:oe,marginLeft:oe,rotate:re,rotateX:re,rotateY:re,rotateZ:re,scale:de,scaleX:de,scaleY:de,scaleZ:de,skew:re,skewX:re,skewY:re,distance:oe,translateX:oe,translateY:oe,translateZ:oe,x:oe,y:oe,z:oe,perspective:oe,transformPerspective:oe,opacity:ce,originX:le,originY:le,originZ:oe,zIndex:fe,fillOpacity:ce,strokeOpacity:ce,numOctaves:fe};function pe(e,t,n,r,i,o,a,s){var l,u=e.style,c=e.vars,d=e.transform,f=e.transformKeys,h=e.transformOrigin;f.length=0;var p=!1,v=!1,m=!0;for(var g in t){var y=t[g];if(K(g))c[g]=y;else{var b=he[g],w=Z(y,b);if(F(g)){if(p=!0,d[g]=w,f.push(g),!m)continue;y!==(null!==(l=b.default)&&void 0!==l?l:0)&&(m=!1)}else if(U(g))h[g]=w,v=!0;else if((null===n||void 0===n?void 0:n.isHydrated)&&(null===r||void 0===r?void 0:r.isHydrated)&&N[g]){var x=N[g].process(y,r,n),E=N[g].applyTo;if(E)for(var k=E.length,T=0;T<k;T++)u[E[T]]=x;else u[g]=x}else u[g]=w}}r&&n&&a&&s?(u.transform=a(r.deltaFinal,r.treeScale,p?d:void 0),o&&(u.transform=o(d,u.transform)),u.transformOrigin=s(r)):(p&&(u.transform=function(e,t,n,r){var i=e.transform,o=e.transformKeys,a=t.enableHardwareAcceleration,s=void 0===a||a,l=t.allowTransformNone,u=void 0===l||l,c="";o.sort(H);for(var d=!1,f=o.length,h=0;h<f;h++){var p=o[h];c+=(W[p]||p)+"("+i[p]+") ","z"===p&&(d=!0)}return!d&&s?c+="translateZ(0)":c=c.trim(),r?c=r(i,n?"":c):u&&n&&(c="none"),c}(e,i,m,o)),v&&(u.transformOrigin=function(e){var t=e.originX,n=void 0===t?"50%":t,r=e.originY,i=void 0===r?"50%":r,o=e.originZ;return n+" "+i+" "+(void 0===o?0:o)}(h)))}var ve=function(){return{style:{},transform:{},transformKeys:[],transformOrigin:{},vars:{}}};function me(e,t,n){for(var r in t)q(t[r])||G(r,n)||(e[r]=t[r])}function ge(e,t,n){var o={};return me(o,e.style||{},e),Object.assign(o,function(e,t,n){var o=e.transformTemplate;return(0,i.useMemo)((function(){var e={style:{},transform:{},transformKeys:[],transformOrigin:{},vars:{}};pe(e,t,void 0,void 0,{enableHardwareAcceleration:!n},o);var i=e.vars,a=e.style;return(0,r.pi)((0,r.pi)({},i),a)}),[t])}(e,t,n)),e.transformValues&&(o=e.transformValues(o)),o}function ye(e,t,n){var r={},i=ge(e,t,n);return Boolean(e.drag)&&(r.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=!0===e.drag?"none":"pan-"+("x"===e.drag?"y":"x")),r.style=i,r}var be=new Set(["initial","animate","exit","style","variants","transition","transformTemplate","transformValues","custom","inherit","layout","layoutId","_layoutResetTransform","onLayoutAnimationComplete","onViewportBoxUpdate","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","drag","dragControls","dragListener","dragConstraints","dragDirectionLock","_dragX","_dragY","dragElastic","dragMomentum","dragPropagation","dragTransition","whileDrag","onPan","onPanStart","onPanEnd","onPanSessionStart","onTap","onTapStart","onTapCancel","onHoverStart","onHoverEnd","whileFocus","whileTap","whileHover"]);function we(e){return be.has(e)}var xe=function(e){return!we(e)};try{var Ee=n(4910).Z;xe=function(e){return e.startsWith("on")?!we(e):Ee(e)}}catch(Co){}function ke(e,t,n){return"string"===typeof e?e:oe.transform(t+n*e)}var Te=function(e,t){return oe.transform(e*t)},_e={offset:"stroke-dashoffset",array:"stroke-dasharray"},Oe={offset:"strokeDashoffset",array:"strokeDasharray"};function Ce(e,t,n,i,o,a,s,l){var u=t.attrX,c=t.attrY,d=t.originX,f=t.originY,h=t.pathLength,p=t.pathSpacing,v=void 0===p?1:p,m=t.pathOffset,g=void 0===m?0:m;pe(e,(0,r._T)(t,["attrX","attrY","originX","originY","pathLength","pathSpacing","pathOffset"]),n,i,o,a,s,l),e.attrs=e.style,e.style={};var y=e.attrs,b=e.style,w=e.dimensions,x=e.totalPathLength;y.transform&&(w&&(b.transform=y.transform),delete y.transform),w&&(void 0!==d||void 0!==f||b.transform)&&(b.transformOrigin=function(e,t,n){return ke(t,e.x,e.width)+" "+ke(n,e.y,e.height)}(w,void 0!==d?d:.5,void 0!==f?f:.5)),void 0!==u&&(y.x=u),void 0!==c&&(y.y=c),void 0!==x&&void 0!==h&&function(e,t,n,r,i,o){void 0===r&&(r=1),void 0===i&&(i=0),void 0===o&&(o=!0);var a=o?_e:Oe;e[a.offset]=Te(-i,t);var s=Te(n,t),l=Te(r,t);e[a.array]=s+" "+l}(y,x,h,v,g,!1)}var Ae=function(){return(0,r.pi)((0,r.pi)({},{style:{},transform:{},transformKeys:[],transformOrigin:{},vars:{}}),{attrs:{}})};function Se(e,t){var n=(0,i.useMemo)((function(){var n=Ae();return Ce(n,t,void 0,void 0,{enableHardwareAcceleration:!1},e.transformTemplate),(0,r.pi)((0,r.pi)({},n.attrs),{style:(0,r.pi)({},n.style)})}),[t]);if(e.style){var o={};me(o,e.style,e),n.style=(0,r.pi)((0,r.pi)({},o),n.style)}return n}function Pe(e){void 0===e&&(e=!1);return function(t,n,o,a,s){var l=a.latestValues,u=(L(t)?Se:ye)(n,l,s),c=function(e,t,n){var r={};for(var i in e)(xe(i)||!0===n&&we(i)||!t&&!we(i))&&(r[i]=e[i]);return r}(n,"string"===typeof t,e),d=(0,r.pi)((0,r.pi)((0,r.pi)({},c),u),{ref:o});return(0,i.createElement)(t,d)}}var Me=/([a-z])([A-Z])/g,Re=function(e){return e.replace(Me,"$1-$2").toLowerCase()};function je(e,t){var n=t.style,r=t.vars;for(var i in Object.assign(e.style,n),r)e.style.setProperty(i,r[i])}var De=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform"]);function Le(e,t){for(var n in je(e,t),t.attrs)e.setAttribute(De.has(n)?n:Re(n),t.attrs[n])}function Ne(e){var t=e.style,n={};for(var r in t)(q(t[r])||G(r,e))&&(n[r]=t[r]);return n}function Ie(e){var t=Ne(e);for(var n in e){if(q(e[n]))t["x"===n||"y"===n?"attr"+n.toUpperCase():n]=e[n]}return t}function ze(e){return"object"===typeof e&&"function"===typeof e.start}var He=function(e){return Array.isArray(e)};function Be(e){var t,n=q(e)?e.get():e;return t=n,Boolean(t&&"object"===typeof t&&t.mix&&t.toValue)?n.toValue():n}function Fe(e,t,n,r){var i=e.scrapeMotionValuesFromProps,o=e.createRenderState,a=e.onMount,s={latestValues:Ue(t,n,r,i),renderState:o()};return a&&(s.mount=function(e){return a(t,e,s)}),s}var Ve=function(e){return function(t,n){var r=(0,i.useContext)(d),o=(0,i.useContext)(f.O);return n?Fe(e,t,r,o):(0,h.h)((function(){return Fe(e,t,r,o)}))}};function Ue(e,t,n,i){var o={},a=!1===(null===n||void 0===n?void 0:n.initial),s=i(e);for(var l in s)o[l]=Be(s[l]);var u=e.initial,c=e.animate,d=A(e),f=S(e);t&&f&&!d&&!1!==e.inherit&&(null!==u&&void 0!==u||(u=t.initial),null!==c&&void 0!==c||(c=t.animate));var h=a||!1===u?c:u;h&&"boolean"!==typeof h&&!ze(h)&&(Array.isArray(h)?h:[h]).forEach((function(t){var n=O(e,t);if(n){var i=n.transitionEnd;n.transition;var a=(0,r._T)(n,["transitionEnd","transition"]);for(var s in a)o[s]=a[s];for(var s in i)o[s]=i[s]}}));return o}var Ge={useVisualState:Ve({scrapeMotionValuesFromProps:Ie,createRenderState:Ae,onMount:function(e,t,n){var r=n.renderState,i=n.latestValues;try{r.dimensions="function"===typeof t.getBBox?t.getBBox():t.getBoundingClientRect()}catch(o){r.dimensions={x:0,y:0,width:0,height:0}}"path"===t.tagName&&(r.totalPathLength=t.getTotalLength()),Ce(r,i,void 0,void 0,{enableHardwareAcceleration:!1},e.transformTemplate),Le(t,r)}})};var qe,We={useVisualState:Ve({scrapeMotionValuesFromProps:Ne,createRenderState:ve})};function Ke(e,t,n,r){return e.addEventListener(t,n,r),function(){return e.removeEventListener(t,n,r)}}function Ze(e,t,n,r){(0,i.useEffect)((function(){var i=e.current;if(n&&i)return Ke(i,t,n,r)}),[e,t,n,r])}function $e(e){return"undefined"!==typeof PointerEvent&&e instanceof PointerEvent?!("mouse"!==e.pointerType):e instanceof MouseEvent}function Xe(e){return!!e.touches}!function(e){e.Animate="animate",e.Hover="whileHover",e.Tap="whileTap",e.Drag="whileDrag",e.Focus="whileFocus",e.Exit="exit"}(qe||(qe={}));var Ye={pageX:0,pageY:0};function Qe(e,t){void 0===t&&(t="page");var n=e.touches[0]||e.changedTouches[0]||Ye;return{x:n[t+"X"],y:n[t+"Y"]}}function Je(e,t){return void 0===t&&(t="page"),{x:e[t+"X"],y:e[t+"Y"]}}function et(e,t){return void 0===t&&(t="page"),{point:Xe(e)?Qe(e,t):Je(e,t)}}var tt=function(e,t){void 0===t&&(t=!1);var n,r=function(t){return e(t,et(t))};return t?(n=r,function(e){var t=e instanceof MouseEvent;(!t||t&&0===e.button)&&n(e)}):r},nt={pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointercancel:"mousecancel",pointerover:"mouseover",pointerout:"mouseout",pointerenter:"mouseenter",pointerleave:"mouseleave"},rt={pointerdown:"touchstart",pointermove:"touchmove",pointerup:"touchend",pointercancel:"touchcancel"};function it(e){return w&&null===window.onpointerdown?e:w&&null===window.ontouchstart?rt[e]:w&&null===window.onmousedown?nt[e]:e}function ot(e,t,n,r){return Ke(e,it(t),tt(n,"pointerdown"===t),r)}function at(e,t,n,r){return Ze(e,it(t),n&&tt(n,"pointerdown"===t),r)}function st(e){var t=null;return function(){return null===t&&(t=e,function(){t=null})}}var lt=st("dragHorizontal"),ut=st("dragVertical");function ct(e){var t=!1;if("y"===e)t=ut();else if("x"===e)t=lt();else{var n=lt(),r=ut();n&&r?t=function(){n(),r()}:(n&&n(),r&&r())}return t}function dt(){var e=ct(!0);return!e||(e(),!1)}function ft(e,t,n){return function(r,i){var o;$e(r)&&!dt()&&(null===n||void 0===n||n(r,i),null===(o=e.animationState)||void 0===o||o.setActive(qe.Hover,t))}}var ht=function(e,t){return!!t&&(e===t||ht(e,t.parentElement))},pt=n(6717),vt=function(e,t){return function(n){return t(e(n))}},mt=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e.reduce(vt)};var gt=function(e){return function(t){return e(t),null}},yt={tap:gt((function(e){var t=e.onTap,n=e.onTapStart,r=e.onTapCancel,o=e.whileTap,a=e.visualElement,s=t||n||r||o,l=(0,i.useRef)(!1),u=(0,i.useRef)(null);function c(){var e;null===(e=u.current)||void 0===e||e.call(u),u.current=null}function d(){var e;return c(),l.current=!1,null===(e=a.animationState)||void 0===e||e.setActive(qe.Tap,!1),!dt()}function f(e,n){d()&&(ht(a.getInstance(),e.target)?null===t||void 0===t||t(e,n):null===r||void 0===r||r(e,n))}function h(e,t){d()&&(null===r||void 0===r||r(e,t))}at(a,"pointerdown",s?function(e,t){var r;c(),l.current||(l.current=!0,u.current=mt(ot(window,"pointerup",f),ot(window,"pointercancel",h)),null===n||void 0===n||n(e,t),null===(r=a.animationState)||void 0===r||r.setActive(qe.Tap,!0))}:void 0),(0,pt.z)(c)})),focus:gt((function(e){var t=e.whileFocus,n=e.visualElement;Ze(n,"focus",t?function(){var e;null===(e=n.animationState)||void 0===e||e.setActive(qe.Focus,!0)}:void 0),Ze(n,"blur",t?function(){var e;null===(e=n.animationState)||void 0===e||e.setActive(qe.Focus,!1)}:void 0)})),hover:gt((function(e){var t=e.onHoverStart,n=e.onHoverEnd,r=e.whileHover,i=e.visualElement;at(i,"pointerenter",t||r?ft(i,!0,t):void 0),at(i,"pointerleave",n||r?ft(i,!1,n):void 0)}))};function bt(e,t){if(!Array.isArray(t))return!1;var n=t.length;if(n!==e.length)return!1;for(var r=0;r<n;r++)if(t[r]!==e[r])return!1;return!0}var wt=function(){return(wt=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function xt(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n}Object.create;Object.create;var Et=function(e,t,n){return Math.min(Math.max(n,e),t)},kt=.001;function Tt(e){var t,n,r=e.duration,i=void 0===r?800:r,o=e.bounce,a=void 0===o?.25:o,s=e.velocity,l=void 0===s?0:s,u=e.mass,c=void 0===u?1:u,d=1-a;d=Et(.05,1,d),i=Et(.01,10,i/1e3),d<1?(t=function(e){var t=e*d,n=t*i,r=t-l,o=_t(e,d),a=Math.exp(-n);return kt-r/o*a},n=function(e){var n=e*d*i,r=n*l+l,o=Math.pow(d,2)*Math.pow(e,2)*i,a=Math.exp(-n),s=_t(Math.pow(e,2),d);return(-t(e)+kt>0?-1:1)*((r-o)*a)/s}):(t=function(e){return Math.exp(-e*i)*((e-l)*i+1)-.001},n=function(e){return Math.exp(-e*i)*(i*i*(l-e))});var f=function(e,t,n){for(var r=n,i=1;i<12;i++)r-=e(r)/t(r);return r}(t,n,5/i);if(i*=1e3,isNaN(f))return{stiffness:100,damping:10,duration:i};var h=Math.pow(f,2)*c;return{stiffness:h,damping:2*d*Math.sqrt(c*h),duration:i}}function _t(e,t){return e*Math.sqrt(1-t*t)}var Ot=["duration","bounce"],Ct=["stiffness","damping","mass"];function At(e,t){return t.some((function(t){return void 0!==e[t]}))}function St(e){var t=e.from,n=void 0===t?0:t,r=e.to,i=void 0===r?1:r,o=e.restSpeed,a=void 0===o?2:o,s=e.restDelta,l=xt(e,["from","to","restSpeed","restDelta"]),u={done:!1,value:n},c=function(e){var t=wt({velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1},e);if(!At(e,Ct)&&At(e,Ot)){var n=Tt(e);(t=wt(wt(wt({},t),n),{velocity:0,mass:1})).isResolvedFromDuration=!0}return t}(l),d=c.stiffness,f=c.damping,h=c.mass,p=c.velocity,v=c.duration,m=c.isResolvedFromDuration,g=Pt,y=Pt;function b(){var e=p?-p/1e3:0,t=i-n,r=f/(2*Math.sqrt(d*h)),o=Math.sqrt(d/h)/1e3;if(null!==s&&void 0!==s||(s=Math.abs(i-n)<=1?.01:.4),r<1){var a=_t(o,r);g=function(n){var s=Math.exp(-r*o*n);return i-s*((e+r*o*t)/a*Math.sin(a*n)+t*Math.cos(a*n))},y=function(n){var i=Math.exp(-r*o*n);return r*o*i*(Math.sin(a*n)*(e+r*o*t)/a+t*Math.cos(a*n))-i*(Math.cos(a*n)*(e+r*o*t)-a*t*Math.sin(a*n))}}else if(1===r)g=function(n){return i-Math.exp(-o*n)*(t+(e+o*t)*n)};else{var l=o*Math.sqrt(r*r-1);g=function(n){var a=Math.exp(-r*o*n),s=Math.min(l*n,300);return i-a*((e+r*o*t)*Math.sinh(s)+l*t*Math.cosh(s))/l}}}return b(),{next:function(e){var t=g(e);if(m)u.done=e>=v;else{var n=1e3*y(e),r=Math.abs(n)<=a,o=Math.abs(i-t)<=s;u.done=r&&o}return u.value=u.done?i:t,u},flipTarget:function(){var e;p=-p,n=(e=[i,n])[0],i=e[1],b()}}}St.needsInterpolation=function(e,t){return"string"===typeof e||"string"===typeof t};var Pt=function(e){return 0},Mt=function(e,t,n){var r=t-e;return 0===r?1:(n-e)/r},Rt=function(e,t,n){return-n*e+n*t+e},jt=function(e,t){return function(n){return Boolean(te(n)&&ee.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t))}},Dt=function(e,t,n){return function(r){var i;if(!te(r))return r;var o=r.match(Q),a=o[0],s=o[1],l=o[2],u=o[3];return(i={})[e]=parseFloat(a),i[t]=parseFloat(s),i[n]=parseFloat(l),i.alpha=void 0!==u?parseFloat(u):1,i}},Lt=X(0,255),Nt=$($({},ue),{transform:function(e){return Math.round(Lt(e))}}),It={test:jt("rgb","red"),parse:Dt("red","green","blue"),transform:function(e){var t=e.red,n=e.green,r=e.blue,i=e.alpha,o=void 0===i?1:i;return"rgba("+Nt.transform(t)+", "+Nt.transform(n)+", "+Nt.transform(r)+", "+Y(ce.transform(o))+")"}};var zt={test:jt("#"),parse:function(e){var t="",n="",r="",i="";return e.length>5?(t=e.substr(1,2),n=e.substr(3,2),r=e.substr(5,2),i=e.substr(7,2)):(t=e.substr(1,1),n=e.substr(2,1),r=e.substr(3,1),i=e.substr(4,1),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}},transform:It.transform},Ht={test:jt("hsl","hue"),parse:Dt("hue","saturation","lightness"),transform:function(e){var t=e.hue,n=e.saturation,r=e.lightness,i=e.alpha,o=void 0===i?1:i;return"hsla("+Math.round(t)+", "+ie.transform(Y(n))+", "+ie.transform(Y(r))+", "+Y(ce.transform(o))+")"}},Bt=function(e,t,n){var r=e*e,i=t*t;return Math.sqrt(Math.max(0,n*(i-r)+r))},Ft=[zt,It,Ht],Vt=function(e){return Ft.find((function(t){return t.test(e)}))},Ut=function(e){return"'"+e+"' is not an animatable color. Use the equivalent color code instead."},Gt=function(e,t){var n=Vt(e),r=Vt(t);Ut(e),Ut(t),n.transform,r.transform;var i=n.parse(e),o=r.parse(t),a=wt({},i),s=n===Ht?Rt:Bt;return function(e){for(var t in a)"alpha"!==t&&(a[t]=s(i[t],o[t],e));return a.alpha=Rt(i.alpha,o.alpha,e),n.transform(a)}},qt={test:function(e){return It.test(e)||zt.test(e)||Ht.test(e)},parse:function(e){return It.test(e)?It.parse(e):Ht.test(e)?Ht.parse(e):zt.parse(e)},transform:function(e){return te(e)?e:e.hasOwnProperty("red")?It.transform(e):Ht.transform(e)}},Wt="${c}",Kt="${n}";function Zt(e){var t=[],n=0,r=e.match(J);r&&(n=r.length,e=e.replace(J,Wt),t.push.apply(t,r.map(qt.parse)));var i=e.match(Q);return i&&(e=e.replace(Q,Kt),t.push.apply(t,i.map(ue.parse))),{values:t,numColors:n,tokenised:e}}function $t(e){return Zt(e).values}function Xt(e){var t=Zt(e),n=t.values,r=t.numColors,i=t.tokenised,o=n.length;return function(e){for(var t=i,n=0;n<o;n++)t=t.replace(n<r?Wt:Kt,n<r?qt.transform(e[n]):Y(e[n]));return t}}var Yt=function(e){return"number"===typeof e?0:e};var Qt={test:function(e){var t,n,r,i;return isNaN(e)&&te(e)&&(null!==(n=null===(t=e.match(Q))||void 0===t?void 0:t.length)&&void 0!==n?n:0)+(null!==(i=null===(r=e.match(J))||void 0===r?void 0:r.length)&&void 0!==i?i:0)>0},parse:$t,createTransformer:Xt,getAnimatableNone:function(e){var t=$t(e);return Xt(e)(t.map(Yt))}},Jt=function(e){return"number"===typeof e};function en(e,t){return Jt(e)?function(n){return Rt(e,t,n)}:qt.test(e)?Gt(e,t):on(e,t)}var tn=function(e,t){var n=function(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||t)}([],e),r=n.length,i=e.map((function(e,n){return en(e,t[n])}));return function(e){for(var t=0;t<r;t++)n[t]=i[t](e);return n}},nn=function(e,t){var n=wt(wt({},e),t),r={};for(var i in n)void 0!==e[i]&&void 0!==t[i]&&(r[i]=en(e[i],t[i]));return function(e){for(var t in r)n[t]=r[t](e);return n}};function rn(e){for(var t=Qt.parse(e),n=t.length,r=0,i=0,o=0,a=0;a<n;a++)r||"number"===typeof t[a]?r++:void 0!==t[a].hue?o++:i++;return{parsed:t,numNumbers:r,numRGB:i,numHSL:o}}var on=function(e,t){var n=Qt.createTransformer(t),r=rn(e),i=rn(t);return r.numHSL===i.numHSL&&r.numRGB===i.numRGB&&(r.numNumbers,i.numNumbers),mt(tn(r.parsed,i.parsed),n)},an=function(e,t){return function(n){return Rt(e,t,n)}};function sn(e,t,n){for(var r,i=[],o=n||("number"===typeof(r=e[0])?an:"string"===typeof r?qt.test(r)?Gt:on:Array.isArray(r)?tn:"object"===typeof r?nn:void 0),a=e.length-1,s=0;s<a;s++){var l=o(e[s],e[s+1]);if(t){var u=Array.isArray(t)?t[s]:t;l=mt(u,l)}i.push(l)}return i}function ln(e,t,n){var r=void 0===n?{}:n,i=r.clamp,o=void 0===i||i,a=r.ease,s=r.mixer,l=e.length;t.length,!a||!Array.isArray(a)||a.length,e[0]>e[l-1]&&(e=[].concat(e),t=[].concat(t),e.reverse(),t.reverse());var u=sn(t,a,s),c=2===l?function(e,t){var n=e[0],r=e[1],i=t[0];return function(e){return i(Mt(n,r,e))}}(e,u):function(e,t){var n=e.length,r=n-1;return function(i){var o=0,a=!1;if(i<=e[0]?a=!0:i>=e[r]&&(o=r-1,a=!0),!a){for(var s=1;s<n&&!(e[s]>i||s===r);s++);o=s-1}var l=Mt(e[o],e[o+1],i);return t[o](l)}}(e,u);return o?function(t){return c(Et(e[0],e[l-1],t))}:c}var un,cn=function(e){return function(t){return 1-e(1-t)}},dn=function(e){return function(t){return t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2}},fn=function(e){return function(t){return t*t*((e+1)*t-e)}},hn=function(e){return e},pn=(un=2,function(e){return Math.pow(e,un)}),vn=cn(pn),mn=dn(pn),gn=function(e){return 1-Math.sin(Math.acos(e))},yn=cn(gn),bn=dn(yn),wn=fn(1.525),xn=cn(wn),En=dn(wn),kn=function(e){var t=fn(e);return function(e){return(e*=2)<1?.5*t(e):.5*(2-Math.pow(2,-10*(e-1)))}}(1.525),Tn=function(e){if(1===e||0===e)return e;var t=e*e;return e<.36363636363636365?7.5625*t:e<.7272727272727273?9.075*t-9.9*e+3.4:e<.9?12.066481994459833*t-19.63545706371191*e+8.898060941828255:10.8*e*e-20.52*e+10.72},_n=cn(Tn);function On(e,t){return e.map((function(){return t||mn})).splice(0,e.length-1)}function Cn(e){var t=e.from,n=void 0===t?0:t,r=e.to,i=void 0===r?1:r,o=e.ease,a=e.offset,s=e.duration,l=void 0===s?300:s,u={done:!1,value:n},c=Array.isArray(i)?i:[n,i],d=function(e,t){return e.map((function(e){return e*t}))}(a&&a.length===c.length?a:function(e){var t=e.length;return e.map((function(e,n){return 0!==n?n/(t-1):0}))}(c),l);function f(){return ln(d,c,{ease:Array.isArray(o)?o:On(c,o)})}var h=f();return{next:function(e){return u.value=h(e),u.done=e>=l,u},flipTarget:function(){c.reverse(),h=f()}}}var An={keyframes:Cn,spring:St,decay:function(e){var t=e.velocity,n=void 0===t?0:t,r=e.from,i=void 0===r?0:r,o=e.power,a=void 0===o?.8:o,s=e.timeConstant,l=void 0===s?350:s,u=e.restDelta,c=void 0===u?.5:u,d=e.modifyTarget,f={done:!1,value:i},h=a*n,p=i+h,v=void 0===d?p:d(p);return v!==p&&(h=v-i),{next:function(e){var t=-h*Math.exp(-e/l);return f.done=!(t>c||t<-c),f.value=f.done?v:v+t,f},flipTarget:function(){}}}};var Sn=n(9839);function Pn(e,t,n){return void 0===n&&(n=0),e-t-n}var Mn=function(e){var t=function(t){var n=t.delta;return e(n)};return{start:function(){return Sn.ZP.update(t,!0)},stop:function(){return Sn.qY.update(t)}}};function Rn(e){var t,n,r,i,o,a=e.from,s=e.autoplay,l=void 0===s||s,u=e.driver,c=void 0===u?Mn:u,d=e.elapsed,f=void 0===d?0:d,h=e.repeat,p=void 0===h?0:h,v=e.repeatType,m=void 0===v?"loop":v,g=e.repeatDelay,y=void 0===g?0:g,b=e.onPlay,w=e.onStop,x=e.onComplete,E=e.onRepeat,k=e.onUpdate,T=xt(e,["from","autoplay","driver","elapsed","repeat","repeatType","repeatDelay","onPlay","onStop","onComplete","onRepeat","onUpdate"]),_=T.to,O=0,C=T.duration,A=!1,S=!0,P=function(e){if(Array.isArray(e.to))return Cn;if(An[e.type])return An[e.type];var t=new Set(Object.keys(e));return t.has("ease")||t.has("duration")&&!t.has("dampingRatio")?Cn:t.has("dampingRatio")||t.has("stiffness")||t.has("mass")||t.has("damping")||t.has("restSpeed")||t.has("restDelta")?St:Cn}(T);(null===(n=(t=P).needsInterpolation)||void 0===n?void 0:n.call(t,a,_))&&(o=ln([0,100],[a,_],{clamp:!1}),a=0,_=100);var M=P(wt(wt({},T),{from:a,to:_}));function R(){O++,"reverse"===m?f=function(e,t,n,r){return void 0===n&&(n=0),void 0===r&&(r=!0),r?Pn(t+-e,t,n):t-(e-t)+n}(f,C,y,S=O%2===0):(f=Pn(f,C,y),"mirror"===m&&M.flipTarget()),A=!1,E&&E()}function j(e){if(S||(e=-e),f+=e,!A){var t=M.next(Math.max(0,f));i=t.value,o&&(i=o(i)),A=S?t.done:f<=0}null===k||void 0===k||k(i),A&&(0===O&&(null!==C&&void 0!==C||(C=f)),O<p?function(e,t,n,r){return r?e>=t+n:e<=-n}(f,C,y,S)&&R():(r.stop(),x&&x()))}return l&&(null===b||void 0===b||b(),(r=c(j)).start()),{stop:function(){null===w||void 0===w||w(),r.stop()}}}function jn(e,t){return t?e*(1e3/t):0}var Dn=function(e){return 1e3*e},Ln=function(e,t){return 1-3*t+3*e},Nn=function(e,t){return 3*t-6*e},In=function(e){return 3*e},zn=function(e,t,n){return((Ln(t,n)*e+Nn(t,n))*e+In(t))*e},Hn=function(e,t,n){return 3*Ln(t,n)*e*e+2*Nn(t,n)*e+In(t)};var Bn=.1;function Fn(e,t,n,r){if(e===t&&n===r)return hn;for(var i=new Float32Array(11),o=0;o<11;++o)i[o]=zn(o*Bn,e,n);function a(t){for(var r=0,o=1;10!==o&&i[o]<=t;++o)r+=Bn;--o;var a=r+(t-i[o])/(i[o+1]-i[o])*Bn,s=Hn(a,e,n);return s>=.001?function(e,t,n,r){for(var i=0;i<8;++i){var o=Hn(t,n,r);if(0===o)return t;t-=(zn(t,n,r)-e)/o}return t}(t,a,e,n):0===s?a:function(e,t,n,r,i){var o,a,s=0;do{(o=zn(a=t+(n-t)/2,r,i)-e)>0?n=a:t=a}while(Math.abs(o)>1e-7&&++s<10);return a}(t,r,r+Bn,e,n)}return function(e){return 0===e||1===e?e:zn(a(e),t,r)}}var Vn={linear:hn,easeIn:pn,easeInOut:mn,easeOut:vn,circIn:gn,circInOut:bn,circOut:yn,backIn:wn,backInOut:En,backOut:xn,anticipate:kn,bounceIn:_n,bounceInOut:function(e){return e<.5?.5*(1-Tn(1-2*e)):.5*Tn(2*e-1)+.5},bounceOut:Tn},Un=function(e){if(Array.isArray(e)){e.length;var t=(0,r.CR)(e,4);return Fn(t[0],t[1],t[2],t[3])}return"string"===typeof e?Vn[e]:e},Gn=function(e,t){return"zIndex"!==e&&(!("number"!==typeof t&&!Array.isArray(t))||!("string"!==typeof t||!Qt.test(t)||t.startsWith("url(")))},qn=function(){return{type:"spring",stiffness:500,damping:25,restDelta:.5,restSpeed:10}},Wn=function(e){return{type:"spring",stiffness:550,damping:0===e?2*Math.sqrt(550):30,restDelta:.01,restSpeed:10}},Kn=function(){return{type:"keyframes",ease:"linear",duration:.3}},Zn=function(e){return{type:"keyframes",duration:.8,values:e}},$n={x:qn,y:qn,z:qn,rotate:qn,rotateX:qn,rotateY:qn,rotateZ:qn,scaleX:Wn,scaleY:Wn,scale:Wn,opacity:Kn,backgroundColor:Kn,color:Kn,default:Wn},Xn=new Set(["brightness","contrast","saturate","opacity"]);function Yn(e){var t=e.slice(0,-1).split("("),n=t[0],r=t[1];if("drop-shadow"===n)return e;var i=(r.match(Q)||[])[0];if(!i)return e;var o=r.replace(i,""),a=Xn.has(n)?1:0;return i!==r&&(a*=100),n+"("+a+o+")"}var Qn=/([a-z-]*)\(.*?\)/g,Jn=$($({},Qt),{getAnimatableNone:function(e){var t=e.match(Qn);return t?t.map(Yn).join(" "):e}}),er=(0,r.pi)((0,r.pi)({},he),{color:qt,backgroundColor:qt,outlineColor:qt,fill:qt,stroke:qt,borderColor:qt,borderTopColor:qt,borderRightColor:qt,borderBottomColor:qt,borderLeftColor:qt,filter:Jn,WebkitFilter:Jn}),tr=function(e){return er[e]};function nr(e,t){var n,r=tr(e);return r!==Jn&&(r=Qt),null===(n=r.getAnimatableNone)||void 0===n?void 0:n.call(r,t)}function rr(e){var t=e.ease,n=e.times,i=e.yoyo,o=e.flip,a=e.loop,s=(0,r._T)(e,["ease","times","yoyo","flip","loop"]),l=(0,r.pi)({},s);return n&&(l.offset=n),s.duration&&(l.duration=Dn(s.duration)),s.repeatDelay&&(l.repeatDelay=Dn(s.repeatDelay)),t&&(l.ease=function(e){return Array.isArray(e)&&"number"!==typeof e[0]}(t)?t.map(Un):Un(t)),"tween"===s.type&&(l.type="keyframes"),(i||a||o)&&(!0,i?l.repeatType="reverse":a?l.repeatType="loop":o&&(l.repeatType="mirror"),l.repeat=a||i||o||s.repeat),"spring"!==s.type&&(l.type="keyframes"),l}function ir(e,t,n){var i;return Array.isArray(t.to)&&(null!==(i=e.duration)&&void 0!==i||(e.duration=.8)),function(e){Array.isArray(e.to)&&null===e.to[0]&&(e.to=(0,r.ev)([],(0,r.CR)(e.to)),e.to[0]=e.from)}(t),function(e){e.when,e.delay,e.delayChildren,e.staggerChildren,e.staggerDirection,e.repeat,e.repeatType,e.repeatDelay,e.from;var t=(0,r._T)(e,["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from"]);return!!Object.keys(t).length}(e)||(e=(0,r.pi)((0,r.pi)({},e),function(e,t){var n;return n=He(t)?Zn:$n[e]||$n.default,(0,r.pi)({to:t},n(t))}(n,t.to))),(0,r.pi)((0,r.pi)({},t),rr(e))}function or(e,t,n,i,o){var a,s=lr(i,e),l=null!==(a=s.from)&&void 0!==a?a:t.get(),u=Gn(e,n);"none"===l&&u&&"string"===typeof n?l=nr(e,n):ar(l)&&"string"===typeof n?l=sr(n):!Array.isArray(n)&&ar(n)&&"string"===typeof l&&(n=sr(l));var c=Gn(e,l);return c&&u&&!1!==s.type?function(){var i={from:l,to:n,velocity:t.getVelocity(),onComplete:o,onUpdate:function(e){return t.set(e)}};return"inertia"===s.type||"decay"===s.type?function(e){var t,n=e.from,r=void 0===n?0:n,i=e.velocity,o=void 0===i?0:i,a=e.min,s=e.max,l=e.power,u=void 0===l?.8:l,c=e.timeConstant,d=void 0===c?750:c,f=e.bounceStiffness,h=void 0===f?500:f,p=e.bounceDamping,v=void 0===p?10:p,m=e.restDelta,g=void 0===m?1:m,y=e.modifyTarget,b=e.driver,w=e.onUpdate,x=e.onComplete;function E(e){return void 0!==a&&e<a||void 0!==s&&e>s}function k(e){return void 0===a?s:void 0===s||Math.abs(a-e)<Math.abs(s-e)?a:s}function T(e){null===t||void 0===t||t.stop(),t=Rn(wt(wt({},e),{driver:b,onUpdate:function(t){var n;null===w||void 0===w||w(t),null===(n=e.onUpdate)||void 0===n||n.call(e,t)},onComplete:x}))}function _(e){T(wt({type:"spring",stiffness:h,damping:v,restDelta:g},e))}if(E(r))_({from:r,velocity:o,to:k(r)});else{var O=u*o+r;"undefined"!==typeof y&&(O=y(O));var C,A,S=k(O),P=S===a?-1:1;T({type:"decay",from:r,velocity:o,timeConstant:d,power:u,restDelta:g,modifyTarget:y,onUpdate:E(O)?function(e){C=A,A=e,o=jn(e-C,(0,Sn.$B)().delta),(1===P&&e>S||-1===P&&e<S)&&_({from:e,to:S,velocity:o})}:void 0})}return{stop:function(){return null===t||void 0===t?void 0:t.stop()}}}((0,r.pi)((0,r.pi)({},i),s)):Rn((0,r.pi)((0,r.pi)({},ir(s,i,e)),{onUpdate:function(e){var t;i.onUpdate(e),null===(t=s.onUpdate)||void 0===t||t.call(s,e)},onComplete:function(){var e;i.onComplete(),null===(e=s.onComplete)||void 0===e||e.call(s)}}))}:function(){var e;return t.set(n),o(),null===(e=null===s||void 0===s?void 0:s.onComplete)||void 0===e||e.call(s),{stop:function(){}}}}function ar(e){return 0===e||"string"===typeof e&&0===parseFloat(e)&&-1===e.indexOf(" ")}function sr(e){return"number"===typeof e?0:nr("",e)}function lr(e,t){return e[t]||e.default||e}function ur(e,t,n,r){return void 0===r&&(r={}),t.start((function(i){var o,a,s=or(e,t,n,r,i),l=function(e,t){var n;return null!==(n=(lr(e,t)||{}).delay)&&void 0!==n?n:0}(r,e),u=function(){return a=s()};return l?o=setTimeout(u,Dn(l)):u(),function(){clearTimeout(o),null===a||void 0===a||a.stop()}}))}function cr(e,t){-1===e.indexOf(t)&&e.push(t)}function dr(e,t){var n=e.indexOf(t);n>-1&&e.splice(n,1)}var fr=function(){function e(){this.subscriptions=[]}return e.prototype.add=function(e){var t=this;return cr(this.subscriptions,e),function(){return dr(t.subscriptions,e)}},e.prototype.notify=function(e,t,n){var r=this.subscriptions.length;if(r)if(1===r)this.subscriptions[0](e,t,n);else for(var i=0;i<r;i++){var o=this.subscriptions[i];o&&o(e,t,n)}},e.prototype.getSize=function(){return this.subscriptions.length},e.prototype.clear=function(){this.subscriptions.length=0},e}(),hr=function(){function e(e){var t,n=this;this.timeDelta=0,this.lastUpdated=0,this.updateSubscribers=new fr,this.velocityUpdateSubscribers=new fr,this.renderSubscribers=new fr,this.canTrackVelocity=!1,this.updateAndNotify=function(e,t){void 0===t&&(t=!0),n.prev=n.current,n.current=e;var r=(0,Sn.$B)(),i=r.delta,o=r.timestamp;n.lastUpdated!==o&&(n.timeDelta=i,n.lastUpdated=o,Sn.ZP.postRender(n.scheduleVelocityCheck)),n.prev!==n.current&&n.updateSubscribers.notify(n.current),n.velocityUpdateSubscribers.getSize()&&n.velocityUpdateSubscribers.notify(n.getVelocity()),t&&n.renderSubscribers.notify(n.current)},this.scheduleVelocityCheck=function(){return Sn.ZP.postRender(n.velocityCheck)},this.velocityCheck=function(e){e.timestamp!==n.lastUpdated&&(n.prev=n.current,n.velocityUpdateSubscribers.notify(n.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=e,this.canTrackVelocity=(t=this.current,!isNaN(parseFloat(t)))}return e.prototype.onChange=function(e){return this.updateSubscribers.add(e)},e.prototype.clearListeners=function(){this.updateSubscribers.clear()},e.prototype.onRenderRequest=function(e){return e(this.get()),this.renderSubscribers.add(e)},e.prototype.attach=function(e){this.passiveEffect=e},e.prototype.set=function(e,t){void 0===t&&(t=!0),t&&this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e,t)},e.prototype.get=function(){return this.current},e.prototype.getPrevious=function(){return this.prev},e.prototype.getVelocity=function(){return this.canTrackVelocity?jn(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0},e.prototype.start=function(e){var t=this;return this.stop(),new Promise((function(n){t.hasAnimated=!0,t.stopAnimation=e(n)})).then((function(){return t.clearAnimation()}))},e.prototype.stop=function(){this.stopAnimation&&this.stopAnimation(),this.clearAnimation()},e.prototype.isAnimating=function(){return!!this.stopAnimation},e.prototype.clearAnimation=function(){this.stopAnimation=null},e.prototype.destroy=function(){this.updateSubscribers.clear(),this.renderSubscribers.clear(),this.stop()},e}();function pr(e){return new hr(e)}var vr=function(e){return function(t){return t.test(e)}},mr=[ue,oe,ie,re,se,ae,{test:function(e){return"auto"===e},parse:function(e){return e}}],gr=function(e){return mr.find(vr(e))},yr=(0,r.ev)((0,r.ev)([],(0,r.CR)(mr)),[qt,Qt]),br=function(e){return yr.find(vr(e))};function wr(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,pr(n))}function xr(e,t){var n=C(e,t),i=n?e.makeTargetAnimatable(n,!1):{},o=i.transitionEnd,a=void 0===o?{}:o;i.transition;var s,l=(0,r._T)(i,["transitionEnd","transition"]);for(var u in l=(0,r.pi)((0,r.pi)({},l),a)){wr(e,u,(s=l[u],He(s)?s[s.length-1]||0:s))}}function Er(e,t){if(t)return(t[e]||t.default||t).from}function kr(e,t,n){var i;void 0===n&&(n={});var o=C(e,t,n.custom),a=(o||{}).transition,s=void 0===a?e.getDefaultTransition()||{}:a;n.transitionOverride&&(s=n.transitionOverride);var l=o?function(){return Tr(e,o,n)}:function(){return Promise.resolve()},u=(null===(i=e.variantChildren)||void 0===i?void 0:i.size)?function(i){void 0===i&&(i=0);var o=s.delayChildren,a=void 0===o?0:o,l=s.staggerChildren,u=s.staggerDirection;return function(e,t,n,i,o,a){void 0===n&&(n=0);void 0===i&&(i=0);void 0===o&&(o=1);var s=[],l=(e.variantChildren.size-1)*i,u=1===o?function(e){return void 0===e&&(e=0),e*i}:function(e){return void 0===e&&(e=0),l-e*i};return Array.from(e.variantChildren).sort(_r).forEach((function(e,i){s.push(kr(e,t,(0,r.pi)((0,r.pi)({},a),{delay:n+u(i)})).then((function(){return e.notifyAnimationComplete(t)})))})),Promise.all(s)}(e,t,a+i,l,u,n)}:function(){return Promise.resolve()},c=s.when;if(c){var d=(0,r.CR)("beforeChildren"===c?[l,u]:[u,l],2),f=d[0],h=d[1];return f().then(h)}return Promise.all([l(),u(n.delay)])}function Tr(e,t,n){var i,o=void 0===n?{}:n,a=o.delay,s=void 0===a?0:a,l=o.transitionOverride,u=o.type,c=e.makeTargetAnimatable(t),d=c.transition,f=void 0===d?e.getDefaultTransition():d,h=c.transitionEnd,p=(0,r._T)(c,["transition","transitionEnd"]);l&&(f=l);var v=[],m=u&&(null===(i=e.animationState)||void 0===i?void 0:i.getState()[u]);for(var g in p){var y=e.getValue(g),b=p[g];if(!(!y||void 0===b||m&&Or(m,g))){var w=ur(g,y,b,(0,r.pi)({delay:s},f));v.push(w)}}return Promise.all(v).then((function(){h&&xr(e,h)}))}function _r(e,t){return e.sortNodePosition(t)}function Or(e,t){var n=e.protectedKeys,r=e.needsAnimating,i=n.hasOwnProperty(t)&&!0!==r[t];return r[t]=!1,i}var Cr=[qe.Animate,qe.Hover,qe.Tap,qe.Drag,qe.Focus,qe.Exit],Ar=(0,r.ev)([],(0,r.CR)(Cr)).reverse(),Sr=Cr.length;function Pr(e){return function(t){return Promise.all(t.map((function(t){var n=t.animation,r=t.options;return function(e,t,n){var r;if(void 0===n&&(n={}),e.notifyAnimationStart(),Array.isArray(t)){var i=t.map((function(t){return kr(e,t,n)}));r=Promise.all(i)}else if("string"===typeof t)r=kr(e,t,n);else{var o="function"===typeof t?C(e,t,n.custom):t;r=Tr(e,o,n)}return r.then((function(){return e.notifyAnimationComplete(t)}))}(e,n,r)})))}}function Mr(e){var t=Pr(e),n=function(){var e;return(e={})[qe.Animate]=Rr(!0),e[qe.Hover]=Rr(),e[qe.Tap]=Rr(),e[qe.Drag]=Rr(),e[qe.Focus]=Rr(),e[qe.Exit]=Rr(),e}(),i={},o=!0,a=function(t,n){var i=C(e,n);if(i){i.transition;var o=i.transitionEnd,a=(0,r._T)(i,["transition","transitionEnd"]);t=(0,r.pi)((0,r.pi)((0,r.pi)({},t),a),o)}return t};function s(s,l){for(var u,c=e.getProps(),d=e.getVariantContext(!0)||{},f=[],h=new Set,p={},v=1/0,m=function(t){var i=Ar[t],m=n[i],g=null!==(u=c[i])&&void 0!==u?u:d[i],y=_(g),b=i===l?m.isActive:null;!1===b&&(v=t);var w=g===d[i]&&g!==c[i]&&y;if(w&&o&&e.manuallyAnimateOnMount&&(w=!1),m.protectedKeys=(0,r.pi)({},p),!m.isActive&&null===b||!g&&!m.prevProp||ze(g)||"boolean"===typeof g)return"continue";var x=function(e,t){if("string"===typeof t)return t!==e;if(T(t))return!bt(t,e);return!1}(m.prevProp,g)||i===l&&m.isActive&&!w&&y||t>v&&y,E=Array.isArray(g)?g:[g],k=E.reduce(a,{});!1===b&&(k={});var O=m.prevResolvedValues,C=void 0===O?{}:O,A=(0,r.pi)((0,r.pi)({},C),k),S=function(e){x=!0,h.delete(e),m.needsAnimating[e]=!0};for(var P in A){var M=k[P],R=C[P];p.hasOwnProperty(P)||(M!==R?He(M)&&He(R)?bt(M,R)?m.protectedKeys[P]=!0:S(P):void 0!==M?S(P):h.add(P):void 0!==M&&h.has(P)?S(P):m.protectedKeys[P]=!0)}m.prevProp=g,m.prevResolvedValues=k,m.isActive&&(p=(0,r.pi)((0,r.pi)({},p),k)),o&&e.blockInitialAnimation&&(x=!1),x&&!w&&f.push.apply(f,(0,r.ev)([],(0,r.CR)(E.map((function(e){return{animation:e,options:(0,r.pi)({type:i},s)}})))))},g=0;g<Sr;g++)m(g);if(i=(0,r.pi)({},p),h.size){var y={};h.forEach((function(t){var n=e.getBaseTarget(t);void 0!==n&&(y[t]=n)})),f.push({animation:y})}var b=Boolean(f.length);return o&&!1===c.initial&&!e.manuallyAnimateOnMount&&(b=!1),o=!1,b?t(f):Promise.resolve()}return{isAnimated:function(e){return void 0!==i[e]},animateChanges:s,setActive:function(t,r,i){var o;return n[t].isActive===r?Promise.resolve():(null===(o=e.variantChildren)||void 0===o||o.forEach((function(e){var n;return null===(n=e.animationState)||void 0===n?void 0:n.setActive(t,r)})),n[t].isActive=r,s(i,t))},setAnimateFunction:function(n){t=n(e)},getState:function(){return n}}}function Rr(e){return void 0===e&&(e=!1),{isActive:e,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}var jr={animation:gt((function(e){var t=e.visualElement,n=e.animate;t.animationState||(t.animationState=Mr(t)),ze(n)&&(0,i.useEffect)((function(){return n.subscribe(t)}),[n])})),exit:gt((function(e){var t=e.custom,n=e.visualElement,o=(0,r.CR)(p(),2),a=o[0],s=o[1],l=(0,i.useContext)(f.O);(0,i.useEffect)((function(){var e,r,i=null===(e=n.animationState)||void 0===e?void 0:e.setActive(qe.Exit,!a,{custom:null!==(r=null===l||void 0===l?void 0:l.custom)&&void 0!==r?r:t});!a&&(null===i||void 0===i||i.then(s))}),[a])}))},Dr=function(e){return e.hasOwnProperty("x")&&e.hasOwnProperty("y")},Lr=function(e){return Dr(e)&&e.hasOwnProperty("z")},Nr=function(e,t){return Math.abs(e-t)};function Ir(e,t){if(Jt(e)&&Jt(t))return Nr(e,t);if(Dr(e)&&Dr(t)){var n=Nr(e.x,t.x),r=Nr(e.y,t.y),i=Lr(e)&&Lr(t)?Nr(e.z,t.z):0;return Math.sqrt(Math.pow(n,2)+Math.pow(r,2)+Math.pow(i,2))}}var zr=function(){function e(e,t,n){var i=this,o=(void 0===n?{}:n).transformPagePoint;if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.updatePoint=function(){if(i.lastMoveEvent&&i.lastMoveEventInfo){var e=Fr(i.lastMoveEventInfo,i.history),t=null!==i.startEvent,n=Ir(e.offset,{x:0,y:0})>=3;if(t||n){var o=e.point,a=(0,Sn.$B)().timestamp;i.history.push((0,r.pi)((0,r.pi)({},o),{timestamp:a}));var s=i.handlers,l=s.onStart,u=s.onMove;t||(l&&l(i.lastMoveEvent,e),i.startEvent=i.lastMoveEvent),u&&u(i.lastMoveEvent,e)}}},this.handlePointerMove=function(e,t){i.lastMoveEvent=e,i.lastMoveEventInfo=Hr(t,i.transformPagePoint),$e(e)&&0===e.buttons?i.handlePointerUp(e,t):Sn.ZP.update(i.updatePoint,!0)},this.handlePointerUp=function(e,t){i.end();var n=i.handlers,r=n.onEnd,o=n.onSessionEnd,a=Fr(Hr(t,i.transformPagePoint),i.history);i.startEvent&&r&&r(e,a),o&&o(e,a)},!(Xe(e)&&e.touches.length>1)){this.handlers=t,this.transformPagePoint=o;var a=Hr(et(e),this.transformPagePoint),s=a.point,l=(0,Sn.$B)().timestamp;this.history=[(0,r.pi)((0,r.pi)({},s),{timestamp:l})];var u=t.onSessionStart;u&&u(e,Fr(a,this.history)),this.removeListeners=mt(ot(window,"pointermove",this.handlePointerMove),ot(window,"pointerup",this.handlePointerUp),ot(window,"pointercancel",this.handlePointerUp))}}return e.prototype.updateHandlers=function(e){this.handlers=e},e.prototype.end=function(){this.removeListeners&&this.removeListeners(),Sn.qY.update(this.updatePoint)},e}();function Hr(e,t){return t?{point:t(e.point)}:e}function Br(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Fr(e,t){var n=e.point;return{point:n,delta:Br(n,Ur(t)),offset:Br(n,Vr(t)),velocity:Gr(t,.1)}}function Vr(e){return e[0]}function Ur(e){return e[e.length-1]}function Gr(e,t){if(e.length<2)return{x:0,y:0};for(var n=e.length-1,r=null,i=Ur(e);n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Dn(t)));)n--;if(!r)return{x:0,y:0};var o=(i.timestamp-r.timestamp)/1e3;if(0===o)return{x:0,y:0};var a={x:(i.x-r.x)/o,y:(i.y-r.y)/o};return a.x===1/0&&(a.x=0),a.y===1/0&&(a.y=0),a}var qr=n(3327);function Wr(e){return[e("x"),e("y")]}function Kr(e,t,n){var r=t.min,i=t.max;return void 0!==r&&e<r?e=n?Rt(r,e,n.min):Math.max(e,r):void 0!==i&&e>i&&(e=n?Rt(i,e,n.max):Math.min(e,i)),e}function Zr(e,t,n){return{min:void 0!==t?e.min+t:void 0,max:void 0!==n?e.max+n-(e.max-e.min):void 0}}function $r(e,t){var n,i=t.min-e.min,o=t.max-e.max;return t.max-t.min<e.max-e.min&&(i=(n=(0,r.CR)([o,i],2))[0],o=n[1]),{min:e.min+i,max:e.min+o}}function Xr(e,t,n){return{min:Yr(e,t),max:Yr(e,n)}}function Yr(e,t){var n;return"number"===typeof e?e:null!==(n=e[t])&&void 0!==n?n:0}function Qr(e,t){var n=e.getBoundingClientRect();return(0,qr.RX)((0,qr.dV)(n,t))}function Jr(e,t,n){return void 0===t&&(t=0),void 0===n&&(n=.01),Ir(e,t)<n}function ei(e){return e.max-e.min}function ti(e,t){var n=.5,r=ei(e),i=ei(t);return i>r?n=Mt(t.min,t.max-r,e.min):r>i&&(n=Mt(e.min,e.max-i,t.min)),Et(0,1,n)}function ni(e,t,n,r){void 0===r&&(r=.5),e.origin=r,e.originPoint=Rt(t.min,t.max,e.origin),e.scale=ei(n)/ei(t),Jr(e.scale,1,1e-4)&&(e.scale=1),e.translate=Rt(n.min,n.max,e.origin)-e.originPoint,Jr(e.translate)&&(e.translate=0)}function ri(e,t,n,r){ni(e.x,t.x,n.x,ii(r.originX)),ni(e.y,t.y,n.y,ii(r.originY))}function ii(e){return"number"===typeof e?e:.5}function oi(e,t,n){e.min=n.min+t.min,e.max=e.min+ei(t)}var ai=n(8839);function si(e,t){return{min:t.min-e.min,max:t.max-e.min}}function li(e,t){return{x:si(e.x,t.x),y:si(e.y,t.y)}}function ui(e,t){var n=e.getLayoutId(),r=t.getLayoutId();return n!==r||void 0===r&&e!==t}function ci(e){var t=e.getProps(),n=t.drag,r=t._dragX;return n&&!r}function di(e,t){e.min=t.min,e.max=t.max}function fi(e,t,n){return n+t*(e-n)}function hi(e,t,n,r,i){return void 0!==i&&(e=fi(e,i,r)),fi(e,n,r)+t}function pi(e,t,n,r,i){void 0===t&&(t=0),void 0===n&&(n=1),e.min=hi(e.min,t,n,r,i),e.max=hi(e.max,t,n,r,i)}function vi(e,t){var n=t.x,r=t.y;pi(e.x,n.translate,n.scale,n.originPoint),pi(e.y,r.translate,r.scale,r.originPoint)}function mi(e,t,n,i){var o=(0,r.CR)(i,3),a=o[0],s=o[1],l=o[2];e.min=t.min,e.max=t.max;var u=void 0!==n[l]?n[l]:.5,c=Rt(t.min,t.max,u);pi(e,n[a],n[s],c,n.scale)}var gi=["x","scaleX","originX"],yi=["y","scaleY","originY"];function bi(e,t,n){mi(e.x,t.x,n,gi),mi(e.y,t.y,n,yi)}function wi(e,t,n,r,i){return e=fi(e-=t,1/n,r),void 0!==i&&(e=fi(e,1/i,r)),e}function xi(e,t,n){var i=(0,r.CR)(n,3),o=i[0],a=i[1],s=i[2];!function(e,t,n,r,i){void 0===t&&(t=0),void 0===n&&(n=1),void 0===r&&(r=.5);var o=Rt(e.min,e.max,r)-t;e.min=wi(e.min,t,n,o,i),e.max=wi(e.max,t,n,o,i)}(e,t[o],t[a],t[s],t.scale)}function Ei(e,t){xi(e.x,t,gi),xi(e.y,t,yi)}var ki,Ti=n(7565),_i=new WeakMap,Oi=function(){function e(e){var t=e.visualElement;this.isDragging=!1,this.currentDirection=null,this.constraints=!1,this.elastic=(0,qr.VZ)(),this.props={},this.hasMutatedConstraints=!1,this.cursorProgress={x:.5,y:.5},this.originPoint={},this.openGlobalLock=null,this.panSession=null,this.visualElement=t,this.visualElement.enableLayoutProjection(),_i.set(t,this)}return e.prototype.start=function(e,t){var n=this,i=void 0===t?{}:t,o=i.snapToCursor,a=void 0!==o&&o,s=i.cursorProgress,l=this.props.transformPagePoint;this.panSession=new zr(e,{onSessionStart:function(e){var t;n.stopMotion();var i=function(e){return et(e,"client")}(e).point;null===(t=n.cancelLayout)||void 0===t||t.call(n),n.cancelLayout=(0,Ti.U)((function(e,t){var o=(0,ai.kv)(n.visualElement),l=(0,ai.e3)(n.visualElement),u=(0,r.ev)((0,r.ev)([],(0,r.CR)(o)),(0,r.CR)(l)),c=!1;n.isLayoutDrag()&&n.visualElement.lockProjectionTarget(),t((function(){u.forEach((function(e){return e.resetTransform()}))})),e((function(){(0,ai.de)(n.visualElement),l.forEach(ai.de)})),t((function(){u.forEach((function(e){return e.restoreTransform()})),a&&(c=n.snapToCursor(i))})),e((function(){Boolean(n.getAxisMotionValue("x")&&!n.isExternalDrag())||n.visualElement.rebaseProjectionTarget(!0,n.visualElement.measureViewportBox(!1)),n.visualElement.scheduleUpdateLayoutProjection();var e=n.visualElement.projection;Wr((function(t){if(!c){var r=e.target[t],o=r.min,a=r.max;n.cursorProgress[t]=s?s[t]:Mt(o,a,i[t])}var l=n.getAxisMotionValue(t);l&&(n.originPoint[t]=l.get())}))})),t((function(){Sn.iW.update(),Sn.iW.preRender(),Sn.iW.render(),Sn.iW.postRender()})),e((function(){return n.resolveDragConstraints()}))}))},onStart:function(e,t){var r,i,o,a=n.props,s=a.drag,l=a.dragPropagation;(!s||l||(n.openGlobalLock&&n.openGlobalLock(),n.openGlobalLock=ct(s),n.openGlobalLock))&&((0,Ti.R)(),n.isDragging=!0,n.currentDirection=null,null===(i=(r=n.props).onDragStart)||void 0===i||i.call(r,e,t),null===(o=n.visualElement.animationState)||void 0===o||o.setActive(qe.Drag,!0))},onMove:function(e,t){var r,i,o,a,s=n.props,l=s.dragPropagation,u=s.dragDirectionLock;if(l||n.openGlobalLock){var c=t.offset;if(u&&null===n.currentDirection)return n.currentDirection=function(e,t){void 0===t&&(t=10);var n=null;Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x");return n}(c),void(null!==n.currentDirection&&(null===(i=(r=n.props).onDirectionLock)||void 0===i||i.call(r,n.currentDirection)));n.updateAxis("x",t.point,c),n.updateAxis("y",t.point,c),null===(a=(o=n.props).onDrag)||void 0===a||a.call(o,e,t),ki=e}},onSessionEnd:function(e,t){return n.stop(e,t)}},{transformPagePoint:l})},e.prototype.resolveDragConstraints=function(){var e=this,t=this.props,n=t.dragConstraints,r=t.dragElastic,i=this.visualElement.getLayoutState().layoutCorrected;this.constraints=!!n&&(k(n)?this.resolveRefConstraints(i,n):function(e,t){var n=t.top,r=t.left,i=t.bottom,o=t.right;return{x:Zr(e.x,r,o),y:Zr(e.y,n,i)}}(i,n)),this.elastic=function(e){return!1===e?e=0:!0===e&&(e=.35),{x:Xr(e,"left","right"),y:Xr(e,"top","bottom")}}(r),this.constraints&&!this.hasMutatedConstraints&&Wr((function(t){e.getAxisMotionValue(t)&&(e.constraints[t]=function(e,t){var n={};return void 0!==t.min&&(n.min=t.min-e.min),void 0!==t.max&&(n.max=t.max-e.min),n}(i[t],e.constraints[t]))}))},e.prototype.resolveRefConstraints=function(e,t){var n=this.props,r=n.onMeasureDragConstraints,i=n.transformPagePoint,o=t.current;this.constraintsBox=Qr(o,i);var a=function(e,t){return{x:$r(e.x,t.x),y:$r(e.y,t.y)}}(e,this.constraintsBox);if(r){var s=r((0,qr._6)(a));this.hasMutatedConstraints=!!s,s&&(a=(0,qr.RX)(s))}return a},e.prototype.cancelDrag=function(){var e,t;this.visualElement.unlockProjectionTarget(),null===(e=this.cancelLayout)||void 0===e||e.call(this),this.isDragging=!1,this.panSession&&this.panSession.end(),this.panSession=null,!this.props.dragPropagation&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),null===(t=this.visualElement.animationState)||void 0===t||t.setActive(qe.Drag,!1)},e.prototype.stop=function(e,t){var n,r,i;null===(n=this.panSession)||void 0===n||n.end(),this.panSession=null;var o=this.isDragging;if(this.cancelDrag(),o){var a=t.velocity;this.animateDragEnd(a),null===(i=(r=this.props).onDragEnd)||void 0===i||i.call(r,e,t)}},e.prototype.snapToCursor=function(e){var t=this;return Wr((function(n){if(Ci(n,t.props.drag,t.currentDirection)){var r=t.getAxisMotionValue(n);if(!r)return t.cursorProgress[n]=.5,!0;var i=t.visualElement.getLayoutState().layout,o=i[n].max-i[n].min,a=i[n].min+o/2,s=e[n]-a;t.originPoint[n]=e[n],r.set(s)}})).includes(!0)},e.prototype.updateAxis=function(e,t,n){if(Ci(e,this.props.drag,this.currentDirection))return this.getAxisMotionValue(e)?this.updateAxisMotionValue(e,n):this.updateVisualElementAxis(e,t)},e.prototype.updateAxisMotionValue=function(e,t){var n=this.getAxisMotionValue(e);if(t&&n){var r=this.originPoint[e]+t[e],i=this.constraints?Kr(r,this.constraints[e],this.elastic[e]):r;n.set(i)}},e.prototype.updateVisualElementAxis=function(e,t){var n,r=this.visualElement.getLayoutState().layout[e],i=r.max-r.min,o=this.cursorProgress[e],a=function(e,t,n,r,i){var o=e-t*n;return r?Kr(o,r,i):o}(t[e],i,o,null===(n=this.constraints)||void 0===n?void 0:n[e],this.elastic[e]);this.visualElement.setProjectionTargetAxis(e,a,a+i)},e.prototype.setProps=function(e){var t=e.drag,n=void 0!==t&&t,i=e.dragDirectionLock,o=void 0!==i&&i,a=e.dragPropagation,s=void 0!==a&&a,l=e.dragConstraints,u=void 0!==l&&l,c=e.dragElastic,d=void 0===c?.35:c,f=e.dragMomentum,h=void 0===f||f,p=(0,r._T)(e,["drag","dragDirectionLock","dragPropagation","dragConstraints","dragElastic","dragMomentum"]);this.props=(0,r.pi)({drag:n,dragDirectionLock:o,dragPropagation:s,dragConstraints:u,dragElastic:d,dragMomentum:h},p)},e.prototype.getAxisMotionValue=function(e){var t=this.props,n=t.layout,r=t.layoutId,i="_drag"+e.toUpperCase();return this.props[i]?this.props[i]:n||void 0!==r?void 0:this.visualElement.getValue(e,0)},e.prototype.isLayoutDrag=function(){return!this.getAxisMotionValue("x")},e.prototype.isExternalDrag=function(){var e=this.props,t=e._dragX,n=e._dragY;return t||n},e.prototype.animateDragEnd=function(e){var t=this,n=this.props,i=n.drag,o=n.dragMomentum,a=n.dragElastic,s=n.dragTransition,l=function(e,t){void 0===t&&(t=!0);var n,r=e.getProjectionParent();return!!r&&(t?Ei(n=li(r.projection.target,e.projection.target),r.getLatestValues()):n=li(r.getLayoutState().layout,e.getLayoutState().layout),Wr((function(t){return e.setProjectionTargetAxis(t,n[t].min,n[t].max,!0)})),!0)}(this.visualElement,this.isLayoutDrag()&&!this.isExternalDrag()),u=this.constraints||{};if(l&&Object.keys(u).length&&this.isLayoutDrag()){var c=this.visualElement.getProjectionParent();if(c){var d=li(c.projection.targetFinal,u);Wr((function(e){var t=d[e],n=t.min,r=t.max;u[e]={min:isNaN(n)?void 0:n,max:isNaN(r)?void 0:r}}))}}var f=Wr((function(n){var c;if(Ci(n,i,t.currentDirection)){var d=null!==(c=null===u||void 0===u?void 0:u[n])&&void 0!==c?c:{},f=a?200:1e6,h=a?40:1e7,p=(0,r.pi)((0,r.pi)({type:"inertia",velocity:o?e[n]:0,bounceStiffness:f,bounceDamping:h,timeConstant:750,restDelta:1,restSpeed:10},s),d);return t.getAxisMotionValue(n)?t.startAxisValueAnimation(n,p):t.visualElement.startLayoutAnimation(n,p,l)}}));return Promise.all(f).then((function(){var e,n;null===(n=(e=t.props).onDragTransitionEnd)||void 0===n||n.call(e)}))},e.prototype.stopMotion=function(){var e=this;Wr((function(t){var n=e.getAxisMotionValue(t);n?n.stop():e.visualElement.stopLayoutAnimation()}))},e.prototype.startAxisValueAnimation=function(e,t){var n=this.getAxisMotionValue(e);if(n){var r=n.get();return n.set(r),n.set(r),ur(e,n,0,t)}},e.prototype.scalePoint=function(){var e=this,t=this.props,n=t.drag;if(k(t.dragConstraints)&&this.constraintsBox){this.stopMotion();var r={x:0,y:0};Wr((function(t){r[t]=ti(e.visualElement.projection.target[t],e.constraintsBox[t])})),this.updateConstraints((function(){Wr((function(t){if(Ci(t,n,null)){var i=function(e,t,n){var r=e.max-e.min,i=Rt(t.min,t.max-r,n);return{min:i,max:i+r}}(e.visualElement.projection.target[t],e.constraintsBox[t],r[t]),o=i.min,a=i.max;e.visualElement.setProjectionTargetAxis(t,o,a)}}))})),setTimeout(Ti.R,1)}},e.prototype.updateConstraints=function(e){var t=this;this.cancelLayout=(0,Ti.U)((function(n,r){var i=(0,ai.kv)(t.visualElement);r((function(){return i.forEach((function(e){return e.resetTransform()}))})),n((function(){return(0,ai.de)(t.visualElement)})),r((function(){return i.forEach((function(e){return e.restoreTransform()}))})),n((function(){t.resolveDragConstraints()})),e&&r(e)}))},e.prototype.mount=function(e){var t=this,n=ot(e.getInstance(),"pointerdown",(function(e){var n=t.props,r=n.drag,i=n.dragListener;r&&(void 0===i||i)&&t.start(e)})),r=Ke(window,"resize",(function(){t.scalePoint()})),i=e.onLayoutUpdate((function(){t.isDragging&&t.resolveDragConstraints()})),o=e.prevDragCursor;return o&&this.start(ki,{cursorProgress:o}),function(){null===n||void 0===n||n(),null===r||void 0===r||r(),null===i||void 0===i||i(),t.cancelDrag()}},e}();function Ci(e,t,n){return(!0===t||t===e)&&(null===n||n===e)}var Ai={pan:gt((function(e){var t=e.onPan,n=e.onPanStart,r=e.onPanEnd,o=e.onPanSessionStart,a=e.visualElement,s=t||n||r||o,l=(0,i.useRef)(null),u=(0,i.useContext)(c).transformPagePoint,d={onSessionStart:o,onStart:n,onMove:t,onEnd:function(e,t){l.current=null,r&&r(e,t)}};(0,i.useEffect)((function(){null!==l.current&&l.current.updateHandlers(d)})),at(a,"pointerdown",s&&function(e){l.current=new zr(e,d,{transformPagePoint:u})}),(0,pt.z)((function(){return l.current&&l.current.end()}))})),drag:gt((function(e){var t=e.dragControls,n=e.visualElement,o=(0,i.useContext)(c).transformPagePoint,a=(0,h.h)((function(){return new Oi({visualElement:n})}));a.setProps((0,r.pi)((0,r.pi)({},e),{transformPagePoint:o})),(0,i.useEffect)((function(){return t&&t.subscribe(a)}),[a]),(0,i.useEffect)((function(){return a.mount(n)}),[])}))},Si=n(1053);function Pi(e){return"string"===typeof e&&e.startsWith("var(--")}var Mi=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function Ri(e,t,n){void 0===n&&(n=1);var i=(0,r.CR)(function(e){var t=Mi.exec(e);if(!t)return[,];var n=(0,r.CR)(t,3);return[n[1],n[2]]}(e),2),o=i[0],a=i[1];if(o){var s=window.getComputedStyle(t).getPropertyValue(o);return s?s.trim():Pi(a)?Ri(a,t,n+1):a}}function ji(e,t){return e/(t.max-t.min)*100}var Di="_$css";var Li={process:function(e,t,n){var r=n.target;if("string"===typeof e){if(!oe.test(e))return e;e=parseFloat(e)}return ji(e,r.x)+"% "+ji(e,r.y)+"%"}},Ni={borderRadius:(0,r.pi)((0,r.pi)({},Li),{applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]}),borderTopLeftRadius:Li,borderTopRightRadius:Li,borderBottomLeftRadius:Li,borderBottomRightRadius:Li,boxShadow:{process:function(e,t){var n=t.delta,r=t.treeScale,i=e,o=e.includes("var("),a=[];o&&(e=e.replace(Mi,(function(e){return a.push(e),Di})));var s=Qt.parse(e);if(s.length>5)return i;var l=Qt.createTransformer(e),u="number"!==typeof s[0]?1:0,c=n.x.scale*r.x,d=n.y.scale*r.y;s[0+u]/=c,s[1+u]/=d;var f=Rt(c,d,.5);"number"===typeof s[2+u]&&(s[2+u]/=f),"number"===typeof s[3+u]&&(s[3+u]/=f);var h=l(s);if(o){var p=0;h=h.replace(Di,(function(){var e=a[p];return p++,e}))}return h}}},Ii=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.frameTarget=(0,qr.VZ)(),t.currentAnimationTarget=(0,qr.VZ)(),t.isAnimating={x:!1,y:!1},t.stopAxisAnimation={x:void 0,y:void 0},t.isAnimatingTree=!1,t.animate=function(e,n,i){void 0===i&&(i={});var o=i.originBox,a=i.targetBox,s=i.visibilityAction,l=i.shouldStackAnimate,u=i.onComplete,c=i.prevParent,d=(0,r._T)(i,["originBox","targetBox","visibilityAction","shouldStackAnimate","onComplete","prevParent"]),f=t.props,h=f.visualElement,p=f.layout;if(!1===l)return t.isAnimatingTree=!1,t.safeToRemove();if(!t.isAnimatingTree||!0===l){l&&(t.isAnimatingTree=!0),n=o||n,e=a||e;var v=!1,m=h.getProjectionParent();if(m){var g=m.prevViewportBox,y=m.getLayoutState().layout;c&&(a&&(y=c.getLayoutState().layout),o&&!ui(c,m)&&c.prevViewportBox&&(g=c.prevViewportBox)),g&&Ui(c,o,a)&&(v=!0,n=li(g,n),e=li(y,e))}var b=zi(n,e),w=Wr((function(i){var o,a;if("position"===p){var l=e[i].max-e[i].min;n[i].max=n[i].min+l}if(!h.projection.isTargetLocked)return void 0===s?b?t.animateAxis(i,e[i],n[i],(0,r.pi)((0,r.pi)({},d),{isRelative:v})):(null===(a=(o=t.stopAxisAnimation)[i])||void 0===a||a.call(o),h.setProjectionTargetAxis(i,e[i].min,e[i].max,v)):void h.setVisibility(s===Si.c.Show)}));return h.syncRender(),Promise.all(w).then((function(){t.isAnimatingTree=!1,u&&u(),h.notifyLayoutAnimationComplete()}))}},t}return(0,r.ZT)(t,e),t.prototype.componentDidMount=function(){var e=this,t=this.props.visualElement;t.animateMotionValue=ur,t.enableLayoutProjection(),this.unsubLayoutReady=t.onLayoutUpdate(this.animate),t.layoutSafeToRemove=function(){return e.safeToRemove()},function(e){for(var t in e)N[t]=e[t]}(Ni)},t.prototype.componentWillUnmount=function(){var e=this;this.unsubLayoutReady(),Wr((function(t){var n,r;return null===(r=(n=e.stopAxisAnimation)[t])||void 0===r?void 0:r.call(n)}))},t.prototype.animateAxis=function(e,t,n,r){var i,o,a=this,s=void 0===r?{}:r,l=s.transition,u=s.isRelative;if(!this.isAnimating[e]||!Fi(t,this.currentAnimationTarget[e])){null===(o=(i=this.stopAxisAnimation)[e])||void 0===o||o.call(i),this.isAnimating[e]=!0;var c=this.props.visualElement,d=this.frameTarget[e],f=c.getProjectionAnimationProgress()[e];f.clearListeners(),f.set(0),f.set(0);var h=function(){var r=f.get()/1e3;!function(e,t,n,r){e.min=Rt(t.min,n.min,r),e.max=Rt(t.max,n.max,r)}(d,n,t,r),c.setProjectionTargetAxis(e,d.min,d.max,u)};h();var p=f.onChange(h);this.stopAxisAnimation[e]=function(){a.isAnimating[e]=!1,f.stop(),p()},this.currentAnimationTarget[e]=t;var v=l||c.getDefaultTransition()||Vi;return ur("x"===e?"layoutX":"layoutY",f,1e3,v&&lr(v,"layout")).then(this.stopAxisAnimation[e])}},t.prototype.safeToRemove=function(){var e,t;null===(t=(e=this.props).safeToRemove)||void 0===t||t.call(e)},t.prototype.render=function(){return null},t}(i.Component);function zi(e,t){return!Bi(e)&&!Bi(t)&&(!Fi(e.x,t.x)||!Fi(e.y,t.y))}var Hi={min:0,max:0};function Bi(e){return Fi(e.x,Hi)&&Fi(e.y,Hi)}function Fi(e,t){return e.min===t.min&&e.max===t.max}var Vi={duration:.45,ease:[.4,0,.1,1]};function Ui(e,t,n){return e||!e&&!(t||n)}var Gi=n(9870),qi=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return(0,r.ZT)(t,e),t.prototype.componentDidMount=function(){var e=this.props,t=e.syncLayout,n=e.framerSyncLayout,r=e.visualElement;(0,Gi.Md)(t)&&t.register(r),(0,Gi.Md)(n)&&n.register(r),r.onUnmount((function(){(0,Gi.Md)(t)&&t.remove(r),(0,Gi.Md)(n)&&n.remove(r)}))},t.prototype.getSnapshotBeforeUpdate=function(){var e=this.props,t=e.syncLayout,n=e.visualElement;return(0,Gi.Md)(t)?t.syncUpdate():((0,ai.x7)(n),t.add(n)),null},t.prototype.componentDidUpdate=function(){var e=this.props.syncLayout;(0,Gi.Md)(e)||e.flush()},t.prototype.render=function(){return null},t}(i.Component);var Wi={measureLayout:function(e){var t=(0,i.useContext)(Gi.WH),n=(0,i.useContext)(Gi.bg);return i.createElement(qi,(0,r.pi)({},e,{syncLayout:t,framerSyncLayout:n}))},layoutAnimation:function(e){var t=(0,r.CR)(p(),2)[1];return i.createElement(Ii,(0,r.pi)({},e,{safeToRemove:t}))}};function Ki(){return{isHydrated:!1,layout:(0,qr.VZ)(),layoutCorrected:(0,qr.VZ)(),treeScale:{x:1,y:1},delta:(0,qr.pY)(),deltaFinal:(0,qr.pY)(),deltaTransform:""}}var Zi=Ki();function $i(e,t,n){var r=e.x,i=e.y,o="translate3d("+r.translate/t.x+"px, "+i.translate/t.y+"px, 0) ";if(n){var a=n.rotate,s=n.rotateX,l=n.rotateY;a&&(o+="rotate("+a+") "),s&&(o+="rotateX("+s+") "),l&&(o+="rotateY("+l+") ")}return o+="scale("+r.scale+", "+i.scale+")",n||o!==Yi?o:""}function Xi(e){var t=e.deltaFinal;return 100*t.x.origin+"% "+100*t.y.origin+"% 0"}var Yi=$i(Zi.delta,Zi.treeScale,{x:1,y:1}),Qi=["LayoutMeasure","BeforeLayoutMeasure","LayoutUpdate","ViewportBoxUpdate","Update","Render","AnimationComplete","LayoutAnimationComplete","AnimationStart","SetAxisTarget","Unmount"];function Ji(e,t,n,r){var i,o,a=e.delta,s=e.layout,l=e.layoutCorrected,u=e.treeScale,c=t.target;o=s,di((i=l).x,o.x),di(i.y,o.y),function(e,t,n){var r=n.length;if(r){var i,o;t.x=t.y=1;for(var a=0;a<r;a++)o=(i=n[a]).getLayoutState().delta,t.x*=o.x.scale,t.y*=o.y.scale,vi(e,o),ci(i)&&bi(e,e,i.getLatestValues())}}(l,u,n),ri(a,l,c,r)}var eo=n(519),to=function(){function e(){this.children=[],this.isDirty=!1}return e.prototype.add=function(e){cr(this.children,e),this.isDirty=!0},e.prototype.remove=function(e){dr(this.children,e),this.isDirty=!0},e.prototype.forEach=function(e){this.isDirty&&this.children.sort(eo._),this.isDirty=!1,this.children.forEach(e)},e}();var no=function(e){var t=e.treeType,n=void 0===t?"":t,i=e.build,o=e.getBaseTarget,a=e.makeTargetAnimatable,s=e.measureViewportBox,l=e.render,u=e.readValueFromInstance,c=e.resetTransform,d=e.restoreTransform,f=e.removeValueFromRenderState,h=e.sortNodePosition,p=e.scrapeMotionValuesFromProps;return function(e,t){var v=e.parent,m=e.props,g=e.presenceId,y=e.blockInitialAnimation,b=e.visualState;void 0===t&&(t={});var w,x,E,k,T,O,C=b.latestValues,P=b.renderState,M=function(){var e=Qi.map((function(){return new fr})),t={},n={clearAllListeners:function(){return e.forEach((function(e){return e.clear()}))},updatePropListeners:function(e){return Qi.forEach((function(r){var i;null===(i=t[r])||void 0===i||i.call(t);var o="on"+r,a=e[o];a&&(t[r]=n[o](a))}))}};return e.forEach((function(e,t){n["on"+Qi[t]]=function(t){return e.add(t)},n["notify"+Qi[t]]=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return e.notify.apply(e,(0,r.ev)([],(0,r.CR)(t)))}})),n}(),R={isEnabled:!1,isHydrated:!1,isTargetLocked:!1,target:(0,qr.VZ)(),targetFinal:(0,qr.VZ)()},j=R,D=C,L=Ki(),N=!1,I=new Map,z=new Map,H={},B=(0,r.pi)({},C);function F(){w&&(Y.isProjectionReady()&&(bi(j.targetFinal,j.target,D),ri(L.deltaFinal,L.layoutCorrected,j.targetFinal,C)),V(),l(w,P))}function V(){var e=C;if(k&&k.isActive()){var n=k.getCrossfadeState(Y);n&&(e=n)}i(Y,P,e,j,L,t,m)}function U(){M.notifyUpdate(C)}function G(){Y.layoutTree.forEach(io)}var W=p(m);for(var K in W){var Z=W[K];void 0!==C[K]&&q(Z)&&Z.set(C[K],!1)}var $=A(m),X=S(m),Y=(0,r.pi)((0,r.pi)({treeType:n,current:null,depth:v?v.depth+1:0,parent:v,children:new Set,path:v?(0,r.ev)((0,r.ev)([],(0,r.CR)(v.path)),[v]):[],layoutTree:v?v.layoutTree:new to,presenceId:g,projection:R,variantChildren:X?new Set:void 0,isVisible:void 0,manuallyAnimateOnMount:Boolean(null===v||void 0===v?void 0:v.isMounted()),blockInitialAnimation:y,isMounted:function(){return Boolean(w)},mount:function(e){w=Y.current=e,Y.pointTo(Y),X&&v&&!$&&(O=null===v||void 0===v?void 0:v.addVariantChild(Y)),null===v||void 0===v||v.children.add(Y)},unmount:function(){Sn.qY.update(U),Sn.qY.render(F),Sn.qY.preRender(Y.updateLayoutProjection),z.forEach((function(e){return e()})),Y.stopLayoutAnimation(),Y.layoutTree.remove(Y),null===O||void 0===O||O(),null===v||void 0===v||v.children.delete(Y),null===E||void 0===E||E(),M.clearAllListeners()},addVariantChild:function(e){var t,n=Y.getClosestVariantNode();if(n)return null===(t=n.variantChildren)||void 0===t||t.add(e),function(){return n.variantChildren.delete(e)}},sortNodePosition:function(e){return h&&n===e.treeType?h(Y.getInstance(),e.getInstance()):0},getClosestVariantNode:function(){return X?Y:null===v||void 0===v?void 0:v.getClosestVariantNode()},scheduleUpdateLayoutProjection:v?v.scheduleUpdateLayoutProjection:function(){return Sn.ZP.preRender(Y.updateTreeLayoutProjection,!1,!0)},getLayoutId:function(){return m.layoutId},getInstance:function(){return w},getStaticValue:function(e){return C[e]},setStaticValue:function(e,t){return C[e]=t},getLatestValues:function(){return C},setVisibility:function(e){Y.isVisible!==e&&(Y.isVisible=e,Y.scheduleRender())},makeTargetAnimatable:function(e,t){return void 0===t&&(t=!0),a(Y,e,m,t)},addValue:function(e,t){Y.hasValue(e)&&Y.removeValue(e),I.set(e,t),C[e]=t.get(),function(e,t){var n=t.onChange((function(t){C[e]=t,m.onUpdate&&Sn.ZP.update(U,!1,!0)})),r=t.onRenderRequest(Y.scheduleRender);z.set(e,(function(){n(),r()}))}(e,t)},removeValue:function(e){var t;I.delete(e),null===(t=z.get(e))||void 0===t||t(),z.delete(e),delete C[e],f(e,P)},hasValue:function(e){return I.has(e)},getValue:function(e,t){var n=I.get(e);return void 0===n&&void 0!==t&&(n=pr(t),Y.addValue(e,n)),n},forEachValue:function(e){return I.forEach(e)},readValue:function(e){var n;return null!==(n=C[e])&&void 0!==n?n:u(w,e,t)},setBaseTarget:function(e,t){B[e]=t},getBaseTarget:function(e){if(o){var t=o(m,e);if(void 0!==t&&!q(t))return t}return B[e]}},M),{build:function(){return V(),P},scheduleRender:function(){Sn.ZP.render(F,!1,!0)},syncRender:F,setProps:function(e){m=e,M.updatePropListeners(e),H=function(e,t,n){var r;for(var i in t){var o=t[i],a=n[i];if(q(o))e.addValue(i,o);else if(q(a))e.addValue(i,pr(o));else if(a!==o)if(e.hasValue(i)){var s=e.getValue(i);!s.hasAnimated&&s.set(o)}else e.addValue(i,pr(null!==(r=e.getStaticValue(i))&&void 0!==r?r:o))}for(var i in n)void 0===t[i]&&e.removeValue(i);return t}(Y,p(m),H)},getProps:function(){return m},getVariant:function(e){var t;return null===(t=m.variants)||void 0===t?void 0:t[e]},getDefaultTransition:function(){return m.transition},getVariantContext:function(e){if(void 0===e&&(e=!1),e)return null===v||void 0===v?void 0:v.getVariantContext();if(!$){var t=(null===v||void 0===v?void 0:v.getVariantContext())||{};return void 0!==m.initial&&(t.initial=m.initial),t}for(var n={},r=0;r<so;r++){var i=ao[r],o=m[i];(_(o)||!1===o)&&(n[i]=o)}return n},enableLayoutProjection:function(){R.isEnabled=!0,Y.layoutTree.add(Y)},lockProjectionTarget:function(){R.isTargetLocked=!0},unlockProjectionTarget:function(){Y.stopLayoutAnimation(),R.isTargetLocked=!1},getLayoutState:function(){return L},setCrossfader:function(e){k=e},isProjectionReady:function(){return R.isEnabled&&R.isHydrated&&L.isHydrated},startLayoutAnimation:function(e,t,n){void 0===n&&(n=!1);var r=Y.getProjectionAnimationProgress()[e],i=n?R.relativeTarget[e]:R.target[e],o=i.min,a=i.max-o;return r.clearListeners(),r.set(o),r.set(o),r.onChange((function(t){Y.setProjectionTargetAxis(e,t,t+a,n)})),Y.animateMotionValue(e,r,0,t)},stopLayoutAnimation:function(){Wr((function(e){return Y.getProjectionAnimationProgress()[e].stop()}))},measureViewportBox:function(e){void 0===e&&(e=!0);var n=s(w,t);return e||Ei(n,C),n},getProjectionAnimationProgress:function(){return T||(T={x:pr(0),y:pr(0)}),T},setProjectionTargetAxis:function(e,t,n,r){var i;void 0===r&&(r=!1),r?(R.relativeTarget||(R.relativeTarget=(0,qr.VZ)()),i=R.relativeTarget[e]):(R.relativeTarget=void 0,i=R.target[e]),R.isHydrated=!0,i.min=t,i.max=n,N=!0,M.notifySetAxisTarget()},rebaseProjectionTarget:function(e,t){void 0===t&&(t=L.layout);var n=Y.getProjectionAnimationProgress(),r=n.x,i=n.y,o=!R.relativeTarget&&!R.isTargetLocked&&!r.isAnimating()&&!i.isAnimating();(e||o)&&Wr((function(e){var n=t[e],r=n.min,i=n.max;Y.setProjectionTargetAxis(e,r,i)}))},notifyLayoutReady:function(e){!function(e){var t=e.getProjectionParent();if(t){var n=li(t.getLayoutState().layout,e.getLayoutState().layout);Wr((function(t){e.setProjectionTargetAxis(t,n[t].min,n[t].max,!0)}))}else e.rebaseProjectionTarget()}(Y),Y.notifyLayoutUpdate(L.layout,Y.prevViewportBox||L.layout,e)},resetTransform:function(){return c(Y,w,m)},restoreTransform:function(){return d(w,P)},updateLayoutProjection:function(){if(Y.isProjectionReady()){var e=L.delta,t=L.treeScale,n=t.x,r=t.y,i=L.deltaTransform;Ji(L,j,Y.path,C),N&&Y.notifyViewportBoxUpdate(j.target,e),N=!1;var o=$i(e,t);o===i&&n===t.x&&r===t.y||Y.scheduleRender(),L.deltaTransform=o}},updateTreeLayoutProjection:function(){Y.layoutTree.forEach(ro),Sn.ZP.preRender(G,!1,!0)},getProjectionParent:function(){if(void 0===x){for(var e=!1,t=Y.path.length-1;t>=0;t--){var n=Y.path[t];if(n.projection.isEnabled){e=n;break}}x=e}return x},resolveRelativeTargetBox:function(){var e=Y.getProjectionParent();if(R.relativeTarget&&e&&(function(e,t){oi(e.target.x,e.relativeTarget.x,t.target.x),oi(e.target.y,e.relativeTarget.y,t.target.y)}(R,e.projection),ci(e))){var t=R.target;bi(t,t,e.getLatestValues())}},shouldResetTransform:function(){return Boolean(m._layoutResetTransform)},pointTo:function(e){j=e.projection,D=e.getLatestValues(),null===E||void 0===E||E(),E=mt(e.onSetAxisTarget(Y.scheduleUpdateLayoutProjection),e.onLayoutAnimationComplete((function(){var e;Y.isPresent?Y.presence=Si.z.Present:null===(e=Y.layoutSafeToRemove)||void 0===e||e.call(Y)})))},isPresent:!0,presence:Si.z.Entering});return Y}};function ro(e){e.resolveRelativeTargetBox()}function io(e){e.updateLayoutProjection()}var oo,ao=(0,r.ev)(["initial"],(0,r.CR)(Cr)),so=ao.length,lo=new Set(["width","height","top","left","right","bottom","x","y"]),uo=function(e){return lo.has(e)},co=function(e,t){e.set(t,!1),e.set(t)},fo=function(e){return e===ue||e===oe};!function(e){e.width="width",e.height="height",e.left="left",e.right="right",e.top="top",e.bottom="bottom"}(oo||(oo={}));var ho=function(e,t){return parseFloat(e.split(", ")[t])},po=function(e,t){return function(n,r){var i=r.transform;if("none"===i||!i)return 0;var o=i.match(/^matrix3d\((.+)\)$/);if(o)return ho(o[1],t);var a=i.match(/^matrix\((.+)\)$/);return a?ho(a[1],e):0}},vo=new Set(["x","y","z"]),mo=z.filter((function(e){return!vo.has(e)}));var go={width:function(e){var t=e.x;return t.max-t.min},height:function(e){var t=e.y;return t.max-t.min},top:function(e,t){var n=t.top;return parseFloat(n)},left:function(e,t){var n=t.left;return parseFloat(n)},bottom:function(e,t){var n=e.y,r=t.top;return parseFloat(r)+(n.max-n.min)},right:function(e,t){var n=e.x,r=t.left;return parseFloat(r)+(n.max-n.min)},x:po(4,13),y:po(5,14)},yo=function(e,t,n,i){void 0===n&&(n={}),void 0===i&&(i={}),t=(0,r.pi)({},t),i=(0,r.pi)({},i);var o=Object.keys(t).filter(uo),a=[],s=!1,l=[];if(o.forEach((function(r){var o=e.getValue(r);if(e.hasValue(r)){var u,c=n[r],d=t[r],f=gr(c);if(He(d))for(var h=d.length,p=null===d[0]?1:0;p<h;p++)u?gr(d[p]):(u=gr(d[p]))===f||fo(f)&&fo(u);else u=gr(d);if(f!==u)if(fo(f)&&fo(u)){var v=o.get();"string"===typeof v&&o.set(parseFloat(v)),"string"===typeof d?t[r]=parseFloat(d):Array.isArray(d)&&u===oe&&(t[r]=d.map(parseFloat))}else(null===f||void 0===f?void 0:f.transform)&&(null===u||void 0===u?void 0:u.transform)&&(0===c||0===d)?0===c?o.set(u.transform(c)):t[r]=f.transform(d):(s||(a=function(e){var t=[];return mo.forEach((function(n){var r=e.getValue(n);void 0!==r&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))})),t.length&&e.syncRender(),t}(e),s=!0),l.push(r),i[r]=void 0!==i[r]?i[r]:t[r],co(o,d))}})),l.length){var u=function(e,t,n){var r=t.measureViewportBox(),i=t.getInstance(),o=getComputedStyle(i),a=o.display,s={top:o.top,left:o.left,bottom:o.bottom,right:o.right,transform:o.transform};"none"===a&&t.setStaticValue("display",e.display||"block"),t.syncRender();var l=t.measureViewportBox();return n.forEach((function(n){var i=t.getValue(n);co(i,go[n](r,s)),e[n]=go[n](l,o)})),e}(t,e,l);return a.length&&a.forEach((function(t){var n=(0,r.CR)(t,2),i=n[0],o=n[1];e.getValue(i).set(o)})),e.syncRender(),{target:u,transitionEnd:i}}return{target:t,transitionEnd:i}};function bo(e,t,n,r){return function(e){return Object.keys(e).some(uo)}(t)?yo(e,t,n,r):{target:t,transitionEnd:r}}var wo=function(e,t,n,i){var o=function(e,t,n){var i,o=(0,r._T)(t,[]),a=e.getInstance();if(!(a instanceof HTMLElement))return{target:o,transitionEnd:n};for(var s in n&&(n=(0,r.pi)({},n)),e.forEachValue((function(e){var t=e.get();if(Pi(t)){var n=Ri(t,a);n&&e.set(n)}})),o){var l=o[s];if(Pi(l)){var u=Ri(l,a);u&&(o[s]=u,n&&(null!==(i=n[s])&&void 0!==i||(n[s]=l)))}}return{target:o,transitionEnd:n}}(e,t,i);return bo(e,t=o.target,n,i=o.transitionEnd)};var xo={treeType:"dom",readValueFromInstance:function(e,t){if(F(t)){var n=tr(t);return n&&n.default||0}var r,i=(r=e,window.getComputedStyle(r));return(K(t)?i.getPropertyValue(t):i[t])||0},sortNodePosition:function(e,t){return 2&e.compareDocumentPosition(t)?1:-1},getBaseTarget:function(e,t){var n;return null===(n=e.style)||void 0===n?void 0:n[t]},measureViewportBox:function(e,t){return Qr(e,t.transformPagePoint)},resetTransform:function(e,t,n){var r=n.transformTemplate;t.style.transform=r?r({},""):"none",e.scheduleRender()},restoreTransform:function(e,t){e.style.transform=t.style.transform},removeValueFromRenderState:function(e,t){var n=t.vars,r=t.style;delete n[e],delete r[e]},makeTargetAnimatable:function(e,t,n,i){var o=n.transformValues;void 0===i&&(i=!0);var a=t.transition,s=t.transitionEnd,l=(0,r._T)(t,["transition","transitionEnd"]),u=function(e,t,n){var r,i,o={};for(var a in e)o[a]=null!==(r=Er(a,t))&&void 0!==r?r:null===(i=n.getValue(a))||void 0===i?void 0:i.get();return o}(l,a||{},e);if(o&&(s&&(s=o(s)),l&&(l=o(l)),u&&(u=o(u))),i){!function(e,t,n){var r,i,o,a,s=Object.keys(t).filter((function(t){return!e.hasValue(t)})),l=s.length;if(l)for(var u=0;u<l;u++){var c=s[u],d=t[c],f=null;Array.isArray(d)&&(f=d[0]),null===f&&(f=null!==(i=null!==(r=n[c])&&void 0!==r?r:e.readValue(c))&&void 0!==i?i:t[c]),void 0!==f&&null!==f&&("string"===typeof f&&/^\-?\d*\.?\d+$/.test(f)?f=parseFloat(f):!br(f)&&Qt.test(d)&&(f=nr(c,d)),e.addValue(c,pr(f)),null!==(o=(a=n)[c])&&void 0!==o||(a[c]=f),e.setBaseTarget(c,f))}}(e,l,u);var c=wo(e,l,u,s);s=c.transitionEnd,l=c.target}return(0,r.pi)({transition:a,transitionEnd:s},l)},scrapeMotionValuesFromProps:Ne,build:function(e,t,n,r,i,o,a){void 0!==e.isVisible&&(t.style.visibility=e.isVisible?"visible":"hidden");var s=r.isEnabled&&i.isHydrated;pe(t,n,r,i,o,a.transformTemplate,s?$i:void 0,s?Xi:void 0)},render:je},Eo=no(xo),ko=no((0,r.pi)((0,r.pi)({},xo),{getBaseTarget:function(e,t){return e[t]},readValueFromInstance:function(e,t){var n;return F(t)?(null===(n=tr(t))||void 0===n?void 0:n.default)||0:(t=De.has(t)?t:Re(t),e.getAttribute(t))},scrapeMotionValuesFromProps:Ie,build:function(e,t,n,r,i,o,a){var s=r.isEnabled&&i.isHydrated;Ce(t,n,r,i,o,a.transformTemplate,s?$i:void 0,s?Xi:void 0)},render:Le})),To=function(e,t){return L(e)?ko(t,{enableHardwareAcceleration:!1}):Eo(t,{enableHardwareAcceleration:!0})},_o=(0,r.pi)((0,r.pi)((0,r.pi)((0,r.pi)({},jr),yt),Ai),Wi),Oo=j((function(e,t){return function(e,t,n,i){var o=t.forwardMotionProps,a=void 0!==o&&o,s=L(e)?Ge:We;return(0,r.pi)((0,r.pi)({},s),{preloadedFeatures:n,useRender:Pe(a),createVisualElement:i,Component:e})}(e,t,_o,To)}))},8839:function(e,t,n){"use strict";n.d(t,{kv:function(){return s},e3:function(){return l},x7:function(){return c},de:function(){return u}});var r=n(9839),i=n(3327),o=n(519);function a(e){return e.projection.isEnabled||e.shouldResetTransform()}function s(e,t){void 0===t&&(t=[]);var n=e.parent;return n&&s(n,t),a(e)&&t.push(e),t}function l(e){var t=[],n=function(e){a(e)&&t.push(e),e.children.forEach(n)};return e.children.forEach(n),t.sort(o._)}function u(e){if(!e.shouldResetTransform()){var t=e.getLayoutState();e.notifyBeforeLayoutMeasure(t.layout),t.isHydrated=!0,t.layout=e.measureViewportBox(),t.layoutCorrected=(0,i.nP)(t.layout),e.notifyLayoutMeasure(t.layout,e.prevViewportBox||t.layout),r.ZP.update((function(){return e.rebaseProjectionTarget()}))}}function c(e){e.shouldResetTransform()||(e.prevViewportBox=e.measureViewportBox(!1),e.rebaseProjectionTarget(!1,e.prevViewportBox))}},7565:function(e,t,n){"use strict";n.d(t,{U:function(){return o},R:function(){return a}});var r=new Set;function i(e,t,n){e[n]||(e[n]=[]),e[n].push(t)}function o(e){return r.add(e),function(){return r.delete(e)}}function a(){if(r.size){var e=0,t=[[]],n=[],o=function(n){return i(t,n,e)},a=function(t){i(n,t,e),e++};r.forEach((function(t){t(o,a),e=0})),r.clear();for(var l=n.length,u=0;u<=l;u++)t[u]&&t[u].forEach(s),n[u]&&n[u].forEach(s)}}var s=function(e){return e()}},519:function(e,t,n){"use strict";n.d(t,{_:function(){return r}});var r=function(e,t){return e.depth-t.depth}},3327:function(e,t,n){"use strict";n.d(t,{VZ:function(){return l},_6:function(){return a},RX:function(){return o},nP:function(){return u},pY:function(){return d},dV:function(){return s}});var r=n(1439);function i(e){return e}function o(e){var t=e.top;return{x:{min:e.left,max:e.right},y:{min:t,max:e.bottom}}}function a(e){var t=e.x,n=e.y;return{top:n.min,bottom:n.max,left:t.min,right:t.max}}function s(e,t){var n=e.top,r=e.left,o=e.bottom,a=e.right;void 0===t&&(t=i);var s=t({x:r,y:n}),l=t({x:a,y:o});return{top:s.y,left:s.x,bottom:l.y,right:l.x}}function l(){return{x:{min:0,max:1},y:{min:0,max:1}}}function u(e){return{x:(0,r.pi)({},e.x),y:(0,r.pi)({},e.y)}}var c={translate:0,scale:1,origin:0,originPoint:0};function d(){return{x:(0,r.pi)({},c),y:(0,r.pi)({},c)}}},5930:function(e,t,n){"use strict";n.d(t,{h:function(){return i}});var r=n(7294);function i(e){var t=(0,r.useRef)(null);return null===t.current&&(t.current=e()),t.current}},6717:function(e,t,n){"use strict";n.d(t,{z:function(){return i}});var r=n(7294);function i(e){return(0,r.useEffect)((function(){return function(){return e()}}),[])}},4910:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,i=function(e){var t={};return function(n){return void 0===t[n]&&(t[n]=e(n)),t[n]}}((function(e){return r.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91}))},1439:function(e,t,n){"use strict";n.d(t,{ZT:function(){return i},pi:function(){return o},_T:function(){return a},CR:function(){return s},ev:function(){return l}});var r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function i(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var o=function(){return(o=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function a(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n}Object.create;function s(e,t){var n="function"===typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)a.push(r.value)}catch(s){i={error:s}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return a}function l(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||t)}Object.create},9839:function(e,t,n){"use strict";n.d(t,{qY:function(){return h},ZP:function(){return b},iW:function(){return p},$B:function(){return y}});var r=1/60*1e3,i="undefined"!==typeof performance?function(){return performance.now()}:function(){return Date.now()},o="undefined"!==typeof window?function(e){return window.requestAnimationFrame(e)}:function(e){return setTimeout((function(){return e(i())}),r)};var a=!0,s=!1,l=!1,u={delta:0,timestamp:0},c=["read","update","preRender","render","postRender"],d=c.reduce((function(e,t){return e[t]=function(e){var t=[],n=[],r=0,i=!1,o=new WeakSet,a={schedule:function(e,a,s){void 0===a&&(a=!1),void 0===s&&(s=!1);var l=s&&i,u=l?t:n;return a&&o.add(e),-1===u.indexOf(e)&&(u.push(e),l&&i&&(r=t.length)),e},cancel:function(e){var t=n.indexOf(e);-1!==t&&n.splice(t,1),o.delete(e)},process:function(s){var l;if(i=!0,t=(l=[n,t])[0],(n=l[1]).length=0,r=t.length)for(var u=0;u<r;u++){var c=t[u];c(s),o.has(c)&&(a.schedule(c),e())}i=!1}};return a}((function(){return s=!0})),e}),{}),f=c.reduce((function(e,t){var n=d[t];return e[t]=function(e,t,r){return void 0===t&&(t=!1),void 0===r&&(r=!1),s||g(),n.schedule(e,t,r)},e}),{}),h=c.reduce((function(e,t){return e[t]=d[t].cancel,e}),{}),p=c.reduce((function(e,t){return e[t]=function(){return d[t].process(u)},e}),{}),v=function(e){return d[e].process(u)},m=function(e){s=!1,u.delta=a?r:Math.max(Math.min(e-u.timestamp,40),1),u.timestamp=e,l=!0,c.forEach(v),l=!1,s&&(a=!1,o(m))},g=function(){s=!0,a=!0,l||o(m)},y=function(){return u},b=f},3405:function(e){e.exports=function(e){return[...e].reduce(((e,[t,n])=>(e[t]=n,e)),{})}},1527:function(e,t){"use strict";function n(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e&&("undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null==n)return;var r,i,o=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);a=!0);}catch(l){s=!0,i=l}finally{try{a||null==n.return||n.return()}finally{if(s)throw i}}return o}(e,t)||o(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||o(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){if(e){if("string"===typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(e,t):void 0}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function s(e){var t=function(e,t){if("object"!==typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===typeof t?t:String(t)}t.Z=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],l=(t instanceof Array?t.length?t:[void 0]:[t]).map((function(e){return{keyAccessor:e,isProp:!(e instanceof Function)}})),u=e.reduce((function(e,t){var r=e,i=t;return l.forEach((function(e,t){var a,u=e.keyAccessor;if(e.isProp){var c=i,d=c[u],f=n(c,[u].map(s));a=d,i=f}else a=u(i,t);t+1<l.length?(r.hasOwnProperty(a)||(r[a]={}),r=r[a]):o?(r.hasOwnProperty(a)||(r[a]=[]),r[a].push(i)):r[a]=i})),e}),{});o instanceof Function&&function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;n===l.length?Object.keys(t).forEach((function(e){return t[e]=o(t[e])})):Object.values(t).forEach((function(t){return e(t,n+1)}))}(u);var c=u;return a&&(c=[],function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];n.length===l.length?c.push({keys:n,vals:t}):Object.entries(t).forEach((function(t){var o=r(t,2),a=o[0],s=o[1];return e(s,[].concat(i(n),[a]))}))}(u),t instanceof Array&&0===t.length&&1===c.length&&(c[0].keys=[])),c}},4858:function(e,t,n){"use strict";var r=n(296),i=n.n(r);function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e&&("undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null==n)return;var r,i,o=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);a=!0);}catch(l){s=!0,i=l}finally{try{a||null==n.return||n.return()}finally{if(s)throw i}}return o}(e,t)||function(e,t){if(!e)return;if("string"===typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return a(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var s=function e(t,n){var r=n.default,i=void 0===r?null:r,o=n.triggerUpdate,a=void 0===o||o,s=n.onChange,l=void 0===s?function(e,t){}:s;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.name=t,this.defaultVal=i,this.triggerUpdate=a,this.onChange=l};t.Z=function(e){var t=e.stateInit,n=void 0===t?function(){return{}}:t,r=e.props,a=void 0===r?{}:r,l=e.methods,u=void 0===l?{}:l,c=e.aliases,d=void 0===c?{}:c,f=e.init,h=void 0===f?function(){}:f,p=e.update,v=void 0===p?function(){}:p,m=Object.keys(a).map((function(e){return new s(e,a[e])}));return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object.assign({},n instanceof Function?n(e):n,{initialised:!1}),r={};function a(t){return s(t,e),l(),a}var s=function(e,n){h.call(a,e,t,n),t.initialised=!0},l=i()((function(){t.initialised&&(v.call(a,t,r),r={})}),1);return m.forEach((function(e){a[e.name]=function(e){var n=e.name,i=e.triggerUpdate,o=void 0!==i&&i,s=e.onChange,u=void 0===s?function(e,t){}:s,c=e.defaultVal,d=void 0===c?null:c;return function(e){var i=t[n];if(!arguments.length)return i;var s=void 0===e?d:e;return t[n]=s,u.call(a,s,t,i),!r.hasOwnProperty(n)&&(r[n]=i),o&&l(),a}}(e)})),Object.keys(u).forEach((function(e){a[e]=function(){for(var n,r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return(n=u[e]).call.apply(n,[a,t].concat(i))}})),Object.entries(d).forEach((function(e){var t=o(e,2),n=t[0],r=t[1];return a[n]=a[r]})),a.resetProps=function(){return m.forEach((function(e){a[e.name](e.defaultVal)})),a},a.resetProps(),t._rerender=l,a}}},3096:function(e,t,n){var r="Expected a function",i=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,s=/^0o[0-7]+$/i,l=parseInt,u="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,c="object"==typeof self&&self&&self.Object===Object&&self,d=u||c||Function("return this")(),f=Object.prototype.toString,h=Math.max,p=Math.min,v=function(){return d.Date.now()};function m(e,t,n){var i,o,a,s,l,u,c=0,d=!1,f=!1,m=!0;if("function"!=typeof e)throw new TypeError(r);function b(t){var n=i,r=o;return i=o=void 0,c=t,s=e.apply(r,n)}function w(e){return c=e,l=setTimeout(E,t),d?b(e):s}function x(e){var n=e-u;return void 0===u||n>=t||n<0||f&&e-c>=a}function E(){var e=v();if(x(e))return k(e);l=setTimeout(E,function(e){var n=t-(e-u);return f?p(n,a-(e-c)):n}(e))}function k(e){return l=void 0,m&&i?b(e):(i=o=void 0,s)}function T(){var e=v(),n=x(e);if(i=arguments,o=this,u=e,n){if(void 0===l)return w(u);if(f)return l=setTimeout(E,t),b(u)}return void 0===l&&(l=setTimeout(E,t)),s}return t=y(t)||0,g(n)&&(d=!!n.leading,a=(f="maxWait"in n)?h(y(n.maxWait)||0,t):a,m="trailing"in n?!!n.trailing:m),T.cancel=function(){void 0!==l&&clearTimeout(l),c=0,i=u=o=l=void 0},T.flush=function(){return void 0===l?s:k(v())},T}function g(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function y(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==f.call(e)}(e))return NaN;if(g(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=g(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(i,"");var n=a.test(e);return n||s.test(e)?l(e.slice(2),n?2:8):o.test(e)?NaN:+e}e.exports=function(e,t,n){var i=!0,o=!0;if("function"!=typeof e)throw new TypeError(r);return g(n)&&(i="leading"in n?!!n.leading:i,o="trailing"in n?!!n.trailing:o),m(e,t,{leading:i,maxWait:t,trailing:o})}},3752:function(e,t,n){"use strict";function r(e,t){var n;if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"===typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(e,t)}(e))||t&&e&&"number"===typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,l=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return s=e.done,e},e:function(e){l=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(l)throw a}}}}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function o(e,t){var n;if(void 0===t){var i,o=r(e);try{for(o.s();!(i=o.n()).done;){var a=i.value;null!=a&&(n<a||void 0===n&&a>=a)&&(n=a)}}catch(d){o.e(d)}finally{o.f()}}else{var s,l=-1,u=r(e);try{for(u.s();!(s=u.n()).done;){var c=s.value;null!=(c=t(c,++l,e))&&(n<c||void 0===n&&c>=c)&&(n=c)}}catch(d){u.e(d)}finally{u.f()}}return n}n.d(t,{Z:function(){return o}})},6701:function(e,t,n){"use strict";function r(e,t){var n;if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"===typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return i(e,t)}(e))||t&&e&&"number"===typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,l=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return s=e.done,e},e:function(e){l=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(l)throw a}}}}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function o(e,t){var n;if(void 0===t){var i,o=r(e);try{for(o.s();!(i=o.n()).done;){var a=i.value;null!=a&&(n>a||void 0===n&&a>=a)&&(n=a)}}catch(d){o.e(d)}finally{o.f()}}else{var s,l=-1,u=r(e);try{for(u.s();!(s=u.n()).done;){var c=s.value;null!=(c=t(c,++l,e))&&(n>c||void 0===n&&c>=c)&&(n=c)}}catch(d){u.e(d)}finally{u.f()}}return n}n.d(t,{Z:function(){return o}})},4275:function(e,t,n){"use strict";function r(e,t,n){if(isNaN(t))return e;var r,i,o,a,s,l,u=e._root,c={data:n},d=e._x0,f=e._x1;if(!u)return e._root=c,e;for(;u.length;)if((a=t>=(i=(d+f)/2))?d=i:f=i,r=u,!(u=u[s=+a]))return r[s]=c,e;if(t===(o=+e._x.call(null,u.data)))return c.next=u,r?r[s]=c:e._root=c,e;do{r=r?r[s]=new Array(2):e._root=new Array(2),(a=t>=(i=(d+f)/2))?d=i:f=i}while((s=+a)===(l=+(o>=i)));return r[l]=u,r[s]=c,e}function i(e,t,n){this.node=e,this.x0=t,this.x1=n}function o(e){return e[0]}function a(e,t){var n=new s(null==t?o:t,NaN,NaN);return null==e?n:n.addAll(e)}function s(e,t,n){this._x=e,this._x0=t,this._x1=n,this._root=void 0}function l(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}n.d(t,{Z:function(){return a}});var u=a.prototype=s.prototype;u.copy=function(){var e,t,n=new s(this._x,this._x0,this._x1),r=this._root;if(!r)return n;if(!r.length)return n._root=l(r),n;for(e=[{source:r,target:n._root=new Array(2)}];r=e.pop();)for(var i=0;i<2;++i)(t=r.source[i])&&(t.length?e.push({source:t,target:r.target[i]=new Array(2)}):r.target[i]=l(t));return n},u.add=function(e){var t=+this._x.call(null,e);return r(this.cover(t),t,e)},u.addAll=function(e){var t,n,i=e.length,o=new Array(i),a=1/0,s=-1/0;for(t=0;t<i;++t)isNaN(n=+this._x.call(null,e[t]))||(o[t]=n,n<a&&(a=n),n>s&&(s=n));if(a>s)return this;for(this.cover(a).cover(s),t=0;t<i;++t)r(this,o[t],e[t]);return this},u.cover=function(e){if(isNaN(e=+e))return this;var t=this._x0,n=this._x1;if(isNaN(t))n=(t=Math.floor(e))+1;else{for(var r,i,o=n-t||1,a=this._root;t>e||e>=n;)switch(i=+(e<t),(r=new Array(2))[i]=a,a=r,o*=2,i){case 0:n=t+o;break;case 1:t=n-o}this._root&&this._root.length&&(this._root=a)}return this._x0=t,this._x1=n,this},u.data=function(){var e=[];return this.visit((function(t){if(!t.length)do{e.push(t.data)}while(t=t.next)})),e},u.extent=function(e){return arguments.length?this.cover(+e[0][0]).cover(+e[1][0]):isNaN(this._x0)?void 0:[[this._x0],[this._x1]]},u.find=function(e,t){var n,r,o,a,s,l=this._x0,u=this._x1,c=[],d=this._root;for(d&&c.push(new i(d,l,u)),null==t?t=1/0:(l=e-t,u=e+t);a=c.pop();)if(!(!(d=a.node)||(r=a.x0)>u||(o=a.x1)<l))if(d.length){var f=(r+o)/2;c.push(new i(d[1],f,o),new i(d[0],r,f)),(s=+(e>=f))&&(a=c[c.length-1],c[c.length-1]=c[c.length-1-s],c[c.length-1-s]=a)}else{var h=Math.abs(e-+this._x.call(null,d.data));h<t&&(t=h,l=e-h,u=e+h,n=d.data)}return n},u.remove=function(e){if(isNaN(o=+this._x.call(null,e)))return this;var t,n,r,i,o,a,s,l,u,c=this._root,d=this._x0,f=this._x1;if(!c)return this;if(c.length)for(;;){if((s=o>=(a=(d+f)/2))?d=a:f=a,t=c,!(c=c[l=+s]))return this;if(!c.length)break;t[l+1&1]&&(n=t,u=l)}for(;c.data!==e;)if(r=c,!(c=c.next))return this;return(i=c.next)&&delete c.next,r?(i?r.next=i:delete r.next,this):t?(i?t[l]=i:delete t[l],(c=t[0]||t[1])&&c===(t[1]||t[0])&&!c.length&&(n?n[u]=c:this._root=c),this):(this._root=i,this)},u.removeAll=function(e){for(var t=0,n=e.length;t<n;++t)this.remove(e[t]);return this},u.root=function(){return this._root},u.size=function(){var e=0;return this.visit((function(t){if(!t.length)do{++e}while(t=t.next)})),e},u.visit=function(e){var t,n,r,o,a=[],s=this._root;for(s&&a.push(new i(s,this._x0,this._x1));t=a.pop();)if(!e(s=t.node,r=t.x0,o=t.x1)&&s.length){var l=(r+o)/2;(n=s[1])&&a.push(new i(n,l,o)),(n=s[0])&&a.push(new i(n,r,l))}return this},u.visitAfter=function(e){var t,n=[],r=[];for(this._root&&n.push(new i(this._root,this._x0,this._x1));t=n.pop();){var o=t.node;if(o.length){var a,s=t.x0,l=t.x1,u=(s+l)/2;(a=o[0])&&n.push(new i(a,s,u)),(a=o[1])&&n.push(new i(a,u,l))}r.push(t)}for(;t=r.pop();)e(t.node,t.x0,t.x1);return this},u.x=function(e){return arguments.length?(this._x=e,this):this._x}},7137:function(e,t){"use strict";var n={value:function(){}};function r(){for(var e,t=0,n=arguments.length,r={};t<n;++t){if(!(e=arguments[t]+"")||e in r||/[\s.]/.test(e))throw new Error("illegal type: "+e);r[e]=[]}return new i(r)}function i(e){this._=e}function o(e,t){return e.trim().split(/^|\s+/).map((function(e){var n="",r=e.indexOf(".");if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:n}}))}function a(e,t){for(var n,r=0,i=e.length;r<i;++r)if((n=e[r]).name===t)return n.value}function s(e,t,r){for(var i=0,o=e.length;i<o;++i)if(e[i].name===t){e[i]=n,e=e.slice(0,i).concat(e.slice(i+1));break}return null!=r&&e.push({name:t,value:r}),e}i.prototype=r.prototype={constructor:i,on:function(e,t){var n,r=this._,i=o(e+"",r),l=-1,u=i.length;if(!(arguments.length<2)){if(null!=t&&"function"!==typeof t)throw new Error("invalid callback: "+t);for(;++l<u;)if(n=(e=i[l]).type)r[n]=s(r[n],e.name,t);else if(null==t)for(n in r)r[n]=s(r[n],e.name,null);return this}for(;++l<u;)if((n=(e=i[l]).type)&&(n=a(r[n],e.name)))return n},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new i(e)},call:function(e,t){if((n=arguments.length-2)>0)for(var n,r,i=new Array(n),o=0;o<n;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(o=0,n=(r=this._[e]).length;o<n;++o)r[o].value.apply(t,i)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],i=0,o=r.length;i<o;++i)r[i].value.apply(t,n)}},t.Z=r},216:function(e,t,n){"use strict";function r(e,t,n){var r,i=1;function o(){var o,a,s=r.length,l=0,u=0,c=0;for(o=0;o<s;++o)l+=(a=r[o]).x||0,u+=a.y||0,c+=a.z||0;for(l=(l/s-e)*i,u=(u/s-t)*i,c=(c/s-n)*i,o=0;o<s;++o)a=r[o],l&&(a.x-=l),u&&(a.y-=u),c&&(a.z-=c)}return null==e&&(e=0),null==t&&(t=0),null==n&&(n=0),o.initialize=function(e){r=e},o.x=function(t){return arguments.length?(e=+t,o):e},o.y=function(e){return arguments.length?(t=+e,o):t},o.z=function(e){return arguments.length?(n=+e,o):n},o.strength=function(e){return arguments.length?(i=+e,o):i},o}n.d(t,{Z:function(){return r}})},9437:function(e,t,n){"use strict";function r(e){return function(){return e}}n.d(t,{Z:function(){return r}})},8246:function(e,t,n){"use strict";function r(e){return 1e-6*(e()-.5)}n.d(t,{Z:function(){return r}})},5560:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});var r=n(9437),i=n(8246);function o(e){return e.index}function a(e,t){var n=e.get(t);if(!n)throw new Error("node not found: "+t);return n}function s(e){var t,n,s,l,u,c,d,f=o,h=function(e){return 1/Math.min(u[e.source.index],u[e.target.index])},p=(0,r.Z)(30),v=1;function m(r){for(var o=0,a=e.length;o<v;++o)for(var s,u,f,h,p,m=0,g=0,y=0,b=0;m<a;++m)u=(s=e[m]).source,g=(f=s.target).x+f.vx-u.x-u.vx||(0,i.Z)(d),l>1&&(y=f.y+f.vy-u.y-u.vy||(0,i.Z)(d)),l>2&&(b=f.z+f.vz-u.z-u.vz||(0,i.Z)(d)),g*=h=((h=Math.sqrt(g*g+y*y+b*b))-n[m])/h*r*t[m],y*=h,b*=h,f.vx-=g*(p=c[m]),l>1&&(f.vy-=y*p),l>2&&(f.vz-=b*p),u.vx+=g*(p=1-p),l>1&&(u.vy+=y*p),l>2&&(u.vz+=b*p)}function g(){if(s){var r,i,o=s.length,l=e.length,d=new Map(s.map((function(e,t){return[f(e,t,s),e]})));for(r=0,u=new Array(o);r<l;++r)(i=e[r]).index=r,"object"!==typeof i.source&&(i.source=a(d,i.source)),"object"!==typeof i.target&&(i.target=a(d,i.target)),u[i.source.index]=(u[i.source.index]||0)+1,u[i.target.index]=(u[i.target.index]||0)+1;for(r=0,c=new Array(l);r<l;++r)i=e[r],c[r]=u[i.source.index]/(u[i.source.index]+u[i.target.index]);t=new Array(l),y(),n=new Array(l),b()}}function y(){if(s)for(var n=0,r=e.length;n<r;++n)t[n]=+h(e[n],n,e)}function b(){if(s)for(var t=0,r=e.length;t<r;++t)n[t]=+p(e[t],t,e)}return null==e&&(e=[]),m.initialize=function(e){s=e;for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];d=n.find((function(e){return"function"===typeof e}))||Math.random,l=n.find((function(e){return[1,2,3].includes(e)}))||2,g()},m.links=function(t){return arguments.length?(e=t,g(),m):e},m.id=function(e){return arguments.length?(f=e,m):f},m.iterations=function(e){return arguments.length?(v=+e,m):v},m.strength=function(e){return arguments.length?(h="function"===typeof e?e:(0,r.Z)(+e),y(),m):h},m.distance=function(e){return arguments.length?(p="function"===typeof e?e:(0,r.Z)(+e),b(),m):p},m}},2405:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var r=n(4275),i=n(54),o=n(8357),a=n(9437),s=n(8246),l=n(4505);function u(){var e,t,n,u,c,d,f=(0,a.Z)(-30),h=1,p=1/0,v=.81;function m(a){var s,u=e.length,d=(1===t?(0,r.Z)(e,l.x):2===t?(0,i.Z)(e,l.x,l.y):3===t?(0,o.Z)(e,l.x,l.y,l.z):null).visitAfter(y);for(c=a,s=0;s<u;++s)n=e[s],d.visit(b)}function g(){if(e){var t,n,r=e.length;for(d=new Array(r),t=0;t<r;++t)n=e[t],d[n.index]=+f(n,t,e)}}function y(e){var n,r,i,o,a,s,l=0,u=0,c=e.length;if(c){for(i=o=a=s=0;s<c;++s)(n=e[s])&&(r=Math.abs(n.value))&&(l+=n.value,u+=r,i+=r*(n.x||0),o+=r*(n.y||0),a+=r*(n.z||0));l*=Math.sqrt(4/c),e.x=i/u,t>1&&(e.y=o/u),t>2&&(e.z=a/u)}else{(n=e).x=n.data.x,t>1&&(n.y=n.data.y),t>2&&(n.z=n.data.z);do{l+=d[n.data.index]}while(n=n.next)}e.value=l}function b(e,r,i,o,a){if(!e.value)return!0;var l=[i,o,a][t-1],f=e.x-n.x,m=t>1?e.y-n.y:0,g=t>2?e.z-n.z:0,y=l-r,b=f*f+m*m+g*g;if(y*y/v<b)return b<p&&(0===f&&(b+=(f=(0,s.Z)(u))*f),t>1&&0===m&&(b+=(m=(0,s.Z)(u))*m),t>2&&0===g&&(b+=(g=(0,s.Z)(u))*g),b<h&&(b=Math.sqrt(h*b)),n.vx+=f*e.value*c/b,t>1&&(n.vy+=m*e.value*c/b),t>2&&(n.vz+=g*e.value*c/b)),!0;if(!(e.length||b>=p)){(e.data!==n||e.next)&&(0===f&&(b+=(f=(0,s.Z)(u))*f),t>1&&0===m&&(b+=(m=(0,s.Z)(u))*m),t>2&&0===g&&(b+=(g=(0,s.Z)(u))*g),b<h&&(b=Math.sqrt(h*b)));do{e.data!==n&&(y=d[e.data.index]*c/b,n.vx+=f*y,t>1&&(n.vy+=m*y),t>2&&(n.vz+=g*y))}while(e=e.next)}}return m.initialize=function(n){e=n;for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];u=i.find((function(e){return"function"===typeof e}))||Math.random,t=i.find((function(e){return[1,2,3].includes(e)}))||2,g()},m.strength=function(e){return arguments.length?(f="function"===typeof e?e:(0,a.Z)(+e),g(),m):f},m.distanceMin=function(e){return arguments.length?(h=e*e,m):Math.sqrt(h)},m.distanceMax=function(e){return arguments.length?(p=e*e,m):Math.sqrt(p)},m.theta=function(e){return arguments.length?(v=e*e,m):Math.sqrt(v)},m}},6917:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=n(9437);function i(e,t,n,i){var o,a,s,l,u=(0,r.Z)(.1);function c(e){for(var r=0,u=o.length;r<u;++r){var c=o[r],d=c.x-t||1e-6,f=(c.y||0)-n||1e-6,h=(c.z||0)-i||1e-6,p=Math.sqrt(d*d+f*f+h*h),v=(l[r]-p)*s[r]*e/p;c.vx+=d*v,a>1&&(c.vy+=f*v),a>2&&(c.vz+=h*v)}}function d(){if(o){var t,n=o.length;for(s=new Array(n),l=new Array(n),t=0;t<n;++t)l[t]=+e(o[t],t,o),s[t]=isNaN(l[t])?0:+u(o[t],t,o)}}return"function"!==typeof e&&(e=(0,r.Z)(+e)),null==t&&(t=0),null==n&&(n=0),null==i&&(i=0),c.initialize=function(e){o=e;for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];a=n.find((function(e){return[1,2,3].includes(e)}))||2,d()},c.strength=function(e){return arguments.length?(u="function"===typeof e?e:(0,r.Z)(+e),d(),c):u},c.radius=function(t){return arguments.length?(e="function"===typeof t?t:(0,r.Z)(+t),d(),c):e},c.x=function(e){return arguments.length?(t=+e,c):t},c.y=function(e){return arguments.length?(n=+e,c):n},c.z=function(e){return arguments.length?(i=+e,c):i},c}},4505:function(e,t,n){"use strict";n.d(t,{Z:function(){return d},x:function(){return a},y:function(){return s},z:function(){return l}});var r=n(7137),i=n(513),o=4294967296;function a(e){return e.x}function s(e){return e.y}function l(e){return e.z}var u=Math.PI*(3-Math.sqrt(5)),c=20*Math.PI/(9+Math.sqrt(221));function d(e,t){t=t||2;var n,a=Math.min(3,Math.max(1,Math.round(t))),s=1,l=.001,d=1-Math.pow(l,1/300),f=0,h=.6,p=new Map,v=(0,i.HT)(y),m=(0,r.Z)("tick","end"),g=function(){var e=1;return function(){return(e=(1664525*e+1013904223)%o)/o}}();function y(){b(),m.call("tick",n),s<l&&(v.stop(),m.call("end",n))}function b(t){var r,i,o=e.length;void 0===t&&(t=1);for(var l=0;l<t;++l)for(s+=(f-s)*d,p.forEach((function(e){e(s)})),r=0;r<o;++r)null==(i=e[r]).fx?i.x+=i.vx*=h:(i.x=i.fx,i.vx=0),a>1&&(null==i.fy?i.y+=i.vy*=h:(i.y=i.fy,i.vy=0)),a>2&&(null==i.fz?i.z+=i.vz*=h:(i.z=i.fz,i.vz=0));return n}function w(){for(var t,n=0,r=e.length;n<r;++n){if((t=e[n]).index=n,null!=t.fx&&(t.x=t.fx),null!=t.fy&&(t.y=t.fy),null!=t.fz&&(t.z=t.fz),isNaN(t.x)||a>1&&isNaN(t.y)||a>2&&isNaN(t.z)){var i=10*(a>2?Math.cbrt(.5+n):a>1?Math.sqrt(.5+n):n),o=n*u,s=n*c;1===a?t.x=i:2===a?(t.x=i*Math.cos(o),t.y=i*Math.sin(o)):(t.x=i*Math.sin(o)*Math.cos(s),t.y=i*Math.cos(o),t.z=i*Math.sin(o)*Math.sin(s))}(isNaN(t.vx)||a>1&&isNaN(t.vy)||a>2&&isNaN(t.vz))&&(t.vx=0,a>1&&(t.vy=0),a>2&&(t.vz=0))}}function x(t){return t.initialize&&t.initialize(e,g,a),t}return null==e&&(e=[]),w(),n={tick:b,restart:function(){return v.restart(y),n},stop:function(){return v.stop(),n},numDimensions:function(e){return arguments.length?(a=Math.min(3,Math.max(1,Math.round(e))),p.forEach(x),n):a},nodes:function(t){return arguments.length?(e=t,w(),p.forEach(x),n):e},alpha:function(e){return arguments.length?(s=+e,n):s},alphaMin:function(e){return arguments.length?(l=+e,n):l},alphaDecay:function(e){return arguments.length?(d=+e,n):+d},alphaTarget:function(e){return arguments.length?(f=+e,n):f},velocityDecay:function(e){return arguments.length?(h=1-e,n):1-h},randomSource:function(e){return arguments.length?(g=e,p.forEach(x),n):g},force:function(e,t){return arguments.length>1?(null==t?p.delete(e):p.set(e,x(t)),n):p.get(e)},find:function(){var t,n,r,i,o,s,l=Array.prototype.slice.call(arguments),u=l.shift()||0,c=(a>1?l.shift():null)||0,d=(a>2?l.shift():null)||0,f=l.shift()||1/0,h=0,p=e.length;for(f*=f,h=0;h<p;++h)(i=(t=u-(o=e[h]).x)*t+(n=c-(o.y||0))*n+(r=d-(o.z||0))*r)<f&&(s=o,f=i);return s},on:function(e,t){return arguments.length>1?(m.on(e,t),n):m.on(e)}}}},8357:function(e,t,n){"use strict";function r(e,t,n,r,i){if(isNaN(t)||isNaN(n)||isNaN(r))return e;var o,a,s,l,u,c,d,f,h,p,v,m,g=e._root,y={data:i},b=e._x0,w=e._y0,x=e._z0,E=e._x1,k=e._y1,T=e._z1;if(!g)return e._root=y,e;for(;g.length;)if((f=t>=(a=(b+E)/2))?b=a:E=a,(h=n>=(s=(w+k)/2))?w=s:k=s,(p=r>=(l=(x+T)/2))?x=l:T=l,o=g,!(g=g[v=p<<2|h<<1|f]))return o[v]=y,e;if(u=+e._x.call(null,g.data),c=+e._y.call(null,g.data),d=+e._z.call(null,g.data),t===u&&n===c&&r===d)return y.next=g,o?o[v]=y:e._root=y,e;do{o=o?o[v]=new Array(8):e._root=new Array(8),(f=t>=(a=(b+E)/2))?b=a:E=a,(h=n>=(s=(w+k)/2))?w=s:k=s,(p=r>=(l=(x+T)/2))?x=l:T=l}while((v=p<<2|h<<1|f)===(m=(d>=l)<<2|(c>=s)<<1|u>=a));return o[m]=g,o[v]=y,e}function i(e,t,n,r,i,o,a){this.node=e,this.x0=t,this.y0=n,this.z0=r,this.x1=i,this.y1=o,this.z1=a}function o(e){return e[0]}function a(e){return e[1]}function s(e){return e[2]}function l(e,t,n,r){var i=new u(null==t?o:t,null==n?a:n,null==r?s:r,NaN,NaN,NaN,NaN,NaN,NaN);return null==e?i:i.addAll(e)}function u(e,t,n,r,i,o,a,s,l){this._x=e,this._y=t,this._z=n,this._x0=r,this._y0=i,this._z0=o,this._x1=a,this._y1=s,this._z1=l,this._root=void 0}function c(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}n.d(t,{Z:function(){return l}});var d=l.prototype=u.prototype;d.copy=function(){var e,t,n=new u(this._x,this._y,this._z,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1),r=this._root;if(!r)return n;if(!r.length)return n._root=c(r),n;for(e=[{source:r,target:n._root=new Array(8)}];r=e.pop();)for(var i=0;i<8;++i)(t=r.source[i])&&(t.length?e.push({source:t,target:r.target[i]=new Array(8)}):r.target[i]=c(t));return n},d.add=function(e){var t=+this._x.call(null,e),n=+this._y.call(null,e),i=+this._z.call(null,e);return r(this.cover(t,n,i),t,n,i,e)},d.addAll=function(e){var t,n,i,o,a,s=e.length,l=new Array(s),u=new Array(s),c=new Array(s),d=1/0,f=1/0,h=1/0,p=-1/0,v=-1/0,m=-1/0;for(n=0;n<s;++n)isNaN(i=+this._x.call(null,t=e[n]))||isNaN(o=+this._y.call(null,t))||isNaN(a=+this._z.call(null,t))||(l[n]=i,u[n]=o,c[n]=a,i<d&&(d=i),i>p&&(p=i),o<f&&(f=o),o>v&&(v=o),a<h&&(h=a),a>m&&(m=a));if(d>p||f>v||h>m)return this;for(this.cover(d,f,h).cover(p,v,m),n=0;n<s;++n)r(this,l[n],u[n],c[n],e[n]);return this},d.cover=function(e,t,n){if(isNaN(e=+e)||isNaN(t=+t)||isNaN(n=+n))return this;var r=this._x0,i=this._y0,o=this._z0,a=this._x1,s=this._y1,l=this._z1;if(isNaN(r))a=(r=Math.floor(e))+1,s=(i=Math.floor(t))+1,l=(o=Math.floor(n))+1;else{for(var u,c,d=a-r||1,f=this._root;r>e||e>=a||i>t||t>=s||o>n||n>=l;)switch(c=(n<o)<<2|(t<i)<<1|e<r,(u=new Array(8))[c]=f,f=u,d*=2,c){case 0:a=r+d,s=i+d,l=o+d;break;case 1:r=a-d,s=i+d,l=o+d;break;case 2:a=r+d,i=s-d,l=o+d;break;case 3:r=a-d,i=s-d,l=o+d;break;case 4:a=r+d,s=i+d,o=l-d;break;case 5:r=a-d,s=i+d,o=l-d;break;case 6:a=r+d,i=s-d,o=l-d;break;case 7:r=a-d,i=s-d,o=l-d}this._root&&this._root.length&&(this._root=f)}return this._x0=r,this._y0=i,this._z0=o,this._x1=a,this._y1=s,this._z1=l,this},d.data=function(){var e=[];return this.visit((function(t){if(!t.length)do{e.push(t.data)}while(t=t.next)})),e},d.extent=function(e){return arguments.length?this.cover(+e[0][0],+e[0][1],+e[0][2]).cover(+e[1][0],+e[1][1],+e[1][2]):isNaN(this._x0)?void 0:[[this._x0,this._y0,this._z0],[this._x1,this._y1,this._z1]]},d.find=function(e,t,n,r){var o,a,s,l,u,c,d,f,h,p=this._x0,v=this._y0,m=this._z0,g=this._x1,y=this._y1,b=this._z1,w=[],x=this._root;for(x&&w.push(new i(x,p,v,m,g,y,b)),null==r?r=1/0:(p=e-r,v=t-r,m=n-r,g=e+r,y=t+r,b=n+r,r*=r);f=w.pop();)if(!(!(x=f.node)||(a=f.x0)>g||(s=f.y0)>y||(l=f.z0)>b||(u=f.x1)<p||(c=f.y1)<v||(d=f.z1)<m))if(x.length){var E=(a+u)/2,k=(s+c)/2,T=(l+d)/2;w.push(new i(x[7],E,k,T,u,c,d),new i(x[6],a,k,T,E,c,d),new i(x[5],E,s,T,u,k,d),new i(x[4],a,s,T,E,k,d),new i(x[3],E,k,l,u,c,T),new i(x[2],a,k,l,E,c,T),new i(x[1],E,s,l,u,k,T),new i(x[0],a,s,l,E,k,T)),(h=(n>=T)<<2|(t>=k)<<1|e>=E)&&(f=w[w.length-1],w[w.length-1]=w[w.length-1-h],w[w.length-1-h]=f)}else{var _=e-+this._x.call(null,x.data),O=t-+this._y.call(null,x.data),C=n-+this._z.call(null,x.data),A=_*_+O*O+C*C;if(A<r){var S=Math.sqrt(r=A);p=e-S,v=t-S,m=n-S,g=e+S,y=t+S,b=n+S,o=x.data}}return o},d.remove=function(e){if(isNaN(o=+this._x.call(null,e))||isNaN(a=+this._y.call(null,e))||isNaN(s=+this._z.call(null,e)))return this;var t,n,r,i,o,a,s,l,u,c,d,f,h,p,v,m=this._root,g=this._x0,y=this._y0,b=this._z0,w=this._x1,x=this._y1,E=this._z1;if(!m)return this;if(m.length)for(;;){if((d=o>=(l=(g+w)/2))?g=l:w=l,(f=a>=(u=(y+x)/2))?y=u:x=u,(h=s>=(c=(b+E)/2))?b=c:E=c,t=m,!(m=m[p=h<<2|f<<1|d]))return this;if(!m.length)break;(t[p+1&7]||t[p+2&7]||t[p+3&7]||t[p+4&7]||t[p+5&7]||t[p+6&7]||t[p+7&7])&&(n=t,v=p)}for(;m.data!==e;)if(r=m,!(m=m.next))return this;return(i=m.next)&&delete m.next,r?(i?r.next=i:delete r.next,this):t?(i?t[p]=i:delete t[p],(m=t[0]||t[1]||t[2]||t[3]||t[4]||t[5]||t[6]||t[7])&&m===(t[7]||t[6]||t[5]||t[4]||t[3]||t[2]||t[1]||t[0])&&!m.length&&(n?n[v]=m:this._root=m),this):(this._root=i,this)},d.removeAll=function(e){for(var t=0,n=e.length;t<n;++t)this.remove(e[t]);return this},d.root=function(){return this._root},d.size=function(){var e=0;return this.visit((function(t){if(!t.length)do{++e}while(t=t.next)})),e},d.visit=function(e){var t,n,r,o,a,s,l,u,c=[],d=this._root;for(d&&c.push(new i(d,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1));t=c.pop();)if(!e(d=t.node,r=t.x0,o=t.y0,a=t.z0,s=t.x1,l=t.y1,u=t.z1)&&d.length){var f=(r+s)/2,h=(o+l)/2,p=(a+u)/2;(n=d[7])&&c.push(new i(n,f,h,p,s,l,u)),(n=d[6])&&c.push(new i(n,r,h,p,f,l,u)),(n=d[5])&&c.push(new i(n,f,o,p,s,h,u)),(n=d[4])&&c.push(new i(n,r,o,p,f,h,u)),(n=d[3])&&c.push(new i(n,f,h,a,s,l,p)),(n=d[2])&&c.push(new i(n,r,h,a,f,l,p)),(n=d[1])&&c.push(new i(n,f,o,a,s,h,p)),(n=d[0])&&c.push(new i(n,r,o,a,f,h,p))}return this},d.visitAfter=function(e){var t,n=[],r=[];for(this._root&&n.push(new i(this._root,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1));t=n.pop();){var o=t.node;if(o.length){var a,s=t.x0,l=t.y0,u=t.z0,c=t.x1,d=t.y1,f=t.z1,h=(s+c)/2,p=(l+d)/2,v=(u+f)/2;(a=o[0])&&n.push(new i(a,s,l,u,h,p,v)),(a=o[1])&&n.push(new i(a,h,l,u,c,p,v)),(a=o[2])&&n.push(new i(a,s,p,u,h,d,v)),(a=o[3])&&n.push(new i(a,h,p,u,c,d,v)),(a=o[4])&&n.push(new i(a,s,l,v,h,p,f)),(a=o[5])&&n.push(new i(a,h,l,v,c,p,f)),(a=o[6])&&n.push(new i(a,s,p,v,h,d,f)),(a=o[7])&&n.push(new i(a,h,p,v,c,d,f))}r.push(t)}for(;t=r.pop();)e(t.node,t.x0,t.y0,t.z0,t.x1,t.y1,t.z1);return this},d.x=function(e){return arguments.length?(this._x=e,this):this._x},d.y=function(e){return arguments.length?(this._y=e,this):this._y},d.z=function(e){return arguments.length?(this._z=e,this):this._z}},54:function(e,t,n){"use strict";function r(e,t,n,r){if(isNaN(t)||isNaN(n))return e;var i,o,a,s,l,u,c,d,f,h=e._root,p={data:r},v=e._x0,m=e._y0,g=e._x1,y=e._y1;if(!h)return e._root=p,e;for(;h.length;)if((u=t>=(o=(v+g)/2))?v=o:g=o,(c=n>=(a=(m+y)/2))?m=a:y=a,i=h,!(h=h[d=c<<1|u]))return i[d]=p,e;if(s=+e._x.call(null,h.data),l=+e._y.call(null,h.data),t===s&&n===l)return p.next=h,i?i[d]=p:e._root=p,e;do{i=i?i[d]=new Array(4):e._root=new Array(4),(u=t>=(o=(v+g)/2))?v=o:g=o,(c=n>=(a=(m+y)/2))?m=a:y=a}while((d=c<<1|u)===(f=(l>=a)<<1|s>=o));return i[f]=h,i[d]=p,e}function i(e,t,n,r,i){this.node=e,this.x0=t,this.y0=n,this.x1=r,this.y1=i}function o(e){return e[0]}function a(e){return e[1]}function s(e,t,n){var r=new l(null==t?o:t,null==n?a:n,NaN,NaN,NaN,NaN);return null==e?r:r.addAll(e)}function l(e,t,n,r,i,o){this._x=e,this._y=t,this._x0=n,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function u(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}n.d(t,{Z:function(){return s}});var c=s.prototype=l.prototype;c.copy=function(){var e,t,n=new l(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return n;if(!r.length)return n._root=u(r),n;for(e=[{source:r,target:n._root=new Array(4)}];r=e.pop();)for(var i=0;i<4;++i)(t=r.source[i])&&(t.length?e.push({source:t,target:r.target[i]=new Array(4)}):r.target[i]=u(t));return n},c.add=function(e){var t=+this._x.call(null,e),n=+this._y.call(null,e);return r(this.cover(t,n),t,n,e)},c.addAll=function(e){var t,n,i,o,a=e.length,s=new Array(a),l=new Array(a),u=1/0,c=1/0,d=-1/0,f=-1/0;for(n=0;n<a;++n)isNaN(i=+this._x.call(null,t=e[n]))||isNaN(o=+this._y.call(null,t))||(s[n]=i,l[n]=o,i<u&&(u=i),i>d&&(d=i),o<c&&(c=o),o>f&&(f=o));if(u>d||c>f)return this;for(this.cover(u,c).cover(d,f),n=0;n<a;++n)r(this,s[n],l[n],e[n]);return this},c.cover=function(e,t){if(isNaN(e=+e)||isNaN(t=+t))return this;var n=this._x0,r=this._y0,i=this._x1,o=this._y1;if(isNaN(n))i=(n=Math.floor(e))+1,o=(r=Math.floor(t))+1;else{for(var a,s,l=i-n||1,u=this._root;n>e||e>=i||r>t||t>=o;)switch(s=(t<r)<<1|e<n,(a=new Array(4))[s]=u,u=a,l*=2,s){case 0:i=n+l,o=r+l;break;case 1:n=i-l,o=r+l;break;case 2:i=n+l,r=o-l;break;case 3:n=i-l,r=o-l}this._root&&this._root.length&&(this._root=u)}return this._x0=n,this._y0=r,this._x1=i,this._y1=o,this},c.data=function(){var e=[];return this.visit((function(t){if(!t.length)do{e.push(t.data)}while(t=t.next)})),e},c.extent=function(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},c.find=function(e,t,n){var r,o,a,s,l,u,c,d=this._x0,f=this._y0,h=this._x1,p=this._y1,v=[],m=this._root;for(m&&v.push(new i(m,d,f,h,p)),null==n?n=1/0:(d=e-n,f=t-n,h=e+n,p=t+n,n*=n);u=v.pop();)if(!(!(m=u.node)||(o=u.x0)>h||(a=u.y0)>p||(s=u.x1)<d||(l=u.y1)<f))if(m.length){var g=(o+s)/2,y=(a+l)/2;v.push(new i(m[3],g,y,s,l),new i(m[2],o,y,g,l),new i(m[1],g,a,s,y),new i(m[0],o,a,g,y)),(c=(t>=y)<<1|e>=g)&&(u=v[v.length-1],v[v.length-1]=v[v.length-1-c],v[v.length-1-c]=u)}else{var b=e-+this._x.call(null,m.data),w=t-+this._y.call(null,m.data),x=b*b+w*w;if(x<n){var E=Math.sqrt(n=x);d=e-E,f=t-E,h=e+E,p=t+E,r=m.data}}return r},c.remove=function(e){if(isNaN(o=+this._x.call(null,e))||isNaN(a=+this._y.call(null,e)))return this;var t,n,r,i,o,a,s,l,u,c,d,f,h=this._root,p=this._x0,v=this._y0,m=this._x1,g=this._y1;if(!h)return this;if(h.length)for(;;){if((u=o>=(s=(p+m)/2))?p=s:m=s,(c=a>=(l=(v+g)/2))?v=l:g=l,t=h,!(h=h[d=c<<1|u]))return this;if(!h.length)break;(t[d+1&3]||t[d+2&3]||t[d+3&3])&&(n=t,f=d)}for(;h.data!==e;)if(r=h,!(h=h.next))return this;return(i=h.next)&&delete h.next,r?(i?r.next=i:delete r.next,this):t?(i?t[d]=i:delete t[d],(h=t[0]||t[1]||t[2]||t[3])&&h===(t[3]||t[2]||t[1]||t[0])&&!h.length&&(n?n[f]=h:this._root=h),this):(this._root=i,this)},c.removeAll=function(e){for(var t=0,n=e.length;t<n;++t)this.remove(e[t]);return this},c.root=function(){return this._root},c.size=function(){var e=0;return this.visit((function(t){if(!t.length)do{++e}while(t=t.next)})),e},c.visit=function(e){var t,n,r,o,a,s,l=[],u=this._root;for(u&&l.push(new i(u,this._x0,this._y0,this._x1,this._y1));t=l.pop();)if(!e(u=t.node,r=t.x0,o=t.y0,a=t.x1,s=t.y1)&&u.length){var c=(r+a)/2,d=(o+s)/2;(n=u[3])&&l.push(new i(n,c,d,a,s)),(n=u[2])&&l.push(new i(n,r,d,c,s)),(n=u[1])&&l.push(new i(n,c,o,a,d)),(n=u[0])&&l.push(new i(n,r,o,c,d))}return this},c.visitAfter=function(e){var t,n=[],r=[];for(this._root&&n.push(new i(this._root,this._x0,this._y0,this._x1,this._y1));t=n.pop();){var o=t.node;if(o.length){var a,s=t.x0,l=t.y0,u=t.x1,c=t.y1,d=(s+u)/2,f=(l+c)/2;(a=o[0])&&n.push(new i(a,s,l,d,f)),(a=o[1])&&n.push(new i(a,d,l,u,f)),(a=o[2])&&n.push(new i(a,s,f,d,c)),(a=o[3])&&n.push(new i(a,d,f,u,c))}r.push(t)}for(;t=r.pop();)e(t.node,t.x0,t.y0,t.x1,t.y1);return this},c.x=function(e){return arguments.length?(this._x=e,this):this._x},c.y=function(e){return arguments.length?(this._y=e,this):this._y}},7646:function(e,t,n){"use strict";n.d(t,{Z:function(){return r}});var r=function(e){for(var t=e.length/6|0,n=new Array(t),r=0;r<t;)n[r]="#"+e.slice(6*r,6*++r);return n}("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928")},2462:function(e,t,n){"use strict";n.d(t,{Z:function(){return f}});class r extends Map{constructor(e,t=s){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),null!=e)for(const[n,r]of e)this.set(n,r)}get(e){return super.get(i(this,e))}has(e){return super.has(i(this,e))}set(e,t){return super.set(o(this,e),t)}delete(e){return super.delete(a(this,e))}}Set;function i({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):n}function o({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function a({_intern:e,_key:t},n){const r=t(n);return e.has(r)&&(n=e.get(n),e.delete(r)),n}function s(e){return null!==e&&"object"===typeof e?e.valueOf():e}function l(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}function u(e,t){var n;if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"===typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(e,t)}(e))||t&&e&&"number"===typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var d=Symbol("implicit");function f(){var e=new r,t=[],n=[],i=d;function o(r){var o=e.get(r);if(void 0===o){if(i!==d)return i;e.set(r,o=t.push(r)-1)}return n[o%n.length]}return o.domain=function(n){if(!arguments.length)return t.slice();t=[],e=new r;var i,a=u(n);try{for(a.s();!(i=a.n()).done;){var s=i.value;e.has(s)||e.set(s,t.push(s)-1)}}catch(l){a.e(l)}finally{a.f()}return o},o.range=function(e){return arguments.length?(n=Array.from(e),o):n.slice()},o.unknown=function(e){return arguments.length?(i=e,o):i},o.copy=function(){return f(t,n).unknown(i)},l.apply(o,arguments),o}},513:function(e,t,n){"use strict";n.d(t,{zO:function(){return h},B7:function(){return v},HT:function(){return m}});var r,i,o=0,a=0,s=0,l=0,u=0,c=0,d="object"===typeof performance&&performance.now?performance:Date,f=window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function h(){return u||(f(p),u=d.now()+c)}function p(){u=0}function v(){this._call=this._time=this._next=null}function m(e,t,n){var r=new v;return r.restart(e,t,n),r}function g(){u=(l=d.now())+c,o=a=0;try{!function(){h(),++o;for(var e,t=r;t;)(e=u-t._time)>=0&&t._call.call(void 0,e),t=t._next;--o}()}finally{o=0,function(){var e,t,n=r,o=1/0;for(;n;)n._call?(o>n._time&&(o=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:r=t);i=e,b(o)}(),u=0}}function y(){var e=d.now(),t=e-l;t>1e3&&(c-=t,l=e)}function b(e){o||(a&&(a=clearTimeout(a)),e-u>24?(e<1/0&&(a=setTimeout(g,e-d.now()-c)),s&&(s=clearInterval(s))):(s||(l=d.now(),s=setInterval(y,1e3)),o=1,f(g)))}v.prototype=m.prototype={constructor:v,restart:function(e,t,n){if("function"!==typeof e)throw new TypeError("callback is not a function");n=(null==n?h():+n)+(null==t?0:+t),this._next||i===this||(i?i._next=this:r=this,i=this),this._call=e,this._time=n,b()},stop:function(){this._call&&(this._call=null,this._time=1/0,b())}}},4245:function(e){e.exports=function(e){!function(e){if(!e)throw new Error("Eventify cannot use falsy object as events subject");for(var t=["on","fire","off"],n=0;n<t.length;++n)if(e.hasOwnProperty(t[n]))throw new Error("Subject cannot be eventified, since it already has property '"+t[n]+"'")}(e);var t=function(e){var t=Object.create(null);return{on:function(n,r,i){if("function"!==typeof r)throw new Error("callback is expected to be a function");var o=t[n];return o||(o=t[n]=[]),o.push({callback:r,ctx:i}),e},off:function(n,r){if("undefined"===typeof n)return t=Object.create(null),e;if(t[n])if("function"!==typeof r)delete t[n];else for(var i=t[n],o=0;o<i.length;++o)i[o].callback===r&&i.splice(o,1);return e},fire:function(n){var r,i=t[n];if(!i)return e;arguments.length>1&&(r=Array.prototype.splice.call(arguments,1));for(var o=0;o<i.length;++o){var a=i[o];a.callback.apply(a.ctx,r)}return e}}}(e);return e.on=t.on,e.off=t.off,e.fire=t.fire,e}},6505:function(e,t,n){e.exports=function(e,t){if(!e)throw new Error("Graph structure cannot be undefined");var o=(t&&t.createSimulator||n(5818))(t);if(Array.isArray(t))throw new Error("Physics settings is expected to be an object");var a=function(t){var n=e.getLinks(t);return n?1+n.length/3:1};t&&"function"===typeof t.nodeMass&&(a=t.nodeMass);var s=new Map,l={},u=0,c=o.settings.springTransform||i;u=0,e.forEachNode((function(e){m(e.id),u+=1})),e.forEachLink(y),e.on("changed",v);var d=!1,f={step:function(){if(0===u)return h(!0),!0;var e=o.step();f.lastMove=e,f.fire("step");var t=e/u<=.01;return h(t),t},getNodePosition:function(e){return x(e).pos},setNodePosition:function(e){var t=x(e);t.setPosition.apply(t,Array.prototype.slice.call(arguments,1))},getLinkPosition:function(e){var t=l[e];if(t)return{from:t.from.pos,to:t.to.pos}},getGraphRect:function(){return o.getBBox()},forEachBody:p,pinNode:function(e,t){x(e.id).isPinned=!!t},isNodePinned:function(e){return x(e.id).isPinned},dispose:function(){e.off("changed",v),f.fire("disposed")},getBody:function(e){return s.get(e)},getSpring:function(t,n){var r;if(void 0===n)r="object"!==typeof t?t:t.id;else{var i=e.hasLink(t,n);if(!i)return;r=i.id}return l[r]},getForceVectorLength:function(){var e=0,t=0;return p((function(n){e+=Math.abs(n.force.x),t+=Math.abs(n.force.y)})),Math.sqrt(e*e+t*t)},simulator:o,graph:e,lastMove:0};return r(f),f;function h(e){var t;d!==e&&(d=e,t=e,f.fire("stable",t))}function p(e){s.forEach(e)}function v(t){for(var n=0;n<t.length;++n){var r=t[n];"add"===r.changeType?(r.node&&m(r.node.id),r.link&&y(r.link)):"remove"===r.changeType&&(r.node&&g(r.node),r.link&&b(r.link))}u=e.getNodesCount()}function m(t){var n=s.get(t);if(!n){var r=e.getNode(t);if(!r)throw new Error("initBody() was called with unknown node id");var i=r.position;if(!i){var a=function(e){var t=[];if(!e.links)return t;for(var n=Math.min(e.links.length,2),r=0;r<n;++r){var i=e.links[r],o=i.fromId!==e.id?s.get(i.fromId):s.get(i.toId);o&&o.pos&&t.push(o)}return t}(r);i=o.getBestNewBodyPosition(a)}(n=o.addBodyAt(i)).id=t,s.set(t,n),w(t),function(e){return e&&(e.isPinned||e.data&&e.data.isPinned)}(r)&&(n.isPinned=!0)}}function g(e){var t=e.id,n=s.get(t);n&&(s.delete(t),o.removeBody(n))}function y(e){w(e.fromId),w(e.toId);var t=s.get(e.fromId),n=s.get(e.toId),r=o.addSpring(t,n,e.length);c(e,r),l[e.id]=r}function b(t){var n=l[t.id];if(n){var r=e.getNode(t.fromId),i=e.getNode(t.toId);r&&w(r.id),i&&w(i.id),delete l[t.id],o.removeSpring(n)}}function w(e){var t=s.get(e);if(t.mass=a(e),Number.isNaN(t.mass))throw new Error("Node mass should be a number")}function x(e){var t=s.get(e);return t||(m(e),t=s.get(e)),t}},e.exports.simulator=n(5818);var r=n(4245);function i(){}},5189:function(e,t,n){const r=n(6422);e.exports=function(e){return function(t,n){let i=n&&n.indent||0,o=n&&void 0!==n.join?n.join:"\n",a=Array(i+1).join(" "),s=[];for(let l=0;l<e;++l){let e=r(l),n=0===l?"":a;s.push(n+t.replace(/{var}/g,e))}return s.join(o)}}},891:function(e,t,n){e.exports=function(e){let t=i(e);return new Function("bodies","settings","random",t)},e.exports.generateFunctionBody=i;const r=n(5189);function i(e){let t=r(e);return`\n var boundingBox = {\n ${t("min_{var}: 0, max_{var}: 0,",{indent:4})}\n };\n\n return {\n box: boundingBox,\n\n update: updateBoundingBox,\n\n reset: resetBoundingBox,\n\n getBestNewPosition: function (neighbors) {\n var ${t("base_{var} = 0",{join:", "})};\n\n if (neighbors.length) {\n for (var i = 0; i < neighbors.length; ++i) {\n let neighborPos = neighbors[i].pos;\n ${t("base_{var} += neighborPos.{var};",{indent:10})}\n }\n\n ${t("base_{var} /= neighbors.length;",{indent:8})}\n } else {\n ${t("base_{var} = (boundingBox.min_{var} + boundingBox.max_{var}) / 2;",{indent:8})}\n }\n\n var springLength = settings.springLength;\n return {\n ${t("{var}: base_{var} + (random.nextDouble() - 0.5) * springLength,",{indent:8})}\n };\n }\n };\n\n function updateBoundingBox() {\n var i = bodies.length;\n if (i === 0) return; // No bodies - no borders.\n\n ${t("var max_{var} = -Infinity;",{indent:4})}\n ${t("var min_{var} = Infinity;",{indent:4})}\n\n while(i--) {\n // this is O(n), it could be done faster with quadtree, if we check the root node bounds\n var bodyPos = bodies[i].pos;\n ${t("if (bodyPos.{var} < min_{var}) min_{var} = bodyPos.{var};",{indent:6})}\n ${t("if (bodyPos.{var} > max_{var}) max_{var} = bodyPos.{var};",{indent:6})}\n }\n\n ${t("boundingBox.min_{var} = min_{var};",{indent:4})}\n ${t("boundingBox.max_{var} = max_{var};",{indent:4})}\n }\n\n function resetBoundingBox() {\n ${t("boundingBox.min_{var} = boundingBox.max_{var} = 0;",{indent:4})}\n }\n`}},6410:function(e,t,n){const r=n(5189);function i(e,t){return`\n${a(e,t)}\n${o(e)}\nreturn {Body: Body, Vector: Vector};\n`}function o(e){let t=r(e),n=t("{var}",{join:", "});return`\nfunction Body(${n}) {\n this.isPinned = false;\n this.pos = new Vector(${n});\n this.force = new Vector();\n this.velocity = new Vector();\n this.mass = 1;\n\n this.springCount = 0;\n this.springLength = 0;\n}\n\nBody.prototype.reset = function() {\n this.force.reset();\n this.springCount = 0;\n this.springLength = 0;\n}\n\nBody.prototype.setPosition = function (${n}) {\n ${t("this.pos.{var} = {var} || 0;",{indent:2})}\n};`}function a(e,t){let n=r(e),i="";return t&&(i=`${n("\n var v{var};\nObject.defineProperty(this, '{var}', {\n set: function(v) { \n if (!Number.isFinite(v)) throw new Error('Cannot set non-numbers to {var}');\n v{var} = v; \n },\n get: function() { return v{var}; }\n});")}`),`function Vector(${n("{var}",{join:", "})}) {\n ${i}\n if (typeof arguments[0] === 'object') {\n // could be another vector\n let v = arguments[0];\n ${n('if (!Number.isFinite(v.{var})) throw new Error("Expected value is not a finite number at Vector constructor ({var})");',{indent:4})}\n ${n("this.{var} = v.{var};",{indent:4})}\n } else {\n ${n('this.{var} = typeof {var} === "number" ? {var} : 0;',{indent:4})}\n }\n }\n \n Vector.prototype.reset = function () {\n ${n("this.{var} = ",{join:""})}0;\n };`}e.exports=function(e,t){let n=i(e,t),{Body:r}=new Function(n)();return r},e.exports.generateCreateBodyFunctionBody=i,e.exports.getVectorCode=a,e.exports.getBodyCode=o},6647:function(e,t,n){const r=n(5189);function i(e){return`\n if (!Number.isFinite(options.dragCoefficient)) throw new Error('dragCoefficient is not a finite number');\n\n return {\n update: function(body) {\n ${r(e)("body.force.{var} -= options.dragCoefficient * body.velocity.{var};",{indent:6})}\n }\n };\n`}e.exports=function(e){let t=i(e);return new Function("options",t)},e.exports.generateCreateDragForceFunctionBody=i},4079:function(e,t,n){const r=n(5189);function i(e){let t=r(e);return`\n if (!Number.isFinite(options.springCoefficient)) throw new Error('Spring coefficient is not a number');\n if (!Number.isFinite(options.springLength)) throw new Error('Spring length is not a number');\n\n return {\n /**\n * Updates forces acting on a spring\n */\n update: function (spring) {\n var body1 = spring.from;\n var body2 = spring.to;\n var length = spring.length < 0 ? options.springLength : spring.length;\n ${t("var d{var} = body2.pos.{var} - body1.pos.{var};",{indent:6})}\n var r = Math.sqrt(${t("d{var} * d{var}",{join:" + "})});\n\n if (r === 0) {\n ${t("d{var} = (random.nextDouble() - 0.5) / 50;",{indent:8})}\n r = Math.sqrt(${t("d{var} * d{var}",{join:" + "})});\n }\n\n var d = r - length;\n var coefficient = ((spring.coefficient > 0) ? spring.coefficient : options.springCoefficient) * d / r;\n\n ${t("body1.force.{var} += coefficient * d{var}",{indent:6})};\n body1.springCount += 1;\n body1.springLength += r;\n\n ${t("body2.force.{var} -= coefficient * d{var}",{indent:6})};\n body2.springCount += 1;\n body2.springLength += r;\n }\n };\n`}e.exports=function(e){let t=i(e);return new Function("options","random",t)},e.exports.generateCreateSpringForceFunctionBody=i},1763:function(e,t,n){const r=n(5189);function i(e){let t=r(e);return`\n var length = bodies.length;\n if (length === 0) return 0;\n\n ${t("var d{var} = 0, t{var} = 0;",{indent:2})}\n\n for (var i = 0; i < length; ++i) {\n var body = bodies[i];\n if (body.isPinned) continue;\n\n if (adaptiveTimeStepWeight && body.springCount) {\n timeStep = (adaptiveTimeStepWeight * body.springLength/body.springCount);\n }\n\n var coeff = timeStep / body.mass;\n\n ${t("body.velocity.{var} += coeff * body.force.{var};",{indent:4})}\n ${t("var v{var} = body.velocity.{var};",{indent:4})}\n var v = Math.sqrt(${t("v{var} * v{var}",{join:" + "})});\n\n if (v > 1) {\n // We normalize it so that we move within timeStep range. \n // for the case when v <= 1 - we let velocity to fade out.\n ${t("body.velocity.{var} = v{var} / v;",{indent:6})}\n }\n\n ${t("d{var} = timeStep * body.velocity.{var};",{indent:4})}\n\n ${t("body.pos.{var} += d{var};",{indent:4})}\n\n ${t("t{var} += Math.abs(d{var});",{indent:4})}\n }\n\n return (${t("t{var} * t{var}",{join:" + "})})/length;\n`}e.exports=function(e){let t=i(e);return new Function("bodies","timeStep","adaptiveTimeStepWeight",t)},e.exports.generateIntegratorFunctionBody=i},1584:function(e,t,n){const r=n(5189),i=n(6422);function o(e){let t=r(e),n=Math.pow(2,e);return`\n${c()}\n${u(e)}\n${a(e)}\n${l(e)}\n${s(e)}\n\nfunction createQuadTree(options, random) {\n options = options || {};\n options.gravity = typeof options.gravity === 'number' ? options.gravity : -1;\n options.theta = typeof options.theta === 'number' ? options.theta : 0.8;\n\n var gravity = options.gravity;\n var updateQueue = [];\n var insertStack = new InsertStack();\n var theta = options.theta;\n\n var nodesCache = [];\n var currentInCache = 0;\n var root = newNode();\n\n return {\n insertBodies: insertBodies,\n\n /**\n * Gets root node if it is present\n */\n getRoot: function() {\n return root;\n },\n\n updateBodyForce: update,\n\n options: function(newOptions) {\n if (newOptions) {\n if (typeof newOptions.gravity === 'number') {\n gravity = newOptions.gravity;\n }\n if (typeof newOptions.theta === 'number') {\n theta = newOptions.theta;\n }\n\n return this;\n }\n\n return {\n gravity: gravity,\n theta: theta\n };\n }\n };\n\n function newNode() {\n // To avoid pressure on GC we reuse nodes.\n var node = nodesCache[currentInCache];\n if (node) {\n${function(e){let t=[];for(let r=0;r<n;++r)t.push(`${e}quad${r} = null;`);return t.join("\n")}(" node.")}\n node.body = null;\n node.mass = ${t("node.mass_{var} = ",{join:""})}0;\n ${t("node.min_{var} = node.max_{var} = ",{join:""})}0;\n } else {\n node = new QuadNode();\n nodesCache[currentInCache] = node;\n }\n\n ++currentInCache;\n return node;\n }\n\n function update(sourceBody) {\n var queue = updateQueue;\n var v;\n ${t("var d{var};",{indent:4})}\n var r; \n ${t("var f{var} = 0;",{indent:4})}\n var queueLength = 1;\n var shiftIdx = 0;\n var pushIdx = 1;\n\n queue[0] = root;\n\n while (queueLength) {\n var node = queue[shiftIdx];\n var body = node.body;\n\n queueLength -= 1;\n shiftIdx += 1;\n var differentBody = (body !== sourceBody);\n if (body && differentBody) {\n // If the current node is a leaf node (and it is not source body),\n // calculate the force exerted by the current node on body, and add this\n // amount to body's net force.\n ${t("d{var} = body.pos.{var} - sourceBody.pos.{var};",{indent:8})}\n r = Math.sqrt(${t("d{var} * d{var}",{join:" + "})});\n\n if (r === 0) {\n // Poor man's protection against zero distance.\n ${t("d{var} = (random.nextDouble() - 0.5) / 50;",{indent:10})}\n r = Math.sqrt(${t("d{var} * d{var}",{join:" + "})});\n }\n\n // This is standard gravitation force calculation but we divide\n // by r^3 to save two operations when normalizing force vector.\n v = gravity * body.mass * sourceBody.mass / (r * r * r);\n ${t("f{var} += v * d{var};",{indent:8})}\n } else if (differentBody) {\n // Otherwise, calculate the ratio s / r, where s is the width of the region\n // represented by the internal node, and r is the distance between the body\n // and the node's center-of-mass\n ${t("d{var} = node.mass_{var} / node.mass - sourceBody.pos.{var};",{indent:8})}\n r = Math.sqrt(${t("d{var} * d{var}",{join:" + "})});\n\n if (r === 0) {\n // Sorry about code duplication. I don't want to create many functions\n // right away. Just want to see performance first.\n ${t("d{var} = (random.nextDouble() - 0.5) / 50;",{indent:10})}\n r = Math.sqrt(${t("d{var} * d{var}",{join:" + "})});\n }\n // If s / r < \u03b8, treat this internal node as a single body, and calculate the\n // force it exerts on sourceBody, and add this amount to sourceBody's net force.\n if ((node.max_${i(0)} - node.min_${i(0)}) / r < theta) {\n // in the if statement above we consider node's width only\n // because the region was made into square during tree creation.\n // Thus there is no difference between using width or height.\n v = gravity * node.mass * sourceBody.mass / (r * r * r);\n ${t("f{var} += v * d{var};",{indent:10})}\n } else {\n // Otherwise, run the procedure recursively on each of the current node's children.\n\n // I intentionally unfolded this loop, to save several CPU cycles.\n${function(){let e=Array(11).join(" "),t=[];for(let r=0;r<n;++r)t.push(e+`if (node.quad${r}) {`),t.push(e+` queue[pushIdx] = node.quad${r};`),t.push(e+" queueLength += 1;"),t.push(e+" pushIdx += 1;"),t.push(e+"}");return t.join("\n")}()}\n }\n }\n }\n\n ${t("sourceBody.force.{var} += f{var};",{indent:4})}\n }\n\n function insertBodies(bodies) {\n ${t("var {var}min = Number.MAX_VALUE;",{indent:4})}\n ${t("var {var}max = Number.MIN_VALUE;",{indent:4})}\n var i = bodies.length;\n\n // To reduce quad tree depth we are looking for exact bounding box of all particles.\n while (i--) {\n var pos = bodies[i].pos;\n ${t("if (pos.{var} < {var}min) {var}min = pos.{var};",{indent:6})}\n ${t("if (pos.{var} > {var}max) {var}max = pos.{var};",{indent:6})}\n }\n\n // Makes the bounds square.\n var maxSideLength = -Infinity;\n ${t("if ({var}max - {var}min > maxSideLength) maxSideLength = {var}max - {var}min ;",{indent:4})}\n\n currentInCache = 0;\n root = newNode();\n ${t("root.min_{var} = {var}min;",{indent:4})}\n ${t("root.max_{var} = {var}min + maxSideLength;",{indent:4})}\n\n i = bodies.length - 1;\n if (i >= 0) {\n root.body = bodies[i];\n }\n while (i--) {\n insert(bodies[i], root);\n }\n }\n\n function insert(newBody) {\n insertStack.reset();\n insertStack.push(root, newBody);\n\n while (!insertStack.isEmpty()) {\n var stackItem = insertStack.pop();\n var node = stackItem.node;\n var body = stackItem.body;\n\n if (!node.body) {\n // This is internal node. Update the total mass of the node and center-of-mass.\n ${t("var {var} = body.pos.{var};",{indent:8})}\n node.mass += body.mass;\n ${t("node.mass_{var} += body.mass * {var};",{indent:8})}\n\n // Recursively insert the body in the appropriate quadrant.\n // But first find the appropriate quadrant.\n var quadIdx = 0; // Assume we are in the 0's quad.\n ${t("var min_{var} = node.min_{var};",{indent:8})}\n ${t("var max_{var} = (min_{var} + node.max_{var}) / 2;",{indent:8})}\n\n${function(t){let n=[],r=Array(t+1).join(" ");for(let o=0;o<e;++o)n.push(r+`if (${i(o)} > max_${i(o)}) {`),n.push(r+` quadIdx = quadIdx + ${Math.pow(2,o)};`),n.push(r+` min_${i(o)} = max_${i(o)};`),n.push(r+` max_${i(o)} = node.max_${i(o)};`),n.push(r+"}");return n.join("\n")}(8)}\n\n var child = getChild(node, quadIdx);\n\n if (!child) {\n // The node is internal but this quadrant is not taken. Add\n // subnode to it.\n child = newNode();\n ${t("child.min_{var} = min_{var};",{indent:10})}\n ${t("child.max_{var} = max_{var};",{indent:10})}\n child.body = body;\n\n setChild(node, quadIdx, child);\n } else {\n // continue searching in this quadrant.\n insertStack.push(child, body);\n }\n } else {\n // We are trying to add to the leaf node.\n // We have to convert current leaf into internal node\n // and continue adding two nodes.\n var oldBody = node.body;\n node.body = null; // internal nodes do not cary bodies\n\n if (isSamePosition(oldBody.pos, body.pos)) {\n // Prevent infinite subdivision by bumping one node\n // anywhere in this quadrant\n var retriesCount = 3;\n do {\n var offset = random.nextDouble();\n ${t("var d{var} = (node.max_{var} - node.min_{var}) * offset;",{indent:12})}\n\n ${t("oldBody.pos.{var} = node.min_{var} + d{var};",{indent:12})}\n retriesCount -= 1;\n // Make sure we don't bump it out of the box. If we do, next iteration should fix it\n } while (retriesCount > 0 && isSamePosition(oldBody.pos, body.pos));\n\n if (retriesCount === 0 && isSamePosition(oldBody.pos, body.pos)) {\n // This is very bad, we ran out of precision.\n // if we do not return from the method we'll get into\n // infinite loop here. So we sacrifice correctness of layout, and keep the app running\n // Next layout iteration should get larger bounding box in the first step and fix this\n return;\n }\n }\n // Next iteration should subdivide node further.\n insertStack.push(node, oldBody);\n insertStack.push(node, body);\n }\n }\n }\n}\nreturn createQuadTree;\n\n`}function a(e){let t=r(e);return`\n function isSamePosition(point1, point2) {\n ${t("var d{var} = Math.abs(point1.{var} - point2.{var});",{indent:2})}\n \n return ${t("d{var} < 1e-8",{join:" && "})};\n } \n`}function s(e){var t=Math.pow(2,e);return`\nfunction setChild(node, idx, child) {\n ${function(){let e=[];for(let n=0;n<t;++n){let t=0===n?" ":" else ";e.push(`${t}if (idx === ${n}) node.quad${n} = child;`)}return e.join("\n")}()}\n}`}function l(e){return`function getChild(node, idx) {\n${function(){let t=[],n=Math.pow(2,e);for(let e=0;e<n;++e)t.push(` if (idx === ${e}) return node.quad${e};`);return t.join("\n")}()}\n return null;\n}`}function u(e){let t=r(e),n=Math.pow(2,e);return`\nfunction QuadNode() {\n // body stored inside this node. In quad tree only leaf nodes (by construction)\n // contain bodies:\n this.body = null;\n\n // Child nodes are stored in quads. Each quad is presented by number:\n // 0 | 1\n // -----\n // 2 | 3\n${function(e){let t=[];for(let r=0;r<n;++r)t.push(`${e}quad${r} = null;`);return t.join("\n")}(" this.")}\n\n // Total mass of current node\n this.mass = 0;\n\n // Center of mass coordinates\n ${t("this.mass_{var} = 0;",{indent:2})}\n\n // bounding box coordinates\n ${t("this.min_{var} = 0;",{indent:2})}\n ${t("this.max_{var} = 0;",{indent:2})}\n}\n`}function c(){return"\n/**\n * Our implementation of QuadTree is non-recursive to avoid GC hit\n * This data structure represent stack of elements\n * which we are trying to insert into quad tree.\n */\nfunction InsertStack () {\n this.stack = [];\n this.popIdx = 0;\n}\n\nInsertStack.prototype = {\n isEmpty: function() {\n return this.popIdx === 0;\n },\n push: function (node, body) {\n var item = this.stack[this.popIdx];\n if (!item) {\n // we are trying to avoid memory pressure: create new element\n // only when absolutely necessary\n this.stack[this.popIdx] = new InsertStackElement(node, body);\n } else {\n item.node = node;\n item.body = body;\n }\n ++this.popIdx;\n },\n pop: function () {\n if (this.popIdx > 0) {\n return this.stack[--this.popIdx];\n }\n },\n reset: function () {\n this.popIdx = 0;\n }\n};\n\nfunction InsertStackElement(node, body) {\n this.node = node; // QuadTree node\n this.body = body; // physical body which needs to be inserted to node\n}\n"}e.exports=function(e){let t=o(e);return new Function(t)()},e.exports.generateQuadTreeFunctionBody=o,e.exports.getInsertStackCode=c,e.exports.getQuadNodeCode=u,e.exports.isSamePosition=a,e.exports.getChildBodyCode=l,e.exports.setChildBodyCode=s},6422:function(e){e.exports=function(e){return 0===e?"x":1===e?"y":2===e?"z":"c"+(e+1)}},5818:function(e,t,n){e.exports=function(e){var t=n(8403),d=n(5510),f=n(4245);if(e){if(void 0!==e.springCoeff)throw new Error("springCoeff was renamed to springCoefficient");if(void 0!==e.dragCoeff)throw new Error("dragCoeff was renamed to dragCoefficient")}e=d(e,{springLength:10,springCoefficient:.8,gravity:-12,theta:.8,dragCoefficient:.9,timeStep:.5,adaptiveTimeStepWeight:0,dimensions:2,debug:!1});var h=u[e.dimensions];if(!h){var p=e.dimensions;h={Body:r(p,e.debug),createQuadTree:i(p),createBounds:o(p),createDragForce:a(p),createSpringForce:s(p),integrate:l(p)},u[p]=h}var v=h.Body,m=h.createQuadTree,g=h.createBounds,y=h.createDragForce,b=h.createSpringForce,w=h.integrate,x=n(8712).random(42),E=[],k=[],T=m(e,x),_=g(E,e,x),O=b(e,x),C=y(e),A=[],S=new Map,P=0;j("nbody",(function(){if(0===E.length)return;T.insertBodies(E);var e=E.length;for(;e--;){var t=E[e];t.isPinned||(t.reset(),T.updateBodyForce(t),C.update(t))}})),j("spring",(function(){var e=k.length;for(;e--;)O.update(k[e])}));var M={bodies:E,quadTree:T,springs:k,settings:e,addForce:j,removeForce:function(e){var t=A.indexOf(S.get(e));if(t<0)return;A.splice(t,1),S.delete(e)},getForces:function(){return S},step:function(){for(var t=0;t<A.length;++t)A[t](P);var n=w(E,e.timeStep,e.adaptiveTimeStepWeight);return P+=1,n},addBody:function(e){if(!e)throw new Error("Body is required");return E.push(e),e},addBodyAt:function(e){if(!e)throw new Error("Body position is required");var t=(e=>new v(e))(e);return E.push(t),t},removeBody:function(e){if(e){var t=E.indexOf(e);if(!(t<0))return E.splice(t,1),0===E.length&&_.reset(),!0}},addSpring:function(e,n,r,i){if(!e||!n)throw new Error("Cannot add null spring to force simulator");"number"!==typeof r&&(r=-1);var o=new t(e,n,r,i>=0?i:-1);return k.push(o),o},getTotalMovement:function(){return 0},removeSpring:function(e){if(e){var t=k.indexOf(e);return t>-1?(k.splice(t,1),!0):void 0}},getBestNewBodyPosition:function(e){return _.getBestNewPosition(e)},getBBox:R,getBoundingBox:R,invalidateBBox:function(){console.warn("invalidateBBox() is deprecated, bounds always recomputed on `getBBox()` call")},gravity:function(t){return void 0!==t?(e.gravity=t,T.options({gravity:t}),this):e.gravity},theta:function(t){return void 0!==t?(e.theta=t,T.options({theta:t}),this):e.theta},random:x};return function(e,t){for(var n in e)c(e,t,n)}(e,M),f(M),M;function R(){return _.update(),_.box}function j(e,t){if(S.has(e))throw new Error("Force "+e+" is already added");S.set(e,t),A.push(t)}};var r=n(6410),i=n(1584),o=n(891),a=n(6647),s=n(4079),l=n(1763),u={};function c(e,t,n){if(e.hasOwnProperty(n)&&"function"!==typeof t[n]){var r=Number.isFinite(e[n]);t[n]=r?function(r){if(void 0!==r){if(!Number.isFinite(r))throw new Error("Value of "+n+" should be a valid number.");return e[n]=r,t}return e[n]}:function(r){return void 0!==r?(e[n]=r,t):e[n]}}}},8403:function(e){e.exports=function(e,t,n,r){this.from=e,this.to=t,this.length=n,this.coefficient=r}},4736:function(e,t,n){e.exports=function(e){"uniqueLinkId"in(e=e||{})&&(console.warn("ngraph.graph: Starting from version 0.14 `uniqueLinkId` is deprecated.\nUse `multigraph` option instead\n","\n","Note: there is also change in default behavior: From now on each graph\nis considered to be not a multigraph by default (each edge is unique)."),e.multigraph=e.uniqueLinkId);void 0===e.multigraph&&(e.multigraph=!1);if("function"!==typeof Map)throw new Error("ngraph.graph requires `Map` to be defined. Please polyfill it before using ngraph");var t=new Map,n=[],u={},c=0,d=e.multigraph?function(e,t,n){var r=l(e,t),i=u.hasOwnProperty(r);if(i||O(e,t)){i||(u[r]=0);var o="@"+ ++u[r];r=l(e+o,t+o)}return new s(e,t,n,r)}:function(e,t,n){var r=l(e,t);return new s(e,t,n,r)},f=[],h=C,p=C,v=C,m=C,g={addNode:w,addLink:function(e,t,r){v();var i=x(e)||w(e),o=x(t)||w(t),s=d(e,t,r);n.push(s),a(i,s),e!==t&&a(o,s);return h(s,"add"),m(),s},removeLink:_,removeNode:E,getNode:x,getNodeCount:k,getLinkCount:T,getLinksCount:T,getNodesCount:k,getLinks:function(e){var t=x(e);return t?t.links:null},forEachNode:P,forEachLinkedNode:function(e,n,r){var i=x(e);if(i&&i.links&&"function"===typeof n)return r?function(e,n,r){for(var i=0;i<e.length;++i){var o=e[i];if(o.fromId===n&&r(t.get(o.toId),o))return!0}}(i.links,e,n):function(e,n,r){for(var i=0;i<e.length;++i){var o=e[i],a=o.fromId===n?o.toId:o.fromId;if(r(t.get(a),o))return!0}}(i.links,e,n)},forEachLink:function(e){var t,r;if("function"===typeof e)for(t=0,r=n.length;t<r;++t)e(n[t])},beginUpdate:v,endUpdate:m,clear:function(){v(),P((function(e){E(e.id)})),m()},hasLink:O,hasNode:x,getLink:O};return r(g),function(){var e=g.on;function t(){return g.beginUpdate=v=A,g.endUpdate=m=S,h=y,p=b,g.on=e,e.apply(g,arguments)}g.on=t}(),g;function y(e,t){f.push({link:e,changeType:t})}function b(e,t){f.push({node:e,changeType:t})}function w(e,n){if(void 0===e)throw new Error("Invalid node identifier");v();var r=x(e);return r?(r.data=n,p(r,"update")):(r=new o(e,n),p(r,"add")),t.set(e,r),m(),r}function x(e){return t.get(e)}function E(e){var n=x(e);if(!n)return!1;v();var r=n.links;if(r){n.links=null;for(var i=0;i<r.length;++i)_(r[i])}return t.delete(e),p(n,"remove"),m(),!0}function k(){return t.size}function T(){return n.length}function _(e){if(!e)return!1;var t=i(e,n);if(t<0)return!1;v(),n.splice(t,1);var r=x(e.fromId),o=x(e.toId);return r&&(t=i(e,r.links))>=0&&r.links.splice(t,1),o&&(t=i(e,o.links))>=0&&o.links.splice(t,1),h(e,"remove"),m(),!0}function O(e,t){var n,r=x(e);if(!r||!r.links)return null;for(n=0;n<r.links.length;++n){var i=r.links[n];if(i.fromId===e&&i.toId===t)return i}return null}function C(){}function A(){c+=1}function S(){0===(c-=1)&&f.length>0&&(g.fire("changed",f),f.length=0)}function P(e){if("function"!==typeof e)throw new Error("Function is expected to iterate over graph nodes. You passed "+e);for(var n=t.values(),r=n.next();!r.done;){if(e(r.value))return!0;r=n.next()}}};var r=n(4245);function i(e,t){if(!t)return-1;if(t.indexOf)return t.indexOf(e);var n,r=t.length;for(n=0;n<r;n+=1)if(t[n]===e)return n;return-1}function o(e,t){this.id=e,this.links=null,this.data=t}function a(e,t){e.links?e.links.push(t):e.links=[t]}function s(e,t,n,r){this.fromId=e,this.toId=t,this.data=n,this.id=r}function l(e,t){return e.toString()+"\ud83d\udc49 "+t.toString()}},5510:function(e){e.exports=function e(t,n){var r;t||(t={});if(n)for(r in n)if(n.hasOwnProperty(r)){var i=t.hasOwnProperty(r),o=typeof n[r];!i||typeof t[r]!==o?t[r]=n[r]:"object"===o&&(t[r]=e(t[r],n[r]))}return t}},8712:function(e){function t(e){return new n("number"===typeof e?e:+new Date)}function n(e){this.seed=e}function r(e){return Math.sqrt(2*Math.PI/e)*Math.pow(1/Math.E*(e+1/(12*e-1/(10*e))),e)}function i(){var e=this.seed;return e=4294967295&(3042594569^(e=(e=4294967295&((e=(e=4294967295&(3345072700^(e=e+2127912214+(e<<12)&4294967295)^e>>>19))+374761393+(e<<5)&4294967295)+3550635116^e<<9))+4251993797+(e<<3)&4294967295)^e>>>16),this.seed=e,(268435455&e)/268435456}e.exports=t,e.exports.random=t,e.exports.randomIterator=function(e,n){var r=n||t();if("function"!==typeof r.next)throw new Error("customRandom does not match expected API: next() function is missing");return{forEach:function(t){var n,i,o;for(n=e.length-1;n>0;--n)i=r.next(n+1),o=e[i],e[i]=e[n],e[n]=o,t(o);e.length&&t(e[0])},shuffle:function(){var t,n,i;for(t=e.length-1;t>0;--t)n=r.next(t+1),i=e[n],e[n]=e[t],e[t]=i;return e}}},n.prototype.next=function(e){return Math.floor(this.nextDouble()*e)},n.prototype.nextDouble=i,n.prototype.uniform=i,n.prototype.gaussian=function(){var e,t,n;do{t=2*this.nextDouble()-1,n=2*this.nextDouble()-1,e=t*t+n*n}while(e>=1||0===e);return t*Math.sqrt(-2*Math.log(e)/e)},n.prototype.levy=function(){var e=1.5,t=Math.pow(r(2.5)*Math.sin(Math.PI*e/2)/(r(1.25)*e*Math.pow(2,.25)),1/e);return this.gaussian()*t/Math.pow(Math.abs(this.gaussian()),1/e)}},75:function(e,t,n){var r=n(4155);(function(){var t,n,i,o,a,s;"undefined"!==typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:"undefined"!==typeof r&&null!==r&&r.hrtime?(e.exports=function(){return(t()-a)/1e6},n=r.hrtime,o=(t=function(){var e;return 1e9*(e=n())[0]+e[1]})(),s=1e9*r.uptime(),a=o-s):Date.now?(e.exports=function(){return Date.now()-i},i=Date.now()):(e.exports=function(){return(new Date).getTime()-i},i=(new Date).getTime())}).call(this)},7236:function(e){var t=null,n=["Webkit","Moz","O","ms"];e.exports=function(e){t||(t=document.createElement("div"));var r=t.style;if(e in r)return e;for(var i=e.charAt(0).toUpperCase()+e.slice(1),o=n.length;o>=0;o--){var a=n[o]+i;if(a in r)return a}return!1}},4155:function(e){var t,n,r=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function a(e){if(t===setTimeout)return setTimeout(e,0);if((t===i||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}!function(){try{t="function"===typeof setTimeout?setTimeout:i}catch(e){t=i}try{n="function"===typeof clearTimeout?clearTimeout:o}catch(e){n=o}}();var s,l=[],u=!1,c=-1;function d(){u&&s&&(u=!1,s.length?l=s.concat(l):c=-1,l.length&&f())}function f(){if(!u){var e=a(d);u=!0;for(var t=l.length;t;){for(s=l,l=[];++c<t;)s&&s[c].run();c=-1,t=l.length}s=null,u=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===o||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function h(e,t){this.fun=e,this.array=t}function p(){}r.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];l.push(new h(e,t)),1!==l.length||u||a(f)},h.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={},r.on=p,r.addListener=p,r.once=p,r.off=p,r.removeListener=p,r.removeAllListeners=p,r.emit=p,r.prependListener=p,r.prependOnceListener=p,r.listeners=function(e){return[]},r.binding=function(e){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(e){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},4087:function(e,t,n){for(var r=n(75),i="undefined"===typeof window?n.g:window,o=["moz","webkit"],a="AnimationFrame",s=i["request"+a],l=i["cancel"+a]||i["cancelRequest"+a],u=0;!s&&u<o.length;u++)s=i[o[u]+"Request"+a],l=i[o[u]+"Cancel"+a]||i[o[u]+"CancelRequest"+a];if(!s||!l){var c=0,d=0,f=[];s=function(e){if(0===f.length){var t=r(),n=Math.max(0,16.666666666666668-(t-c));c=n+t,setTimeout((function(){var e=f.slice(0);f.length=0;for(var t=0;t<e.length;t++)if(!e[t].cancelled)try{e[t].callback(c)}catch(n){setTimeout((function(){throw n}),0)}}),Math.round(n))}return f.push({handle:++d,callback:e,cancelled:!1}),d},l=function(e){for(var t=0;t<f.length;t++)f[t].handle===e&&(f[t].cancelled=!0)}}e.exports=function(e){return s.call(i,e)},e.exports.cancel=function(){l.apply(i,arguments)},e.exports.polyfill=function(e){e||(e=i),e.requestAnimationFrame=s,e.cancelAnimationFrame=l}},3485:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.renderViewDefault=function(e){return a.default.createElement("div",e)},t.renderTrackHorizontalDefault=function(e){var t=e.style,n=s(e,["style"]),i=r({},t,{right:2,bottom:2,left:2,borderRadius:3});return a.default.createElement("div",r({style:i},n))},t.renderTrackVerticalDefault=function(e){var t=e.style,n=s(e,["style"]),i=r({},t,{right:2,bottom:2,top:2,borderRadius:3});return a.default.createElement("div",r({style:i},n))},t.renderThumbHorizontalDefault=function(e){var t=e.style,n=s(e,["style"]),i=r({},t,{cursor:"pointer",borderRadius:"inherit",backgroundColor:"rgba(0,0,0,.2)"});return a.default.createElement("div",r({style:i},n))},t.renderThumbVerticalDefault=function(e){var t=e.style,n=s(e,["style"]),i=r({},t,{cursor:"pointer",borderRadius:"inherit",backgroundColor:"rgba(0,0,0,.2)"});return a.default.createElement("div",r({style:i},n))};var i,o=n(7294),a=(i=o)&&i.__esModule?i:{default:i};function s(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}},6164:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(4087),a=g(o),s=g(n(3879)),l=n(7294),u=g(n(5697)),c=g(n(7928)),d=g(n(6445)),f=g(n(8309)),h=g(n(1608)),p=g(n(7114)),v=n(8285),m=n(3485);function g(e){return e&&e.__esModule?e:{default:e}}function y(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function b(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t}var w=function(e){function t(e){var n;y(this,t);for(var r=arguments.length,i=Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];var a=b(this,(n=t.__proto__||Object.getPrototypeOf(t)).call.apply(n,[this,e].concat(i)));return a.getScrollLeft=a.getScrollLeft.bind(a),a.getScrollTop=a.getScrollTop.bind(a),a.getScrollWidth=a.getScrollWidth.bind(a),a.getScrollHeight=a.getScrollHeight.bind(a),a.getClientWidth=a.getClientWidth.bind(a),a.getClientHeight=a.getClientHeight.bind(a),a.getValues=a.getValues.bind(a),a.getThumbHorizontalWidth=a.getThumbHorizontalWidth.bind(a),a.getThumbVerticalHeight=a.getThumbVerticalHeight.bind(a),a.getScrollLeftForOffset=a.getScrollLeftForOffset.bind(a),a.getScrollTopForOffset=a.getScrollTopForOffset.bind(a),a.scrollLeft=a.scrollLeft.bind(a),a.scrollTop=a.scrollTop.bind(a),a.scrollToLeft=a.scrollToLeft.bind(a),a.scrollToTop=a.scrollToTop.bind(a),a.scrollToRight=a.scrollToRight.bind(a),a.scrollToBottom=a.scrollToBottom.bind(a),a.handleTrackMouseEnter=a.handleTrackMouseEnter.bind(a),a.handleTrackMouseLeave=a.handleTrackMouseLeave.bind(a),a.handleHorizontalTrackMouseDown=a.handleHorizontalTrackMouseDown.bind(a),a.handleVerticalTrackMouseDown=a.handleVerticalTrackMouseDown.bind(a),a.handleHorizontalThumbMouseDown=a.handleHorizontalThumbMouseDown.bind(a),a.handleVerticalThumbMouseDown=a.handleVerticalThumbMouseDown.bind(a),a.handleWindowResize=a.handleWindowResize.bind(a),a.handleScroll=a.handleScroll.bind(a),a.handleDrag=a.handleDrag.bind(a),a.handleDragEnd=a.handleDragEnd.bind(a),a.state={didMountUniversal:!1},a}return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),i(t,[{key:"componentDidMount",value:function(){this.addListeners(),this.update(),this.componentDidMountUniversal()}},{key:"componentDidMountUniversal",value:function(){this.props.universal&&this.setState({didMountUniversal:!0})}},{key:"componentDidUpdate",value:function(){this.update()}},{key:"componentWillUnmount",value:function(){this.removeListeners(),(0,o.cancel)(this.requestFrame),clearTimeout(this.hideTracksTimeout),clearInterval(this.detectScrollingInterval)}},{key:"getScrollLeft",value:function(){return this.view?this.view.scrollLeft:0}},{key:"getScrollTop",value:function(){return this.view?this.view.scrollTop:0}},{key:"getScrollWidth",value:function(){return this.view?this.view.scrollWidth:0}},{key:"getScrollHeight",value:function(){return this.view?this.view.scrollHeight:0}},{key:"getClientWidth",value:function(){return this.view?this.view.clientWidth:0}},{key:"getClientHeight",value:function(){return this.view?this.view.clientHeight:0}},{key:"getValues",value:function(){var e=this.view||{},t=e.scrollLeft,n=void 0===t?0:t,r=e.scrollTop,i=void 0===r?0:r,o=e.scrollWidth,a=void 0===o?0:o,s=e.scrollHeight,l=void 0===s?0:s,u=e.clientWidth,c=void 0===u?0:u,d=e.clientHeight,f=void 0===d?0:d;return{left:n/(a-c)||0,top:i/(l-f)||0,scrollLeft:n,scrollTop:i,scrollWidth:a,scrollHeight:l,clientWidth:c,clientHeight:f}}},{key:"getThumbHorizontalWidth",value:function(){var e=this.props,t=e.thumbSize,n=e.thumbMinSize,r=this.view,i=r.scrollWidth,o=r.clientWidth,a=(0,h.default)(this.trackHorizontal),s=Math.ceil(o/i*a);return a<=s?0:t||Math.max(s,n)}},{key:"getThumbVerticalHeight",value:function(){var e=this.props,t=e.thumbSize,n=e.thumbMinSize,r=this.view,i=r.scrollHeight,o=r.clientHeight,a=(0,p.default)(this.trackVertical),s=Math.ceil(o/i*a);return a<=s?0:t||Math.max(s,n)}},{key:"getScrollLeftForOffset",value:function(e){var t=this.view,n=t.scrollWidth,r=t.clientWidth;return e/((0,h.default)(this.trackHorizontal)-this.getThumbHorizontalWidth())*(n-r)}},{key:"getScrollTopForOffset",value:function(e){var t=this.view,n=t.scrollHeight,r=t.clientHeight;return e/((0,p.default)(this.trackVertical)-this.getThumbVerticalHeight())*(n-r)}},{key:"scrollLeft",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.view&&(this.view.scrollLeft=e)}},{key:"scrollTop",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.view&&(this.view.scrollTop=e)}},{key:"scrollToLeft",value:function(){this.view&&(this.view.scrollLeft=0)}},{key:"scrollToTop",value:function(){this.view&&(this.view.scrollTop=0)}},{key:"scrollToRight",value:function(){this.view&&(this.view.scrollLeft=this.view.scrollWidth)}},{key:"scrollToBottom",value:function(){this.view&&(this.view.scrollTop=this.view.scrollHeight)}},{key:"addListeners",value:function(){if("undefined"!==typeof document&&this.view){var e=this.view,t=this.trackHorizontal,n=this.trackVertical,r=this.thumbHorizontal,i=this.thumbVertical;e.addEventListener("scroll",this.handleScroll),(0,d.default)()&&(t.addEventListener("mouseenter",this.handleTrackMouseEnter),t.addEventListener("mouseleave",this.handleTrackMouseLeave),t.addEventListener("mousedown",this.handleHorizontalTrackMouseDown),n.addEventListener("mouseenter",this.handleTrackMouseEnter),n.addEventListener("mouseleave",this.handleTrackMouseLeave),n.addEventListener("mousedown",this.handleVerticalTrackMouseDown),r.addEventListener("mousedown",this.handleHorizontalThumbMouseDown),i.addEventListener("mousedown",this.handleVerticalThumbMouseDown),window.addEventListener("resize",this.handleWindowResize))}}},{key:"removeListeners",value:function(){if("undefined"!==typeof document&&this.view){var e=this.view,t=this.trackHorizontal,n=this.trackVertical,r=this.thumbHorizontal,i=this.thumbVertical;e.removeEventListener("scroll",this.handleScroll),(0,d.default)()&&(t.removeEventListener("mouseenter",this.handleTrackMouseEnter),t.removeEventListener("mouseleave",this.handleTrackMouseLeave),t.removeEventListener("mousedown",this.handleHorizontalTrackMouseDown),n.removeEventListener("mouseenter",this.handleTrackMouseEnter),n.removeEventListener("mouseleave",this.handleTrackMouseLeave),n.removeEventListener("mousedown",this.handleVerticalTrackMouseDown),r.removeEventListener("mousedown",this.handleHorizontalThumbMouseDown),i.removeEventListener("mousedown",this.handleVerticalThumbMouseDown),window.removeEventListener("resize",this.handleWindowResize),this.teardownDragging())}}},{key:"handleScroll",value:function(e){var t=this,n=this.props,r=n.onScroll,i=n.onScrollFrame;r&&r(e),this.update((function(e){var n=e.scrollLeft,r=e.scrollTop;t.viewScrollLeft=n,t.viewScrollTop=r,i&&i(e)})),this.detectScrolling()}},{key:"handleScrollStart",value:function(){var e=this.props.onScrollStart;e&&e(),this.handleScrollStartAutoHide()}},{key:"handleScrollStartAutoHide",value:function(){this.props.autoHide&&this.showTracks()}},{key:"handleScrollStop",value:function(){var e=this.props.onScrollStop;e&&e(),this.handleScrollStopAutoHide()}},{key:"handleScrollStopAutoHide",value:function(){this.props.autoHide&&this.hideTracks()}},{key:"handleWindowResize",value:function(){(0,d.default)(!1),this.forceUpdate()}},{key:"handleHorizontalTrackMouseDown",value:function(e){e.preventDefault();var t=e.target,n=e.clientX,r=t.getBoundingClientRect().left,i=this.getThumbHorizontalWidth(),o=Math.abs(r-n)-i/2;this.view.scrollLeft=this.getScrollLeftForOffset(o)}},{key:"handleVerticalTrackMouseDown",value:function(e){e.preventDefault();var t=e.target,n=e.clientY,r=t.getBoundingClientRect().top,i=this.getThumbVerticalHeight(),o=Math.abs(r-n)-i/2;this.view.scrollTop=this.getScrollTopForOffset(o)}},{key:"handleHorizontalThumbMouseDown",value:function(e){e.preventDefault(),this.handleDragStart(e);var t=e.target,n=e.clientX,r=t.offsetWidth,i=t.getBoundingClientRect().left;this.prevPageX=r-(n-i)}},{key:"handleVerticalThumbMouseDown",value:function(e){e.preventDefault(),this.handleDragStart(e);var t=e.target,n=e.clientY,r=t.offsetHeight,i=t.getBoundingClientRect().top;this.prevPageY=r-(n-i)}},{key:"setupDragging",value:function(){(0,s.default)(document.body,v.disableSelectStyle),document.addEventListener("mousemove",this.handleDrag),document.addEventListener("mouseup",this.handleDragEnd),document.onselectstart=f.default}},{key:"teardownDragging",value:function(){(0,s.default)(document.body,v.disableSelectStyleReset),document.removeEventListener("mousemove",this.handleDrag),document.removeEventListener("mouseup",this.handleDragEnd),document.onselectstart=void 0}},{key:"handleDragStart",value:function(e){this.dragging=!0,e.stopImmediatePropagation(),this.setupDragging()}},{key:"handleDrag",value:function(e){if(this.prevPageX){var t=e.clientX,n=-this.trackHorizontal.getBoundingClientRect().left+t-(this.getThumbHorizontalWidth()-this.prevPageX);this.view.scrollLeft=this.getScrollLeftForOffset(n)}if(this.prevPageY){var r=e.clientY,i=-this.trackVertical.getBoundingClientRect().top+r-(this.getThumbVerticalHeight()-this.prevPageY);this.view.scrollTop=this.getScrollTopForOffset(i)}return!1}},{key:"handleDragEnd",value:function(){this.dragging=!1,this.prevPageX=this.prevPageY=0,this.teardownDragging(),this.handleDragEndAutoHide()}},{key:"handleDragEndAutoHide",value:function(){this.props.autoHide&&this.hideTracks()}},{key:"handleTrackMouseEnter",value:function(){this.trackMouseOver=!0,this.handleTrackMouseEnterAutoHide()}},{key:"handleTrackMouseEnterAutoHide",value:function(){this.props.autoHide&&this.showTracks()}},{key:"handleTrackMouseLeave",value:function(){this.trackMouseOver=!1,this.handleTrackMouseLeaveAutoHide()}},{key:"handleTrackMouseLeaveAutoHide",value:function(){this.props.autoHide&&this.hideTracks()}},{key:"showTracks",value:function(){clearTimeout(this.hideTracksTimeout),(0,s.default)(this.trackHorizontal,{opacity:1}),(0,s.default)(this.trackVertical,{opacity:1})}},{key:"hideTracks",value:function(){var e=this;if(!this.dragging&&!this.scrolling&&!this.trackMouseOver){var t=this.props.autoHideTimeout;clearTimeout(this.hideTracksTimeout),this.hideTracksTimeout=setTimeout((function(){(0,s.default)(e.trackHorizontal,{opacity:0}),(0,s.default)(e.trackVertical,{opacity:0})}),t)}}},{key:"detectScrolling",value:function(){var e=this;this.scrolling||(this.scrolling=!0,this.handleScrollStart(),this.detectScrollingInterval=setInterval((function(){e.lastViewScrollLeft===e.viewScrollLeft&&e.lastViewScrollTop===e.viewScrollTop&&(clearInterval(e.detectScrollingInterval),e.scrolling=!1,e.handleScrollStop()),e.lastViewScrollLeft=e.viewScrollLeft,e.lastViewScrollTop=e.viewScrollTop}),100))}},{key:"raf",value:function(e){var t=this;this.requestFrame&&a.default.cancel(this.requestFrame),this.requestFrame=(0,a.default)((function(){t.requestFrame=void 0,e()}))}},{key:"update",value:function(e){var t=this;this.raf((function(){return t._update(e)}))}},{key:"_update",value:function(e){var t=this.props,n=t.onUpdate,r=t.hideTracksWhenNotNeeded,i=this.getValues();if((0,d.default)()){var o=i.scrollLeft,a=i.clientWidth,l=i.scrollWidth,u=(0,h.default)(this.trackHorizontal),c=this.getThumbHorizontalWidth(),f={width:c,transform:"translateX("+o/(l-a)*(u-c)+"px)"},v=i.scrollTop,m=i.clientHeight,g=i.scrollHeight,y=(0,p.default)(this.trackVertical),b=this.getThumbVerticalHeight(),w={height:b,transform:"translateY("+v/(g-m)*(y-b)+"px)"};if(r){var x={visibility:l>a?"visible":"hidden"},E={visibility:g>m?"visible":"hidden"};(0,s.default)(this.trackHorizontal,x),(0,s.default)(this.trackVertical,E)}(0,s.default)(this.thumbHorizontal,f),(0,s.default)(this.thumbVertical,w)}n&&n(i),"function"===typeof e&&e(i)}},{key:"render",value:function(){var e=this,t=(0,d.default)(),n=this.props,i=(n.onScroll,n.onScrollFrame,n.onScrollStart,n.onScrollStop,n.onUpdate,n.renderView),o=n.renderTrackHorizontal,a=n.renderTrackVertical,s=n.renderThumbHorizontal,u=n.renderThumbVertical,f=n.tagName,h=(n.hideTracksWhenNotNeeded,n.autoHide),p=(n.autoHideTimeout,n.autoHideDuration),m=(n.thumbSize,n.thumbMinSize,n.universal),g=n.autoHeight,y=n.autoHeightMin,b=n.autoHeightMax,w=n.style,x=n.children,E=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}(n,["onScroll","onScrollFrame","onScrollStart","onScrollStop","onUpdate","renderView","renderTrackHorizontal","renderTrackVertical","renderThumbHorizontal","renderThumbVertical","tagName","hideTracksWhenNotNeeded","autoHide","autoHideTimeout","autoHideDuration","thumbSize","thumbMinSize","universal","autoHeight","autoHeightMin","autoHeightMax","style","children"]),k=this.state.didMountUniversal,T=r({},v.containerStyleDefault,g&&r({},v.containerStyleAutoHeight,{minHeight:y,maxHeight:b}),w),_=r({},v.viewStyleDefault,{marginRight:t?-t:0,marginBottom:t?-t:0},g&&r({},v.viewStyleAutoHeight,{minHeight:(0,c.default)(y)?"calc("+y+" + "+t+"px)":y+t,maxHeight:(0,c.default)(b)?"calc("+b+" + "+t+"px)":b+t}),g&&m&&!k&&{minHeight:y,maxHeight:b},m&&!k&&v.viewStyleUniversalInitial),O={transition:"opacity "+p+"ms",opacity:0},C=r({},v.trackHorizontalStyleDefault,h&&O,(!t||m&&!k)&&{display:"none"}),A=r({},v.trackVerticalStyleDefault,h&&O,(!t||m&&!k)&&{display:"none"});return(0,l.createElement)(f,r({},E,{style:T,ref:function(t){e.container=t}}),[(0,l.cloneElement)(i({style:_}),{key:"view",ref:function(t){e.view=t}},x),(0,l.cloneElement)(o({style:C}),{key:"trackHorizontal",ref:function(t){e.trackHorizontal=t}},(0,l.cloneElement)(s({style:v.thumbHorizontalStyleDefault}),{ref:function(t){e.thumbHorizontal=t}})),(0,l.cloneElement)(a({style:A}),{key:"trackVertical",ref:function(t){e.trackVertical=t}},(0,l.cloneElement)(u({style:v.thumbVerticalStyleDefault}),{ref:function(t){e.thumbVertical=t}}))])}}]),t}(l.Component);t.default=w,w.propTypes={onScroll:u.default.func,onScrollFrame:u.default.func,onScrollStart:u.default.func,onScrollStop:u.default.func,onUpdate:u.default.func,renderView:u.default.func,renderTrackHorizontal:u.default.func,renderTrackVertical:u.default.func,renderThumbHorizontal:u.default.func,renderThumbVertical:u.default.func,tagName:u.default.string,thumbSize:u.default.number,thumbMinSize:u.default.number,hideTracksWhenNotNeeded:u.default.bool,autoHide:u.default.bool,autoHideTimeout:u.default.number,autoHideDuration:u.default.number,autoHeight:u.default.bool,autoHeightMin:u.default.oneOfType([u.default.number,u.default.string]),autoHeightMax:u.default.oneOfType([u.default.number,u.default.string]),universal:u.default.bool,style:u.default.object,children:u.default.node},w.defaultProps={renderView:m.renderViewDefault,renderTrackHorizontal:m.renderTrackHorizontalDefault,renderTrackVertical:m.renderTrackVerticalDefault,renderThumbHorizontal:m.renderThumbHorizontalDefault,renderThumbVertical:m.renderThumbVerticalDefault,tagName:"div",thumbMinSize:30,hideTracksWhenNotNeeded:!1,autoHide:!1,autoHideTimeout:1e3,autoHideDuration:200,autoHeight:!1,autoHeightMin:0,autoHeightMax:200,universal:!1}},8285:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.containerStyleDefault={position:"relative",overflow:"hidden",width:"100%",height:"100%"},t.containerStyleAutoHeight={height:"auto"},t.viewStyleDefault={position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"scroll",WebkitOverflowScrolling:"touch"},t.viewStyleAutoHeight={position:"relative",top:void 0,left:void 0,right:void 0,bottom:void 0},t.viewStyleUniversalInitial={overflow:"hidden",marginRight:0,marginBottom:0},t.trackHorizontalStyleDefault={position:"absolute",height:6},t.trackVerticalStyleDefault={position:"absolute",width:6},t.thumbHorizontalStyleDefault={position:"relative",display:"block",height:"100%"},t.thumbVerticalStyleDefault={position:"relative",display:"block",width:"100%"},t.disableSelectStyle={userSelect:"none"},t.disableSelectStyleReset={userSelect:""}},6658:function(e,t,n){"use strict";t.$B=void 0;var r,i=n(6164),o=(r=i)&&r.__esModule?r:{default:r};o.default,t.$B=o.default},7114:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.clientHeight,n=getComputedStyle(e),r=n.paddingTop,i=n.paddingBottom;return t-parseFloat(r)-parseFloat(i)}},1608:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.clientWidth,n=getComputedStyle(e),r=n.paddingLeft,i=n.paddingRight;return t-parseFloat(r)-parseFloat(i)}},6445:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(e&&!1!==a)return a;if("undefined"!==typeof document){var t=document.createElement("div");(0,o.default)(t,{width:100,height:100,position:"absolute",top:-9999,overflow:"scroll",MsOverflowStyle:"scrollbar"}),document.body.appendChild(t),a=t.offsetWidth-t.clientWidth,document.body.removeChild(t)}else a=0;return a||0};var r,i=n(3879),o=(r=i)&&r.__esModule?r:{default:r};var a=!1},7928:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return"string"===typeof e}},8309:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){return!1}},9590:function(e){var t="undefined"!==typeof Element,n="function"===typeof Map,r="function"===typeof Set,i="function"===typeof ArrayBuffer&&!!ArrayBuffer.isView;function o(e,a){if(e===a)return!0;if(e&&a&&"object"==typeof e&&"object"==typeof a){if(e.constructor!==a.constructor)return!1;var s,l,u,c;if(Array.isArray(e)){if((s=e.length)!=a.length)return!1;for(l=s;0!==l--;)if(!o(e[l],a[l]))return!1;return!0}if(n&&e instanceof Map&&a instanceof Map){if(e.size!==a.size)return!1;for(c=e.entries();!(l=c.next()).done;)if(!a.has(l.value[0]))return!1;for(c=e.entries();!(l=c.next()).done;)if(!o(l.value[1],a.get(l.value[0])))return!1;return!0}if(r&&e instanceof Set&&a instanceof Set){if(e.size!==a.size)return!1;for(c=e.entries();!(l=c.next()).done;)if(!a.has(l.value[0]))return!1;return!0}if(i&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(a)){if((s=e.length)!=a.length)return!1;for(l=s;0!==l--;)if(e[l]!==a[l])return!1;return!0}if(e.constructor===RegExp)return e.source===a.source&&e.flags===a.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===a.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===a.toString();if((s=(u=Object.keys(e)).length)!==Object.keys(a).length)return!1;for(l=s;0!==l--;)if(!Object.prototype.hasOwnProperty.call(a,u[l]))return!1;if(t&&e instanceof Element)return!1;for(l=s;0!==l--;)if(("_owner"!==u[l]&&"__v"!==u[l]&&"__o"!==u[l]||!e.$$typeof)&&!o(e[u[l]],a[u[l]]))return!1;return!0}return e!==e&&a!==a}e.exports=function(e,t){try{return o(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},6923:function(e,n,r){"use strict";r.d(n,{f$:function(){return Ha},s6:function(){return za}});var i=r(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e&&("undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null==n)return;var r,i,o=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);a=!0);}catch(l){s=!0,i=l}finally{try{a||null==n.return||n.return()}finally{if(s)throw i}}return o}(e,t)||l(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e){return function(e){if(Array.isArray(e))return u(e)}(e)||function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||l(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){if(e){if("string"===typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(e,t):void 0}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var c=function(e,t){var n=new Set(t);return Object.assign.apply(Object,[{}].concat(s(Object.entries(e).filter((function(e){var t=a(e,1)[0];return!n.has(t)})).map((function(e){var t=a(e,2);return o({},t[0],t[1])})))))},d=r(3405),f=r.n(d);function h(e){return(h="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e&&("undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null==n)return;var r,i,o=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);a=!0);}catch(l){s=!0,i=l}finally{try{a||null==n.return||n.return()}finally{if(s)throw i}}return o}(e,t)||m(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e){return function(e){if(Array.isArray(e))return g(e)}(e)||function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||m(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(e,t){if(e){if("string"===typeof e)return g(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?g(e,t):void 0}}function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var y=function(e,t){var n="object"===h(t)?t:{wrapperElementType:t,methodNames:(arguments.length<=2?void 0:arguments[2])||void 0,initPropNames:(arguments.length<=3?void 0:arguments[3])||void 0},r=n.wrapperElementType,o=void 0===r?"div":r,a=n.nodeMapper,s=void 0===a?function(e){return e}:a,l=n.methodNames,u=void 0===l?[]:l,d=n.initPropNames,m=void 0===d?[]:d;return(0,i.forwardRef)((function(t,n){var r=(0,i.useRef)(),a=p((0,i.useState)({}),2),l=a[0],d=a[1];(0,i.useEffect)((function(){return d(t)}));var h=(0,i.useMemo)((function(){var n=f()(m.filter((function(e){return t.hasOwnProperty(e)})).map((function(e){return[e,t[e]]})));return e(n)}),[]);(0,i.useLayoutEffect)((function(){h(s(r.current))}),[]),(0,i.useEffect)((function(){return h._destructor instanceof Function?h._destructor:void 0}),[]);var g=(0,i.useCallback)((function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return h[e]instanceof Function?h[e].apply(h,n):void 0}),[h]),y=c(t,[].concat(v(u),v(m)));return Object.keys(y).filter((function(e){return l[e]!==t[e]})).forEach((function(e){return g(e,t[e])})),(0,i.useImperativeHandle)(n,(function(){return f()(u.map((function(e){return[e,function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return g.apply(void 0,[e].concat(n))}]})))})),i.createElement(o,{ref:r})}))},b=(r(5569),r(401),r(1359),r(4858)),w=r(2539);function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function E(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?x(Object(n),!0).forEach((function(t){k(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):x(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function k(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function T(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,i,o=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);a=!0);}catch(l){s=!0,i=l}finally{try{a||null==n.return||n.return()}finally{if(s)throw i}}return o}(e,t)||O(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _(e){return function(e){if(Array.isArray(e))return C(e)}(e)||function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||O(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function O(e,t){if(e){if("string"===typeof e)return C(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?C(e,t):void 0}}function C(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!==typeof document){var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===n&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}(".graph-nav-info {\n position: absolute;\n bottom: 5px;\n width: 100%;\n text-align: center;\n color: slategrey;\n opacity: 0.7;\n font-size: 10px;\n font-family: Sans-serif;\n z-index: 1000;\n}");var A=(0,b.Z)({props:{width:{default:window.innerWidth,triggerUpdate:!1,onChange:function(e,t){t.container&&(t.container.style.width=e)}},height:{default:window.innerHeight,triggerUpdate:!1,onChange:function(e,t){t.container&&(t.container.style.height=e)}},jsonUrl:{},graphData:{default:{nodes:[],links:[]}},numDimensions:{default:3},dagMode:{},dagLevelDistance:{},dagNodeFilter:{default:function(){return!0}},onDagError:{default:void 0},backgroundColor:{default:"#002"},showNavInfo:{default:!0},nodeRelSize:{default:4},nodeId:{default:"id"},nodeLabel:{default:"name"},nodeDesc:{default:"desc"},onNodeHover:{},onNodeClick:{},nodeVal:{default:"val"},nodeResolution:{default:8},nodeVisibility:{default:!0},nodeColor:{default:"color"},nodeAutoColorBy:{},nodeOpacity:{default:.75},nodeThreeObject:{},nodeThreeObjectExtend:{default:!1},linkSource:{default:"source"},linkTarget:{default:"target"},linkLabel:{default:"name"},linkDesc:{default:"desc"},onLinkHover:{},onLinkClick:{},linkVisibility:{default:!0},linkColor:{default:"color"},linkAutoColorBy:{},linkOpacity:{default:.2},linkWidth:{default:0},linkResolution:{default:6},linkCurvature:{default:0},linkCurveRotation:{default:0},linkMaterial:{},linkThreeObject:{},linkThreeObjectExtend:{default:!1},linkPositionUpdate:{},linkDirectionalArrowLength:{default:0},linkDirectionalArrowColor:{},linkDirectionalArrowRelPos:{default:.5},linkDirectionalArrowResolution:{default:8},linkDirectionalParticles:{default:0},linkDirectionalParticleSpeed:{default:.01},linkDirectionalParticleWidth:{default:.5},linkDirectionalParticleColor:{},linkDirectionalParticleResolution:{default:4},forceEngine:{default:"d3"},d3AlphaMin:{default:0},d3AlphaDecay:{default:.0228},d3VelocityDecay:{default:.4},ngraphPhysics:{},warmupTicks:{default:0},cooldownTicks:{},cooldownTime:{default:15e3},onEngineTick:{},onEngineStop:{}},methods:E(E({},Object.assign.apply(Object,[{}].concat(_(["getGraphBbox","emitParticle","d3Force","d3ReheatSimulation","refresh"].map((function(e){return k({},e,(function(t){for(var n=t.forcegraph.components.forcegraph,r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];var a=n[e].apply(n,i);return a===n?this:a}))})))))),{},{_destructor:function(){this.graphData({nodes:[],links:[]})}}),init:function(e,t){e.innerHTML="",t.container=document.createElement("div"),e.appendChild(t.container),t.container.style.position="relative",t.container.style.width=t.width,t.container.style.height=t.height,t.container.appendChild(t.navInfo=document.createElement("div")),t.navInfo.className="graph-nav-info",t.navInfo.textContent="Mouse drag: look, gamepad/arrow/wasd keys: move";var n,r,i,o,a,s=document.createElement("a-scene");s.setAttribute("embedded",""),s.appendChild(t.sky=document.createElement("a-sky")),t.sky.setAttribute("radius",3e3),s.appendChild(n=document.createElement("a-entity")),n.setAttribute("position","0 0 300"),n.setAttribute("movement-controls","fly: true; speed: 7"),n.appendChild(r=document.createElement("a-entity")),r.setAttribute("camera",""),r.setAttribute("position","0 0 0"),r.setAttribute("look-controls","reverseMouseDrag: false; pointerLockEnabled: false"),r.appendChild(i=document.createElement("a-text")),i.setAttribute("position","0 -0.3 -1"),i.setAttribute("width",2),i.setAttribute("align","center"),i.setAttribute("color","lavender"),i.setAttribute("value",""),r.appendChild(o=document.createElement("a-text")),o.setAttribute("position","0 -0.4 -1"),o.setAttribute("width",1.3),o.setAttribute("align","center"),o.setAttribute("color","lavender"),o.setAttribute("value",""),s.appendChild(a=document.createElement("a-entity")),a.setAttribute("cursor","rayOrigin: mouse; mouseCursorStylesEnabled: true"),a.setAttribute("raycaster","objects: [forcegraph]; interval: 100"),["left","right"].forEach((function(e){var t;n.appendChild(t=document.createElement("a-entity")),t.setAttribute("laser-controls","hand: ".concat(e)),t.setAttribute("raycaster","objects: [forcegraph]; interval: 100; lineColor: steelblue; lineOpacity: 0.85")})),s.appendChild(t.forcegraph=document.createElement("a-entity")),t.forcegraph.setAttribute("forcegraph",null),t.container.appendChild(s),t.forcegraph.setAttribute("forcegraph",Object.assign.apply(Object,_(["node","link"].map((function(e){var n={node:"Node",link:"Link"}[e];return k({},"on".concat(n,"Hover"),(function(r,a){var s=r&&(0,w.default)(t["".concat(e,"Label")])(r)||"",l=r&&(0,w.default)(t["".concat(e,"Desc")])(r)||"";i.setAttribute("value",s),o.setAttribute("value",l),t["on".concat(n,"Hover")]&&t["on".concat(n,"Hover")](r,a)}))})))))},update:function(e,t){t.hasOwnProperty("backgroundColor")&&e.sky.setAttribute("color",e.backgroundColor),t.hasOwnProperty("showNavInfo")&&(e.navInfo.style.display=e.showNavInfo?null:"none");var n=["jsonUrl","numDimensions","dagMode","dagLevelDistance","dagNodeFilter","onDagError","nodeRelSize","nodeId","onNodeClick","nodeVal","nodeResolution","nodeVisibility","nodeColor","nodeAutoColorBy","nodeOpacity","nodeThreeObject","nodeThreeObjectExtend","linkSource","linkTarget","onLinkClick","linkVisibility","linkColor","linkAutoColorBy","linkOpacity","linkWidth","linkResolution","linkCurvature","linkCurveRotation","linkMaterial","linkThreeObject","linkThreeObjectExtend","linkPositionUpdate","linkDirectionalArrowLength","linkDirectionalArrowColor","linkDirectionalArrowRelPos","linkDirectionalArrowResolution","linkDirectionalParticles","linkDirectionalParticleSpeed","linkDirectionalParticleWidth","linkDirectionalParticleColor","linkDirectionalParticleResolution","forceEngine","d3AlphaMin","d3AlphaDecay","d3VelocityDecay","ngraphPhysics","warmupTicks","cooldownTicks","cooldownTime","onEngineTick","onEngineStop"],r=Object.assign.apply(Object,[{}].concat(_(Object.entries(e).filter((function(e){var r=T(e,2),i=r[0],o=r[1];return t.hasOwnProperty(i)&&-1!==n.indexOf(i)&&void 0!==o&&null!==o})).map((function(e){var t=T(e,2);return k({},t[0],t[1])}))),_(Object.entries(e.graphData).map((function(e){var t=T(e,2);return k({},t[0],t[1])})))));e.forcegraph.setAttribute("forcegraph",r)}}),S=r(5697),P=r.n(S);function M(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function R(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?M(Object(n),!0).forEach((function(t){j(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):M(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function j(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function D(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,i,o=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);a=!0);}catch(l){s=!0,i=l}finally{try{a||null==n.return||n.return()}finally{if(s)throw i}}return o}(e,t)||N(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function L(e){return function(e){if(Array.isArray(e))return I(e)}(e)||function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||N(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function N(e,t){if(e){if("string"===typeof e)return I(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?I(e,t):void 0}}function I(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var z=(0,b.Z)({props:{width:{},height:{},yOffset:{default:1.5},glScale:{default:200},jsonUrl:{},graphData:{default:{nodes:[],links:[]}},numDimensions:{default:3},dagMode:{},dagLevelDistance:{},dagNodeFilter:{default:function(){return!0}},onDagError:{default:void 0},nodeRelSize:{default:4},nodeId:{default:"id"},nodeVal:{default:"val"},nodeResolution:{default:8},nodeVisibility:{default:!0},nodeColor:{default:"color"},nodeAutoColorBy:{},nodeOpacity:{default:.75},nodeThreeObject:{},nodeThreeObjectExtend:{default:!1},linkSource:{default:"source"},linkTarget:{default:"target"},linkVisibility:{default:!0},linkColor:{default:"color"},linkAutoColorBy:{},linkOpacity:{default:.2},linkWidth:{default:0},linkResolution:{default:6},linkCurvature:{default:0},linkCurveRotation:{default:0},linkMaterial:{},linkThreeObject:{},linkThreeObjectExtend:{default:!1},linkPositionUpdate:{},linkDirectionalArrowLength:{default:0},linkDirectionalArrowColor:{},linkDirectionalArrowRelPos:{default:.5},linkDirectionalArrowResolution:{default:8},linkDirectionalParticles:{default:0},linkDirectionalParticleSpeed:{default:.01},linkDirectionalParticleWidth:{default:.5},linkDirectionalParticleColor:{},linkDirectionalParticleResolution:{default:4},onNodeHover:{},onNodeClick:{},onLinkHover:{},onLinkClick:{},forceEngine:{default:"d3"},d3AlphaMin:{default:0},d3AlphaDecay:{default:.0228},d3VelocityDecay:{default:.4},ngraphPhysics:{},warmupTicks:{default:0},cooldownTicks:{},cooldownTime:{default:15e3},onEngineTick:{},onEngineStop:{}},methods:R(R({},Object.assign.apply(Object,[{}].concat(L(["getGraphBbox","emitParticle","d3Force","d3ReheatSimulation","refresh"].map((function(e){return j({},e,(function(t){for(var n=t.forcegraph.components.forcegraph,r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];var a=n[e].apply(n,i);return a===n?this:a}))})))))),{},{_destructor:function(){this.graphData({nodes:[],links:[]})}}),init:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.markerAttrs,i=void 0===r?{preset:"hiro"}:r;e.innerHTML="",t.container=document.createElement("div"),e.appendChild(t.container);var o=document.createElement("a-scene");o.setAttribute("embedded",""),o.setAttribute("arjs","debugUIEnabled: false;");var a,s=document.createElement("a-marker");Object.entries(i).forEach((function(e){var t=D(e,2),n=t[0],r=t[1];return s.setAttribute(n,r)})),o.appendChild(s),o.appendChild(a=document.createElement("a-entity")),a.setAttribute("cursor"),a.setAttribute("raycaster","objects: [forcegraph]"),t.forcegraph=document.createElement("a-entity"),t.forcegraph.setAttribute("forcegraph",null),s.appendChild(t.forcegraph);var l=document.createElement("a-entity");l.setAttribute("camera",""),o.appendChild(l),t.container.appendChild(o)},update:function(e,t){t.hasOwnProperty("width")&&e.width&&(e.container.style.width=e.width),t.hasOwnProperty("height")&&e.height&&(e.container.style.height=e.height),t.hasOwnProperty("glScale")&&e.forcegraph.setAttribute("scale",L(new Array(3)).map((function(){return 1/e.glScale})).join(" ")),t.hasOwnProperty("yOffset")&&e.forcegraph.setAttribute("position","0 ".concat(e.yOffset," 0"));var n=["jsonUrl","numDimensions","dagMode","dagLevelDistance","dagNodeFilter","onDagError","nodeRelSize","nodeId","nodeVal","nodeResolution","nodeVisibility","nodeColor","nodeAutoColorBy","nodeOpacity","nodeThreeObject","nodeThreeObjectExtend","linkSource","linkTarget","linkVisibility","linkColor","linkAutoColorBy","linkOpacity","linkWidth","linkResolution","linkCurvature","linkCurveRotation","linkMaterial","linkThreeObject","linkThreeObjectExtend","linkPositionUpdate","linkDirectionalArrowLength","linkDirectionalArrowColor","linkDirectionalArrowRelPos","linkDirectionalArrowResolution","linkDirectionalParticles","linkDirectionalParticleSpeed","linkDirectionalParticleWidth","linkDirectionalParticleColor","linkDirectionalParticleResolution","onNodeHover","onNodeClick","onLinkHover","onLinkClick","forceEngine","d3AlphaMin","d3AlphaDecay","d3VelocityDecay","ngraphPhysics","warmupTicks","cooldownTicks","cooldownTime","onEngineTick","onEngineStop"],r=Object.assign.apply(Object,[{}].concat(L(Object.entries(e).filter((function(e){var r=D(e,2),i=r[0],o=r[1];return t.hasOwnProperty(i)&&-1!==n.indexOf(i)&&void 0!==o&&null!==o})).map((function(e){var t=D(e,2);return j({},t[0],t[1])}))),L(Object.entries(e.graphData).map((function(e){var t=D(e,2);return j({},t[0],t[1])})))));e.forcegraph.setAttribute("forcegraph",r)}}),H=r(2212);const B=new H.JOQ,F=new H.iMs,V=new H.FM8,U=new H.Pa4,G=new H.Pa4,q=new H.Pa4,W=new H.yGw;class K extends H.pBf{constructor(e,t,n){super(),n.style.touchAction="none";let r=null,i=null;const o=[],a=this;function s(){n.addEventListener("pointermove",u),n.addEventListener("pointerdown",c),n.addEventListener("pointerup",d),n.addEventListener("pointerleave",d)}function l(){n.removeEventListener("pointermove",u),n.removeEventListener("pointerdown",c),n.removeEventListener("pointerup",d),n.removeEventListener("pointerleave",d),n.style.cursor=""}function u(s){if(!1!==a.enabled){if(f(s),F.setFromCamera(V,t),r)return F.ray.intersectPlane(B,G)&&r.position.copy(G.sub(U).applyMatrix4(W)),void a.dispatchEvent({type:"drag",object:r});if("mouse"===s.pointerType||"pen"===s.pointerType)if(o.length=0,F.setFromCamera(V,t),F.intersectObjects(e,!0,o),o.length>0){const e=o[0].object;B.setFromNormalAndCoplanarPoint(t.getWorldDirection(B.normal),q.setFromMatrixPosition(e.matrixWorld)),i!==e&&null!==i&&(a.dispatchEvent({type:"hoveroff",object:i}),n.style.cursor="auto",i=null),i!==e&&(a.dispatchEvent({type:"hoveron",object:e}),n.style.cursor="pointer",i=e)}else null!==i&&(a.dispatchEvent({type:"hoveroff",object:i}),n.style.cursor="auto",i=null)}}function c(i){!1!==a.enabled&&(f(i),o.length=0,F.setFromCamera(V,t),F.intersectObjects(e,!0,o),o.length>0&&(r=!0===a.transformGroup?e[0]:o[0].object,B.setFromNormalAndCoplanarPoint(t.getWorldDirection(B.normal),q.setFromMatrixPosition(r.matrixWorld)),F.ray.intersectPlane(B,G)&&(W.copy(r.parent.matrixWorld).invert(),U.copy(G).sub(q.setFromMatrixPosition(r.matrixWorld))),n.style.cursor="move",a.dispatchEvent({type:"dragstart",object:r})))}function d(){!1!==a.enabled&&(r&&(a.dispatchEvent({type:"dragend",object:r}),r=null),n.style.cursor=i?"pointer":"auto")}function f(e){const t=n.getBoundingClientRect();V.x=(e.clientX-t.left)/t.width*2-1,V.y=-(e.clientY-t.top)/t.height*2+1}s(),this.enabled=!0,this.transformGroup=!1,this.activate=s,this.deactivate=l,this.dispose=function(){l()},this.getObjects=function(){return e}}}var Z=r(1398);const $={type:"change"},X={type:"start"},Y={type:"end"};class Q extends H.pBf{constructor(e,t){super(),void 0===t&&console.warn('THREE.TrackballControls: The second parameter "domElement" is now mandatory.'),t===document&&console.error('THREE.TrackballControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.');const n=this,r=-1,i=0,o=1,a=2,s=3,l=4;this.object=e,this.domElement=t,this.domElement.style.touchAction="none",this.enabled=!0,this.screen={left:0,top:0,width:0,height:0},this.rotateSpeed=1,this.zoomSpeed=1.2,this.panSpeed=.3,this.noRotate=!1,this.noZoom=!1,this.noPan=!1,this.staticMoving=!1,this.dynamicDampingFactor=.2,this.minDistance=0,this.maxDistance=1/0,this.keys=["KeyA","KeyS","KeyD"],this.mouseButtons={LEFT:H.RsA.ROTATE,MIDDLE:H.RsA.DOLLY,RIGHT:H.RsA.PAN},this.target=new H.Pa4;const u=1e-6,c=new H.Pa4;let d=1,f=r,h=r,p=0,v=0,m=0;const g=new H.Pa4,y=new H.FM8,b=new H.FM8,w=new H.Pa4,x=new H.FM8,E=new H.FM8,k=new H.FM8,T=new H.FM8,_=[],O={};this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.up0=this.object.up.clone(),this.zoom0=this.object.zoom,this.handleResize=function(){const e=n.domElement.getBoundingClientRect(),t=n.domElement.ownerDocument.documentElement;n.screen.left=e.left+window.pageXOffset-t.clientLeft,n.screen.top=e.top+window.pageYOffset-t.clientTop,n.screen.width=e.width,n.screen.height=e.height};const C=function(){const e=new H.FM8;return function(t,r){return e.set((t-n.screen.left)/n.screen.width,(r-n.screen.top)/n.screen.height),e}}(),A=function(){const e=new H.FM8;return function(t,r){return e.set((t-.5*n.screen.width-n.screen.left)/(.5*n.screen.width),(n.screen.height+2*(n.screen.top-r))/n.screen.width),e}}();function S(e){!1!==n.enabled&&(0===_.length&&(n.domElement.ownerDocument.addEventListener("pointermove",P),n.domElement.ownerDocument.addEventListener("pointerup",M)),function(e){_.push(e)}(e),"touch"===e.pointerType?function(e){switch(z(e),_.length){case 1:f=s,b.copy(A(_[0].pageX,_[0].pageY)),y.copy(b);break;default:f=l;const e=_[0].pageX-_[1].pageX,t=_[0].pageY-_[1].pageY;v=p=Math.sqrt(e*e+t*t);const n=(_[0].pageX+_[1].pageX)/2,r=(_[0].pageY+_[1].pageY)/2;k.copy(C(n,r)),T.copy(k)}n.dispatchEvent(X)}(e):function(e){if(f===r)switch(e.button){case n.mouseButtons.LEFT:f=i;break;case n.mouseButtons.MIDDLE:f=o;break;case n.mouseButtons.RIGHT:f=a;break;default:f=r}const t=h!==r?h:f;t!==i||n.noRotate?t!==o||n.noZoom?t!==a||n.noPan||(k.copy(C(e.pageX,e.pageY)),T.copy(k)):(x.copy(C(e.pageX,e.pageY)),E.copy(x)):(b.copy(A(e.pageX,e.pageY)),y.copy(b));n.domElement.ownerDocument.addEventListener("pointermove",P),n.domElement.ownerDocument.addEventListener("pointerup",M),n.dispatchEvent(X)}(e))}function P(e){!1!==n.enabled&&("touch"===e.pointerType?function(e){switch(z(e),_.length){case 1:y.copy(b),b.copy(A(e.pageX,e.pageY));break;default:const t=function(e){const t=e.pointerId===_[0].pointerId?_[1]:_[0];return O[t.pointerId]}(e),n=e.pageX-t.x,r=e.pageY-t.y;v=Math.sqrt(n*n+r*r);const i=(e.pageX+t.x)/2,o=(e.pageY+t.y)/2;T.copy(C(i,o))}}(e):function(e){const t=h!==r?h:f;t!==i||n.noRotate?t!==o||n.noZoom?t!==a||n.noPan||T.copy(C(e.pageX,e.pageY)):E.copy(C(e.pageX,e.pageY)):(y.copy(b),b.copy(A(e.pageX,e.pageY)))}(e))}function M(e){!1!==n.enabled&&("touch"===e.pointerType?function(e){switch(_.length){case 0:f=r;break;case 1:f=s,b.copy(A(e.pageX,e.pageY)),y.copy(b)}n.dispatchEvent(Y)}(e):(f=r,n.domElement.ownerDocument.removeEventListener("pointermove",P),n.domElement.ownerDocument.removeEventListener("pointerup",M),n.dispatchEvent(Y)),I(e),0===_.length&&(n.domElement.ownerDocument.removeEventListener("pointermove",P),n.domElement.ownerDocument.removeEventListener("pointerup",M)))}function R(e){I(e)}function j(e){!1!==n.enabled&&(window.removeEventListener("keydown",j),h===r&&(e.code!==n.keys[i]||n.noRotate?e.code!==n.keys[o]||n.noZoom?e.code!==n.keys[a]||n.noPan||(h=a):h=o:h=i))}function D(){!1!==n.enabled&&(h=r,window.addEventListener("keydown",j))}function L(e){if(!1!==n.enabled&&!0!==n.noZoom){switch(e.preventDefault(),e.deltaMode){case 2:x.y-=.025*e.deltaY;break;case 1:x.y-=.01*e.deltaY;break;default:x.y-=25e-5*e.deltaY}n.dispatchEvent(X),n.dispatchEvent(Y)}}function N(e){!1!==n.enabled&&e.preventDefault()}function I(e){delete O[e.pointerId];for(let t=0;t<_.length;t++)if(_[t].pointerId==e.pointerId)return void _.splice(t,1)}function z(e){let t=O[e.pointerId];void 0===t&&(t=new H.FM8,O[e.pointerId]=t),t.set(e.pageX,e.pageY)}this.rotateCamera=function(){const e=new H.Pa4,t=new H._fP,r=new H.Pa4,i=new H.Pa4,o=new H.Pa4,a=new H.Pa4;return function(){a.set(b.x-y.x,b.y-y.y,0);let s=a.length();s?(g.copy(n.object.position).sub(n.target),r.copy(g).normalize(),i.copy(n.object.up).normalize(),o.crossVectors(i,r).normalize(),i.setLength(b.y-y.y),o.setLength(b.x-y.x),a.copy(i.add(o)),e.crossVectors(a,g).normalize(),s*=n.rotateSpeed,t.setFromAxisAngle(e,s),g.applyQuaternion(t),n.object.up.applyQuaternion(t),w.copy(e),m=s):!n.staticMoving&&m&&(m*=Math.sqrt(1-n.dynamicDampingFactor),g.copy(n.object.position).sub(n.target),t.setFromAxisAngle(w,m),g.applyQuaternion(t),n.object.up.applyQuaternion(t)),y.copy(b)}}(),this.zoomCamera=function(){let e;f===l?(e=p/v,p=v,n.object.isPerspectiveCamera?g.multiplyScalar(e):n.object.isOrthographicCamera?(n.object.zoom*=e,n.object.updateProjectionMatrix()):console.warn("THREE.TrackballControls: Unsupported camera type")):(e=1+(E.y-x.y)*n.zoomSpeed,1!==e&&e>0&&(n.object.isPerspectiveCamera?g.multiplyScalar(e):n.object.isOrthographicCamera?(n.object.zoom/=e,n.object.updateProjectionMatrix()):console.warn("THREE.TrackballControls: Unsupported camera type")),n.staticMoving?x.copy(E):x.y+=(E.y-x.y)*this.dynamicDampingFactor)},this.panCamera=function(){const e=new H.FM8,t=new H.Pa4,r=new H.Pa4;return function(){if(e.copy(T).sub(k),e.lengthSq()){if(n.object.isOrthographicCamera){const t=(n.object.right-n.object.left)/n.object.zoom/n.domElement.clientWidth,r=(n.object.top-n.object.bottom)/n.object.zoom/n.domElement.clientWidth;e.x*=t,e.y*=r}e.multiplyScalar(g.length()*n.panSpeed),r.copy(g).cross(n.object.up).setLength(e.x),r.add(t.copy(n.object.up).setLength(e.y)),n.object.position.add(r),n.target.add(r),n.staticMoving?k.copy(T):k.add(e.subVectors(T,k).multiplyScalar(n.dynamicDampingFactor))}}}(),this.checkDistances=function(){n.noZoom&&n.noPan||(g.lengthSq()>n.maxDistance*n.maxDistance&&(n.object.position.addVectors(n.target,g.setLength(n.maxDistance)),x.copy(E)),g.lengthSq()<n.minDistance*n.minDistance&&(n.object.position.addVectors(n.target,g.setLength(n.minDistance)),x.copy(E)))},this.update=function(){g.subVectors(n.object.position,n.target),n.noRotate||n.rotateCamera(),n.noZoom||n.zoomCamera(),n.noPan||n.panCamera(),n.object.position.addVectors(n.target,g),n.object.isPerspectiveCamera?(n.checkDistances(),n.object.lookAt(n.target),c.distanceToSquared(n.object.position)>u&&(n.dispatchEvent($),c.copy(n.object.position))):n.object.isOrthographicCamera?(n.object.lookAt(n.target),(c.distanceToSquared(n.object.position)>u||d!==n.object.zoom)&&(n.dispatchEvent($),c.copy(n.object.position),d=n.object.zoom)):console.warn("THREE.TrackballControls: Unsupported camera type")},this.reset=function(){f=r,h=r,n.target.copy(n.target0),n.object.position.copy(n.position0),n.object.up.copy(n.up0),n.object.zoom=n.zoom0,n.object.updateProjectionMatrix(),g.subVectors(n.object.position,n.target),n.object.lookAt(n.target),n.dispatchEvent($),c.copy(n.object.position),d=n.object.zoom},this.dispose=function(){n.domElement.removeEventListener("contextmenu",N),n.domElement.removeEventListener("pointerdown",S),n.domElement.removeEventListener("pointercancel",R),n.domElement.removeEventListener("wheel",L),window.removeEventListener("keydown",j),window.removeEventListener("keyup",D)},this.domElement.addEventListener("contextmenu",N),this.domElement.addEventListener("pointerdown",S),this.domElement.addEventListener("pointercancel",R),this.domElement.addEventListener("wheel",L,{passive:!1}),window.addEventListener("keydown",j),window.addEventListener("keyup",D),this.handleResize(),this.update()}}const J={type:"change"},ee={type:"start"},te={type:"end"};class ne extends H.pBf{constructor(e,t){super(),void 0===t&&console.warn('THREE.OrbitControls: The second parameter "domElement" is now mandatory.'),t===document&&console.error('THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.'),this.object=e,this.domElement=t,this.domElement.style.touchAction="none",this.enabled=!0,this.target=new H.Pa4,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"},this.mouseButtons={LEFT:H.RsA.ROTATE,MIDDLE:H.RsA.DOLLY,RIGHT:H.RsA.PAN},this.touches={ONE:H.QmN.ROTATE,TWO:H.QmN.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._domElementKeyEvents=null,this.getPolarAngle=function(){return a.phi},this.getAzimuthalAngle=function(){return a.theta},this.listenToKeyEvents=function(e){e.addEventListener("keydown",G),this._domElementKeyEvents=e},this.saveState=function(){n.target0.copy(n.target),n.position0.copy(n.object.position),n.zoom0=n.object.zoom},this.reset=function(){n.target.copy(n.target0),n.object.position.copy(n.position0),n.object.zoom=n.zoom0,n.object.updateProjectionMatrix(),n.dispatchEvent(J),n.update(),i=r.NONE},this.update=function(){const t=new H.Pa4,d=(new H._fP).setFromUnitVectors(e.up,new H.Pa4(0,1,0)),f=d.clone().invert(),h=new H.Pa4,p=new H._fP,v=2*Math.PI;return function(){const e=n.object.position;t.copy(e).sub(n.target),t.applyQuaternion(d),a.setFromVector3(t),n.autoRotate&&i===r.NONE&&k(2*Math.PI/60/60*n.autoRotateSpeed),n.enableDamping?(a.theta+=s.theta*n.dampingFactor,a.phi+=s.phi*n.dampingFactor):(a.theta+=s.theta,a.phi+=s.phi);let m=n.minAzimuthAngle,g=n.maxAzimuthAngle;return isFinite(m)&&isFinite(g)&&(m<-Math.PI?m+=v:m>Math.PI&&(m-=v),g<-Math.PI?g+=v:g>Math.PI&&(g-=v),a.theta=m<=g?Math.max(m,Math.min(g,a.theta)):a.theta>(m+g)/2?Math.max(m,a.theta):Math.min(g,a.theta)),a.phi=Math.max(n.minPolarAngle,Math.min(n.maxPolarAngle,a.phi)),a.makeSafe(),a.radius*=l,a.radius=Math.max(n.minDistance,Math.min(n.maxDistance,a.radius)),!0===n.enableDamping?n.target.addScaledVector(u,n.dampingFactor):n.target.add(u),t.setFromSpherical(a),t.applyQuaternion(f),e.copy(n.target).add(t),n.object.lookAt(n.target),!0===n.enableDamping?(s.theta*=1-n.dampingFactor,s.phi*=1-n.dampingFactor,u.multiplyScalar(1-n.dampingFactor)):(s.set(0,0,0),u.set(0,0,0)),l=1,!!(c||h.distanceToSquared(n.object.position)>o||8*(1-p.dot(n.object.quaternion))>o)&&(n.dispatchEvent(J),h.copy(n.object.position),p.copy(n.object.quaternion),c=!1,!0)}}(),this.dispose=function(){n.domElement.removeEventListener("contextmenu",q),n.domElement.removeEventListener("pointerdown",z),n.domElement.removeEventListener("pointercancel",V),n.domElement.removeEventListener("wheel",U),n.domElement.ownerDocument.removeEventListener("pointermove",B),n.domElement.ownerDocument.removeEventListener("pointerup",F),null!==n._domElementKeyEvents&&n._domElementKeyEvents.removeEventListener("keydown",G)};const n=this,r={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let i=r.NONE;const o=1e-6,a=new H.$V,s=new H.$V;let l=1;const u=new H.Pa4;let c=!1;const d=new H.FM8,f=new H.FM8,h=new H.FM8,p=new H.FM8,v=new H.FM8,m=new H.FM8,g=new H.FM8,y=new H.FM8,b=new H.FM8,w=[],x={};function E(){return Math.pow(.95,n.zoomSpeed)}function k(e){s.theta-=e}function T(e){s.phi-=e}const _=function(){const e=new H.Pa4;return function(t,n){e.setFromMatrixColumn(n,0),e.multiplyScalar(-t),u.add(e)}}(),O=function(){const e=new H.Pa4;return function(t,r){!0===n.screenSpacePanning?e.setFromMatrixColumn(r,1):(e.setFromMatrixColumn(r,0),e.crossVectors(n.object.up,e)),e.multiplyScalar(t),u.add(e)}}(),C=function(){const e=new H.Pa4;return function(t,r){const i=n.domElement;if(n.object.isPerspectiveCamera){const o=n.object.position;e.copy(o).sub(n.target);let a=e.length();a*=Math.tan(n.object.fov/2*Math.PI/180),_(2*t*a/i.clientHeight,n.object.matrix),O(2*r*a/i.clientHeight,n.object.matrix)}else n.object.isOrthographicCamera?(_(t*(n.object.right-n.object.left)/n.object.zoom/i.clientWidth,n.object.matrix),O(r*(n.object.top-n.object.bottom)/n.object.zoom/i.clientHeight,n.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),n.enablePan=!1)}}();function A(e){n.object.isPerspectiveCamera?l/=e:n.object.isOrthographicCamera?(n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom*e)),n.object.updateProjectionMatrix(),c=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function S(e){n.object.isPerspectiveCamera?l*=e:n.object.isOrthographicCamera?(n.object.zoom=Math.max(n.minZoom,Math.min(n.maxZoom,n.object.zoom/e)),n.object.updateProjectionMatrix(),c=!0):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),n.enableZoom=!1)}function P(e){d.set(e.clientX,e.clientY)}function M(e){p.set(e.clientX,e.clientY)}function R(){if(1===w.length)d.set(w[0].pageX,w[0].pageY);else{const e=.5*(w[0].pageX+w[1].pageX),t=.5*(w[0].pageY+w[1].pageY);d.set(e,t)}}function j(){if(1===w.length)p.set(w[0].pageX,w[0].pageY);else{const e=.5*(w[0].pageX+w[1].pageX),t=.5*(w[0].pageY+w[1].pageY);p.set(e,t)}}function D(){const e=w[0].pageX-w[1].pageX,t=w[0].pageY-w[1].pageY,n=Math.sqrt(e*e+t*t);g.set(0,n)}function L(e){if(1==w.length)f.set(e.pageX,e.pageY);else{const t=Z(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);f.set(n,r)}h.subVectors(f,d).multiplyScalar(n.rotateSpeed);const t=n.domElement;k(2*Math.PI*h.x/t.clientHeight),T(2*Math.PI*h.y/t.clientHeight),d.copy(f)}function N(e){if(1===w.length)v.set(e.pageX,e.pageY);else{const t=Z(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);v.set(n,r)}m.subVectors(v,p).multiplyScalar(n.panSpeed),C(m.x,m.y),p.copy(v)}function I(e){const t=Z(e),r=e.pageX-t.x,i=e.pageY-t.y,o=Math.sqrt(r*r+i*i);y.set(0,o),b.set(0,Math.pow(y.y/g.y,n.zoomSpeed)),A(b.y),g.copy(y)}function z(e){!1!==n.enabled&&(0===w.length&&(n.domElement.ownerDocument.addEventListener("pointermove",B),n.domElement.ownerDocument.addEventListener("pointerup",F)),function(e){w.push(e)}(e),"touch"===e.pointerType?function(e){switch(K(e),w.length){case 1:switch(n.touches.ONE){case H.QmN.ROTATE:if(!1===n.enableRotate)return;R(),i=r.TOUCH_ROTATE;break;case H.QmN.PAN:if(!1===n.enablePan)return;j(),i=r.TOUCH_PAN;break;default:i=r.NONE}break;case 2:switch(n.touches.TWO){case H.QmN.DOLLY_PAN:if(!1===n.enableZoom&&!1===n.enablePan)return;n.enableZoom&&D(),n.enablePan&&j(),i=r.TOUCH_DOLLY_PAN;break;case H.QmN.DOLLY_ROTATE:if(!1===n.enableZoom&&!1===n.enableRotate)return;n.enableZoom&&D(),n.enableRotate&&R(),i=r.TOUCH_DOLLY_ROTATE;break;default:i=r.NONE}break;default:i=r.NONE}i!==r.NONE&&n.dispatchEvent(ee)}(e):function(e){let t;switch(e.button){case 0:t=n.mouseButtons.LEFT;break;case 1:t=n.mouseButtons.MIDDLE;break;case 2:t=n.mouseButtons.RIGHT;break;default:t=-1}switch(t){case H.RsA.DOLLY:if(!1===n.enableZoom)return;!function(e){g.set(e.clientX,e.clientY)}(e),i=r.DOLLY;break;case H.RsA.ROTATE:if(e.ctrlKey||e.metaKey||e.shiftKey){if(!1===n.enablePan)return;M(e),i=r.PAN}else{if(!1===n.enableRotate)return;P(e),i=r.ROTATE}break;case H.RsA.PAN:if(e.ctrlKey||e.metaKey||e.shiftKey){if(!1===n.enableRotate)return;P(e),i=r.ROTATE}else{if(!1===n.enablePan)return;M(e),i=r.PAN}break;default:i=r.NONE}i!==r.NONE&&n.dispatchEvent(ee)}(e))}function B(e){!1!==n.enabled&&("touch"===e.pointerType?function(e){switch(K(e),i){case r.TOUCH_ROTATE:if(!1===n.enableRotate)return;L(e),n.update();break;case r.TOUCH_PAN:if(!1===n.enablePan)return;N(e),n.update();break;case r.TOUCH_DOLLY_PAN:if(!1===n.enableZoom&&!1===n.enablePan)return;!function(e){n.enableZoom&&I(e),n.enablePan&&N(e)}(e),n.update();break;case r.TOUCH_DOLLY_ROTATE:if(!1===n.enableZoom&&!1===n.enableRotate)return;!function(e){n.enableZoom&&I(e),n.enableRotate&&L(e)}(e),n.update();break;default:i=r.NONE}}(e):function(e){if(!1===n.enabled)return;switch(i){case r.ROTATE:if(!1===n.enableRotate)return;!function(e){f.set(e.clientX,e.clientY),h.subVectors(f,d).multiplyScalar(n.rotateSpeed);const t=n.domElement;k(2*Math.PI*h.x/t.clientHeight),T(2*Math.PI*h.y/t.clientHeight),d.copy(f),n.update()}(e);break;case r.DOLLY:if(!1===n.enableZoom)return;!function(e){y.set(e.clientX,e.clientY),b.subVectors(y,g),b.y>0?A(E()):b.y<0&&S(E()),g.copy(y),n.update()}(e);break;case r.PAN:if(!1===n.enablePan)return;!function(e){v.set(e.clientX,e.clientY),m.subVectors(v,p).multiplyScalar(n.panSpeed),C(m.x,m.y),p.copy(v),n.update()}(e)}}(e))}function F(e){!1!==n.enabled&&(e.pointerType,n.dispatchEvent(te),i=r.NONE,W(e),0===w.length&&(n.domElement.ownerDocument.removeEventListener("pointermove",B),n.domElement.ownerDocument.removeEventListener("pointerup",F)))}function V(e){W(e)}function U(e){!1===n.enabled||!1===n.enableZoom||i!==r.NONE&&i!==r.ROTATE||(e.preventDefault(),n.dispatchEvent(ee),function(e){e.deltaY<0?S(E()):e.deltaY>0&&A(E()),n.update()}(e),n.dispatchEvent(te))}function G(e){!1!==n.enabled&&!1!==n.enablePan&&function(e){let t=!1;switch(e.code){case n.keys.UP:C(0,n.keyPanSpeed),t=!0;break;case n.keys.BOTTOM:C(0,-n.keyPanSpeed),t=!0;break;case n.keys.LEFT:C(n.keyPanSpeed,0),t=!0;break;case n.keys.RIGHT:C(-n.keyPanSpeed,0),t=!0}t&&(e.preventDefault(),n.update())}(e)}function q(e){!1!==n.enabled&&e.preventDefault()}function W(e){delete x[e.pointerId];for(let t=0;t<w.length;t++)if(w[t].pointerId==e.pointerId)return void w.splice(t,1)}function K(e){let t=x[e.pointerId];void 0===t&&(t=new H.FM8,x[e.pointerId]=t),t.set(e.pageX,e.pageY)}function Z(e){const t=e.pointerId===w[0].pointerId?w[1]:w[0];return x[t.pointerId]}n.domElement.addEventListener("contextmenu",q),n.domElement.addEventListener("pointerdown",z),n.domElement.addEventListener("pointercancel",V),n.domElement.addEventListener("wheel",U,{passive:!1}),this.update()}}const re={type:"change"};class ie extends H.pBf{constructor(e,t){super(),void 0===t&&(console.warn('THREE.FlyControls: The second parameter "domElement" is now mandatory.'),t=document),this.object=e,this.domElement=t,this.movementSpeed=1,this.rollSpeed=.005,this.dragToLook=!1,this.autoForward=!1;const n=this,r=1e-6,i=new H._fP,o=new H.Pa4;this.tmpQuaternion=new H._fP,this.mouseStatus=0,this.moveState={up:0,down:0,left:0,right:0,forward:0,back:0,pitchUp:0,pitchDown:0,yawLeft:0,yawRight:0,rollLeft:0,rollRight:0},this.moveVector=new H.Pa4(0,0,0),this.rotationVector=new H.Pa4(0,0,0),this.keydown=function(e){if(!e.altKey){switch(e.code){case"ShiftLeft":case"ShiftRight":this.movementSpeedMultiplier=.1;break;case"KeyW":this.moveState.forward=1;break;case"KeyS":this.moveState.back=1;break;case"KeyA":this.moveState.left=1;break;case"KeyD":this.moveState.right=1;break;case"KeyR":this.moveState.up=1;break;case"KeyF":this.moveState.down=1;break;case"ArrowUp":this.moveState.pitchUp=1;break;case"ArrowDown":this.moveState.pitchDown=1;break;case"ArrowLeft":this.moveState.yawLeft=1;break;case"ArrowRight":this.moveState.yawRight=1;break;case"KeyQ":this.moveState.rollLeft=1;break;case"KeyE":this.moveState.rollRight=1}this.updateMovementVector(),this.updateRotationVector()}},this.keyup=function(e){switch(e.code){case"ShiftLeft":case"ShiftRight":this.movementSpeedMultiplier=1;break;case"KeyW":this.moveState.forward=0;break;case"KeyS":this.moveState.back=0;break;case"KeyA":this.moveState.left=0;break;case"KeyD":this.moveState.right=0;break;case"KeyR":this.moveState.up=0;break;case"KeyF":this.moveState.down=0;break;case"ArrowUp":this.moveState.pitchUp=0;break;case"ArrowDown":this.moveState.pitchDown=0;break;case"ArrowLeft":this.moveState.yawLeft=0;break;case"ArrowRight":this.moveState.yawRight=0;break;case"KeyQ":this.moveState.rollLeft=0;break;case"KeyE":this.moveState.rollRight=0}this.updateMovementVector(),this.updateRotationVector()},this.mousedown=function(e){if(this.dragToLook)this.mouseStatus++;else{switch(e.button){case 0:this.moveState.forward=1;break;case 2:this.moveState.back=1}this.updateMovementVector()}},this.mousemove=function(e){if(!this.dragToLook||this.mouseStatus>0){const t=this.getContainerDimensions(),n=t.size[0]/2,r=t.size[1]/2;this.moveState.yawLeft=-(e.pageX-t.offset[0]-n)/n,this.moveState.pitchDown=(e.pageY-t.offset[1]-r)/r,this.updateRotationVector()}},this.mouseup=function(e){if(this.dragToLook)this.mouseStatus--,this.moveState.yawLeft=this.moveState.pitchDown=0;else{switch(e.button){case 0:this.moveState.forward=0;break;case 2:this.moveState.back=0}this.updateMovementVector()}this.updateRotationVector()},this.update=function(e){const t=e*n.movementSpeed,a=e*n.rollSpeed;n.object.translateX(n.moveVector.x*t),n.object.translateY(n.moveVector.y*t),n.object.translateZ(n.moveVector.z*t),n.tmpQuaternion.set(n.rotationVector.x*a,n.rotationVector.y*a,n.rotationVector.z*a,1).normalize(),n.object.quaternion.multiply(n.tmpQuaternion),(o.distanceToSquared(n.object.position)>r||8*(1-i.dot(n.object.quaternion))>r)&&(n.dispatchEvent(re),i.copy(n.object.quaternion),o.copy(n.object.position))},this.updateMovementVector=function(){const e=this.moveState.forward||this.autoForward&&!this.moveState.back?1:0;this.moveVector.x=-this.moveState.left+this.moveState.right,this.moveVector.y=-this.moveState.down+this.moveState.up,this.moveVector.z=-e+this.moveState.back},this.updateRotationVector=function(){this.rotationVector.x=-this.moveState.pitchDown+this.moveState.pitchUp,this.rotationVector.y=-this.moveState.yawRight+this.moveState.yawLeft,this.rotationVector.z=-this.moveState.rollRight+this.moveState.rollLeft},this.getContainerDimensions=function(){return this.domElement!=document?{size:[this.domElement.offsetWidth,this.domElement.offsetHeight],offset:[this.domElement.offsetLeft,this.domElement.offsetTop]}:{size:[window.innerWidth,window.innerHeight],offset:[0,0]}},this.dispose=function(){this.domElement.removeEventListener("contextmenu",oe),this.domElement.removeEventListener("mousedown",s),this.domElement.removeEventListener("mousemove",a),this.domElement.removeEventListener("mouseup",l),window.removeEventListener("keydown",u),window.removeEventListener("keyup",c)};const a=this.mousemove.bind(this),s=this.mousedown.bind(this),l=this.mouseup.bind(this),u=this.keydown.bind(this),c=this.keyup.bind(this);this.domElement.addEventListener("contextmenu",oe),this.domElement.addEventListener("mousemove",a),this.domElement.addEventListener("mousedown",s),this.domElement.addEventListener("mouseup",l),window.addEventListener("keydown",u),window.addEventListener("keyup",c),this.updateMovementVector(),this.updateRotationVector()}}function oe(e){e.preventDefault()}var ae={uniforms:{tDiffuse:{value:null},opacity:{value:1}},vertexShader:"\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvUv = uv;\n\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n\t\t}",fragmentShader:"\n\n\t\tuniform float opacity;\n\n\t\tuniform sampler2D tDiffuse;\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvec4 texel = texture2D( tDiffuse, vUv );\n\t\t\tgl_FragColor = opacity * texel;\n\n\t\t}"};class se{constructor(){this.enabled=!0,this.needsSwap=!0,this.clear=!1,this.renderToScreen=!1}setSize(){}render(){console.error("THREE.Pass: .render() must be implemented in derived pass.")}}const le=new H.iKG(-1,1,1,-1,0,1),ue=new H.u9r;ue.setAttribute("position",new H.a$l([-1,3,0,-1,-1,0,3,-1,0],3)),ue.setAttribute("uv",new H.a$l([0,2,0,0,2,0],2));class ce{constructor(e){this._mesh=new H.Kj0(ue,e)}dispose(){this._mesh.geometry.dispose()}render(e){e.render(this._mesh,le)}get material(){return this._mesh.material}set material(e){this._mesh.material=e}}class de extends se{constructor(e,t){super(),this.textureID=void 0!==t?t:"tDiffuse",e instanceof H.jyz?(this.uniforms=e.uniforms,this.material=e):e&&(this.uniforms=H.rDY.clone(e.uniforms),this.material=new H.jyz({defines:Object.assign({},e.defines),uniforms:this.uniforms,vertexShader:e.vertexShader,fragmentShader:e.fragmentShader})),this.fsQuad=new ce(this.material)}render(e,t,n){this.uniforms[this.textureID]&&(this.uniforms[this.textureID].value=n.texture),this.fsQuad.material=this.material,this.renderToScreen?(e.setRenderTarget(null),this.fsQuad.render(e)):(e.setRenderTarget(t),this.clear&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),this.fsQuad.render(e))}}class fe extends se{constructor(e,t){super(),this.scene=e,this.camera=t,this.clear=!0,this.needsSwap=!1,this.inverse=!1}render(e,t,n){const r=e.getContext(),i=e.state;let o,a;i.buffers.color.setMask(!1),i.buffers.depth.setMask(!1),i.buffers.color.setLocked(!0),i.buffers.depth.setLocked(!0),this.inverse?(o=0,a=1):(o=1,a=0),i.buffers.stencil.setTest(!0),i.buffers.stencil.setOp(r.REPLACE,r.REPLACE,r.REPLACE),i.buffers.stencil.setFunc(r.ALWAYS,o,4294967295),i.buffers.stencil.setClear(a),i.buffers.stencil.setLocked(!0),e.setRenderTarget(n),this.clear&&e.clear(),e.render(this.scene,this.camera),e.setRenderTarget(t),this.clear&&e.clear(),e.render(this.scene,this.camera),i.buffers.color.setLocked(!1),i.buffers.depth.setLocked(!1),i.buffers.stencil.setLocked(!1),i.buffers.stencil.setFunc(r.EQUAL,1,4294967295),i.buffers.stencil.setOp(r.KEEP,r.KEEP,r.KEEP),i.buffers.stencil.setLocked(!0)}}class he extends se{constructor(){super(),this.needsSwap=!1}render(e){e.state.buffers.stencil.setLocked(!1),e.state.buffers.stencil.setTest(!1)}}class pe{constructor(e,t){if(this.renderer=e,void 0===t){const n={minFilter:H.wem,magFilter:H.wem,format:H.wk1},r=e.getSize(new H.FM8);this._pixelRatio=e.getPixelRatio(),this._width=r.width,this._height=r.height,(t=new H.dd2(this._width*this._pixelRatio,this._height*this._pixelRatio,n)).texture.name="EffectComposer.rt1"}else this._pixelRatio=1,this._width=t.width,this._height=t.height;this.renderTarget1=t,this.renderTarget2=t.clone(),this.renderTarget2.texture.name="EffectComposer.rt2",this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2,this.renderToScreen=!0,this.passes=[],void 0===ae&&console.error("THREE.EffectComposer relies on CopyShader"),void 0===de&&console.error("THREE.EffectComposer relies on ShaderPass"),this.copyPass=new de(ae),this.clock=new H.SUY}swapBuffers(){const e=this.readBuffer;this.readBuffer=this.writeBuffer,this.writeBuffer=e}addPass(e){this.passes.push(e),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}insertPass(e,t){this.passes.splice(t,0,e),e.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}removePass(e){const t=this.passes.indexOf(e);-1!==t&&this.passes.splice(t,1)}isLastEnabledPass(e){for(let t=e+1;t<this.passes.length;t++)if(this.passes[t].enabled)return!1;return!0}render(e){void 0===e&&(e=this.clock.getDelta());const t=this.renderer.getRenderTarget();let n=!1;for(let r=0,i=this.passes.length;r<i;r++){const t=this.passes[r];if(!1!==t.enabled){if(t.renderToScreen=this.renderToScreen&&this.isLastEnabledPass(r),t.render(this.renderer,this.writeBuffer,this.readBuffer,e,n),t.needsSwap){if(n){const t=this.renderer.getContext(),n=this.renderer.state.buffers.stencil;n.setFunc(t.NOTEQUAL,1,4294967295),this.copyPass.render(this.renderer,this.writeBuffer,this.readBuffer,e),n.setFunc(t.EQUAL,1,4294967295)}this.swapBuffers()}void 0!==fe&&(t instanceof fe?n=!0:t instanceof he&&(n=!1))}}this.renderer.setRenderTarget(t)}reset(e){if(void 0===e){const t=this.renderer.getSize(new H.FM8);this._pixelRatio=this.renderer.getPixelRatio(),this._width=t.width,this._height=t.height,(e=this.renderTarget1.clone()).setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)}this.renderTarget1.dispose(),this.renderTarget2.dispose(),this.renderTarget1=e,this.renderTarget2=e.clone(),this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2}setSize(e,t){this._width=e,this._height=t;const n=this._width*this._pixelRatio,r=this._height*this._pixelRatio;this.renderTarget1.setSize(n,r),this.renderTarget2.setSize(n,r);for(let i=0;i<this.passes.length;i++)this.passes[i].setSize(n,r)}setPixelRatio(e){this._pixelRatio=e,this.setSize(this._width,this._height)}}new H.iKG(-1,1,1,-1,0,1);const ve=new H.u9r;ve.setAttribute("position",new H.a$l([-1,3,0,-1,-1,0,3,-1,0],3)),ve.setAttribute("uv",new H.a$l([0,2,0,0,2,0],2));class me extends se{constructor(e,t,n,r,i){super(),this.scene=e,this.camera=t,this.overrideMaterial=n,this.clearColor=r,this.clearAlpha=void 0!==i?i:0,this.clear=!0,this.clearDepth=!1,this.needsSwap=!1,this._oldClearColor=new H.Ilk}render(e,t,n){const r=e.autoClear;let i,o;e.autoClear=!1,void 0!==this.overrideMaterial&&(o=this.scene.overrideMaterial,this.scene.overrideMaterial=this.overrideMaterial),this.clearColor&&(e.getClearColor(this._oldClearColor),i=e.getClearAlpha(),e.setClearColor(this.clearColor,this.clearAlpha)),this.clearDepth&&e.clearDepth(),e.setRenderTarget(this.renderToScreen?null:n),this.clear&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),e.render(this.scene,this.camera),this.clearColor&&e.setClearColor(this._oldClearColor,i),void 0!==this.overrideMaterial&&(this.scene.overrideMaterial=o),e.autoClear=r}}function ge(){return(ge=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function ye(e,t){return(ye=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function be(e){return(be=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function we(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function xe(e,t,n){return(xe=we()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&ye(i,n.prototype),i}).apply(null,arguments)}function Ee(e){var t="function"===typeof Map?new Map:void 0;return(Ee=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!==typeof e)throw new TypeError("Super expression must either be null or a function");if("undefined"!==typeof t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return xe(e,arguments,be(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),ye(r,e)})(e)}var ke=function(e){var t,n;function r(t){return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e.call(this,"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#"+t+" for more information.")||this)}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,ye(t,n),r}(Ee(Error));function Te(e){return Math.round(255*e)}function _e(e,t,n){return Te(e)+","+Te(t)+","+Te(n)}function Oe(e,t,n,r){if(void 0===r&&(r=_e),0===t)return r(n,n,n);var i=(e%360+360)%360/60,o=(1-Math.abs(2*n-1))*t,a=o*(1-Math.abs(i%2-1)),s=0,l=0,u=0;i>=0&&i<1?(s=o,l=a):i>=1&&i<2?(s=a,l=o):i>=2&&i<3?(l=o,u=a):i>=3&&i<4?(l=a,u=o):i>=4&&i<5?(s=a,u=o):i>=5&&i<6&&(s=o,u=a);var c=n-o/2;return r(s+c,l+c,u+c)}var Ce={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",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",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"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",grey:"808080",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",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",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:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};var Ae=/^#[a-fA-F0-9]{6}$/,Se=/^#[a-fA-F0-9]{8}$/,Pe=/^#[a-fA-F0-9]{3}$/,Me=/^#[a-fA-F0-9]{4}$/,Re=/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/i,je=/^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*([-+]?[0-9]*[.]?[0-9]+)\s*\)$/i,De=/^hsl\(\s*(\d{0,3}[.]?[0-9]+)\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,Le=/^hsla\(\s*(\d{0,3}[.]?[0-9]+)\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*([-+]?[0-9]*[.]?[0-9]+)\s*\)$/i;function Ne(e){if("string"!==typeof e)throw new ke(3);var t=function(e){if("string"!==typeof e)return e;var t=e.toLowerCase();return Ce[t]?"#"+Ce[t]:e}(e);if(t.match(Ae))return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16)};if(t.match(Se)){var n=parseFloat((parseInt(""+t[7]+t[8],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[2],16),green:parseInt(""+t[3]+t[4],16),blue:parseInt(""+t[5]+t[6],16),alpha:n}}if(t.match(Pe))return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16)};if(t.match(Me)){var r=parseFloat((parseInt(""+t[4]+t[4],16)/255).toFixed(2));return{red:parseInt(""+t[1]+t[1],16),green:parseInt(""+t[2]+t[2],16),blue:parseInt(""+t[3]+t[3],16),alpha:r}}var i=Re.exec(t);if(i)return{red:parseInt(""+i[1],10),green:parseInt(""+i[2],10),blue:parseInt(""+i[3],10)};var o=je.exec(t.substring(0,50));if(o)return{red:parseInt(""+o[1],10),green:parseInt(""+o[2],10),blue:parseInt(""+o[3],10),alpha:parseFloat(""+o[4])};var a=De.exec(t);if(a){var s="rgb("+Oe(parseInt(""+a[1],10),parseInt(""+a[2],10)/100,parseInt(""+a[3],10)/100)+")",l=Re.exec(s);if(!l)throw new ke(4,t,s);return{red:parseInt(""+l[1],10),green:parseInt(""+l[2],10),blue:parseInt(""+l[3],10)}}var u=Le.exec(t.substring(0,50));if(u){var c="rgb("+Oe(parseInt(""+u[1],10),parseInt(""+u[2],10)/100,parseInt(""+u[3],10)/100)+")",d=Re.exec(c);if(!d)throw new ke(4,t,c);return{red:parseInt(""+d[1],10),green:parseInt(""+d[2],10),blue:parseInt(""+d[3],10),alpha:parseFloat(""+u[4])}}throw new ke(5)}var Ie=function(e){return 7===e.length&&e[1]===e[2]&&e[3]===e[4]&&e[5]===e[6]?"#"+e[1]+e[3]+e[5]:e};function ze(e){var t=e.toString(16);return 1===t.length?"0"+t:t}function He(e,t,n){if("number"===typeof e&&"number"===typeof t&&"number"===typeof n)return Ie("#"+ze(e)+ze(t)+ze(n));if("object"===typeof e&&void 0===t&&void 0===n)return Ie("#"+ze(e.red)+ze(e.green)+ze(e.blue));throw new ke(6)}function Be(e,t,n,r){if("string"===typeof e&&"number"===typeof t){var i=Ne(e);return"rgba("+i.red+","+i.green+","+i.blue+","+t+")"}if("number"===typeof e&&"number"===typeof t&&"number"===typeof n&&"number"===typeof r)return r>=1?He(e,t,n):"rgba("+e+","+t+","+n+","+r+")";if("object"===typeof e&&void 0===t&&void 0===n&&void 0===r)return e.alpha>=1?He(e.red,e.green,e.blue):"rgba("+e.red+","+e.green+","+e.blue+","+e.alpha+")";throw new ke(7)}function Fe(e,t,n){return function(){var r=n.concat(Array.prototype.slice.call(arguments));return r.length>=t?e.apply(this,r):Fe(e,t,r)}}function Ve(e){return Fe(e,e.length,[])}function Ue(e,t,n){return Math.max(e,Math.min(t,n))}function Ge(e,t){if("transparent"===t)return t;var n=Ne(t);return Be(ge({},n,{alpha:Ue(0,1,(100*("number"===typeof n.alpha?n.alpha:1)+100*parseFloat(e))/100)}))}var qe=Ve(Ge);var We=r(4155),Ke={Linear:{None:function(e){return e}},Quadratic:{In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}},Cubic:{In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}},Quartic:{In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}},Quintic:{In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}},Sinusoidal:{In:function(e){return 1-Math.cos(e*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return.5*(1-Math.cos(Math.PI*e))}},Exponential:{In:function(e){return 0===e?0:Math.pow(1024,e-1)},Out:function(e){return 1===e?1:1-Math.pow(2,-10*e)},InOut:function(e){return 0===e?0:1===e?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(2-Math.pow(2,-10*(e-1)))}},Circular:{In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}},Elastic:{In:function(e){return 0===e?0:1===e?1:-Math.pow(2,10*(e-1))*Math.sin(5*(e-1.1)*Math.PI)},Out:function(e){return 0===e?0:1===e?1:Math.pow(2,-10*e)*Math.sin(5*(e-.1)*Math.PI)+1},InOut:function(e){return 0===e?0:1===e?1:(e*=2)<1?-.5*Math.pow(2,10*(e-1))*Math.sin(5*(e-1.1)*Math.PI):.5*Math.pow(2,-10*(e-1))*Math.sin(5*(e-1.1)*Math.PI)+1}},Back:{In:function(e){var t=1.70158;return e*e*((t+1)*e-t)},Out:function(e){var t=1.70158;return--e*e*((t+1)*e+t)+1},InOut:function(e){var t=2.5949095;return(e*=2)<1?e*e*((t+1)*e-t)*.5:.5*((e-=2)*e*((t+1)*e+t)+2)}},Bounce:{In:function(e){return 1-Ke.Bounce.Out(1-e)},Out:function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},InOut:function(e){return e<.5?.5*Ke.Bounce.In(2*e):.5*Ke.Bounce.Out(2*e-1)+.5}}},Ze="undefined"===typeof self&&"undefined"!==typeof We&&We.hrtime?function(){var e=We.hrtime();return 1e3*e[0]+e[1]/1e6}:"undefined"!==typeof self&&void 0!==self.performance&&void 0!==self.performance.now?self.performance.now.bind(self.performance):void 0!==Date.now?Date.now:function(){return(new Date).getTime()},$e=function(){function e(){this._tweens={},this._tweensAddedDuringUpdate={}}return e.prototype.getAll=function(){var e=this;return Object.keys(this._tweens).map((function(t){return e._tweens[t]}))},e.prototype.removeAll=function(){this._tweens={}},e.prototype.add=function(e){this._tweens[e.getId()]=e,this._tweensAddedDuringUpdate[e.getId()]=e},e.prototype.remove=function(e){delete this._tweens[e.getId()],delete this._tweensAddedDuringUpdate[e.getId()]},e.prototype.update=function(e,t){void 0===e&&(e=Ze()),void 0===t&&(t=!1);var n=Object.keys(this._tweens);if(0===n.length)return!1;for(;n.length>0;){this._tweensAddedDuringUpdate={};for(var r=0;r<n.length;r++){var i=this._tweens[n[r]],o=!t;i&&!1===i.update(e,o)&&!t&&delete this._tweens[n[r]]}n=Object.keys(this._tweensAddedDuringUpdate)}return!0},e}(),Xe={Linear:function(e,t){var n=e.length-1,r=n*t,i=Math.floor(r),o=Xe.Utils.Linear;return t<0?o(e[0],e[1],r):t>1?o(e[n],e[n-1],n-r):o(e[i],e[i+1>n?n:i+1],r-i)},Bezier:function(e,t){for(var n=0,r=e.length-1,i=Math.pow,o=Xe.Utils.Bernstein,a=0;a<=r;a++)n+=i(1-t,r-a)*i(t,a)*e[a]*o(r,a);return n},CatmullRom:function(e,t){var n=e.length-1,r=n*t,i=Math.floor(r),o=Xe.Utils.CatmullRom;return e[0]===e[n]?(t<0&&(i=Math.floor(r=n*(1+t))),o(e[(i-1+n)%n],e[i],e[(i+1)%n],e[(i+2)%n],r-i)):t<0?e[0]-(o(e[0],e[0],e[1],e[1],-r)-e[0]):t>1?e[n]-(o(e[n],e[n],e[n-1],e[n-1],r-n)-e[n]):o(e[i?i-1:0],e[i],e[n<i+1?n:i+1],e[n<i+2?n:i+2],r-i)},Utils:{Linear:function(e,t,n){return(t-e)*n+e},Bernstein:function(e,t){var n=Xe.Utils.Factorial;return n(e)/n(t)/n(e-t)},Factorial:function(){var e=[1];return function(t){var n=1;if(e[t])return e[t];for(var r=t;r>1;r--)n*=r;return e[t]=n,n}}(),CatmullRom:function(e,t,n,r,i){var o=.5*(n-e),a=.5*(r-t),s=i*i;return(2*t-2*n+o+a)*(i*s)+(-3*t+3*n-2*o-a)*s+o*i+t}}},Ye=function(){function e(){}return e.nextId=function(){return e._nextId++},e._nextId=0,e}(),Qe=new $e,Je=function(){function e(e,t){void 0===t&&(t=Qe),this._object=e,this._group=t,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=Ke.Linear.None,this._interpolationFunction=Xe.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._id=Ye.nextId(),this._isChainStopped=!1,this._goToEnd=!1}return e.prototype.getId=function(){return this._id},e.prototype.isPlaying=function(){return this._isPlaying},e.prototype.isPaused=function(){return this._isPaused},e.prototype.to=function(e,t){return this._valuesEnd=Object.create(e),void 0!==t&&(this._duration=t),this},e.prototype.duration=function(e){return this._duration=e,this},e.prototype.start=function(e){if(this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed)for(var t in this._reversed=!1,this._valuesStartRepeat)this._swapEndStartRepeatValues(t),this._valuesStart[t]=this._valuesStartRepeat[t];return this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=void 0!==e?"string"===typeof e?Ze()+parseFloat(e):e:Ze(),this._startTime+=this._delayTime,this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat),this},e.prototype._setupProperties=function(e,t,n,r){for(var i in n){var o=e[i],a=Array.isArray(o),s=a?"array":typeof o,l=!a&&Array.isArray(n[i]);if("undefined"!==s&&"function"!==s){if(l){var u=n[i];if(0===u.length)continue;u=u.map(this._handleRelativeValue.bind(this,o)),n[i]=[o].concat(u)}if("object"!==s&&!a||!o||l)"undefined"===typeof t[i]&&(t[i]=o),a||(t[i]*=1),r[i]=l?n[i].slice().reverse():t[i]||0;else{for(var c in t[i]=a?[]:{},o)t[i][c]=o[c];r[i]=a?[]:{},this._setupProperties(o,t[i],n[i],r[i])}}}},e.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},e.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},e.prototype.pause=function(e){return void 0===e&&(e=Ze()),this._isPaused||!this._isPlaying||(this._isPaused=!0,this._pauseStart=e,this._group&&this._group.remove(this)),this},e.prototype.resume=function(e){return void 0===e&&(e=Ze()),this._isPaused&&this._isPlaying?(this._isPaused=!1,this._startTime+=e-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this):this},e.prototype.stopChainedTweens=function(){for(var e=0,t=this._chainedTweens.length;e<t;e++)this._chainedTweens[e].stop();return this},e.prototype.group=function(e){return this._group=e,this},e.prototype.delay=function(e){return this._delayTime=e,this},e.prototype.repeat=function(e){return this._initialRepeat=e,this._repeat=e,this},e.prototype.repeatDelay=function(e){return this._repeatDelayTime=e,this},e.prototype.yoyo=function(e){return this._yoyo=e,this},e.prototype.easing=function(e){return this._easingFunction=e,this},e.prototype.interpolation=function(e){return this._interpolationFunction=e,this},e.prototype.chain=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this._chainedTweens=e,this},e.prototype.onStart=function(e){return this._onStartCallback=e,this},e.prototype.onUpdate=function(e){return this._onUpdateCallback=e,this},e.prototype.onRepeat=function(e){return this._onRepeatCallback=e,this},e.prototype.onComplete=function(e){return this._onCompleteCallback=e,this},e.prototype.onStop=function(e){return this._onStopCallback=e,this},e.prototype.update=function(e,t){if(void 0===e&&(e=Ze()),void 0===t&&(t=!0),this._isPaused)return!0;var n,r,i=this._startTime+this._duration;if(!this._goToEnd&&!this._isPlaying){if(e>i)return!1;t&&this.start(e)}if(this._goToEnd=!1,e<this._startTime)return!0;!1===this._onStartCallbackFired&&(this._onStartCallback&&this._onStartCallback(this._object),this._onStartCallbackFired=!0),r=(e-this._startTime)/this._duration,r=0===this._duration||r>1?1:r;var o=this._easingFunction(r);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,o),this._onUpdateCallback&&this._onUpdateCallback(this._object,r),1===r){if(this._repeat>0){for(n in isFinite(this._repeat)&&this._repeat--,this._valuesStartRepeat)this._yoyo||"string"!==typeof this._valuesEnd[n]||(this._valuesStartRepeat[n]=this._valuesStartRepeat[n]+parseFloat(this._valuesEnd[n])),this._yoyo&&this._swapEndStartRepeatValues(n),this._valuesStart[n]=this._valuesStartRepeat[n];return this._yoyo&&(this._reversed=!this._reversed),void 0!==this._repeatDelayTime?this._startTime=e+this._repeatDelayTime:this._startTime=e+this._delayTime,this._onRepeatCallback&&this._onRepeatCallback(this._object),!0}this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var a=0,s=this._chainedTweens.length;a<s;a++)this._chainedTweens[a].start(this._startTime+this._duration);return this._isPlaying=!1,!1}return!0},e.prototype._updateProperties=function(e,t,n,r){for(var i in n)if(void 0!==t[i]){var o=t[i]||0,a=n[i],s=Array.isArray(e[i]),l=Array.isArray(a);!s&&l?e[i]=this._interpolationFunction(a,r):"object"===typeof a&&a?this._updateProperties(e[i],o,a,r):"number"===typeof(a=this._handleRelativeValue(o,a))&&(e[i]=o+(a-o)*r)}},e.prototype._handleRelativeValue=function(e,t){return"string"!==typeof t?t:"+"===t.charAt(0)||"-"===t.charAt(0)?e+parseFloat(t):parseFloat(t)},e.prototype._swapEndStartRepeatValues=function(e){var t=this._valuesStartRepeat[e],n=this._valuesEnd[e];this._valuesStartRepeat[e]="string"===typeof n?this._valuesStartRepeat[e]+parseFloat(n):this._valuesEnd[e],this._valuesEnd[e]=t},e}(),et=Ye.nextId,tt=Qe,nt=tt.getAll.bind(tt),rt=tt.removeAll.bind(tt),it=tt.add.bind(tt),ot=tt.remove.bind(tt),at=tt.update.bind(tt),st={Easing:Ke,Group:$e,Interpolation:Xe,now:Ze,Sequence:Ye,nextId:et,Tween:Je,VERSION:"18.6.4",getAll:nt,removeAll:rt,add:it,remove:ot,update:at};function lt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ut(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,i,o=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);a=!0);}catch(l){s=!0,i=l}finally{try{a||null==n.return||n.return()}finally{if(s)throw i}}return o}(e,t)||dt(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ct(e){return function(e){if(Array.isArray(e))return ft(e)}(e)||function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||dt(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function dt(e,t){if(e){if("string"===typeof e)return ft(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ft(e,t):void 0}}function ft(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!==typeof document){var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===n&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}(".scene-nav-info {\n bottom: 5px;\n width: 100%;\n text-align: center;\n color: slategrey;\n opacity: 0.7;\n font-size: 10px;\n}\n\n.scene-tooltip {\n color: lavender;\n font-size: 15px;\n}\n\n.scene-nav-info, .scene-tooltip {\n position: absolute;\n font-family: sans-serif;\n pointer-events: none;\n}\n\n.scene-container canvas:focus {\n outline: none;\n}");var ht=window.THREE?window.THREE:{WebGLRenderer:H.CP7,Scene:H.xsS,PerspectiveCamera:H.cPb,Raycaster:H.iMs,TextureLoader:H.dpR,Vector2:H.FM8,Vector3:H.Pa4,Box3:H.ZzF,Color:H.Ilk,Mesh:H.Kj0,SphereGeometry:H.xo$,MeshBasicMaterial:H.vBJ,BackSide:H._Li,EventDispatcher:H.pBf,MOUSE:H.RsA,Quaternion:H._fP,Spherical:H.$V,Clock:H.SUY},pt=(0,b.Z)({props:{width:{default:window.innerWidth,onChange:function(e,t,n){isNaN(e)&&(t.width=n)}},height:{default:window.innerHeight,onChange:function(e,t,n){isNaN(e)&&(t.height=n)}},backgroundColor:{default:"#000011"},backgroundImageUrl:{},onBackgroundImageLoaded:{},showNavInfo:{default:!0},skyRadius:{default:5e4},objects:{default:[]},enablePointerInteraction:{default:!0,onChange:function(e,t){t.hoverObj=null,t.toolTipElem&&(t.toolTipElem.innerHTML="")},triggerUpdate:!1},lineHoverPrecision:{default:1,triggerUpdate:!1},hoverOrderComparator:{default:function(){return-1},triggerUpdate:!1},hoverFilter:{default:function(){return!0},triggerUpdate:!1},tooltipContent:{triggerUpdate:!1},hoverDuringDrag:{default:!1,triggerUpdate:!1},clickAfterDrag:{default:!1,triggerUpdate:!1},onHover:{default:function(){},triggerUpdate:!1},onClick:{default:function(){},triggerUpdate:!1},onRightClick:{triggerUpdate:!1}},methods:{tick:function(e){if(e.initialised){if(e.controls.update&&e.controls.update(e.clock.getDelta()),e.postProcessingComposer?e.postProcessingComposer.render():e.renderer.render(e.scene,e.camera),e.extraRenderers.forEach((function(t){return t.render(e.scene,e.camera)})),e.enablePointerInteraction){var t=null;if(e.hoverDuringDrag||!e.isPointerDragging){var n=this.intersectingObjects(e.pointerPos.x,e.pointerPos.y).filter((function(t){return e.hoverFilter(t.object)})).sort((function(t,n){return e.hoverOrderComparator(t.object,n.object)})),r=n.length?n[0]:null;t=r?r.object:null,e.intersectionPoint=r?r.point:null}t!==e.hoverObj&&(e.onHover(t,e.hoverObj),e.toolTipElem.innerHTML=t&&(0,w.default)(e.tooltipContent)(t)||"",e.hoverObj=t)}st.update()}return this},getPointerPos:function(e){var t=e.pointerPos;return{x:t.x,y:t.y}},cameraPosition:function(e,t,n,r){var i=e.camera;if(t&&e.initialised){var o=t,a=n||{x:0,y:0,z:0};if(r){var s=Object.assign({},i.position),l=d();new st.Tween(s).to(o,r).easing(st.Easing.Quadratic.Out).onUpdate(u).start(),new st.Tween(l).to(a,r/3).easing(st.Easing.Quadratic.Out).onUpdate(c).start()}else u(o),c(a);return this}return Object.assign({},i.position,{lookAt:d()});function u(e){var t=e.x,n=e.y,r=e.z;void 0!==t&&(i.position.x=t),void 0!==n&&(i.position.y=n),void 0!==r&&(i.position.z=r)}function c(t){e.controls.target=new ht.Vector3(t.x,t.y,t.z)}function d(){return Object.assign(new ht.Vector3(0,0,-1e3).applyQuaternion(i.quaternion).add(i.position))}},zoomToFit:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,r=arguments.length,i=new Array(r>3?r-3:0),o=3;o<r;o++)i[o-3]=arguments[o];return this.fitToBbox(this.getBbox.apply(this,i),t,n)},fitToBbox:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,i=e.camera;if(t){var o=new ht.Vector3(0,0,0),a=2*Math.max.apply(Math,ct(Object.entries(t).map((function(e){var t=ut(e,2),n=t[0],r=t[1];return Math.max.apply(Math,ct(r.map((function(e){return Math.abs(o[n]-e)}))))})))),s=(1-2*r/e.height)*i.fov,l=a/Math.atan(s*Math.PI/180),u=l/i.aspect,c=Math.max(l,u);if(c>0){var d=o.clone().sub(i.position).normalize().multiplyScalar(-c);this.cameraPosition(d,o,n)}}return this},getBbox:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return!0},n=new ht.Box3(new ht.Vector3(0,0,0),new ht.Vector3(0,0,0)),r=e.objects.filter(t);return r.length?(r.forEach((function(e){return n.expandByObject(e)})),Object.assign.apply(Object,ct(["x","y","z"].map((function(e){return lt({},e,[n.min[e],n.max[e]])}))))):null},getScreenCoords:function(e,t,n,r){var i=new ht.Vector3(t,n,r);return i.project(this.camera()),{x:(i.x+1)*e.width/2,y:-(i.y-1)*e.height/2}},getSceneCoords:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=new ht.Vector2(t/e.width*2-1,-n/e.height*2+1),o=new ht.Raycaster;return o.setFromCamera(i,e.camera),Object.assign({},o.ray.at(r,new ht.Vector3))},intersectingObjects:function(e,t,n){var r=new ht.Vector2(t/e.width*2-1,-n/e.height*2+1),i=new ht.Raycaster;return i.params.Line.threshold=e.lineHoverPrecision,i.setFromCamera(r,e.camera),i.intersectObjects(e.objects,!0)},renderer:function(e){return e.renderer},scene:function(e){return e.scene},camera:function(e){return e.camera},postProcessingComposer:function(e){return e.postProcessingComposer},controls:function(e){return e.controls},tbControls:function(e){return e.controls}},stateInit:function(){return{scene:new ht.Scene,camera:new ht.PerspectiveCamera,clock:new ht.Clock}},init:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.controlType,i=void 0===r?"trackball":r,o=n.rendererConfig,a=void 0===o?{}:o,s=n.extraRenderers,l=void 0===s?[]:s,u=n.waitForLoadComplete,c=void 0===u||u;e.innerHTML="",e.appendChild(t.container=document.createElement("div")),t.container.className="scene-container",t.container.style.position="relative",t.container.appendChild(t.navInfo=document.createElement("div")),t.navInfo.className="scene-nav-info",t.navInfo.textContent={orbit:"Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan",trackball:"Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan",fly:"WASD: move, R|F: up | down, Q|E: roll, up|down: pitch, left|right: yaw"}[i]||"",t.navInfo.style.display=t.showNavInfo?null:"none",t.toolTipElem=document.createElement("div"),t.toolTipElem.classList.add("scene-tooltip"),t.container.appendChild(t.toolTipElem),t.pointerPos=new ht.Vector2,t.pointerPos.x=-2,t.pointerPos.y=-2,["pointermove","pointerdown"].forEach((function(e){return t.container.addEventListener(e,(function(n){if("pointerdown"===e&&(t.isPointerPressed=!0),!t.isPointerDragging&&"pointermove"===n.type&&(n.pressure>0||t.isPointerPressed)&&("touch"!==n.pointerType||void 0===n.movementX||[n.movementX,n.movementY].some((function(e){return Math.abs(e)>1})))&&(t.isPointerDragging=!0),t.enablePointerInteraction){var r=function(e){var t=e.getBoundingClientRect(),n=window.pageXOffset||document.documentElement.scrollLeft,r=window.pageYOffset||document.documentElement.scrollTop;return{top:t.top+r,left:t.left+n}}(t.container);t.pointerPos.x=n.pageX-r.left,t.pointerPos.y=n.pageY-r.top,t.toolTipElem.style.top="".concat(t.pointerPos.y,"px"),t.toolTipElem.style.left="".concat(t.pointerPos.x,"px"),t.toolTipElem.style.transform="translate(-".concat(t.pointerPos.x/t.width*100,"%, 21px)")}}),{passive:!0})})),t.container.addEventListener("pointerup",(function(e){t.isPointerPressed=!1,t.isPointerDragging&&(t.isPointerDragging=!1,!t.clickAfterDrag)||requestAnimationFrame((function(){0===e.button&&t.onClick(t.hoverObj||null,e,t.intersectionPoint),2===e.button&&t.onRightClick&&t.onRightClick(t.hoverObj||null,e,t.intersectionPoint)}))}),{passive:!0,capture:!0}),t.container.addEventListener("contextmenu",(function(e){t.onRightClick&&e.preventDefault()})),t.renderer=new ht.WebGLRenderer(Object.assign({antialias:!0,alpha:!0},a)),t.renderer.setPixelRatio(Math.min(2,window.devicePixelRatio)),t.container.appendChild(t.renderer.domElement),t.extraRenderers=l,t.extraRenderers.forEach((function(e){e.domElement.style.position="absolute",e.domElement.style.top="0px",e.domElement.style.pointerEvents="none",t.container.appendChild(e.domElement)})),t.postProcessingComposer=new pe(t.renderer),t.postProcessingComposer.addPass(new me(t.scene,t.camera)),t.controls=new{trackball:Q,orbit:ne,fly:ie}[i](t.camera,t.renderer.domElement),"fly"===i&&(t.controls.movementSpeed=300,t.controls.rollSpeed=Math.PI/6,t.controls.dragToLook=!0),"trackball"!==i&&"orbit"!==i||(t.controls.minDistance=.1,t.controls.maxDistance=t.skyRadius,t.controls.addEventListener("start",(function(){t.controlsEngaged=!0})),t.controls.addEventListener("change",(function(){t.controlsEngaged&&(t.controlsDragging=!0)})),t.controls.addEventListener("end",(function(){t.controlsEngaged=!1,t.controlsDragging=!1}))),[t.renderer,t.postProcessingComposer].concat(ct(t.extraRenderers)).forEach((function(e){return e.setSize(t.width,t.height)})),t.camera.aspect=t.width/t.height,t.camera.updateProjectionMatrix(),t.camera.position.z=1e3,t.scene.add(t.skysphere=new ht.Mesh),t.skysphere.visible=!1,t.loadComplete=t.scene.visible=!c,window.scene=t.scene},update:function(e,t){if(e.width&&e.height&&(t.hasOwnProperty("width")||t.hasOwnProperty("height"))&&(e.container.style.width=e.width,e.container.style.height=e.height,[e.renderer,e.postProcessingComposer].concat(ct(e.extraRenderers)).forEach((function(t){return t.setSize(e.width,e.height)})),e.camera.aspect=e.width/e.height,e.camera.updateProjectionMatrix()),t.hasOwnProperty("skyRadius")&&e.skyRadius&&(e.controls.hasOwnProperty("maxDistance")&&t.skyRadius&&(e.controls.maxDistance=e.skyRadius),e.camera.far=2.5*e.skyRadius,e.camera.updateProjectionMatrix(),e.skysphere.geometry=new ht.SphereGeometry(e.skyRadius)),t.hasOwnProperty("backgroundColor")){var n=Ne(e.backgroundColor).alpha;void 0===n&&(n=1),e.renderer.setClearColor(new ht.Color(qe(1,e.backgroundColor)),n)}function r(){e.loadComplete=e.scene.visible=!0}t.hasOwnProperty("backgroundImageUrl")&&(e.backgroundImageUrl?(new ht.TextureLoader).load(e.backgroundImageUrl,(function(t){e.skysphere.material=new ht.MeshBasicMaterial({map:t,side:ht.BackSide}),e.skysphere.visible=!0,e.onBackgroundImageLoaded&&setTimeout(e.onBackgroundImageLoaded),!e.loadComplete&&r()})):(e.skysphere.visible=!1,e.skysphere.material.map=null,!e.loadComplete&&r())),t.hasOwnProperty("showNavInfo")&&(e.navInfo.style.display=e.showNavInfo?null:"none"),t.hasOwnProperty("objects")&&((t.objects||[]).forEach((function(t){return e.scene.remove(t)})),e.objects.forEach((function(t){return e.scene.add(t)})))}});function vt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function mt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?vt(Object(n),!0).forEach((function(t){gt(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):vt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function gt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function yt(e){return function(e){if(Array.isArray(e))return bt(e)}(e)||function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"===typeof e)return bt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return bt(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function bt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function wt(e,t){var n=new t;return{linkProp:function(t){return{default:n[t](),onChange:function(n,r){r[e][t](n)},triggerUpdate:!1}},linkMethod:function(t){return function(n){for(var r=n[e],i=arguments.length,o=new Array(i>1?i-1:0),a=1;a<i;a++)o[a-1]=arguments[a];var s=r[t].apply(r,o);return s===r?this:s}}}}!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!==typeof document){var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===n&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}(".graph-info-msg {\n top: 50%;\n width: 100%;\n text-align: center;\n color: lavender;\n opacity: 0.7;\n font-size: 22px;\n position: absolute;\n font-family: Sans-serif;\n}\n\n.scene-container .clickable {\n cursor: pointer;\n}\n\n.scene-container .grabbable {\n cursor: move;\n cursor: grab;\n cursor: -moz-grab;\n cursor: -webkit-grab;\n}\n\n.scene-container .grabbable:active {\n cursor: grabbing;\n cursor: -moz-grabbing;\n cursor: -webkit-grabbing;\n}");var xt=window.THREE?window.THREE:{AmbientLight:H.Mig,DirectionalLight:H.Ox3,Vector3:H.Pa4},Et=wt("forceGraph",Z.default),kt=Object.assign.apply(Object,yt(["jsonUrl","graphData","numDimensions","dagMode","dagLevelDistance","dagNodeFilter","onDagError","nodeRelSize","nodeId","nodeVal","nodeResolution","nodeColor","nodeAutoColorBy","nodeOpacity","nodeVisibility","nodeThreeObject","nodeThreeObjectExtend","linkSource","linkTarget","linkVisibility","linkColor","linkAutoColorBy","linkOpacity","linkWidth","linkResolution","linkCurvature","linkCurveRotation","linkMaterial","linkThreeObject","linkThreeObjectExtend","linkPositionUpdate","linkDirectionalArrowLength","linkDirectionalArrowColor","linkDirectionalArrowRelPos","linkDirectionalArrowResolution","linkDirectionalParticles","linkDirectionalParticleSpeed","linkDirectionalParticleWidth","linkDirectionalParticleColor","linkDirectionalParticleResolution","forceEngine","d3AlphaDecay","d3VelocityDecay","d3AlphaMin","ngraphPhysics","warmupTicks","cooldownTicks","cooldownTime","onEngineTick","onEngineStop"].map((function(e){return gt({},e,Et.linkProp(e))})))),Tt=Object.assign.apply(Object,yt(["refresh","getGraphBbox","d3Force","d3ReheatSimulation","emitParticle"].map((function(e){return gt({},e,Et.linkMethod(e))})))),_t=wt("renderObjs",pt),Ot=Object.assign.apply(Object,yt(["width","height","backgroundColor","showNavInfo","enablePointerInteraction"].map((function(e){return gt({},e,_t.linkProp(e))})))),Ct=Object.assign.apply(Object,yt(["cameraPosition","postProcessingComposer"].map((function(e){return gt({},e,_t.linkMethod(e))}))).concat([{graph2ScreenCoords:_t.linkMethod("getScreenCoords"),screen2GraphCoords:_t.linkMethod("getSceneCoords")}]));function At(e){for(var t=e;t&&!t.hasOwnProperty("__graphObjType");)t=t.parent;return t}var St=(0,b.Z)({props:mt(mt({nodeLabel:{default:"name",triggerUpdate:!1},linkLabel:{default:"name",triggerUpdate:!1},linkHoverPrecision:{default:1,onChange:function(e,t){return t.renderObjs.lineHoverPrecision(e)},triggerUpdate:!1},enableNavigationControls:{default:!0,onChange:function(e,t){var n=t.renderObjs.controls();n&&(n.enabled=e)},triggerUpdate:!1},enableNodeDrag:{default:!0,triggerUpdate:!1},onNodeDrag:{default:function(){},triggerUpdate:!1},onNodeDragEnd:{default:function(){},triggerUpdate:!1},onNodeClick:{triggerUpdate:!1},onNodeRightClick:{triggerUpdate:!1},onNodeHover:{triggerUpdate:!1},onLinkClick:{triggerUpdate:!1},onLinkRightClick:{triggerUpdate:!1},onLinkHover:{triggerUpdate:!1},onBackgroundClick:{triggerUpdate:!1},onBackgroundRightClick:{triggerUpdate:!1}},kt),Ot),methods:mt(mt({zoomToFit:function(e,t,n){for(var r,i=arguments.length,o=new Array(i>3?i-3:0),a=3;a<i;a++)o[a-3]=arguments[a];return e.renderObjs.fitToBbox((r=e.forceGraph).getGraphBbox.apply(r,o),t,n),this},pauseAnimation:function(e){return null!==e.animationFrameRequestId&&(cancelAnimationFrame(e.animationFrameRequestId),e.animationFrameRequestId=null),this},resumeAnimation:function(e){return null===e.animationFrameRequestId&&this._animationCycle(),this},_animationCycle:function(e){e.enablePointerInteraction&&(this.renderer().domElement.style.cursor=null),e.forceGraph.tickFrame(),e.renderObjs.tick(),e.animationFrameRequestId=requestAnimationFrame(this._animationCycle)},scene:function(e){return e.renderObjs.scene()},camera:function(e){return e.renderObjs.camera()},renderer:function(e){return e.renderObjs.renderer()},controls:function(e){return e.renderObjs.controls()},tbControls:function(e){return e.renderObjs.tbControls()},_destructor:function(){this.pauseAnimation(),this.graphData({nodes:[],links:[]})}},Tt),Ct),stateInit:function(e){var t=e.controlType,n=e.rendererConfig,r=e.extraRenderers;return{forceGraph:new Z.default,renderObjs:pt({controlType:t,rendererConfig:n,extraRenderers:r})}},init:function(e,t){e.innerHTML="",e.appendChild(t.container=document.createElement("div")),t.container.style.position="relative";var n=document.createElement("div");t.container.appendChild(n),t.renderObjs(n);var r,i=t.renderObjs.camera(),o=t.renderObjs.renderer(),a=t.renderObjs.controls();a.enabled=!!t.enableNavigationControls,t.lastSetCameraZ=i.position.z,t.container.appendChild(r=document.createElement("div")),r.className="graph-info-msg",r.textContent="",t.forceGraph.onLoading((function(){r.textContent="Loading..."})).onFinishLoading((function(){r.textContent=""})).onUpdate((function(){t.graphData=t.forceGraph.graphData(),0===i.position.x&&0===i.position.y&&i.position.z===t.lastSetCameraZ&&t.graphData.nodes.length&&(i.lookAt(t.forceGraph.position),t.lastSetCameraZ=i.position.z=170*Math.cbrt(t.graphData.nodes.length))})).onFinishUpdate((function(){if(t._dragControls){var e=t.graphData.nodes.find((function(e){return e.__initialFixedPos&&!e.__disposeControlsAfterDrag}));e?e.__disposeControlsAfterDrag=!0:t._dragControls.dispose(),t._dragControls=void 0}if(t.enableNodeDrag&&t.enablePointerInteraction&&"d3"===t.forceEngine){var n=t._dragControls=new K(t.graphData.nodes.map((function(e){return e.__threeObj})).filter((function(e){return e})),i,o.domElement);n.addEventListener("dragstart",(function(e){a.enabled=!1,e.object.__initialPos=e.object.position.clone(),e.object.__prevPos=e.object.position.clone();var t=At(e.object).__data;!t.__initialFixedPos&&(t.__initialFixedPos={fx:t.fx,fy:t.fy,fz:t.fz}),!t.__initialPos&&(t.__initialPos={x:t.x,y:t.y,z:t.z}),["x","y","z"].forEach((function(e){return t["f".concat(e)]=t[e]})),o.domElement.classList.add("grabbable")})),n.addEventListener("drag",(function(e){var n=At(e.object);if(!e.object.hasOwnProperty("__graphObjType")){var r=e.object.__initialPos,i=e.object.__prevPos,o=e.object.position;n.position.add(o.clone().sub(i)),i.copy(o),o.copy(r)}var a=n.__data,s=n.position,l={x:s.x-a.x,y:s.y-a.y,z:s.z-a.z};["x","y","z"].forEach((function(e){return a["f".concat(e)]=a[e]=s[e]})),t.forceGraph.d3AlphaTarget(.3).resetCountdown(),a.__dragged=!0,t.onNodeDrag(a,l)})),n.addEventListener("dragend",(function(e){delete e.object.__initialPos,delete e.object.__prevPos;var r=At(e.object).__data;r.__disposeControlsAfterDrag&&(n.dispose(),delete r.__disposeControlsAfterDrag);var i=r.__initialFixedPos,s=r.__initialPos,l={x:s.x-r.x,y:s.y-r.y,z:s.z-r.z};i&&(["x","y","z"].forEach((function(e){var t="f".concat(e);void 0===i[t]&&delete r[t]})),delete r.__initialFixedPos,delete r.__initialPos,r.__dragged&&(delete r.__dragged,t.onNodeDragEnd(r,l))),t.forceGraph.d3AlphaTarget(0).resetCountdown(),t.enableNavigationControls&&(a.enabled=!0,a.domElement&&a.domElement.ownerDocument&&a.domElement.ownerDocument.dispatchEvent(new PointerEvent("pointerup",{pointerType:"touch"}))),o.domElement.classList.remove("grabbable")}))}})),t.renderObjs.objects([new xt.AmbientLight(12303291),new xt.DirectionalLight(16777215,.6),t.forceGraph]).hoverOrderComparator((function(e,t){var n=At(e);if(!n)return 1;var r=At(t);if(!r)return-1;var i=function(e){return"node"===e.__graphObjType};return i(r)-i(n)})).tooltipContent((function(e){var n=At(e);return n&&(0,w.default)(t["".concat(n.__graphObjType,"Label")])(n.__data)||""})).hoverDuringDrag(!1).onHover((function(e){var n=At(e);if(n!==t.hoverObj){var r=t.hoverObj?t.hoverObj.__graphObjType:null,i=t.hoverObj?t.hoverObj.__data:null,a=n?n.__graphObjType:null,s=n?n.__data:null;if(r&&r!==a){var l=t["on".concat("node"===r?"Node":"Link","Hover")];l&&l(null,i)}if(a){var u=t["on".concat("node"===a?"Node":"Link","Hover")];u&&u(s,r===a?i:null)}o.domElement.classList[n&&t["on".concat("node"===a?"Node":"Link","Click")]||!n&&t.onBackgroundClick?"add":"remove"]("clickable"),t.hoverObj=n}})).clickAfterDrag(!1).onClick((function(e,n){var r=At(e);if(r){var i=t["on".concat("node"===r.__graphObjType?"Node":"Link","Click")];i&&i(r.__data,n)}else t.onBackgroundClick&&t.onBackgroundClick(n)})).onRightClick((function(e,n){var r=At(e);if(r){var i=t["on".concat("node"===r.__graphObjType?"Node":"Link","RightClick")];i&&i(r.__data,n)}else t.onBackgroundRightClick&&t.onBackgroundRightClick(n)})),this._animationCycle()}}),Pt=r(6156);function Mt(){}function Rt(e){return null==e?Mt:function(){return this.querySelector(e)}}function jt(e){return null==e?[]:Array.isArray(e)?e:Array.from(e)}function Dt(){return[]}function Lt(e){return null==e?Dt:function(){return this.querySelectorAll(e)}}function Nt(e){return function(){return this.matches(e)}}function It(e){return function(t){return t.matches(e)}}var zt=Array.prototype.find;function Ht(){return this.firstElementChild}var Bt=Array.prototype.filter;function Ft(){return Array.from(this.children)}function Vt(e){return new Array(e.length)}function Ut(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function Gt(e){return function(){return e}}function qt(e,t,n,r,i,o){for(var a,s=0,l=t.length,u=o.length;s<u;++s)(a=t[s])?(a.__data__=o[s],r[s]=a):n[s]=new Ut(e,o[s]);for(;s<l;++s)(a=t[s])&&(i[s]=a)}function Wt(e,t,n,r,i,o,a){var s,l,u,c=new Map,d=t.length,f=o.length,h=new Array(d);for(s=0;s<d;++s)(l=t[s])&&(h[s]=u=a.call(l,l.__data__,s,t)+"",c.has(u)?i[s]=l:c.set(u,l));for(s=0;s<f;++s)u=a.call(e,o[s],s,o)+"",(l=c.get(u))?(r[s]=l,l.__data__=o[s],c.delete(u)):n[s]=new Ut(e,o[s]);for(s=0;s<d;++s)(l=t[s])&&c.get(h[s])===l&&(i[s]=l)}function Kt(e){return e.__data__}function Zt(e){return"object"===typeof e&&"length"in e?e:Array.from(e)}function $t(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function Xt(e,t){var n;if("undefined"===typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"===typeof e)return Yt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Yt(e,t)}(e))||t&&e&&"number"===typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function Yt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}Ut.prototype={constructor:Ut,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};var Qt="http://www.w3.org/1999/xhtml",Jt={svg:"http://www.w3.org/2000/svg",xhtml:Qt,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function en(e){var t=e+="",n=t.indexOf(":");return n>=0&&"xmlns"!==(t=e.slice(0,n))&&(e=e.slice(n+1)),Jt.hasOwnProperty(t)?{space:Jt[t],local:e}:e}function tn(e){return function(){this.removeAttribute(e)}}function nn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function rn(e,t){return function(){this.setAttribute(e,t)}}function on(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function an(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function sn(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function ln(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function un(e){return function(){this.style.removeProperty(e)}}function cn(e,t,n){return function(){this.style.setProperty(e,t,n)}}function dn(e,t,n){return function(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function fn(e,t){return e.style.getPropertyValue(t)||ln(e).getComputedStyle(e,null).getPropertyValue(t)}function hn(e){return function(){delete this[e]}}function pn(e,t){return function(){this[e]=t}}function vn(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}function mn(e){return e.trim().split(/^|\s+/)}function gn(e){return e.classList||new yn(e)}function yn(e){this._node=e,this._names=mn(e.getAttribute("class")||"")}function bn(e,t){for(var n=gn(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function wn(e,t){for(var n=gn(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function xn(e){return function(){bn(this,e)}}function En(e){return function(){wn(this,e)}}function kn(e,t){return function(){(t.apply(this,arguments)?bn:wn)(this,e)}}function Tn(){this.textContent=""}function _n(e){return function(){this.textContent=e}}function On(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?"":t}}function Cn(){this.innerHTML=""}function An(e){return function(){this.innerHTML=e}}function Sn(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?"":t}}function Pn(){this.nextSibling&&this.parentNode.appendChild(this)}function Mn(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Rn(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===Qt&&t.documentElement.namespaceURI===Qt?t.createElement(e):t.createElementNS(n,e)}}function jn(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Dn(e){var t=en(e);return(t.local?jn:Rn)(t)}function Ln(){return null}function Nn(){var e=this.parentNode;e&&e.removeChild(this)}function In(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function zn(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Hn(e){return e.trim().split(/^|\s+/).map((function(e){var t="",n=e.indexOf(".");return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}}))}function Bn(e){return function(){var t=this.__on;if(t){for(var n,r=0,i=-1,o=t.length;r<o;++r)n=t[r],e.type&&n.type!==e.type||n.name!==e.name?t[++i]=n:this.removeEventListener(n.type,n.listener,n.options);++i?t.length=i:delete this.__on}}}function Fn(e,t,n){return function(){var r,i=this.__on,o=function(e){return function(t){e.call(this,t,this.__data__)}}(t);if(i)for(var a=0,s=i.length;a<s;++a)if((r=i[a]).type===e.type&&r.name===e.name)return this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=o,r.options=n),void(r.value=t);this.addEventListener(e.type,o,n),r={type:e.type,name:e.name,value:t,listener:o,options:n},i?i.push(r):this.__on=[r]}}function Vn(e,t,n){var r=ln(e),i=r.CustomEvent;"function"===typeof i?i=new i(t,n):(i=r.document.createEvent("Event"),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function Un(e,t){return function(){return Vn(this,e,t)}}function Gn(e,t){return function(){return Vn(this,e,t.apply(this,arguments))}}yn.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var qn=r(7757),Wn=r.n(qn),Kn=Wn().mark(Zn);function Zn(){var e,t,n,r,i,o,a;return Wn().wrap((function(s){for(;;)switch(s.prev=s.next){case 0:e=this._groups,t=0,n=e.length;case 1:if(!(t<n)){s.next=13;break}r=e[t],i=0,o=r.length;case 3:if(!(i<o)){s.next=10;break}if(!(a=r[i])){s.next=7;break}return s.next=7,a;case 7:++i,s.next=3;break;case 10:++t,s.next=1;break;case 13:case"end":return s.stop()}}),Kn,this)}var $n=[null];function Xn(e,t){this._groups=e,this._parents=t}function Yn(){return new Xn([[document.documentElement]],$n)}Xn.prototype=Yn.prototype=(0,Pt.Z)({constructor:Xn,select:function(e){"function"!==typeof e&&(e=Rt(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o,a,s=t[i],l=s.length,u=r[i]=new Array(l),c=0;c<l;++c)(o=s[c])&&(a=e.call(o,o.__data__,c,s))&&("__data__"in o&&(a.__data__=o.__data__),u[c]=a);return new Xn(r,this._parents)},selectAll:function(e){e="function"===typeof e?function(e){return function(){return jt(e.apply(this,arguments))}}(e):Lt(e);for(var t=this._groups,n=t.length,r=[],i=[],o=0;o<n;++o)for(var a,s=t[o],l=s.length,u=0;u<l;++u)(a=s[u])&&(r.push(e.call(a,a.__data__,u,s)),i.push(a));return new Xn(r,i)},selectChild:function(e){return this.select(null==e?Ht:function(e){return function(){return zt.call(this.children,e)}}("function"===typeof e?e:It(e)))},selectChildren:function(e){return this.selectAll(null==e?Ft:function(e){return function(){return Bt.call(this.children,e)}}("function"===typeof e?e:It(e)))},filter:function(e){"function"!==typeof e&&(e=Nt(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o,a=t[i],s=a.length,l=r[i]=[],u=0;u<s;++u)(o=a[u])&&e.call(o,o.__data__,u,a)&&l.push(o);return new Xn(r,this._parents)},data:function(e,t){if(!arguments.length)return Array.from(this,Kt);var n=t?Wt:qt,r=this._parents,i=this._groups;"function"!==typeof e&&(e=Gt(e));for(var o=i.length,a=new Array(o),s=new Array(o),l=new Array(o),u=0;u<o;++u){var c=r[u],d=i[u],f=d.length,h=Zt(e.call(c,c&&c.__data__,u,r)),p=h.length,v=s[u]=new Array(p),m=a[u]=new Array(p),g=l[u]=new Array(f);n(c,d,v,m,g,h,t);for(var y,b,w=0,x=0;w<p;++w)if(y=v[w]){for(w>=x&&(x=w+1);!(b=m[x])&&++x<p;);y._next=b||null}}return(a=new Xn(a,r))._enter=s,a._exit=l,a},enter:function(){return new Xn(this._enter||this._groups.map(Vt),this._parents)},exit:function(){return new Xn(this._exit||this._groups.map(Vt),this._parents)},join:function(e,t,n){var r=this.enter(),i=this,o=this.exit();return"function"===typeof e?(r=e(r))&&(r=r.selection()):r=r.append(e+""),null!=t&&(i=t(i))&&(i=i.selection()),null==n?o.remove():n(o),r&&i?r.merge(i).order():i},merge:function(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,o=r.length,a=Math.min(i,o),s=new Array(i),l=0;l<a;++l)for(var u,c=n[l],d=r[l],f=c.length,h=s[l]=new Array(f),p=0;p<f;++p)(u=c[p]||d[p])&&(h[p]=u);for(;l<i;++l)s[l]=n[l];return new Xn(s,this._parents)},selection:function(){return this},order:function(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r,i=e[t],o=i.length-1,a=i[o];--o>=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=$t);for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o){for(var a,s=n[o],l=s.length,u=i[o]=new Array(l),c=0;c<l;++c)(a=s[c])&&(u[c]=a);u.sort(t)}return new Xn(i,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null},size:function(){var e,t=0,n=Xt(this);try{for(n.s();!(e=n.n()).done;){e.value;++t}}catch(r){n.e(r)}finally{n.f()}return t},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i,o=t[n],a=0,s=o.length;a<s;++a)(i=o[a])&&e.call(i,i.__data__,a,o);return this},attr:function(e,t){var n=en(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((null==t?n.local?nn:tn:"function"===typeof t?n.local?sn:an:n.local?on:rn)(n,t))},style:function(e,t,n){return arguments.length>1?this.each((null==t?un:"function"===typeof t?dn:cn)(e,t,null==n?"":n)):fn(this.node(),e)},property:function(e,t){return arguments.length>1?this.each((null==t?hn:"function"===typeof t?vn:pn)(e,t)):this.node()[e]},classed:function(e,t){var n=mn(e+"");if(arguments.length<2){for(var r=gn(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each(("function"===typeof t?kn:t?xn:En)(n,t))},text:function(e){return arguments.length?this.each(null==e?Tn:("function"===typeof e?On:_n)(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?Cn:("function"===typeof e?Sn:An)(e)):this.node().innerHTML},raise:function(){return this.each(Pn)},lower:function(){return this.each(Mn)},append:function(e){var t="function"===typeof e?e:Dn(e);return this.select((function(){return this.appendChild(t.apply(this,arguments))}))},insert:function(e,t){var n="function"===typeof e?e:Dn(e),r=null==t?Ln:"function"===typeof t?t:Rt(t);return this.select((function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each(Nn)},clone:function(e){return this.select(e?zn:In)},datum:function(e){return arguments.length?this.property("__data__",e):this.node().__data__},on:function(e,t,n){var r,i,o=Hn(e+""),a=o.length;if(!(arguments.length<2)){for(s=t?Fn:Bn,r=0;r<a;++r)this.each(s(o[r],t,n));return this}var s=this.node().__on;if(s)for(var l,u=0,c=s.length;u<c;++u)for(r=0,l=s[u];r<a;++r)if((i=o[r]).type===l.type&&i.name===l.name)return l.value},dispatch:function(e,t){return this.each(("function"===typeof t?Gn:Un)(e,t))}},Symbol.iterator,Zn);var Qn=Yn;function Jn(e){return"string"===typeof e?new Xn([[document.querySelector(e)]],[document.documentElement]):new Xn([[e]],$n)}var er=r(7137),tr={passive:!1},nr={capture:!0,passive:!1};function rr(e){e.stopImmediatePropagation()}function ir(e){e.preventDefault(),e.stopImmediatePropagation()}function or(e){var t=e.document.documentElement,n=Jn(e).on("dragstart.drag",ir,nr);"onselectstart"in t?n.on("selectstart.drag",ir,nr):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function ar(e,t){var n=e.document.documentElement,r=Jn(e).on("dragstart.drag",null);t&&(r.on("click.drag",ir,nr),setTimeout((function(){r.on("click.drag",null)}),0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}function sr(e){return((e=Math.exp(e))+1/e)/2}var lr=function e(t,n,r){function i(e,i){var o,a,s=e[0],l=e[1],u=e[2],c=i[0],d=i[1],f=i[2],h=c-s,p=d-l,v=h*h+p*p;if(v<1e-12)a=Math.log(f/u)/t,o=function(e){return[s+e*h,l+e*p,u*Math.exp(t*e*a)]};else{var m=Math.sqrt(v),g=(f*f-u*u+r*v)/(2*u*n*m),y=(f*f-u*u-r*v)/(2*f*n*m),b=Math.log(Math.sqrt(g*g+1)-g),w=Math.log(Math.sqrt(y*y+1)-y);a=(w-b)/t,o=function(e){var r,i=e*a,o=sr(b),c=u/(n*m)*(o*(r=t*i+b,((r=Math.exp(2*r))-1)/(r+1))-function(e){return((e=Math.exp(e))-1/e)/2}(b));return[s+c*h,l+c*p,u*o/sr(t*i+b)]}}return o.duration=1e3*a*t/Math.SQRT2,o}return i.rho=function(t){var n=Math.max(.001,+t),r=n*n;return e(n,r,r*r)},i}(Math.SQRT2,2,4);function ur(e,t){if(e=function(e){for(var t;t=e.sourceEvent;)e=t;return e}(e),void 0===t&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,[(r=r.matrixTransform(t.getScreenCTM().inverse())).x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}var cr=r(513);function dr(e,t,n){var r=new cr.B7;return t=null==t?0:+t,r.restart((function(n){r.stop(),e(n+t)}),t,n),r}var fr=(0,er.Z)("start","end","cancel","interrupt"),hr=[];function pr(e,t,n,r,i,o){var a=e.__transition;if(a){if(n in a)return}else e.__transition={};!function(e,t,n){var r,i=e.__transition;function o(e){n.state=1,n.timer.restart(a,n.delay,n.time),n.delay<=e&&a(e-n.delay)}function a(o){var u,c,d,f;if(1!==n.state)return l();for(u in i)if((f=i[u]).name===n.name){if(3===f.state)return dr(a);4===f.state?(f.state=6,f.timer.stop(),f.on.call("interrupt",e,e.__data__,f.index,f.group),delete i[u]):+u<t&&(f.state=6,f.timer.stop(),f.on.call("cancel",e,e.__data__,f.index,f.group),delete i[u])}if(dr((function(){3===n.state&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(o))})),n.state=2,n.on.call("start",e,e.__data__,n.index,n.group),2===n.state){for(n.state=3,r=new Array(d=n.tween.length),u=0,c=-1;u<d;++u)(f=n.tween[u].value.call(e,e.__data__,n.index,n.group))&&(r[++c]=f);r.length=c+1}}function s(t){for(var i=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(l),n.state=5,1),o=-1,a=r.length;++o<a;)r[o].call(e,i);5===n.state&&(n.on.call("end",e,e.__data__,n.index,n.group),l())}function l(){for(var r in n.state=6,n.timer.stop(),delete i[t],i)return;delete e.__transition}i[t]=n,n.timer=(0,cr.HT)(o,0,n.time)}(e,n,{name:t,index:r,group:i,on:fr,tween:hr,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})}function vr(e,t){var n=gr(e,t);if(n.state>0)throw new Error("too late; already scheduled");return n}function mr(e,t){var n=gr(e,t);if(n.state>3)throw new Error("too late; already running");return n}function gr(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function yr(e,t){var n,r,i,o=e.__transition,a=!0;if(o){for(i in t=null==t?null:t+"",o)(n=o[i]).name===t?(r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",e,e.__data__,n.index,n.group),delete o[i]):a=!1;a&&delete e.__transition}}function br(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var wr,xr=180/Math.PI,Er={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function kr(e,t,n,r,i,o){var a,s,l;return(a=Math.sqrt(e*e+t*t))&&(e/=a,t/=a),(l=e*n+t*r)&&(n-=e*l,r-=t*l),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,l/=s),e*r<t*n&&(e=-e,t=-t,l=-l,a=-a),{translateX:i,translateY:o,rotate:Math.atan2(t,e)*xr,skewX:Math.atan(l)*xr,scaleX:a,scaleY:s}}function Tr(e,t,n,r){function i(e){return e.length?e.pop()+" ":""}return function(o,a){var s=[],l=[];return o=e(o),a=e(a),function(e,r,i,o,a,s){if(e!==i||r!==o){var l=a.push("translate(",null,t,null,n);s.push({i:l-4,x:br(e,i)},{i:l-2,x:br(r,o)})}else(i||o)&&a.push("translate("+i+t+o+n)}(o.translateX,o.translateY,a.translateX,a.translateY,s,l),function(e,t,n,o){e!==t?(e-t>180?t+=360:t-e>180&&(e+=360),o.push({i:n.push(i(n)+"rotate(",null,r)-2,x:br(e,t)})):t&&n.push(i(n)+"rotate("+t+r)}(o.rotate,a.rotate,s,l),function(e,t,n,o){e!==t?o.push({i:n.push(i(n)+"skewX(",null,r)-2,x:br(e,t)}):t&&n.push(i(n)+"skewX("+t+r)}(o.skewX,a.skewX,s,l),function(e,t,n,r,o,a){if(e!==n||t!==r){var s=o.push(i(o)+"scale(",null,",",null,")");a.push({i:s-4,x:br(e,n)},{i:s-2,x:br(t,r)})}else 1===n&&1===r||o.push(i(o)+"scale("+n+","+r+")")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,s,l),o=a=null,function(e){for(var t,n=-1,r=l.length;++n<r;)s[(t=l[n]).i]=t.x(e);return s.join("")}}}var _r=Tr((function(e){var t=new("function"===typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?Er:kr(t.a,t.b,t.c,t.d,t.e,t.f)}),"px, ","px)","deg)"),Or=Tr((function(e){return null==e?Er:(wr||(wr=document.createElementNS("http://www.w3.org/2000/svg","g")),wr.setAttribute("transform",e),(e=wr.transform.baseVal.consolidate())?kr((e=e.matrix).a,e.b,e.c,e.d,e.e,e.f):Er)}),", ",")",")");function Cr(e,t){var n,r;return function(){var i=mr(this,e),o=i.tween;if(o!==n)for(var a=0,s=(r=n=o).length;a<s;++a)if(r[a].name===t){(r=r.slice()).splice(a,1);break}i.tween=r}}function Ar(e,t,n){var r,i;if("function"!==typeof n)throw new Error;return function(){var o=mr(this,e),a=o.tween;if(a!==r){i=(r=a).slice();for(var s={name:t,value:n},l=0,u=i.length;l<u;++l)if(i[l].name===t){i[l]=s;break}l===u&&i.push(s)}o.tween=i}}function Sr(e,t,n){var r=e._id;return e.each((function(){var e=mr(this,r);(e.value||(e.value={}))[t]=n.apply(this,arguments)})),function(e){return gr(e,r).value[t]}}function Pr(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function Mr(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Rr(){}var jr=.7,Dr=1/jr,Lr="\\s*([+-]?\\d+)\\s*",Nr="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ir="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",zr=/^#([0-9a-f]{3,8})$/,Hr=new RegExp("^rgb\\("+[Lr,Lr,Lr]+"\\)$"),Br=new RegExp("^rgb\\("+[Ir,Ir,Ir]+"\\)$"),Fr=new RegExp("^rgba\\("+[Lr,Lr,Lr,Nr]+"\\)$"),Vr=new RegExp("^rgba\\("+[Ir,Ir,Ir,Nr]+"\\)$"),Ur=new RegExp("^hsl\\("+[Nr,Ir,Ir]+"\\)$"),Gr=new RegExp("^hsla\\("+[Nr,Ir,Ir,Nr]+"\\)$"),qr={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function Wr(){return this.rgb().formatHex()}function Kr(){return this.rgb().formatRgb()}function Zr(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=zr.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?$r(t):3===n?new Jr(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?Xr(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?Xr(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=Hr.exec(e))?new Jr(t[1],t[2],t[3],1):(t=Br.exec(e))?new Jr(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=Fr.exec(e))?Xr(t[1],t[2],t[3],t[4]):(t=Vr.exec(e))?Xr(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=Ur.exec(e))?ri(t[1],t[2]/100,t[3]/100,1):(t=Gr.exec(e))?ri(t[1],t[2]/100,t[3]/100,t[4]):qr.hasOwnProperty(e)?$r(qr[e]):"transparent"===e?new Jr(NaN,NaN,NaN,0):null}function $r(e){return new Jr(e>>16&255,e>>8&255,255&e,1)}function Xr(e,t,n,r){return r<=0&&(e=t=n=NaN),new Jr(e,t,n,r)}function Yr(e){return e instanceof Rr||(e=Zr(e)),e?new Jr((e=e.rgb()).r,e.g,e.b,e.opacity):new Jr}function Qr(e,t,n,r){return 1===arguments.length?Yr(e):new Jr(e,t,n,null==r?1:r)}function Jr(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}function ei(){return"#"+ni(this.r)+ni(this.g)+ni(this.b)}function ti(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===e?")":", "+e+")")}function ni(e){return((e=Math.max(0,Math.min(255,Math.round(e)||0)))<16?"0":"")+e.toString(16)}function ri(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new oi(e,t,n,r)}function ii(e){if(e instanceof oi)return new oi(e.h,e.s,e.l,e.opacity);if(e instanceof Rr||(e=Zr(e)),!e)return new oi;if(e instanceof oi)return e;var t=(e=e.rgb()).r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),a=NaN,s=o-i,l=(o+i)/2;return s?(a=t===o?(n-r)/s+6*(n<r):n===o?(r-t)/s+2:(t-n)/s+4,s/=l<.5?o+i:2-o-i,a*=60):s=l>0&&l<1?0:a,new oi(a,s,l,e.opacity)}function oi(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}function ai(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}function si(e,t,n,r,i){var o=e*e,a=o*e;return((1-3*e+3*o-a)*t+(4-6*o+3*a)*n+(1+3*e+3*o-3*a)*r+a*i)/6}Pr(Rr,Zr,{copy:function(e){return Object.assign(new this.constructor,this,e)},displayable:function(){return this.rgb().displayable()},hex:Wr,formatHex:Wr,formatHsl:function(){return ii(this).formatHsl()},formatRgb:Kr,toString:Kr}),Pr(Jr,Qr,Mr(Rr,{brighter:function(e){return e=null==e?Dr:Math.pow(Dr,e),new Jr(this.r*e,this.g*e,this.b*e,this.opacity)},darker:function(e){return e=null==e?jr:Math.pow(jr,e),new Jr(this.r*e,this.g*e,this.b*e,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:ei,formatHex:ei,formatRgb:ti,toString:ti})),Pr(oi,(function(e,t,n,r){return 1===arguments.length?ii(e):new oi(e,t,n,null==r?1:r)}),Mr(Rr,{brighter:function(e){return e=null==e?Dr:Math.pow(Dr,e),new oi(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?jr:Math.pow(jr,e),new oi(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new Jr(ai(e>=240?e-240:e+120,i,r),ai(e,i,r),ai(e<120?e+240:e-120,i,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===e?")":", "+e+")")}}));var li=function(e){return function(){return e}};function ui(e,t){return function(n){return e+n*t}}function ci(e){return 1===(e=+e)?di:function(t,n){return n-t?function(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}(t,n,e):li(isNaN(t)?n:t)}}function di(e,t){var n=t-e;return n?ui(e,n):li(isNaN(e)?t:e)}var fi=function e(t){var n=ci(t);function r(e,t){var r=n((e=Qr(e)).r,(t=Qr(t)).r),i=n(e.g,t.g),o=n(e.b,t.b),a=di(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=o(t),e.opacity=a(t),e+""}}return r.gamma=e,r}(1);function hi(e){return function(t){var n,r,i=t.length,o=new Array(i),a=new Array(i),s=new Array(i);for(n=0;n<i;++n)r=Qr(t[n]),o[n]=r.r||0,a[n]=r.g||0,s[n]=r.b||0;return o=e(o),a=e(a),s=e(s),r.opacity=1,function(e){return r.r=o(e),r.g=a(e),r.b=s(e),r+""}}}hi((function(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),i=e[r],o=e[r+1],a=r>0?e[r-1]:2*i-o,s=r<t-1?e[r+2]:2*o-i;return si((n-r/t)*t,a,i,o,s)}})),hi((function(e){var t=e.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*t),i=e[(r+t-1)%t],o=e[r%t],a=e[(r+1)%t],s=e[(r+2)%t];return si((n-r/t)*t,i,o,a,s)}}));var pi=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,vi=new RegExp(pi.source,"g");function mi(e,t){var n,r,i,o=pi.lastIndex=vi.lastIndex=0,a=-1,s=[],l=[];for(e+="",t+="";(n=pi.exec(e))&&(r=vi.exec(t));)(i=r.index)>o&&(i=t.slice(o,i),s[a]?s[a]+=i:s[++a]=i),(n=n[0])===(r=r[0])?s[a]?s[a]+=r:s[++a]=r:(s[++a]=null,l.push({i:a,x:br(n,r)})),o=vi.lastIndex;return o<t.length&&(i=t.slice(o),s[a]?s[a]+=i:s[++a]=i),s.length<2?l[0]?function(e){return function(t){return e(t)+""}}(l[0].x):function(e){return function(){return e}}(t):(t=l.length,function(e){for(var n,r=0;r<t;++r)s[(n=l[r]).i]=n.x(e);return s.join("")})}function gi(e,t){var n;return("number"===typeof t?br:t instanceof Zr?fi:(n=Zr(t))?(t=n,fi):mi)(e,t)}function yi(e){return function(){this.removeAttribute(e)}}function bi(e){return function(){this.removeAttributeNS(e.space,e.local)}}function wi(e,t,n){var r,i,o=n+"";return function(){var a=this.getAttribute(e);return a===o?null:a===r?i:i=t(r=a,n)}}function xi(e,t,n){var r,i,o=n+"";return function(){var a=this.getAttributeNS(e.space,e.local);return a===o?null:a===r?i:i=t(r=a,n)}}function Ei(e,t,n){var r,i,o;return function(){var a,s,l=n(this);if(null!=l)return(a=this.getAttribute(e))===(s=l+"")?null:a===r&&s===i?o:(i=s,o=t(r=a,l));this.removeAttribute(e)}}function ki(e,t,n){var r,i,o;return function(){var a,s,l=n(this);if(null!=l)return(a=this.getAttributeNS(e.space,e.local))===(s=l+"")?null:a===r&&s===i?o:(i=s,o=t(r=a,l));this.removeAttributeNS(e.space,e.local)}}function Ti(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function _i(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function Oi(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&_i(e,i)),n}return i._value=t,i}function Ci(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Ti(e,i)),n}return i._value=t,i}function Ai(e,t){return function(){vr(this,e).delay=+t.apply(this,arguments)}}function Si(e,t){return t=+t,function(){vr(this,e).delay=t}}function Pi(e,t){return function(){mr(this,e).duration=+t.apply(this,arguments)}}function Mi(e,t){return t=+t,function(){mr(this,e).duration=t}}function Ri(e,t){if("function"!==typeof t)throw new Error;return function(){mr(this,e).ease=t}}function ji(e,t,n){var r,i,o=function(e){return(e+"").trim().split(/^|\s+/).every((function(e){var t=e.indexOf(".");return t>=0&&(e=e.slice(0,t)),!e||"start"===e}))}(t)?vr:mr;return function(){var a=o(this,e),s=a.on;s!==r&&(i=(r=s).copy()).on(t,n),a.on=i}}var Di=Qn.prototype.constructor;function Li(e){return function(){this.style.removeProperty(e)}}function Ni(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function Ii(e,t,n){var r,i;function o(){var o=t.apply(this,arguments);return o!==i&&(r=(i=o)&&Ni(e,o,n)),r}return o._value=t,o}function zi(e){return function(t){this.textContent=e.call(this,t)}}function Hi(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&zi(r)),t}return r._value=e,r}var Bi=0;function Fi(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Vi(){return++Bi}var Ui=Qn.prototype;Fi.prototype=function(e){return Qn().transition(e)}.prototype=(0,Pt.Z)({constructor:Fi,select:function(e){var t=this._name,n=this._id;"function"!==typeof e&&(e=Rt(e));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a<i;++a)for(var s,l,u=r[a],c=u.length,d=o[a]=new Array(c),f=0;f<c;++f)(s=u[f])&&(l=e.call(s,s.__data__,f,u))&&("__data__"in s&&(l.__data__=s.__data__),d[f]=l,pr(d[f],t,n,f,d,gr(s,n)));return new Fi(o,this._parents,t,n)},selectAll:function(e){var t=this._name,n=this._id;"function"!==typeof e&&(e=Lt(e));for(var r=this._groups,i=r.length,o=[],a=[],s=0;s<i;++s)for(var l,u=r[s],c=u.length,d=0;d<c;++d)if(l=u[d]){for(var f,h=e.call(l,l.__data__,d,u),p=gr(l,n),v=0,m=h.length;v<m;++v)(f=h[v])&&pr(f,t,n,v,h,p);o.push(h),a.push(l)}return new Fi(o,a,t,n)},selectChild:Ui.selectChild,selectChildren:Ui.selectChildren,filter:function(e){"function"!==typeof e&&(e=Nt(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o,a=t[i],s=a.length,l=r[i]=[],u=0;u<s;++u)(o=a[u])&&e.call(o,o.__data__,u,a)&&l.push(o);return new Fi(r,this._parents,this._name,this._id)},merge:function(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,i=n.length,o=Math.min(r,i),a=new Array(r),s=0;s<o;++s)for(var l,u=t[s],c=n[s],d=u.length,f=a[s]=new Array(d),h=0;h<d;++h)(l=u[h]||c[h])&&(f[h]=l);for(;s<r;++s)a[s]=t[s];return new Fi(a,this._parents,this._name,this._id)},selection:function(){return new Di(this._groups,this._parents)},transition:function(){for(var e=this._name,t=this._id,n=Vi(),r=this._groups,i=r.length,o=0;o<i;++o)for(var a,s=r[o],l=s.length,u=0;u<l;++u)if(a=s[u]){var c=gr(a,t);pr(a,e,n,u,s,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new Fi(r,this._parents,e,n)},call:Ui.call,nodes:Ui.nodes,node:Ui.node,size:Ui.size,empty:Ui.empty,each:Ui.each,on:function(e,t){var n=this._id;return arguments.length<2?gr(this.node(),n).on.on(e):this.each(ji(n,e,t))},attr:function(e,t){var n=en(e),r="transform"===n?Or:gi;return this.attrTween(e,"function"===typeof t?(n.local?ki:Ei)(n,r,Sr(this,"attr."+e,t)):null==t?(n.local?bi:yi)(n):(n.local?xi:wi)(n,r,t))},attrTween:function(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!==typeof t)throw new Error;var r=en(e);return this.tween(n,(r.local?Oi:Ci)(r,t))},style:function(e,t,n){var r="transform"===(e+="")?_r:gi;return null==t?this.styleTween(e,function(e,t){var n,r,i;return function(){var o=fn(this,e),a=(this.style.removeProperty(e),fn(this,e));return o===a?null:o===n&&a===r?i:i=t(n=o,r=a)}}(e,r)).on("end.style."+e,Li(e)):"function"===typeof t?this.styleTween(e,function(e,t,n){var r,i,o;return function(){var a=fn(this,e),s=n(this),l=s+"";return null==s&&(this.style.removeProperty(e),l=s=fn(this,e)),a===l?null:a===r&&l===i?o:(i=l,o=t(r=a,s))}}(e,r,Sr(this,"style."+e,t))).each(function(e,t){var n,r,i,o,a="style."+t,s="end."+a;return function(){var l=mr(this,e),u=l.on,c=null==l.value[a]?o||(o=Li(t)):void 0;u===n&&i===c||(r=(n=u).copy()).on(s,i=c),l.on=r}}(this._id,e)):this.styleTween(e,function(e,t,n){var r,i,o=n+"";return function(){var a=fn(this,e);return a===o?null:a===r?i:i=t(r=a,n)}}(e,r,t),n).on("end.style."+e,null)},styleTween:function(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==t)return this.tween(r,null);if("function"!==typeof t)throw new Error;return this.tween(r,Ii(e,t,null==n?"":n))},text:function(e){return this.tween("text","function"===typeof e?function(e){return function(){var t=e(this);this.textContent=null==t?"":t}}(Sr(this,"text",e)):function(e){return function(){this.textContent=e}}(null==e?"":e+""))},textTween:function(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(null==e)return this.tween(t,null);if("function"!==typeof e)throw new Error;return this.tween(t,Hi(e))},remove:function(){return this.on("end.remove",function(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}(this._id))},tween:function(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r,i=gr(this.node(),n).tween,o=0,a=i.length;o<a;++o)if((r=i[o]).name===e)return r.value;return null}return this.each((null==t?Cr:Ar)(n,e,t))},delay:function(e){var t=this._id;return arguments.length?this.each(("function"===typeof e?Ai:Si)(t,e)):gr(this.node(),t).delay},duration:function(e){var t=this._id;return arguments.length?this.each(("function"===typeof e?Pi:Mi)(t,e)):gr(this.node(),t).duration},ease:function(e){var t=this._id;return arguments.length?this.each(Ri(t,e)):gr(this.node(),t).ease},easeVarying:function(e){if("function"!==typeof e)throw new Error;return this.each(function(e,t){return function(){var n=t.apply(this,arguments);if("function"!==typeof n)throw new Error;mr(this,e).ease=n}}(this._id,e))},end:function(){var e,t,n=this,r=n._id,i=n.size();return new Promise((function(o,a){var s={value:a},l={value:function(){0===--i&&o()}};n.each((function(){var n=mr(this,r),i=n.on;i!==e&&((t=(e=i).copy())._.cancel.push(s),t._.interrupt.push(s),t._.end.push(l)),n.on=t})),0===i&&o()}))}},Symbol.iterator,Ui[Symbol.iterator]);var Gi={time:null,delay:0,duration:250,ease:function(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}};function qi(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error("transition ".concat(t," not found"));return n}Qn.prototype.interrupt=function(e){return this.each((function(){yr(this,e)}))},Qn.prototype.transition=function(e){var t,n;e instanceof Fi?(t=e._id,e=e._name):(t=Vi(),(n=Gi).time=(0,cr.zO)(),e=null==e?null:e+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var a,s=r[o],l=s.length,u=0;u<l;++u)(a=s[u])&&pr(a,e,t,u,s,n||qi(a,t));return new Fi(r,this._parents,e,t)};var Wi=function(e){return function(){return e}};function Ki(e,t){var n=t.sourceEvent,r=t.target,i=t.transform,o=t.dispatch;Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:i,enumerable:!0,configurable:!0},_:{value:o}})}function Zi(e,t,n){this.k=e,this.x=t,this.y=n}Zi.prototype={constructor:Zi,scale:function(e){return 1===e?this:new Zi(this.k*e,this.x,this.y)},translate:function(e,t){return 0===e&0===t?this:new Zi(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var $i=new Zi(1,0,0);function Xi(e){for(;!e.__zoom;)if(!(e=e.parentNode))return $i;return e.__zoom}function Yi(e){e.stopImmediatePropagation()}function Qi(e){e.preventDefault(),e.stopImmediatePropagation()}function Ji(e){return(!e.ctrlKey||"wheel"===e.type)&&!e.button}function eo(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e).hasAttribute("viewBox")?[[(e=e.viewBox.baseVal).x,e.y],[e.x+e.width,e.y+e.height]]:[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]:[[0,0],[e.clientWidth,e.clientHeight]]}function to(){return this.__zoom||$i}function no(e){return-e.deltaY*(1===e.deltaMode?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function ro(){return navigator.maxTouchPoints||"ontouchstart"in this}function io(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}function oo(){var e,t,n,r=Ji,i=eo,o=io,a=no,s=ro,l=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],c=250,d=lr,f=(0,er.Z)("start","zoom","end"),h=500,p=0,v=10;function m(e){e.property("__zoom",to).on("wheel.zoom",k,{passive:!1}).on("mousedown.zoom",T).on("dblclick.zoom",_).filter(s).on("touchstart.zoom",O).on("touchmove.zoom",C).on("touchend.zoom touchcancel.zoom",A).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(e,t){return(t=Math.max(l[0],Math.min(l[1],t)))===e.k?e:new Zi(t,e.x,e.y)}function y(e,t,n){var r=t[0]-n[0]*e.k,i=t[1]-n[1]*e.k;return r===e.x&&i===e.y?e:new Zi(e.k,r,i)}function b(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function w(e,t,n,r){e.on("start.zoom",(function(){x(this,arguments).event(r).start()})).on("interrupt.zoom end.zoom",(function(){x(this,arguments).event(r).end()})).tween("zoom",(function(){var e=this,o=arguments,a=x(e,o).event(r),s=i.apply(e,o),l=null==n?b(s):"function"===typeof n?n.apply(e,o):n,u=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),c=e.__zoom,f="function"===typeof t?t.apply(e,o):t,h=d(c.invert(l).concat(u/c.k),f.invert(l).concat(u/f.k));return function(e){if(1===e)e=f;else{var t=h(e),n=u/t[2];e=new Zi(n,l[0]-t[0]*n,l[1]-t[1]*n)}a.zoom(null,e)}}))}function x(e,t,n){return!n&&e.__zooming||new E(e,t)}function E(e,t){this.that=e,this.args=t,this.active=0,this.sourceEvent=null,this.extent=i.apply(e,t),this.taps=0}function k(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];if(r.apply(this,arguments)){var s=x(this,n).event(e),c=this.__zoom,d=Math.max(l[0],Math.min(l[1],c.k*Math.pow(2,a.apply(this,arguments)))),f=ur(e);if(s.wheel)s.mouse[0][0]===f[0]&&s.mouse[0][1]===f[1]||(s.mouse[1]=c.invert(s.mouse[0]=f)),clearTimeout(s.wheel);else{if(c.k===d)return;s.mouse=[f,c.invert(f)],yr(this),s.start()}Qi(e),s.wheel=setTimeout(h,150),s.zoom("mouse",o(y(g(c,d),s.mouse[0],s.mouse[1]),s.extent,u))}function h(){s.wheel=null,s.end()}}function T(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),a=1;a<t;a++)i[a-1]=arguments[a];if(!n&&r.apply(this,arguments)){var s=e.currentTarget,l=x(this,i,!0).event(e),c=Jn(e.view).on("mousemove.zoom",v,!0).on("mouseup.zoom",m,!0),d=ur(e,s),f=e.clientX,h=e.clientY;or(e.view),Yi(e),l.mouse=[d,this.__zoom.invert(d)],yr(this),l.start()}function v(e){if(Qi(e),!l.moved){var t=e.clientX-f,n=e.clientY-h;l.moved=t*t+n*n>p}l.event(e).zoom("mouse",o(y(l.that.__zoom,l.mouse[0]=ur(e,s),l.mouse[1]),l.extent,u))}function m(e){c.on("mousemove.zoom mouseup.zoom",null),ar(e.view,l.moved),Qi(e),l.event(e).end()}}function _(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];if(r.apply(this,arguments)){var s=this.__zoom,l=ur(e.changedTouches?e.changedTouches[0]:e,this),d=s.invert(l),f=s.k*(e.shiftKey?.5:2),h=o(y(g(s,f),l,d),i.apply(this,n),u);Qi(e),c>0?Jn(this).transition().duration(c).call(w,h,l,e):Jn(this).call(m.transform,h,l,e)}}function O(n){for(var i=arguments.length,o=new Array(i>1?i-1:0),a=1;a<i;a++)o[a-1]=arguments[a];if(r.apply(this,arguments)){var s,l,u,c,d=n.touches,f=d.length,p=x(this,o,n.changedTouches.length===f).event(n);for(Yi(n),l=0;l<f;++l)c=[c=ur(u=d[l],this),this.__zoom.invert(c),u.identifier],p.touch0?p.touch1||p.touch0[2]===c[2]||(p.touch1=c,p.taps=0):(p.touch0=c,s=!0,p.taps=1+!!e);e&&(e=clearTimeout(e)),s&&(p.taps<2&&(t=c[0],e=setTimeout((function(){e=null}),h)),yr(this),p.start())}}function C(e){if(this.__zooming){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var i,a,s,l,c=x(this,n).event(e),d=e.changedTouches,f=d.length;for(Qi(e),i=0;i<f;++i)s=ur(a=d[i],this),c.touch0&&c.touch0[2]===a.identifier?c.touch0[0]=s:c.touch1&&c.touch1[2]===a.identifier&&(c.touch1[0]=s);if(a=c.that.__zoom,c.touch1){var h=c.touch0[0],p=c.touch0[1],v=c.touch1[0],m=c.touch1[1],b=(b=v[0]-h[0])*b+(b=v[1]-h[1])*b,w=(w=m[0]-p[0])*w+(w=m[1]-p[1])*w;a=g(a,Math.sqrt(b/w)),s=[(h[0]+v[0])/2,(h[1]+v[1])/2],l=[(p[0]+m[0])/2,(p[1]+m[1])/2]}else{if(!c.touch0)return;s=c.touch0[0],l=c.touch0[1]}c.zoom("touch",o(y(a,s,l),c.extent,u))}}function A(e){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];if(this.__zooming){var a,s,l=x(this,i).event(e),u=e.changedTouches,c=u.length;for(Yi(e),n&&clearTimeout(n),n=setTimeout((function(){n=null}),h),a=0;a<c;++a)s=u[a],l.touch0&&l.touch0[2]===s.identifier?delete l.touch0:l.touch1&&l.touch1[2]===s.identifier&&delete l.touch1;if(l.touch1&&!l.touch0&&(l.touch0=l.touch1,delete l.touch1),l.touch0)l.touch0[1]=this.__zoom.invert(l.touch0[0]);else if(l.end(),2===l.taps&&(s=ur(s,this),Math.hypot(t[0]-s[0],t[1]-s[1])<v)){var d=Jn(this).on("dblclick.zoom");d&&d.apply(this,arguments)}}}return m.transform=function(e,t,n,r){var i=e.selection?e.selection():e;i.property("__zoom",to),e!==i?w(e,t,n,r):i.interrupt().each((function(){x(this,arguments).event(r).start().zoom(null,"function"===typeof t?t.apply(this,arguments):t).end()}))},m.scaleBy=function(e,t,n,r){m.scaleTo(e,(function(){var e=this.__zoom.k,n="function"===typeof t?t.apply(this,arguments):t;return e*n}),n,r)},m.scaleTo=function(e,t,n,r){m.transform(e,(function(){var e=i.apply(this,arguments),r=this.__zoom,a=null==n?b(e):"function"===typeof n?n.apply(this,arguments):n,s=r.invert(a),l="function"===typeof t?t.apply(this,arguments):t;return o(y(g(r,l),a,s),e,u)}),n,r)},m.translateBy=function(e,t,n,r){m.transform(e,(function(){return o(this.__zoom.translate("function"===typeof t?t.apply(this,arguments):t,"function"===typeof n?n.apply(this,arguments):n),i.apply(this,arguments),u)}),null,r)},m.translateTo=function(e,t,n,r,a){m.transform(e,(function(){var e=i.apply(this,arguments),a=this.__zoom,s=null==r?b(e):"function"===typeof r?r.apply(this,arguments):r;return o($i.translate(s[0],s[1]).scale(a.k).translate("function"===typeof t?-t.apply(this,arguments):-t,"function"===typeof n?-n.apply(this,arguments):-n),e,u)}),r,a)},E.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return 1===++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(e,t){return this.mouse&&"mouse"!==e&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&"touch"!==e&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&"touch"!==e&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit("zoom"),this},end:function(){return 0===--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(e){var t=Jn(this.that).datum();f.call(e,this.that,new Ki(e,{sourceEvent:this.sourceEvent,target:m,type:e,transform:this.that.__zoom,dispatch:f}),t)}},m.wheelDelta=function(e){return arguments.length?(a="function"===typeof e?e:Wi(+e),m):a},m.filter=function(e){return arguments.length?(r="function"===typeof e?e:Wi(!!e),m):r},m.touchable=function(e){return arguments.length?(s="function"===typeof e?e:Wi(!!e),m):s},m.extent=function(e){return arguments.length?(i="function"===typeof e?e:Wi([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),m):i},m.scaleExtent=function(e){return arguments.length?(l[0]=+e[0],l[1]=+e[1],m):[l[0],l[1]]},m.translateExtent=function(e){return arguments.length?(u[0][0]=+e[0][0],u[1][0]=+e[1][0],u[0][1]=+e[0][1],u[1][1]=+e[1][1],m):[[u[0][0],u[0][1]],[u[1][0],u[1][1]]]},m.constrain=function(e){return arguments.length?(o=e,m):o},m.duration=function(e){return arguments.length?(c=+e,m):c},m.interpolate=function(e){return arguments.length?(d=e,m):d},m.on=function(){var e=f.on.apply(f,arguments);return e===f?m:e},m.clickDistance=function(e){return arguments.length?(p=(e=+e)*e,m):Math.sqrt(p)},m.tapDistance=function(e){return arguments.length?(v=+e,m):v},m}Xi.prototype=Zi.prototype;var ao=function(e){return function(){return e}};function so(e,t){var n=t.sourceEvent,r=t.subject,i=t.target,o=t.identifier,a=t.active,s=t.x,l=t.y,u=t.dx,c=t.dy,d=t.dispatch;Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:u,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:d}})}function lo(e){return!e.ctrlKey&&!e.button}function uo(){return this.parentNode}function co(e,t){return null==t?{x:e.x,y:e.y}:t}function fo(){return navigator.maxTouchPoints||"ontouchstart"in this}so.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};var ho=r(6701),po=r(3752),vo=r(3096),mo=r.n(vo),go=r(7621),yo=r.n(go);function bo(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function wo(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function xo(e){return function(e){if(Array.isArray(e))return Eo(e)}(e)||function(e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"===typeof e)return Eo(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Eo(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Eo(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var ko=function(e,t,n){return(e<<16)+(t<<8)+n},To=function(e,t){return 123*e%Math.pow(2,t)},_o=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6;bo(this,e),this.csBits=t,this.registry=["__reserved for background__"]}var t,n,r;return t=e,(n=[{key:"register",value:function(e){if(this.registry.length>=Math.pow(2,24-this.csBits))return null;var t,n=this.registry.length,r=To(n,this.csBits),i=(t=n+(r<<24-this.csBits),"#".concat(Math.min(t,Math.pow(2,24)).toString(16).padStart(6,"0")));return this.registry.push(e),i}},{key:"lookup",value:function(e){var t="string"===typeof e?function(e){var t=yo()(e).toRgb(),n=t.r,r=t.g,i=t.b;return ko(n,r,i)}(e):ko.apply(void 0,xo(e));if(!t)return null;var n=t&Math.pow(2,24-this.csBits)-1,r=t>>24-this.csBits&Math.pow(2,this.csBits)-1;return To(n,this.csBits)!==r||n>=this.registry.length?null:this.registry[n]}}])&&wo(t.prototype,n),r&&wo(t,r),e}(),Oo=r(4505),Co=r(5560),Ao=r(2405),So=r(216),Po=r(6917);const{abs:Mo,cos:Ro,sin:jo,acos:Do,atan2:Lo,sqrt:No,pow:Io}=Math;function zo(e){return e<0?-Io(-e,1/3):Io(e,1/3)}const Ho=Math.PI,Bo=2*Ho,Fo=Ho/2,Vo=Number.MAX_SAFE_INTEGER||9007199254740991,Uo=Number.MIN_SAFE_INTEGER||-9007199254740991,Go={x:0,y:0,z:0},qo={Tvalues:[-.06405689286260563,.06405689286260563,-.1911188674736163,.1911188674736163,-.3150426796961634,.3150426796961634,-.4337935076260451,.4337935076260451,-.5454214713888396,.5454214713888396,-.6480936519369755,.6480936519369755,-.7401241915785544,.7401241915785544,-.820001985973903,.820001985973903,-.8864155270044011,.8864155270044011,-.9382745520027328,.9382745520027328,-.9747285559713095,.9747285559713095,-.9951872199970213,.9951872199970213],Cvalues:[.12793819534675216,.12793819534675216,.1258374563468283,.1258374563468283,.12167047292780339,.12167047292780339,.1155056680537256,.1155056680537256,.10744427011596563,.10744427011596563,.09761865210411388,.09761865210411388,.08619016153195327,.08619016153195327,.0733464814110803,.0733464814110803,.05929858491543678,.05929858491543678,.04427743881741981,.04427743881741981,.028531388628933663,.028531388628933663,.0123412297999872,.0123412297999872],arcfn:function(e,t){const n=t(e);let r=n.x*n.x+n.y*n.y;return"undefined"!==typeof n.z&&(r+=n.z*n.z),No(r)},compute:function(e,t,n){if(0===e)return t[0].t=0,t[0];const r=t.length-1;if(1===e)return t[r].t=1,t[r];const i=1-e;let o=t;if(0===r)return t[0].t=e,t[0];if(1===r){const t={x:i*o[0].x+e*o[1].x,y:i*o[0].y+e*o[1].y,t:e};return n&&(t.z=i*o[0].z+e*o[1].z),t}if(r<4){let t,a,s,l=i*i,u=e*e,c=0;2===r?(o=[o[0],o[1],o[2],Go],t=l,a=i*e*2,s=u):3===r&&(t=l*i,a=l*e*3,s=i*u*3,c=e*u);const d={x:t*o[0].x+a*o[1].x+s*o[2].x+c*o[3].x,y:t*o[0].y+a*o[1].y+s*o[2].y+c*o[3].y,t:e};return n&&(d.z=t*o[0].z+a*o[1].z+s*o[2].z+c*o[3].z),d}const a=JSON.parse(JSON.stringify(t));for(;a.length>1;){for(let t=0;t<a.length-1;t++)a[t]={x:a[t].x+(a[t+1].x-a[t].x)*e,y:a[t].y+(a[t+1].y-a[t].y)*e},"undefined"!==typeof a[t].z&&(a[t]=a[t].z+(a[t+1].z-a[t].z)*e);a.splice(a.length-1,1)}return a[0].t=e,a[0]},computeWithRatios:function(e,t,n,r){const i=1-e,o=n,a=t;let s,l=o[0],u=o[1],c=o[2],d=o[3];return l*=i,u*=e,2===a.length?(s=l+u,{x:(l*a[0].x+u*a[1].x)/s,y:(l*a[0].y+u*a[1].y)/s,z:!!r&&(l*a[0].z+u*a[1].z)/s,t:e}):(l*=i,u*=2*i,c*=e*e,3===a.length?(s=l+u+c,{x:(l*a[0].x+u*a[1].x+c*a[2].x)/s,y:(l*a[0].y+u*a[1].y+c*a[2].y)/s,z:!!r&&(l*a[0].z+u*a[1].z+c*a[2].z)/s,t:e}):(l*=i,u*=1.5*i,c*=3*i,d*=e*e*e,4===a.length?(s=l+u+c+d,{x:(l*a[0].x+u*a[1].x+c*a[2].x+d*a[3].x)/s,y:(l*a[0].y+u*a[1].y+c*a[2].y+d*a[3].y)/s,z:!!r&&(l*a[0].z+u*a[1].z+c*a[2].z+d*a[3].z)/s,t:e}):void 0))},derive:function(e,t){const n=[];for(let r=e,i=r.length,o=i-1;i>1;i--,o--){const e=[];for(let n,i=0;i<o;i++)n={x:o*(r[i+1].x-r[i].x),y:o*(r[i+1].y-r[i].y)},t&&(n.z=o*(r[i+1].z-r[i].z)),e.push(n);n.push(e),r=e}return n},between:function(e,t,n){return t<=e&&e<=n||qo.approximately(e,t)||qo.approximately(e,n)},approximately:function(e,t,n){return Mo(e-t)<=(n||1e-6)},length:function(e){const t=qo.Tvalues.length;let n=0;for(let r,i=0;i<t;i++)r=.5*qo.Tvalues[i]+.5,n+=qo.Cvalues[i]*qo.arcfn(r,e);return.5*n},map:function(e,t,n,r,i){return r+(i-r)*((e-t)/(n-t))},lerp:function(e,t,n){const r={x:t.x+e*(n.x-t.x),y:t.y+e*(n.y-t.y)};return void 0!==t.z&&void 0!==n.z&&(r.z=t.z+e*(n.z-t.z)),r},pointToString:function(e){let t=e.x+"/"+e.y;return"undefined"!==typeof e.z&&(t+="/"+e.z),t},pointsToString:function(e){return"["+e.map(qo.pointToString).join(", ")+"]"},copy:function(e){return JSON.parse(JSON.stringify(e))},angle:function(e,t,n){const r=t.x-e.x,i=t.y-e.y,o=n.x-e.x,a=n.y-e.y;return Lo(r*a-i*o,r*o+i*a)},round:function(e,t){const n=""+e,r=n.indexOf(".");return parseFloat(n.substring(0,r+1+t))},dist:function(e,t){const n=e.x-t.x,r=e.y-t.y;return No(n*n+r*r)},closest:function(e,t){let n,r,i=Io(2,63);return e.forEach((function(e,o){r=qo.dist(t,e),r<i&&(i=r,n=o)})),{mdist:i,mpos:n}},abcratio:function(e,t){if(2!==t&&3!==t)return!1;if("undefined"===typeof e)e=.5;else if(0===e||1===e)return e;const n=Io(e,t)+Io(1-e,t);return Mo((n-1)/n)},projectionratio:function(e,t){if(2!==t&&3!==t)return!1;if("undefined"===typeof e)e=.5;else if(0===e||1===e)return e;const n=Io(1-e,t);return n/(Io(e,t)+n)},lli8:function(e,t,n,r,i,o,a,s){const l=(e-n)*(o-s)-(t-r)*(i-a);return 0!=l&&{x:((e*r-t*n)*(i-a)-(e-n)*(i*s-o*a))/l,y:((e*r-t*n)*(o-s)-(t-r)*(i*s-o*a))/l}},lli4:function(e,t,n,r){const i=e.x,o=e.y,a=t.x,s=t.y,l=n.x,u=n.y,c=r.x,d=r.y;return qo.lli8(i,o,a,s,l,u,c,d)},lli:function(e,t){return qo.lli4(e,e.c,t,t.c)},makeline:function(e,t){const n=e.x,r=e.y,i=t.x,o=t.y,a=(i-n)/3,s=(o-r)/3;return new ta(n,r,n+a,r+s,n+2*a,r+2*s,i,o)},findbbox:function(e){let t=Vo,n=Vo,r=Uo,i=Uo;return e.forEach((function(e){const o=e.bbox();t>o.x.min&&(t=o.x.min),n>o.y.min&&(n=o.y.min),r<o.x.max&&(r=o.x.max),i<o.y.max&&(i=o.y.max)})),{x:{min:t,mid:(t+r)/2,max:r,size:r-t},y:{min:n,mid:(n+i)/2,max:i,size:i-n}}},shapeintersections:function(e,t,n,r,i){if(!qo.bboxoverlap(t,r))return[];const o=[],a=[e.startcap,e.forward,e.back,e.endcap],s=[n.startcap,n.forward,n.back,n.endcap];return a.forEach((function(t){t.virtual||s.forEach((function(r){if(r.virtual)return;const a=t.intersects(r,i);a.length>0&&(a.c1=t,a.c2=r,a.s1=e,a.s2=n,o.push(a))}))})),o},makeshape:function(e,t,n){const r=t.points.length,i=e.points.length,o=qo.makeline(t.points[r-1],e.points[0]),a=qo.makeline(e.points[i-1],t.points[0]),s={startcap:o,forward:e,back:t,endcap:a,bbox:qo.findbbox([o,e,t,a]),intersections:function(e){return qo.shapeintersections(s,s.bbox,e,e.bbox,n)}};return s},getminmax:function(e,t,n){if(!n)return{min:0,max:0};let r,i,o=Vo,a=Uo;-1===n.indexOf(0)&&(n=[0].concat(n)),-1===n.indexOf(1)&&n.push(1);for(let s=0,l=n.length;s<l;s++)r=n[s],i=e.get(r),i[t]<o&&(o=i[t]),i[t]>a&&(a=i[t]);return{min:o,mid:(o+a)/2,max:a,size:a-o}},align:function(e,t){const n=t.p1.x,r=t.p1.y,i=-Lo(t.p2.y-r,t.p2.x-n);return e.map((function(e){return{x:(e.x-n)*Ro(i)-(e.y-r)*jo(i),y:(e.x-n)*jo(i)+(e.y-r)*Ro(i)}}))},roots:function(e,t){t=t||{p1:{x:0,y:0},p2:{x:1,y:0}};const n=e.length-1,r=qo.align(e,t),i=function(e){return 0<=e&&e<=1};if(2===n){const e=r[0].y,t=r[1].y,n=r[2].y,o=e-2*t+n;if(0!==o){const r=-No(t*t-e*n),a=-e+t;return[-(r+a)/o,-(-r+a)/o].filter(i)}return t!==n&&0===o?[(2*t-n)/(2*t-2*n)].filter(i):[]}const o=r[0].y,a=r[1].y,s=r[2].y;let l=3*a-o-3*s+r[3].y,u=3*o-6*a+3*s,c=-3*o+3*a,d=o;if(qo.approximately(l,0)){if(qo.approximately(u,0))return qo.approximately(c,0)?[]:[-d/c].filter(i);const e=No(c*c-4*u*d),t=2*u;return[(e-c)/t,(-c-e)/t].filter(i)}u/=l,c/=l,d/=l;const f=(3*c-u*u)/3,h=f/3,p=(2*u*u*u-9*u*c+27*d)/27,v=p/2,m=v*v+h*h*h;let g,y,b,w,x;if(m<0){const e=-f/3,t=No(e*e*e),n=-p/(2*t),r=Do(n<-1?-1:n>1?1:n),o=2*zo(t);return b=o*Ro(r/3)-u/3,w=o*Ro((r+Bo)/3)-u/3,x=o*Ro((r+2*Bo)/3)-u/3,[b,w,x].filter(i)}if(0===m)return g=v<0?zo(-v):-zo(v),b=2*g-u/3,w=-g-u/3,[b,w].filter(i);{const e=No(m);return g=zo(-v+e),y=zo(v+e),[g-y-u/3].filter(i)}},droots:function(e){if(3===e.length){const t=e[0],n=e[1],r=e[2],i=t-2*n+r;if(0!==i){const e=-No(n*n-t*r),o=-t+n;return[-(e+o)/i,-(-e+o)/i]}return n!==r&&0===i?[(2*n-r)/(2*(n-r))]:[]}if(2===e.length){const t=e[0],n=e[1];return t!==n?[t/(t-n)]:[]}return[]},curvature:function(e,t,n,r,i){let o,a,s,l,u=0,c=0;const d=qo.compute(e,t),f=qo.compute(e,n),h=d.x*d.x+d.y*d.y;if(r?(o=No(Io(d.y*f.z-f.y*d.z,2)+Io(d.z*f.x-f.z*d.x,2)+Io(d.x*f.y-f.x*d.y,2)),a=Io(h+d.z*d.z,1.5)):(o=d.x*f.y-d.y*f.x,a=Io(h,1.5)),0===o||0===a)return{k:0,r:0};if(u=o/a,c=a/o,!i){const i=qo.curvature(e-.001,t,n,r,!0).k,o=qo.curvature(e+.001,t,n,r,!0).k;l=(o-u+(u-i))/2,s=(Mo(o-u)+Mo(u-i))/2}return{k:u,r:c,dk:l,adk:s}},inflections:function(e){if(e.length<4)return[];const t=qo.align(e,{p1:e[0],p2:e.slice(-1)[0]}),n=t[2].x*t[1].y,r=t[3].x*t[1].y,i=t[1].x*t[2].y,o=18*(-3*n+2*r+3*i-t[3].x*t[2].y),a=18*(3*n-r-3*i),s=18*(i-n);if(qo.approximately(o,0)){if(!qo.approximately(a,0)){let e=-s/a;if(0<=e&&e<=1)return[e]}return[]}const l=a*a-4*o*s,u=Math.sqrt(l),c=2*o;return qo.approximately(c,0)?[]:[(u-a)/c,-(a+u)/c].filter((function(e){return 0<=e&&e<=1}))},bboxoverlap:function(e,t){const n=["x","y"],r=n.length;for(let i,o,a,s,l=0;l<r;l++)if(i=n[l],o=e[i].mid,a=t[i].mid,s=(e[i].size+t[i].size)/2,Mo(o-a)>=s)return!1;return!0},expandbox:function(e,t){t.x.min<e.x.min&&(e.x.min=t.x.min),t.y.min<e.y.min&&(e.y.min=t.y.min),t.z&&t.z.min<e.z.min&&(e.z.min=t.z.min),t.x.max>e.x.max&&(e.x.max=t.x.max),t.y.max>e.y.max&&(e.y.max=t.y.max),t.z&&t.z.max>e.z.max&&(e.z.max=t.z.max),e.x.mid=(e.x.min+e.x.max)/2,e.y.mid=(e.y.min+e.y.max)/2,e.z&&(e.z.mid=(e.z.min+e.z.max)/2),e.x.size=e.x.max-e.x.min,e.y.size=e.y.max-e.y.min,e.z&&(e.z.size=e.z.max-e.z.min)},pairiteration:function(e,t,n){const r=e.bbox(),i=t.bbox(),o=1e5,a=n||.5;if(r.x.size+r.y.size<a&&i.x.size+i.y.size<a)return[(o*(e._t1+e._t2)/2|0)/o+"/"+(o*(t._t1+t._t2)/2|0)/o];let s=e.split(.5),l=t.split(.5),u=[{left:s.left,right:l.left},{left:s.left,right:l.right},{left:s.right,right:l.right},{left:s.right,right:l.left}];u=u.filter((function(e){return qo.bboxoverlap(e.left.bbox(),e.right.bbox())}));let c=[];return 0===u.length||(u.forEach((function(e){c=c.concat(qo.pairiteration(e.left,e.right,a))})),c=c.filter((function(e,t){return c.indexOf(e)===t}))),c},getccenter:function(e,t,n){const r=t.x-e.x,i=t.y-e.y,o=n.x-t.x,a=n.y-t.y,s=r*Ro(Fo)-i*jo(Fo),l=r*jo(Fo)+i*Ro(Fo),u=o*Ro(Fo)-a*jo(Fo),c=o*jo(Fo)+a*Ro(Fo),d=(e.x+t.x)/2,f=(e.y+t.y)/2,h=(t.x+n.x)/2,p=(t.y+n.y)/2,v=d+s,m=f+l,g=h+u,y=p+c,b=qo.lli8(d,f,v,m,h,p,g,y),w=qo.dist(b,e);let x,E=Lo(e.y-b.y,e.x-b.x),k=Lo(t.y-b.y,t.x-b.x),T=Lo(n.y-b.y,n.x-b.x);return E<T?((E>k||k>T)&&(E+=Bo),E>T&&(x=T,T=E,E=x)):T<k&&k<E?(x=T,T=E,E=x):T+=Bo,b.s=E,b.e=T,b.r=w,b},numberSort:function(e,t){return e-t}};class Wo{constructor(e){this.curves=[],this._3d=!1,e&&(this.curves=e,this._3d=this.curves[0]._3d)}valueOf(){return this.toString()}toString(){return"["+this.curves.map((function(e){return qo.pointsToString(e.points)})).join(", ")+"]"}addCurve(e){this.curves.push(e),this._3d=this._3d||e._3d}length(){return this.curves.map((function(e){return e.length()})).reduce((function(e,t){return e+t}))}curve(e){return this.curves[e]}bbox(){const e=this.curves;for(var t=e[0].bbox(),n=1;n<e.length;n++)qo.expandbox(t,e[n].bbox());return t}offset(e){const t=[];return this.curves.forEach((function(n){t.push(...n.offset(e))})),new Wo(t)}}const{abs:Ko,min:Zo,max:$o,cos:Xo,sin:Yo,acos:Qo,sqrt:Jo}=Math,ea=Math.PI;class ta{constructor(e){let t=e&&e.forEach?e:Array.from(arguments).slice(),n=!1;if("object"===typeof t[0]){n=t.length;const e=[];t.forEach((function(t){["x","y","z"].forEach((function(n){"undefined"!==typeof t[n]&&e.push(t[n])}))})),t=e}let r=!1;const i=t.length;if(n){if(n>4){if(1!==arguments.length)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");r=!0}}else if(6!==i&&8!==i&&9!==i&&12!==i&&1!==arguments.length)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");const o=this._3d=!r&&(9===i||12===i)||e&&e[0]&&"undefined"!==typeof e[0].z,a=this.points=[];for(let d=0,f=o?3:2;d<i;d+=f){var s={x:t[d],y:t[d+1]};o&&(s.z=t[d+2]),a.push(s)}const l=this.order=a.length-1,u=this.dims=["x","y"];o&&u.push("z"),this.dimlen=u.length;const c=qo.align(a,{p1:a[0],p2:a[l]});this._linear=!c.some((e=>Ko(e.y)>1e-4)),this._lut=[],this._t1=0,this._t2=1,this.update()}static quadraticFromPoints(e,t,n,r){if("undefined"===typeof r&&(r=.5),0===r)return new ta(t,t,n);if(1===r)return new ta(e,t,t);const i=ta.getABC(2,e,t,n,r);return new ta(e,i.A,n)}static cubicFromPoints(e,t,n,r,i){"undefined"===typeof r&&(r=.5);const o=ta.getABC(3,e,t,n,r);"undefined"===typeof i&&(i=qo.dist(t,o.C));const a=i*(1-r)/r,s=qo.dist(e,n),l=(n.x-e.x)/s,u=(n.y-e.y)/s,c=i*l,d=i*u,f=a*l,h=a*u,p=t.x-c,v=t.y-d,m=t.x+f,g=t.y+h,y=o.A,b=y.x+(p-y.x)/(1-r),w=y.y+(v-y.y)/(1-r),x=y.x+(m-y.x)/r,E=y.y+(g-y.y)/r,k={x:e.x+(b-e.x)/r,y:e.y+(w-e.y)/r},T={x:n.x+(x-n.x)/(1-r),y:n.y+(E-n.y)/(1-r)};return new ta(e,k,T,n)}static getUtils(){return qo}getUtils(){return ta.getUtils()}static get PolyBezier(){return Wo}valueOf(){return this.toString()}toString(){return qo.pointsToString(this.points)}toSVG(){if(this._3d)return!1;const e=this.points,t=["M",e[0].x,e[0].y,2===this.order?"Q":"C"];for(let n=1,r=e.length;n<r;n++)t.push(e[n].x),t.push(e[n].y);return t.join(" ")}setRatios(e){if(e.length!==this.points.length)throw new Error("incorrect number of ratio values");this.ratios=e,this._lut=[]}verify(){const e=this.coordDigest();e!==this._print&&(this._print=e,this.update())}coordDigest(){return this.points.map((function(e,t){return""+t+e.x+e.y+(e.z?e.z:0)})).join("")}update(){this._lut=[],this.dpoints=qo.derive(this.points,this._3d),this.computedirection()}computedirection(){const e=this.points,t=qo.angle(e[0],e[this.order],e[1]);this.clockwise=t>0}length(){return qo.length(this.derivative.bind(this))}static getABC(e=2,t,n,r,i=.5){const o=qo.projectionratio(i,e),a=1-o,s={x:o*t.x+a*r.x,y:o*t.y+a*r.y},l=qo.abcratio(i,e);return{A:{x:n.x+(n.x-s.x)/l,y:n.y+(n.y-s.y)/l},B:n,C:s,S:t,E:r}}getABC(e,t){t=t||this.get(e);let n=this.points[0],r=this.points[this.order];return ta.getABC(this.order,n,t,r,e)}getLUT(e){if(this.verify(),e=e||100,this._lut.length===e)return this._lut;this._lut=[],e--;for(let t,n,r=0;r<e;r++)n=r/(e-1),t=this.compute(n),t.t=n,this._lut.push(t);return this._lut}on(e,n){n=n||5;const r=this.getLUT(),i=[];for(let t,o=0,a=0;o<r.length;o++)t=r[o],qo.dist(t,e)<n&&(i.push(t),a+=o/r.length);return!!i.length&&(t/=i.length)}project(e){const t=this.getLUT(),n=t.length-1,r=qo.closest(t,e),i=r.mpos,o=(i-1)/n,a=(i+1)/n,s=.1/n;let l,u,c=r.mdist,d=o,f=d;for(c+=1;d<a+s;d+=s)l=this.compute(d),u=qo.dist(e,l),u<c&&(c=u,f=d);return f=f<0?0:f>1?1:f,l=this.compute(f),l.t=f,l.d=c,l}get(e){return this.compute(e)}point(e){return this.points[e]}compute(e){return this.ratios?qo.computeWithRatios(e,this.points,this.ratios,this._3d):qo.compute(e,this.points,this._3d,this.ratios)}raise(){const e=this.points,t=[e[0]],n=e.length;for(let r,i,o=1;o<n;o++)r=e[o],i=e[o-1],t[o]={x:(n-o)/n*r.x+o/n*i.x,y:(n-o)/n*r.y+o/n*i.y};return t[n]=e[n-1],new ta(t)}derivative(e){return qo.compute(e,this.dpoints[0],this._3d)}dderivative(e){return qo.compute(e,this.dpoints[1],this._3d)}align(){let e=this.points;return new ta(qo.align(e,{p1:e[0],p2:e[e.length-1]}))}curvature(e){return qo.curvature(e,this.dpoints[0],this.dpoints[1],this._3d)}inflections(){return qo.inflections(this.points)}normal(e){return this._3d?this.__normal3(e):this.__normal2(e)}__normal2(e){const t=this.derivative(e),n=Jo(t.x*t.x+t.y*t.y);return{x:-t.y/n,y:t.x/n}}__normal3(e){const t=this.derivative(e),n=this.derivative(e+.01),r=Jo(t.x*t.x+t.y*t.y+t.z*t.z),i=Jo(n.x*n.x+n.y*n.y+n.z*n.z);t.x/=r,t.y/=r,t.z/=r,n.x/=i,n.y/=i,n.z/=i;const o={x:n.y*t.z-n.z*t.y,y:n.z*t.x-n.x*t.z,z:n.x*t.y-n.y*t.x},a=Jo(o.x*o.x+o.y*o.y+o.z*o.z);o.x/=a,o.y/=a,o.z/=a;const s=[o.x*o.x,o.x*o.y-o.z,o.x*o.z+o.y,o.x*o.y+o.z,o.y*o.y,o.y*o.z-o.x,o.x*o.z-o.y,o.y*o.z+o.x,o.z*o.z];return{x:s[0]*t.x+s[1]*t.y+s[2]*t.z,y:s[3]*t.x+s[4]*t.y+s[5]*t.z,z:s[6]*t.x+s[7]*t.y+s[8]*t.z}}hull(e){let t=this.points,n=[],r=[],i=0;for(r[i++]=t[0],r[i++]=t[1],r[i++]=t[2],3===this.order&&(r[i++]=t[3]);t.length>1;){n=[];for(let o,a=0,s=t.length-1;a<s;a++)o=qo.lerp(e,t[a],t[a+1]),r[i++]=o,n.push(o);t=n}return r}split(e,t){if(0===e&&t)return this.split(t).left;if(1===t)return this.split(e).right;const n=this.hull(e),r={left:2===this.order?new ta([n[0],n[3],n[5]]):new ta([n[0],n[4],n[7],n[9]]),right:2===this.order?new ta([n[5],n[4],n[2]]):new ta([n[9],n[8],n[6],n[3]]),span:n};return r.left._t1=qo.map(0,0,1,this._t1,this._t2),r.left._t2=qo.map(e,0,1,this._t1,this._t2),r.right._t1=qo.map(e,0,1,this._t1,this._t2),r.right._t2=qo.map(1,0,1,this._t1,this._t2),t?(t=qo.map(t,e,1,0,1),r.right.split(t).left):r}extrema(){const e={};let t=[];return this.dims.forEach(function(n){let r=function(e){return e[n]},i=this.dpoints[0].map(r);e[n]=qo.droots(i),3===this.order&&(i=this.dpoints[1].map(r),e[n]=e[n].concat(qo.droots(i))),e[n]=e[n].filter((function(e){return e>=0&&e<=1})),t=t.concat(e[n].sort(qo.numberSort))}.bind(this)),e.values=t.sort(qo.numberSort).filter((function(e,n){return t.indexOf(e)===n})),e}bbox(){const e=this.extrema(),t={};return this.dims.forEach(function(n){t[n]=qo.getminmax(this,n,e[n])}.bind(this)),t}overlaps(e){const t=this.bbox(),n=e.bbox();return qo.bboxoverlap(t,n)}offset(e,t){if("undefined"!==typeof t){const n=this.get(e),r=this.normal(e),i={c:n,n:r,x:n.x+r.x*t,y:n.y+r.y*t};return this._3d&&(i.z=n.z+r.z*t),i}if(this._linear){const t=this.normal(0),n=this.points.map((function(n){const r={x:n.x+e*t.x,y:n.y+e*t.y};return n.z&&t.z&&(r.z=n.z+e*t.z),r}));return[new ta(n)]}return this.reduce().map((function(t){return t._linear?t.offset(e)[0]:t.scale(e)}))}simple(){if(3===this.order){const e=qo.angle(this.points[0],this.points[3],this.points[1]),t=qo.angle(this.points[0],this.points[3],this.points[2]);if(e>0&&t<0||e<0&&t>0)return!1}const e=this.normal(0),t=this.normal(1);let n=e.x*t.x+e.y*t.y;return this._3d&&(n+=e.z*t.z),Ko(Qo(n))<ea/3}reduce(){let e,t,n=0,r=0,i=.01,o=[],a=[],s=this.extrema().values;for(-1===s.indexOf(0)&&(s=[0].concat(s)),-1===s.indexOf(1)&&s.push(1),n=s[0],e=1;e<s.length;e++)r=s[e],t=this.split(n,r),t._t1=n,t._t2=r,o.push(t),n=r;return o.forEach((function(e){for(n=0,r=0;r<=1;)for(r=n+i;r<=1.01;r+=i)if(t=e.split(n,r),!t.simple()){if(r-=i,Ko(n-r)<i)return[];t=e.split(n,r),t._t1=qo.map(n,0,1,e._t1,e._t2),t._t2=qo.map(r,0,1,e._t1,e._t2),a.push(t),n=r;break}n<1&&(t=e.split(n,1),t._t1=qo.map(n,0,1,e._t1,e._t2),t._t2=e._t2,a.push(t))})),a}scale(e){const t=this.order;let n=!1;if("function"===typeof e&&(n=e),n&&2===t)return this.raise().scale(n);const r=this.clockwise,i=n?n(0):e,o=n?n(1):e,a=[this.offset(0,10),this.offset(1,10)],s=this.points,l=[],u=qo.lli4(a[0],a[0].c,a[1],a[1].c);if(!u)throw new Error("cannot scale this curve. Try reducing it first.");return[0,1].forEach((function(e){const n=l[e*t]=qo.copy(s[e*t]);n.x+=(e?o:i)*a[e].n.x,n.y+=(e?o:i)*a[e].n.y})),n?([0,1].forEach((function(i){if(2!==t||!i){var o=s[i+1],a={x:o.x-u.x,y:o.y-u.y},c=n?n((i+1)/t):e;n&&!r&&(c=-c);var d=Jo(a.x*a.x+a.y*a.y);a.x/=d,a.y/=d,l[i+1]={x:o.x+c*a.x,y:o.y+c*a.y}}})),new ta(l)):([0,1].forEach((e=>{if(2===t&&e)return;const n=l[e*t],r=this.derivative(e),i={x:n.x+r.x,y:n.y+r.y};l[e+1]=qo.lli4(n,i,u,s[e+1])})),new ta(l))}outline(e,t,n,r){t="undefined"===typeof t?e:t;const i=this.reduce(),o=i.length,a=[];let s,l=[],u=0,c=this.length();const d="undefined"!==typeof n&&"undefined"!==typeof r;function f(e,t,n,r,i){return function(o){const a=r/n,s=(r+i)/n,l=t-e;return qo.map(o,0,1,e+a*l,e+s*l)}}i.forEach((function(i){const o=i.length();d?(a.push(i.scale(f(e,n,c,u,o))),l.push(i.scale(f(-t,-r,c,u,o)))):(a.push(i.scale(e)),l.push(i.scale(-t))),u+=o})),l=l.map((function(e){return s=e.points,s[3]?e.points=[s[3],s[2],s[1],s[0]]:e.points=[s[2],s[1],s[0]],e})).reverse();const h=a[0].points[0],p=a[o-1].points[a[o-1].points.length-1],v=l[o-1].points[l[o-1].points.length-1],m=l[0].points[0],g=qo.makeline(v,h),y=qo.makeline(p,m),b=[g].concat(a).concat([y]).concat(l);b.length;return new Wo(b)}outlineshapes(e,t,n){t=t||e;const r=this.outline(e,t).curves,i=[];for(let o=1,a=r.length;o<a/2;o++){const e=qo.makeshape(r[o],r[a-o],n);e.startcap.virtual=o>1,e.endcap.virtual=o<a/2-1,i.push(e)}return i}intersects(e,t){return e?e.p1&&e.p2?this.lineIntersects(e):(e instanceof ta&&(e=e.reduce()),this.curveintersects(this.reduce(),e,t)):this.selfintersects(t)}lineIntersects(e){const t=Zo(e.p1.x,e.p2.x),n=Zo(e.p1.y,e.p2.y),r=$o(e.p1.x,e.p2.x),i=$o(e.p1.y,e.p2.y);return qo.roots(this.points,e).filter((e=>{var o=this.get(e);return qo.between(o.x,t,r)&&qo.between(o.y,n,i)}))}selfintersects(e){const t=this.reduce(),n=t.length-2,r=[];for(let i,o,a,s=0;s<n;s++)o=t.slice(s,s+1),a=t.slice(s+2),i=this.curveintersects(o,a,e),r.push(...i);return r}curveintersects(e,t,n){const r=[];e.forEach((function(e){t.forEach((function(t){e.overlaps(t)&&r.push({left:e,right:t})}))}));let i=[];return r.forEach((function(e){const t=qo.pairiteration(e.left,e.right,n);t.length>0&&(i=i.concat(t))})),i}arcs(e){return e=e||.5,this._iterate(e,[])}_error(e,t,n,r){const i=(r-n)/4,o=this.get(n+i),a=this.get(r-i),s=qo.dist(e,t),l=qo.dist(e,o),u=qo.dist(e,a);return Ko(l-s)+Ko(u-s)}_iterate(e,t){let n,r=0,i=1;do{n=0,i=1;let o,a,s,l,u,c=this.get(r),d=!1,f=!1,h=i,p=1,v=0;do{if(f=d,l=s,h=(r+i)/2,v++,o=this.get(h),a=this.get(i),s=qo.getccenter(c,o,a),s.interval={start:r,end:i},d=this._error(s,c,r,i)<=e,u=f&&!d,u||(p=i),d){if(i>=1){if(s.interval.end=p=1,l=s,i>1){let e={x:s.x+s.r*Xo(s.e),y:s.y+s.r*Yo(s.e)};s.e+=qo.angle({x:s.x,y:s.y},e,this.get(1))}break}i+=(i-r)/2}else i=h}while(!u&&n++<100);if(n>=100)break;l=l||s,t.push(l),r=p}while(i<1);return t}}var na=r(1527),ra=r(2462),ia=r(7646);function oa(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function aa(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?oa(Object(n),!0).forEach((function(t){la(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):oa(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function sa(e){return(sa="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function la(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ua(e,t){return(ua=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ca(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function da(e,t,n){return(da=ca()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&ua(i,n.prototype),i}).apply(null,arguments)}function fa(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,i,o=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);a=!0);}catch(l){s=!0,i=l}finally{try{a||null==n.return||n.return()}finally{if(s)throw i}}return o}(e,t)||pa(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ha(e){return function(e){if(Array.isArray(e))return va(e)}(e)||function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||pa(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function pa(e,t){if(e){if("string"===typeof e)return va(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?va(e,t):void 0}}function va(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!==typeof document){var r=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===n&&r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}(".force-graph-container canvas {\n display: block;\n user-select: none;\n outline: none;\n -webkit-tap-highlight-color: transparent;\n}\n\n.force-graph-container .graph-tooltip {\n position: absolute;\n transform: translate(-50%, 25px);\n font-family: sans-serif;\n font-size: 16px;\n padding: 4px;\n border-radius: 3px;\n color: #eee;\n background: rgba(0,0,0,0.65);\n visibility: hidden; /* by default */\n}\n\n.force-graph-container .clickable {\n cursor: pointer;\n}\n\n.force-graph-container .grabbable {\n cursor: move;\n cursor: grab;\n cursor: -moz-grab;\n cursor: -webkit-grab;\n}\n\n.force-graph-container .grabbable:active {\n cursor: grabbing;\n cursor: -moz-grabbing;\n cursor: -webkit-grabbing;\n}\n");var ma=(0,ra.Z)(ia.Z);function ga(e,t,n){t&&"string"===typeof n&&e.filter((function(e){return!e[n]})).forEach((function(e){e[n]=ma(t(e))}))}var ya=function(e,t){return t.onNeedsRedraw&&t.onNeedsRedraw()},ba=(0,b.Z)({props:{graphData:{default:{nodes:[],links:[]},onChange:function(e,t){t.engineRunning=!1}},dagMode:{onChange:function(e,t){!e&&(t.graphData.nodes||[]).forEach((function(e){return e.fx=e.fy=void 0}))}},dagLevelDistance:{},dagNodeFilter:{default:function(e){return!0}},onDagError:{triggerUpdate:!1},nodeRelSize:{default:4,triggerUpdate:!1,onChange:ya},nodeId:{default:"id"},nodeVal:{default:"val",triggerUpdate:!1,onChange:ya},nodeColor:{default:"color",triggerUpdate:!1,onChange:ya},nodeAutoColorBy:{},nodeCanvasObject:{triggerUpdate:!1,onChange:ya},nodeCanvasObjectMode:{default:function(){return"replace"},triggerUpdate:!1,onChange:ya},nodeVisibility:{default:!0,triggerUpdate:!1,onChange:ya},linkSource:{default:"source"},linkTarget:{default:"target"},linkVisibility:{default:!0,triggerUpdate:!1,onChange:ya},linkColor:{default:"color",triggerUpdate:!1,onChange:ya},linkAutoColorBy:{},linkLineDash:{triggerUpdate:!1,onChange:ya},linkWidth:{default:1,triggerUpdate:!1,onChange:ya},linkCurvature:{default:0,triggerUpdate:!1,onChange:ya},linkCanvasObject:{triggerUpdate:!1,onChange:ya},linkCanvasObjectMode:{default:function(){return"replace"},triggerUpdate:!1,onChange:ya},linkDirectionalArrowLength:{default:0,triggerUpdate:!1,onChange:ya},linkDirectionalArrowColor:{triggerUpdate:!1,onChange:ya},linkDirectionalArrowRelPos:{default:.5,triggerUpdate:!1,onChange:ya},linkDirectionalParticles:{default:0},linkDirectionalParticleSpeed:{default:.01,triggerUpdate:!1},linkDirectionalParticleWidth:{default:4,triggerUpdate:!1},linkDirectionalParticleColor:{triggerUpdate:!1},globalScale:{default:1,triggerUpdate:!1},d3AlphaMin:{default:0,triggerUpdate:!1},d3AlphaDecay:{default:.0228,triggerUpdate:!1,onChange:function(e,t){t.forceLayout.alphaDecay(e)}},d3AlphaTarget:{default:0,triggerUpdate:!1,onChange:function(e,t){t.forceLayout.alphaTarget(e)}},d3VelocityDecay:{default:.4,triggerUpdate:!1,onChange:function(e,t){t.forceLayout.velocityDecay(e)}},warmupTicks:{default:0,triggerUpdate:!1},cooldownTicks:{default:1/0,triggerUpdate:!1},cooldownTime:{default:15e3,triggerUpdate:!1},onUpdate:{default:function(){},triggerUpdate:!1},onFinishUpdate:{default:function(){},triggerUpdate:!1},onEngineTick:{default:function(){},triggerUpdate:!1},onEngineStop:{default:function(){},triggerUpdate:!1},onNeedsRedraw:{triggerUpdate:!1},isShadow:{default:!1,triggerUpdate:!1}},methods:{d3Force:function(e,t,n){return void 0===n?e.forceLayout.force(t):(e.forceLayout.force(t,n),this)},d3ReheatSimulation:function(e){return e.forceLayout.alpha(1),this.resetCountdown(),this},resetCountdown:function(e){return e.cntTicks=0,e.startTickTime=new Date,e.engineRunning=!0,this},isEngineRunning:function(e){return!!e.engineRunning},tickFrame:function(e){return!e.isShadow&&e.engineRunning&&(++e.cntTicks>e.cooldownTicks||new Date-e.startTickTime>e.cooldownTime||e.d3AlphaMin>0&&e.forceLayout.alpha()<e.d3AlphaMin?(e.engineRunning=!1,e.onEngineStop()):(e.forceLayout.tick(),e.onEngineTick())),function(){var t=(0,w.default)(e.linkVisibility),n=(0,w.default)(e.linkColor),r=(0,w.default)(e.linkWidth),i=(0,w.default)(e.linkLineDash),o=(0,w.default)(e.linkCurvature),a=(0,w.default)(e.linkCanvasObjectMode),s=e.ctx,l=2*e.isShadow,u=e.graphData.links.filter(t);u.forEach((function(e){var t=o(e);if(!t)return void(e.__controlPoints=null);var n=e.source,r=e.target;if(!n||!r||!n.hasOwnProperty("x")||!r.hasOwnProperty("x"))return;var i=Math.sqrt(Math.pow(r.x-n.x,2)+Math.pow(r.y-n.y,2));if(i>0){var a=Math.atan2(r.y-n.y,r.x-n.x),s=i*t,l={x:(n.x+r.x)/2+s*Math.cos(a-Math.PI/2),y:(n.y+r.y)/2+s*Math.sin(a-Math.PI/2)};e.__controlPoints=[l.x,l.y]}else{var u=70*t;e.__controlPoints=[r.x,r.y-u,r.x+u,r.y]}}));var c=[],d=[],f=u;if(e.linkCanvasObject){var h=[],p=[];u.forEach((function(e){return({before:c,after:d,replace:h}[a(e)]||p).push(e)})),f=[].concat(ha(c),d,p),c=c.concat(h)}s.save(),c.forEach((function(t){return e.linkCanvasObject(t,s,e.globalScale)})),s.restore();var v=(0,na.Z)(f,[n,r,i]);s.save(),Object.entries(v).forEach((function(t){var n=fa(t,2),r=n[0],o=n[1],a=r&&"undefined"!==r?r:"rgba(0,0,0,0.15)";Object.entries(o).forEach((function(t){var n=fa(t,2),r=n[0],o=n[1],u=(r||1)/e.globalScale+l;Object.entries(o).forEach((function(e){var t=fa(e,2);t[0];var n=t[1],r=i(n[0]);s.beginPath(),n.forEach((function(e){var t=e.source,n=e.target;if(t&&n&&t.hasOwnProperty("x")&&n.hasOwnProperty("x")){s.moveTo(t.x,t.y);var r=e.__controlPoints;r?s[2===r.length?"quadraticCurveTo":"bezierCurveTo"].apply(s,ha(r).concat([n.x,n.y])):s.lineTo(n.x,n.y)}})),s.strokeStyle=a,s.lineWidth=u,s.setLineDash(r||[]),s.stroke()}))}))})),s.restore(),s.save(),d.forEach((function(t){return e.linkCanvasObject(t,s,e.globalScale)})),s.restore()}(),!e.isShadow&&function(){var t=(0,w.default)(e.linkDirectionalArrowLength),n=(0,w.default)(e.linkDirectionalArrowRelPos),r=(0,w.default)(e.linkVisibility),i=(0,w.default)(e.linkDirectionalArrowColor||e.linkColor),o=(0,w.default)(e.nodeVal),a=e.ctx;a.save(),e.graphData.links.filter(r).forEach((function(r){var s=t(r);if(s&&!(s<0)){var l=r.source,u=r.target;if(l&&u&&l.hasOwnProperty("x")&&u.hasOwnProperty("x")){var c=Math.sqrt(Math.max(0,o(l)||1))*e.nodeRelSize,d=Math.sqrt(Math.max(0,o(u)||1))*e.nodeRelSize,f=Math.min(1,Math.max(0,n(r))),h=i(r)||"rgba(0,0,0,0.28)",p=s/1.6/2,v=r.__controlPoints&&da(ta,[l.x,l.y].concat(ha(r.__controlPoints),[u.x,u.y])),m=v?function(e){return v.get(e)}:function(e){return{x:l.x+(u.x-l.x)*e||0,y:l.y+(u.y-l.y)*e||0}},g=v?v.length():Math.sqrt(Math.pow(u.x-l.x,2)+Math.pow(u.y-l.y,2)),y=c+s+(g-c-d-s)*f,b=m(y/g),w=m((y-s)/g),x=m((y-.8*s)/g),E=Math.atan2(b.y-w.y,b.x-w.x)-Math.PI/2;a.beginPath(),a.moveTo(b.x,b.y),a.lineTo(w.x+p*Math.cos(E),w.y+p*Math.sin(E)),a.lineTo(x.x,x.y),a.lineTo(w.x-p*Math.cos(E),w.y-p*Math.sin(E)),a.fillStyle=h,a.fill()}}})),a.restore()}(),!e.isShadow&&function(){var t=(0,w.default)(e.linkDirectionalParticles),n=(0,w.default)(e.linkDirectionalParticleSpeed),r=(0,w.default)(e.linkDirectionalParticleWidth),i=(0,w.default)(e.linkVisibility),o=(0,w.default)(e.linkDirectionalParticleColor||e.linkColor),a=e.ctx;a.save(),e.graphData.links.filter(i).forEach((function(i){var s=t(i);if(i.hasOwnProperty("__photons")&&i.__photons.length){var l=i.source,u=i.target;if(l&&u&&l.hasOwnProperty("x")&&u.hasOwnProperty("x")){var c=n(i),d=i.__photons||[],f=Math.max(0,r(i)/2)/Math.sqrt(e.globalScale),h=o(i)||"rgba(0,0,0,0.28)";a.fillStyle=h;var p=i.__controlPoints?da(ta,[l.x,l.y].concat(ha(i.__controlPoints),[u.x,u.y])):null,v=0,m=!1;d.forEach((function(e){var t=!!e.__singleHop;if(e.hasOwnProperty("__progressRatio")||(e.__progressRatio=t?0:v/s),!t&&v++,e.__progressRatio+=c,e.__progressRatio>=1){if(t)return void(m=!0);e.__progressRatio=e.__progressRatio%1}var n=e.__progressRatio,r=p?p.get(n):{x:l.x+(u.x-l.x)*n||0,y:l.y+(u.y-l.y)*n||0};a.beginPath(),a.arc(r.x,r.y,f,0,2*Math.PI,!1),a.fill()})),m&&(i.__photons=i.__photons.filter((function(e){return!e.__singleHop||e.__progressRatio<=1})))}}})),a.restore()}(),function(){var t=(0,w.default)(e.nodeVisibility),n=(0,w.default)(e.nodeVal),r=(0,w.default)(e.nodeColor),i=(0,w.default)(e.nodeCanvasObjectMode),o=e.ctx,a=e.isShadow/e.globalScale,s=e.graphData.nodes.filter(t);o.save(),s.forEach((function(t){var s=i(t);if(!e.nodeCanvasObject||"before"!==s&&"replace"!==s||(e.nodeCanvasObject(t,o,e.globalScale),"replace"!==s)){var l=Math.sqrt(Math.max(0,n(t)||1))*e.nodeRelSize+a;o.beginPath(),o.arc(t.x,t.y,l,0,2*Math.PI,!1),o.fillStyle=r(t)||"rgba(31, 120, 180, 0.92)",o.fill(),e.nodeCanvasObject&&"after"===s&&e.nodeCanvasObject(t,e.ctx,e.globalScale)}else o.restore()})),o.restore()}(),this},emitParticle:function(e,t){return t&&(!t.__photons&&(t.__photons=[]),t.__photons.push({__singleHop:!0})),this}},stateInit:function(){return{forceLayout:(0,Oo.Z)().force("link",(0,Co.Z)()).force("charge",(0,Ao.Z)()).force("center",(0,So.Z)()).force("dagRadial",null).stop(),engineRunning:!1}},init:function(e,t){t.ctx=e},update:function(e){if(e.engineRunning=!1,e.onUpdate(),null!==e.nodeAutoColorBy&&ga(e.graphData.nodes,(0,w.default)(e.nodeAutoColorBy),e.nodeColor),null!==e.linkAutoColorBy&&ga(e.graphData.links,(0,w.default)(e.linkAutoColorBy),e.linkColor),e.graphData.links.forEach((function(t){t.source=t[e.linkSource],t.target=t[e.linkTarget]})),!e.isShadow){var t=(0,w.default)(e.linkDirectionalParticles);e.graphData.links.forEach((function(e){var n=Math.round(Math.abs(t(e)));n?e.__photons=ha(Array(n)).map((function(){return{}})):delete e.__photons}))}e.forceLayout.stop().alpha(1).nodes(e.graphData.nodes);var n=e.forceLayout.force("link");n&&n.id((function(t){return t[e.nodeId]})).links(e.graphData.links);var r=e.dagMode&&function(e,t){var n=e.nodes,r=e.links,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i.nodeFilter,a=void 0===o?function(){return!0}:o,s=i.onLoopError,l=void 0===s?function(e){throw"Invalid DAG structure! Found cycle in node path: ".concat(e.join(" -> "),".")}:s,u={};n.forEach((function(e){return u[t(e)]={data:e,out:[],depth:-1,skip:!a(e)}})),r.forEach((function(e){var n=e.source,r=e.target,i=l(n),o=l(r);if(!u.hasOwnProperty(i))throw"Missing source node with id: ".concat(i);if(!u.hasOwnProperty(o))throw"Missing target node with id: ".concat(o);var a=u[i],s=u[o];function l(e){return"object"===sa(e)?t(e):e}a.out.push(s)}));var c=[];return d(Object.values(u)),Object.assign.apply(Object,[{}].concat(ha(Object.entries(u).filter((function(e){return!fa(e,2)[1].skip})).map((function(e){var t=fa(e,2);return la({},t[0],t[1].depth)})))));function d(e){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=0,o=e.length;i<o;i++){var a=e[i];if(-1!==n.indexOf(a))if("continue"===function(){var e=[].concat(ha(n.slice(n.indexOf(a))),[a]).map((function(e){return t(e.data)}));return c.some((function(t){return t.length===e.length&&t.every((function(t,n){return t===e[n]}))}))||(c.push(e),l(e)),"continue"}())continue;r>a.depth&&(a.depth=r,d(a.out,[].concat(ha(n),[a]),r+(a.skip?0:1)))}}}(e.graphData,(function(t){return t[e.nodeId]}),{nodeFilter:e.dagNodeFilter,onLoopError:e.onDagError||void 0}),i=Math.max.apply(Math,ha(Object.values(r||[]))),o=e.dagLevelDistance||e.graphData.nodes.length/(i||1)*2*(-1!==["radialin","radialout"].indexOf(e.dagMode)?.7:1);if(e.dagMode){var a=function(t,n){return function(a){return t?(r[a[e.nodeId]]-i/2)*o*(n?-1:1):void 0}},s=a(-1!==["lr","rl"].indexOf(e.dagMode),"rl"===e.dagMode),l=a(-1!==["td","bu"].indexOf(e.dagMode),"bu"===e.dagMode);e.graphData.nodes.filter(e.dagNodeFilter).forEach((function(e){e.fx=s(e),e.fy=l(e)}))}e.forceLayout.force("dagRadial",-1!==["radialin","radialout"].indexOf(e.dagMode)?(0,Po.Z)((function(t){var n=r[t[e.nodeId]]||-1;return("radialin"===e.dagMode?i-n:n)*o})).strength((function(t){return e.dagNodeFilter(t)?1:0})):null);for(var u=0;u<e.warmupTicks&&!(e.d3AlphaMin>0&&e.forceLayout.alpha()<e.d3AlphaMin);u++)e.forceLayout.tick();this.resetCountdown(),e.onFinishUpdate()}});function wa(e,t){var n=e instanceof Array?e:[e],r=new t;return{linkProp:function(e){return{default:r[e](),onChange:function(t,r){n.forEach((function(n){return r[n][e](t)}))},triggerUpdate:!1}},linkMethod:function(e){return function(t){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];var a=[];return n.forEach((function(n){var r=t[n],o=r[e].apply(r,i);o!==r&&a.push(o)})),a.length?a[0]:this}}}}var xa=wa("forceGraph",ba),Ea=wa(["forceGraph","shadowGraph"],ba),ka=Object.assign.apply(Object,ha(["nodeColor","nodeAutoColorBy","nodeCanvasObject","nodeCanvasObjectMode","linkColor","linkAutoColorBy","linkLineDash","linkWidth","linkCanvasObject","linkCanvasObjectMode","linkDirectionalArrowLength","linkDirectionalArrowColor","linkDirectionalArrowRelPos","linkDirectionalParticles","linkDirectionalParticleSpeed","linkDirectionalParticleWidth","linkDirectionalParticleColor","dagMode","dagLevelDistance","dagNodeFilter","onDagError","d3AlphaMin","d3AlphaDecay","d3VelocityDecay","warmupTicks","cooldownTicks","cooldownTime","onEngineTick","onEngineStop"].map((function(e){return la({},e,xa.linkProp(e))}))).concat(ha(["nodeRelSize","nodeId","nodeVal","nodeVisibility","linkSource","linkTarget","linkVisibility","linkCurvature"].map((function(e){return la({},e,Ea.linkProp(e))}))))),Ta=Object.assign.apply(Object,ha(["d3Force","d3ReheatSimulation","emitParticle"].map((function(e){return la({},e,xa.linkMethod(e))}))));function _a(e){if(e.canvas){var t=e.canvas.width,n=e.canvas.height;300===t&&150===n&&(t=n=0);var r=window.devicePixelRatio;t/=r,n/=r,[e.canvas,e.shadowCanvas].forEach((function(i){i.style.width="".concat(e.width,"px"),i.style.height="".concat(e.height,"px"),i.width=e.width*r,i.height=e.height*r,t||n||i.getContext("2d").scale(r,r)}));var i=Xi(e.canvas).k;e.zoom.translateBy(e.zoom.__baseElem,(e.width-t)/2/i,(e.height-n)/2/i),e.needsRedraw=!0}}function Oa(e){var t=window.devicePixelRatio;e.setTransform(t,0,0,t,0,0)}function Ca(e,t,n){e.save(),Oa(e),e.clearRect(0,0,t,n),e.restore()}var Aa=(0,b.Z)({props:aa({width:{default:window.innerWidth,onChange:function(e,t){return _a(t)},triggerUpdate:!1},height:{default:window.innerHeight,onChange:function(e,t){return _a(t)},triggerUpdate:!1},graphData:{default:{nodes:[],links:[]},onChange:function(e,t){[{type:"Node",objs:e.nodes},{type:"Link",objs:e.links}].forEach((function(e){var n=e.type;e.objs.filter((function(e){if(!e.hasOwnProperty("__indexColor"))return!0;var n=t.colorTracker.lookup(e.__indexColor);return!n||!n.hasOwnProperty("d")||n.d!==e})).forEach((function(e){e.__indexColor=t.colorTracker.register({type:n,d:e})}))})),t.forceGraph.graphData(e),t.shadowGraph.graphData(e)},triggerUpdate:!1},backgroundColor:{onChange:function(e,t){t.canvas&&e&&(t.canvas.style.background=e)},triggerUpdate:!1},nodeLabel:{default:"name",triggerUpdate:!1},nodePointerAreaPaint:{onChange:function(e,t){t.shadowGraph.nodeCanvasObject(e?function(t,n,r){return e(t,t.__indexColor,n,r)}:null)},triggerUpdate:!1},linkPointerAreaPaint:{onChange:function(e,t){t.shadowGraph.linkCanvasObject(e?function(t,n,r){return e(t,t.__indexColor,n,r)}:null)},triggerUpdate:!1},linkLabel:{default:"name",triggerUpdate:!1},linkHoverPrecision:{default:4,triggerUpdate:!1},minZoom:{default:.01,onChange:function(e,t){t.zoom.scaleExtent([e,t.zoom.scaleExtent()[1]])},triggerUpdate:!1},maxZoom:{default:1e3,onChange:function(e,t){t.zoom.scaleExtent([t.zoom.scaleExtent()[0],e])},triggerUpdate:!1},enableNodeDrag:{default:!0,triggerUpdate:!1},enableZoomInteraction:{default:!0,triggerUpdate:!1},enablePanInteraction:{default:!0,triggerUpdate:!1},enableZoomPanInteraction:{default:!0,triggerUpdate:!1},enablePointerInteraction:{default:!0,onChange:function(e,t){t.hoverObj=null},triggerUpdate:!1},autoPauseRedraw:{default:!0,triggerUpdate:!1},onNodeDrag:{default:function(){},triggerUpdate:!1},onNodeDragEnd:{default:function(){},triggerUpdate:!1},onNodeClick:{triggerUpdate:!1},onNodeRightClick:{triggerUpdate:!1},onNodeHover:{triggerUpdate:!1},onLinkClick:{triggerUpdate:!1},onLinkRightClick:{triggerUpdate:!1},onLinkHover:{triggerUpdate:!1},onBackgroundClick:{triggerUpdate:!1},onBackgroundRightClick:{triggerUpdate:!1},onZoom:{default:function(){},triggerUpdate:!1},onZoomEnd:{default:function(){},triggerUpdate:!1},onRenderFramePre:{triggerUpdate:!1},onRenderFramePost:{triggerUpdate:!1}},ka),aliases:{stopAnimation:"pauseAnimation"},methods:aa({graph2ScreenCoords:function(e,t,n){var r=Xi(e.canvas);return{x:t*r.k+r.x,y:n*r.k+r.y}},screen2GraphCoords:function(e,t,n){var r=Xi(e.canvas);return{x:(t-r.x)/r.k,y:(n-r.y)/r.k}},centerAt:function(e,t,n,r){if(!e.canvas)return null;if(void 0!==t||void 0!==n){var i=Object.assign({},void 0!==t?{x:t}:{},void 0!==n?{y:n}:{});return r?new st.Tween(o()).to(i,r).easing(st.Easing.Quadratic.Out).onUpdate(a).start():a(i),this}return o();function o(){var t=Xi(e.canvas);return{x:(e.width/2-t.x)/t.k,y:(e.height/2-t.y)/t.k}}function a(t){var n=t.x,r=t.y;e.zoom.translateTo(e.zoom.__baseElem,void 0===n?o().x:n,void 0===r?o().y:r),e.needsRedraw=!0}},zoom:function(e,t,n){return e.canvas?void 0!==t?(n?new st.Tween({k:r()}).to({k:t},n).easing(st.Easing.Quadratic.Out).onUpdate((function(e){return i(e.k)})).start():i(t),this):r():null;function r(){return Xi(e.canvas).k}function i(t){e.zoom.scaleTo(e.zoom.__baseElem,t),e.needsRedraw=!0}},zoomToFit:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,r=arguments.length,i=new Array(r>3?r-3:0),o=3;o<r;o++)i[o-3]=arguments[o];var a=this.getGraphBbox.apply(this,i);if(a){var s={x:(a.x[0]+a.x[1])/2,y:(a.y[0]+a.y[1])/2},l=Math.max(1e-12,Math.min(1e12,(e.width-2*n)/(a.x[1]-a.x[0]),(e.height-2*n)/(a.y[1]-a.y[0])));this.centerAt(s.x,s.y,t),this.zoom(l,t)}return this},getGraphBbox:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return!0},n=(0,w.default)(e.nodeVal),r=function(t){return Math.sqrt(Math.max(0,n(t)||1))*e.nodeRelSize},i=e.graphData.nodes.filter(t).map((function(e){return{x:e.x,y:e.y,r:r(e)}}));return i.length?{x:[(0,ho.Z)(i,(function(e){return e.x-e.r})),(0,po.Z)(i,(function(e){return e.x+e.r}))],y:[(0,ho.Z)(i,(function(e){return e.y-e.r})),(0,po.Z)(i,(function(e){return e.y+e.r}))]}:null},pauseAnimation:function(e){return e.animationFrameRequestId&&(cancelAnimationFrame(e.animationFrameRequestId),e.animationFrameRequestId=null),this},resumeAnimation:function(e){return e.animationFrameRequestId||this._animationCycle(),this},_destructor:function(){this.pauseAnimation(),this.graphData({nodes:[],links:[]})}},Ta),stateInit:function(){return{lastSetZoom:1,zoom:oo(),forceGraph:new ba,shadowGraph:(new ba).cooldownTicks(0).nodeColor("__indexColor").linkColor("__indexColor").isShadow(!0),colorTracker:new _o}},init:function(e,t){e.innerHTML="";var n=document.createElement("div");n.classList.add("force-graph-container"),n.style.position="relative",e.appendChild(n),t.canvas=document.createElement("canvas"),t.backgroundColor&&(t.canvas.style.background=t.backgroundColor),n.appendChild(t.canvas),t.shadowCanvas=document.createElement("canvas");var r=t.canvas.getContext("2d"),i=t.shadowCanvas.getContext("2d"),o={x:-1e12,y:-1e12},a=function(){var e=null,n=window.devicePixelRatio,r=o.x>0&&o.y>0?i.getImageData(o.x*n,o.y*n,1,1):null;return r&&(e=t.colorTracker.lookup(r.data)),e};Jn(t.canvas).call(function(){var e,t,n,r,i=lo,o=uo,a=co,s=fo,l={},u=(0,er.Z)("start","drag","end"),c=0,d=0;function f(e){e.on("mousedown.drag",h).filter(s).on("touchstart.drag",m).on("touchmove.drag",g,tr).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(a,s){if(!r&&i.call(this,a,s)){var l=b(this,o.call(this,a,s),a,s,"mouse");l&&(Jn(a.view).on("mousemove.drag",p,nr).on("mouseup.drag",v,nr),or(a.view),rr(a),n=!1,e=a.clientX,t=a.clientY,l("start",a))}}function p(r){if(ir(r),!n){var i=r.clientX-e,o=r.clientY-t;n=i*i+o*o>d}l.mouse("drag",r)}function v(e){Jn(e.view).on("mousemove.drag mouseup.drag",null),ar(e.view,n),ir(e),l.mouse("end",e)}function m(e,t){if(i.call(this,e,t)){var n,r,a=e.changedTouches,s=o.call(this,e,t),l=a.length;for(n=0;n<l;++n)(r=b(this,s,e,t,a[n].identifier,a[n]))&&(rr(e),r("start",e,a[n]))}}function g(e){var t,n,r=e.changedTouches,i=r.length;for(t=0;t<i;++t)(n=l[r[t].identifier])&&(ir(e),n("drag",e,r[t]))}function y(e){var t,n,i=e.changedTouches,o=i.length;for(r&&clearTimeout(r),r=setTimeout((function(){r=null}),500),t=0;t<o;++t)(n=l[i[t].identifier])&&(rr(e),n("end",e,i[t]))}function b(e,t,n,r,i,o){var s,d,h,p=u.copy(),v=ur(o||n,t);if(null!=(h=a.call(e,new so("beforestart",{sourceEvent:n,target:f,identifier:i,active:c,x:v[0],y:v[1],dx:0,dy:0,dispatch:p}),r)))return s=h.x-v[0]||0,d=h.y-v[1]||0,function n(o,a,u){var m,g=v;switch(o){case"start":l[i]=n,m=c++;break;case"end":delete l[i],--c;case"drag":v=ur(u||a,t),m=c}p.call(o,e,new so(o,{sourceEvent:a,subject:h,target:f,identifier:i,active:m,x:v[0]+s,y:v[1]+d,dx:v[0]-g[0],dy:v[1]-g[1],dispatch:p}),r)}}return f.filter=function(e){return arguments.length?(i="function"===typeof e?e:ao(!!e),f):i},f.container=function(e){return arguments.length?(o="function"===typeof e?e:ao(e),f):o},f.subject=function(e){return arguments.length?(a="function"===typeof e?e:ao(e),f):a},f.touchable=function(e){return arguments.length?(s="function"===typeof e?e:ao(!!e),f):s},f.on=function(){var e=u.on.apply(u,arguments);return e===u?f:e},f.clickDistance=function(e){return arguments.length?(d=(e=+e)*e,f):Math.sqrt(d)},f}().subject((function(){if(!t.enableNodeDrag)return null;var e=a();return e&&"Node"===e.type?e.d:null})).on("start",(function(e){var n=e.subject;n.__initialDragPos={x:n.x,y:n.y,fx:n.fx,fy:n.fy},e.active||(n.fx=n.x,n.fy=n.y),t.canvas.classList.add("grabbable")})).on("drag",(function(e){var n=e.subject,r=n.__initialDragPos,i=e,o=Xi(t.canvas).k,a={x:r.x+(i.x-r.x)/o-n.x,y:r.y+(i.y-r.y)/o-n.y};["x","y"].forEach((function(e){return n["f".concat(e)]=n[e]=r[e]+(i[e]-r[e])/o})),t.forceGraph.d3AlphaTarget(.3).resetCountdown(),t.isPointerDragging=!0,n.__dragged=!0,t.onNodeDrag(n,a)})).on("end",(function(e){var n=e.subject,r=n.__initialDragPos,i={x:n.x-r.x,y:n.y-r.y};void 0===r.fx&&(n.fx=void 0),void 0===r.fy&&(n.fy=void 0),delete n.__initialDragPos,t.forceGraph.d3AlphaTarget(0).resetCountdown(),t.canvas.classList.remove("grabbable"),t.isPointerDragging=!1,n.__dragged&&(delete n.__dragged,t.onNodeDragEnd(n,i))}))),t.zoom(t.zoom.__baseElem=Jn(t.canvas)),t.zoom.__baseElem.on("dblclick.zoom",null),t.zoom.filter((function(e){return!e.button&&t.enableZoomPanInteraction&&(t.enableZoomInteraction||"wheel"!==e.type)&&(t.enablePanInteraction||"wheel"===e.type)})).on("zoom",(function(e){var n=e.transform;[r,i].forEach((function(e){Oa(e),e.translate(n.x,n.y),e.scale(n.k,n.k)})),t.onZoom(aa({},n)),t.needsRedraw=!0})).on("end",(function(e){return t.onZoomEnd(aa({},e.transform))})),_a(t),t.forceGraph.onNeedsRedraw((function(){return t.needsRedraw=!0})).onFinishUpdate((function(){Xi(t.canvas).k===t.lastSetZoom&&t.graphData.nodes.length&&(t.zoom.scaleTo(t.zoom.__baseElem,t.lastSetZoom=4/Math.cbrt(t.graphData.nodes.length)),t.needsRedraw=!0)}));var s=document.createElement("div");s.classList.add("graph-tooltip"),n.appendChild(s),["pointermove","pointerdown"].forEach((function(e){return n.addEventListener(e,(function(r){"pointerdown"===e&&(t.isPointerPressed=!0,t.pointerDownEvent=r),!t.isPointerDragging&&"pointermove"===r.type&&t.onBackgroundClick&&(r.pressure>0||t.isPointerPressed)&&("touch"!==r.pointerType||void 0===r.movementX||[r.movementX,r.movementY].some((function(e){return Math.abs(e)>1})))&&(t.isPointerDragging=!0);var i=function(e){var t=e.getBoundingClientRect(),n=window.pageXOffset||document.documentElement.scrollLeft,r=window.pageYOffset||document.documentElement.scrollTop;return{top:t.top+r,left:t.left+n}}(n);o.x=r.pageX-i.left,o.y=r.pageY-i.top,s.style.top="".concat(o.y,"px"),s.style.left="".concat(o.x,"px")}),{passive:!0})})),n.addEventListener("pointerup",(function(e){if(t.isPointerPressed=!1,t.isPointerDragging)t.isPointerDragging=!1;else{var n=[e,t.pointerDownEvent];requestAnimationFrame((function(){if(0===e.button)if(t.hoverObj){var r=t["on".concat(t.hoverObj.type,"Click")];r&&r.apply(void 0,[t.hoverObj.d].concat(n))}else t.onBackgroundClick&&t.onBackgroundClick.apply(t,n);if(2===e.button)if(t.hoverObj){var i=t["on".concat(t.hoverObj.type,"RightClick")];i&&i.apply(void 0,[t.hoverObj.d].concat(n))}else t.onBackgroundRightClick&&t.onBackgroundRightClick.apply(t,n)}))}}),{passive:!0}),n.addEventListener("contextmenu",(function(e){return!(t.onBackgroundRightClick||t.onNodeRightClick||t.onLinkRightClick)||(e.preventDefault(),!1)})),t.forceGraph(r),t.shadowGraph(i);var l=mo()((function(){Ca(i,t.width,t.height),t.shadowGraph.linkWidth((function(e){return(0,w.default)(t.linkWidth)(e)+t.linkHoverPrecision}));var e=Xi(t.canvas);t.shadowGraph.globalScale(e.k).tickFrame()}),800);(this._animationCycle=function e(){var n=!t.autoPauseRedraw||!!t.needsRedraw||t.forceGraph.isEngineRunning()||t.graphData.links.some((function(e){return e.__photons&&e.__photons.length}));if(t.needsRedraw=!1,t.enablePointerInteraction){var i=t.isPointerDragging?null:a();if(i!==t.hoverObj){var o=t.hoverObj,u=o?o.type:null,c=i?i.type:null;if(u&&u!==c){var d=t["on".concat(u,"Hover")];d&&d(null,o.d)}if(c){var f=t["on".concat(c,"Hover")];f&&f(i.d,u===c?o.d:null)}var h=i&&(0,w.default)(t["".concat(i.type.toLowerCase(),"Label")])(i.d)||"";s.style.visibility=h?"visible":"hidden",s.innerHTML=h,t.canvas.classList[i&&t["on".concat(c,"Click")]||!i&&t.onBackgroundClick?"add":"remove"]("clickable"),t.hoverObj=i}n&&l()}if(n){Ca(r,t.width,t.height);var p=Xi(t.canvas).k;t.onRenderFramePre&&t.onRenderFramePre(r,p),t.forceGraph.globalScale(p).tickFrame(),t.onRenderFramePost&&t.onRenderFramePost(r,p)}st.update(),t.animationFrameRequestId=requestAnimationFrame(e)})()},update:function(e){}}),Sa={width:P().number,height:P().number,graphData:P().shape({nodes:P().arrayOf(P().object).isRequired,links:P().arrayOf(P().object).isRequired}),backgroundColor:P().string,nodeRelSize:P().number,nodeId:P().string,nodeLabel:P().oneOfType([P().string,P().func]),nodeVal:P().oneOfType([P().number,P().string,P().func]),nodeVisibility:P().oneOfType([P().bool,P().string,P().func]),nodeColor:P().oneOfType([P().string,P().func]),nodeAutoColorBy:P().oneOfType([P().string,P().func]),onNodeHover:P().func,onNodeClick:P().func,linkSource:P().string,linkTarget:P().string,linkLabel:P().oneOfType([P().string,P().func]),linkVisibility:P().oneOfType([P().bool,P().string,P().func]),linkColor:P().oneOfType([P().string,P().func]),linkAutoColorBy:P().oneOfType([P().string,P().func]),linkWidth:P().oneOfType([P().number,P().string,P().func]),linkCurvature:P().oneOfType([P().number,P().string,P().func]),linkDirectionalArrowLength:P().oneOfType([P().number,P().string,P().func]),linkDirectionalArrowColor:P().oneOfType([P().string,P().func]),linkDirectionalArrowRelPos:P().oneOfType([P().number,P().string,P().func]),linkDirectionalParticles:P().oneOfType([P().number,P().string,P().func]),linkDirectionalParticleSpeed:P().oneOfType([P().number,P().string,P().func]),linkDirectionalParticleWidth:P().oneOfType([P().number,P().string,P().func]),linkDirectionalParticleColor:P().oneOfType([P().string,P().func]),onLinkHover:P().func,onLinkClick:P().func,dagMode:P().oneOf(["td","bu","lr","rl","zin","zout","radialin","radialout"]),dagLevelDistance:P().number,dagNodeFilter:P().func,onDagError:P().func,d3AlphaMin:P().number,d3AlphaDecay:P().number,d3VelocityDecay:P().number,warmupTicks:P().number,cooldownTicks:P().number,cooldownTime:P().number,onEngineTick:P().func,onEngineStop:P().func,getGraphBbox:P().func},Pa={zoomToFit:P().func,onNodeRightClick:P().func,onNodeDrag:P().func,onNodeDragEnd:P().func,onLinkRightClick:P().func,linkHoverPrecision:P().number,onBackgroundClick:P().func,onBackgroundRightClick:P().func,enablePointerInteraction:P().bool,enableNodeDrag:P().bool},Ma={showNavInfo:P().bool,nodeOpacity:P().number,nodeResolution:P().number,nodeThreeObject:P().oneOfType([P().object,P().string,P().func]),nodeThreeObjectExtend:P().oneOfType([P().bool,P().string,P().func]),linkOpacity:P().number,linkResolution:P().number,linkCurveRotation:P().oneOfType([P().number,P().string,P().func]),linkMaterial:P().oneOfType([P().object,P().string,P().func]),linkThreeObject:P().oneOfType([P().object,P().string,P().func]),linkThreeObjectExtend:P().oneOfType([P().bool,P().string,P().func]),linkPositionUpdate:P().func,linkDirectionalArrowResolution:P().number,linkDirectionalParticleResolution:P().number,forceEngine:P().oneOf(["d3","ngraph"]),ngraphPhysics:P().object,numDimensions:P().oneOf([1,2,3])},Ra=Object.assign({},Sa,Pa,{linkLineDash:P().oneOfType([P().arrayOf(P().number),P().string,P().func]),nodeCanvasObjectMode:P().oneOfType([P().string,P().func]),nodeCanvasObject:P().func,nodePointerAreaPaint:P().func,linkCanvasObjectMode:P().oneOfType([P().string,P().func]),linkCanvasObject:P().func,linkPointerAreaPaint:P().func,autoPauseRedraw:P().bool,minZoom:P().number,maxZoom:P().number,enableZoomInteraction:P().bool,enablePanInteraction:P().bool,onZoom:P().func,onZoomEnd:P().func,onRenderFramePre:P().func,onRenderFramePost:P().func}),ja=Object.assign({},Sa,Pa,Ma,{enableNavigationControls:P().bool,controlType:P().oneOf(["trackball","orbit","fly"]),rendererConfig:P().object,extraRenderers:P().arrayOf(P().shape({render:P().func.isRequired}))}),Da=Object.assign({},Sa,Ma,{nodeDesc:P().oneOfType([P().string,P().func]),linkDesc:P().oneOfType([P().string,P().func])}),La=Object.assign({},Sa,Ma,{markerAttrs:P().object,yOffset:P().number,glScale:P().number});const Na=y(A,{methodNames:["getGraphBbox","emitParticle","d3Force","d3ReheatSimulation","refresh"]});Na.displayName="ForceGraphVR",Na.propTypes=Da;const Ia=y(z,{methodNames:["getGraphBbox","emitParticle","d3Force","d3ReheatSimulation","refresh"],initPropNames:["markerAttrs"]});Ia.displayName="ForceGraphAR",Ia.propTypes=La;const za=y(St,{methodNames:["emitParticle","d3Force","d3ReheatSimulation","stopAnimation","pauseAnimation","resumeAnimation","cameraPosition","zoomToFit","getGraphBbox","screen2GraphCoords","graph2ScreenCoords","postProcessingComposer","scene","camera","renderer","controls","refresh"],initPropNames:["controlType","rendererConfig","extraRenderers"]});za.displayName="ForceGraph3D",za.propTypes=ja;const Ha=y(Aa,{methodNames:["emitParticle","d3Force","d3ReheatSimulation","stopAnimation","pauseAnimation","resumeAnimation","centerAt","zoom","zoomToFit","getGraphBbox","screen2GraphCoords","graph2ScreenCoords"]});Ha.displayName="ForceGraph2D",Ha.propTypes=Ra},1398:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return le}});var r=n(2212),i=n(4505),o=n(5560),a=n(2405),s=n(216),l=n(6917),u=n(4736),c=n.n(u),d=n(6505),f=n.n(d),h=n(4858),p=n(2539),v=n(6701),m=n(3752),g=n(1527);function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function b(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function w(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function x(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e&&("undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null==n)return;var r,i,o=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);a=!0);}catch(l){s=!0,i=l}finally{try{a||null==n.return||n.return()}finally{if(s)throw i}}return o}(e,t)||k(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function E(e){return function(e){if(Array.isArray(e))return T(e)}(e)||function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||k(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function k(e,t){if(e){if("string"===typeof e)return T(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?T(e,t):void 0}}function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function _(e,t,n){var r=n.objBindAttr,i=void 0===r?"__obj":r,o=n.dataBindAttr,a=void 0===o?"__data":o,s=n.idAccessor,l=n.purge,u=void 0!==l&&l,c=function(e){return e.hasOwnProperty(a)},d=t.filter((function(e){return!c(e)})),f=t.filter(c).map((function(e){return e[a]})),h=u?{enter:e,exit:f,update:[]}:function(e,t,n){var r={enter:[],update:[],exit:[]};if(n){var i=(0,g.Z)(e,n,!1),o=(0,g.Z)(t,n,!1),a=Object.assign({},i,o);Object.entries(a).forEach((function(e){var t=x(e,2),n=t[0],a=t[1],s=i.hasOwnProperty(n)?o.hasOwnProperty(n)?"update":"exit":"enter";r[s].push("update"===s?[i[n],o[n]]:a)}))}else{var s=new Set(e),l=new Set(t);new Set([].concat(E(s),E(l))).forEach((function(e){var t=s.has(e)?l.has(e)?"update":"exit":"enter";r[t].push("update"===t?[e,e]:e)}))}return r}(f,e,s);return h.update=h.update.map((function(e){var t=x(e,2),n=t[0],r=t[1];return n!==r&&(r[i]=n[i],r[i][a]=r),r})),h.exit=h.exit.concat(d.map((function(e){return b({},i,e)}))),h}var O=function(e,t,n,r,i){var o=i.createObj,a=void 0===o?function(e){return{}}:o,s=i.updateObj,l=void 0===s?function(e,t){}:s,u=i.exitObj,c=void 0===u?function(e){}:u,d=i.objBindAttr,f=void 0===d?"__obj":d,h=i.dataBindAttr,p=void 0===h?"__data":h,v=w(i,["createObj","updateObj","exitObj","objBindAttr","dataBindAttr"]),m=_(e,t,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?y(Object(n),!0).forEach((function(t){b(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):y(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({objBindAttr:f,dataBindAttr:p},v)),g=m.enter,x=m.update;m.exit.forEach((function(e){var t=e[f];delete e[f],c(t),r(t)}));var k=function(e){var t=[];return e.forEach((function(e){var n=a(e);n&&(n[p]=e,e[f]=n,t.push(n))})),t}(g);!function(e){e.forEach((function(e){var t=e[f];t&&(t[p]=e,l(t,e))}))}([].concat(E(g),E(x))),k.forEach(n)},C=n(2462),A=n(7646),S=n(7621),P=n.n(S);function M(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function R(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?M(Object(n),!0).forEach((function(t){L(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):M(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function j(e){return(j="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function D(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function L(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function N(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&z(e,t)}function I(e){return(I=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function z(e,t){return(z=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function H(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function B(e,t,n){return(B=H()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&z(i,n.prototype),i}).apply(null,arguments)}function F(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function V(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function U(e,t){return!t||"object"!==typeof t&&"function"!==typeof t?V(e):t}function G(e){var t=H();return function(){var n,r=I(e);if(t){var i=I(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return U(this,n)}}function q(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,i,o=[],a=!0,s=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);a=!0);}catch(l){s=!0,i=l}finally{try{a||null==n.return||n.return()}finally{if(s)throw i}}return o}(e,t)||K(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function W(e){return function(e){if(Array.isArray(e))return Z(e)}(e)||function(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||K(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function K(e,t){if(e){if("string"===typeof e)return Z(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Z(e,t):void 0}}function Z(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var $=function e(t){t instanceof Array?t.forEach(e):(t.map&&t.map.dispose(),t.dispose())},X=function e(t){t.geometry&&t.geometry.dispose(),t.material&&$(t.material),t.texture&&t.texture.dispose(),t.children&&t.children.forEach(e)},Y=function(e){for(;e.children.length;){var t=e.children[0];e.remove(t),X(t)}},Q=["objFilter"];function J(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.objFilter,i=void 0===r?function(){return!0}:r,o=F(n,Q);return O(e,t.children.filter(i),(function(e){return t.add(e)}),(function(e){t.remove(e),Y(e)}),R({objBindAttr:"__threeObj"},o))}var ee=function(e){return isNaN(e)?parseInt(P()(e).toHex(),16):e},te=function(e){return isNaN(e)?P()(e).getAlpha():1},ne=(0,C.Z)(A.Z);function re(e,t,n){t&&"string"===typeof n&&e.filter((function(e){return!e[n]})).forEach((function(e){e[n]=ne(t(e))}))}var ie=window.THREE?window.THREE:{Group:r.ZAu,Mesh:r.Kj0,MeshLambertMaterial:r.YBo,Color:r.Ilk,BufferGeometry:r.u9r,BufferAttribute:r.TlE,Matrix4:r.yGw,Vector3:r.Pa4,SphereBufferGeometry:r.Aip,CylinderBufferGeometry:r.m_w,TubeBufferGeometry:r.Lcc,ConeBufferGeometry:r._3,Line:r.x12,LineBasicMaterial:r.nls,QuadraticBezierCurve3:r.mXe,CubicBezierCurve3:r.yj7,Box3:r.ZzF},oe={graph:c(),forcelayout:f()},ae=(new ie.BufferGeometry).setAttribute?"setAttribute":"addAttribute",se=(new ie.BufferGeometry).applyMatrix4?"applyMatrix4":"applyMatrix";var le=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Object,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=function(t){N(i,t);var r=G(i);function i(){var t;D(this,i);for(var o=arguments.length,a=new Array(o),s=0;s<o;s++)a[s]=arguments[s];return(t=r.call.apply(r,[this].concat(a))).__kapsuleInstance=e().apply(void 0,[].concat(W(n?[V(t)]:[]),a)),t}return i}(t);return Object.keys(e()).forEach((function(e){return r.prototype[e]=function(){var t,n=(t=this.__kapsuleInstance)[e].apply(t,arguments);return n===this.__kapsuleInstance?this:n}})),r}((0,h.Z)({props:{jsonUrl:{onChange:function(e,t){var n=this;e&&!t.fetchingJson&&(t.fetchingJson=!0,t.onLoading(),fetch(e).then((function(e){return e.json()})).then((function(e){t.fetchingJson=!1,t.onFinishLoading(e),n.graphData(e)})))},triggerUpdate:!1},graphData:{default:{nodes:[],links:[]},onChange:function(e,t){t.engineRunning=!1}},numDimensions:{default:3,onChange:function(e,t){var n=t.d3ForceLayout.force("charge");function r(e,t){e.forEach((function(e){delete e[t],delete e["v".concat(t)]}))}n&&n.strength(e>2?-60:-30),e<3&&r(t.graphData.nodes,"z"),e<2&&r(t.graphData.nodes,"y")}},dagMode:{onChange:function(e,t){!e&&"d3"===t.forceEngine&&(t.graphData.nodes||[]).forEach((function(e){return e.fx=e.fy=e.fz=void 0}))}},dagLevelDistance:{},dagNodeFilter:{default:function(e){return!0}},onDagError:{triggerUpdate:!1},nodeRelSize:{default:4},nodeId:{default:"id"},nodeVal:{default:"val"},nodeResolution:{default:8},nodeColor:{default:"color"},nodeAutoColorBy:{},nodeOpacity:{default:.75},nodeVisibility:{default:!0},nodeThreeObject:{},nodeThreeObjectExtend:{default:!1},linkSource:{default:"source"},linkTarget:{default:"target"},linkVisibility:{default:!0},linkColor:{default:"color"},linkAutoColorBy:{},linkOpacity:{default:.2},linkWidth:{},linkResolution:{default:6},linkCurvature:{default:0,triggerUpdate:!1},linkCurveRotation:{default:0,triggerUpdate:!1},linkMaterial:{},linkThreeObject:{},linkThreeObjectExtend:{default:!1},linkPositionUpdate:{triggerUpdate:!1},linkDirectionalArrowLength:{default:0},linkDirectionalArrowColor:{},linkDirectionalArrowRelPos:{default:.5,triggerUpdate:!1},linkDirectionalArrowResolution:{default:8},linkDirectionalParticles:{default:0},linkDirectionalParticleSpeed:{default:.01,triggerUpdate:!1},linkDirectionalParticleWidth:{default:.5},linkDirectionalParticleColor:{},linkDirectionalParticleResolution:{default:4},forceEngine:{default:"d3"},d3AlphaMin:{default:0},d3AlphaDecay:{default:.0228,triggerUpdate:!1,onChange:function(e,t){t.d3ForceLayout.alphaDecay(e)}},d3AlphaTarget:{default:0,triggerUpdate:!1,onChange:function(e,t){t.d3ForceLayout.alphaTarget(e)}},d3VelocityDecay:{default:.4,triggerUpdate:!1,onChange:function(e,t){t.d3ForceLayout.velocityDecay(e)}},ngraphPhysics:{default:{timeStep:20,gravity:-1.2,theta:.8,springLength:30,springCoefficient:8e-4,dragCoefficient:.02}},warmupTicks:{default:0,triggerUpdate:!1},cooldownTicks:{default:1/0,triggerUpdate:!1},cooldownTime:{default:15e3,triggerUpdate:!1},onLoading:{default:function(){},triggerUpdate:!1},onFinishLoading:{default:function(){},triggerUpdate:!1},onUpdate:{default:function(){},triggerUpdate:!1},onFinishUpdate:{default:function(){},triggerUpdate:!1},onEngineTick:{default:function(){},triggerUpdate:!1},onEngineStop:{default:function(){},triggerUpdate:!1}},methods:{refresh:function(e){return e._flushObjects=!0,e._rerender(),this},d3Force:function(e,t,n){return void 0===n?e.d3ForceLayout.force(t):(e.d3ForceLayout.force(t,n),this)},d3ReheatSimulation:function(e){return e.d3ForceLayout.alpha(1),this.resetCountdown(),this},resetCountdown:function(e){return e.cntTicks=0,e.startTickTime=new Date,e.engineRunning=!0,this},tickFrame:function(e){var t="ngraph"!==e.forceEngine;return e.engineRunning&&function(){++e.cntTicks>e.cooldownTicks||new Date-e.startTickTime>e.cooldownTime||t&&e.d3AlphaMin>0&&e.d3ForceLayout.alpha()<e.d3AlphaMin?(e.engineRunning=!1,e.onEngineStop()):(e.layout[t?"tick":"step"](),e.onEngineTick());e.graphData.nodes.forEach((function(n){var r=n.__threeObj;if(r){var i=t?n:e.layout.getNodePosition(n[e.nodeId]);r.position.x=i.x,r.position.y=i.y||0,r.position.z=i.z||0}}));var n=(0,p.default)(e.linkWidth),r=(0,p.default)(e.linkCurvature),i=(0,p.default)(e.linkCurveRotation),o=(0,p.default)(e.linkThreeObjectExtend);function a(n){var o=t?n:e.layout.getLinkPosition(e.layout.graph.getLink(n.source,n.target).id),a=o[t?"source":"from"],s=o[t?"target":"to"];if(a&&s&&a.hasOwnProperty("x")&&s.hasOwnProperty("x")){var l=r(n);if(l){var u,c=new ie.Vector3(a.x,a.y||0,a.z||0),d=new ie.Vector3(s.x,s.y||0,s.z||0),f=c.distanceTo(d),h=i(n);if(f>0){var p=s.x-a.x,v=s.y-a.y||0,m=(new ie.Vector3).subVectors(d,c),g=m.clone().multiplyScalar(l).cross(0!==p||0!==v?new ie.Vector3(0,0,1):new ie.Vector3(0,1,0)).applyAxisAngle(m.normalize(),h).add((new ie.Vector3).addVectors(c,d).divideScalar(2));u=new ie.QuadraticBezierCurve3(c,g,d)}else{var y=70*l,b=-h,w=b+Math.PI/2;u=new ie.CubicBezierCurve3(c,new ie.Vector3(y*Math.cos(w),y*Math.sin(w),0).add(c),new ie.Vector3(y*Math.cos(b),y*Math.sin(b),0).add(c),d)}n.__curve=u}else n.__curve=null}}e.graphData.links.forEach((function(r){var i=r.__lineObj;if(i){var s=t?r:e.layout.getLinkPosition(e.layout.graph.getLink(r.source,r.target).id),l=s[t?"source":"from"],u=s[t?"target":"to"];if(l&&u&&l.hasOwnProperty("x")&&u.hasOwnProperty("x")){a(r);var c=o(r);if(!e.linkPositionUpdate||!e.linkPositionUpdate(c?i.children[1]:i,{start:{x:l.x,y:l.y,z:l.z},end:{x:u.x,y:u.y,z:u.z}},r)||c){var d=30,f=r.__curve,h=i.children.length?i.children[0]:i;if("Line"===h.type){if(f)h.geometry.setFromPoints(f.getPoints(d));else{var p=h.geometry.getAttribute("position");p&&p.array&&6===p.array.length||h.geometry[ae]("position",p=new ie.BufferAttribute(new Float32Array(6),3)),p.array[0]=l.x,p.array[1]=l.y||0,p.array[2]=l.z||0,p.array[3]=u.x,p.array[4]=u.y||0,p.array[5]=u.z||0,p.needsUpdate=!0}h.geometry.computeBoundingSphere()}else if("Mesh"===h.type)if(f){h.geometry.type.match(/^Tube(Buffer)?Geometry$/)||(h.position.set(0,0,0),h.rotation.set(0,0,0),h.scale.set(1,1,1));var v=Math.ceil(10*n(r))/10/2,m=new ie.TubeBufferGeometry(f,d,v,e.linkResolution,!1);h.geometry.dispose(),h.geometry=m}else{if(!h.geometry.type.match(/^Cylinder(Buffer)?Geometry$/)){var g=Math.ceil(10*n(r))/10/2,y=new ie.CylinderBufferGeometry(g,g,1,e.linkResolution,1,!1);y[se]((new ie.Matrix4).makeTranslation(0,.5,0)),y[se]((new ie.Matrix4).makeRotationX(Math.PI/2)),h.geometry.dispose(),h.geometry=y}var b=new ie.Vector3(l.x,l.y||0,l.z||0),w=new ie.Vector3(u.x,u.y||0,u.z||0),x=b.distanceTo(w);h.position.x=b.x,h.position.y=b.y,h.position.z=b.z,h.scale.z=x,h.parent.localToWorld(w),h.lookAt(w)}}}}}))}(),function(){var n=(0,p.default)(e.linkDirectionalArrowRelPos),r=(0,p.default)(e.linkDirectionalArrowLength),i=(0,p.default)(e.nodeVal);e.graphData.links.forEach((function(o){var a=o.__arrowObj;if(a){var s=t?o:e.layout.getLinkPosition(e.layout.graph.getLink(o.source,o.target).id),l=s[t?"source":"from"],u=s[t?"target":"to"];if(l&&u&&l.hasOwnProperty("x")&&u.hasOwnProperty("x")){var c=Math.sqrt(Math.max(0,i(l)||1))*e.nodeRelSize,d=Math.sqrt(Math.max(0,i(u)||1))*e.nodeRelSize,f=r(o),h=n(o),p=o.__curve?function(e){return o.__curve.getPoint(e)}:function(e){var t=function(e,t,n,r){return t[e]+(n[e]-t[e])*r||0};return{x:t("x",l,u,e),y:t("y",l,u,e),z:t("z",l,u,e)}},v=o.__curve?o.__curve.getLength():Math.sqrt(["x","y","z"].map((function(e){return Math.pow((u[e]||0)-(l[e]||0),2)})).reduce((function(e,t){return e+t}),0)),m=c+f+(v-c-d-f)*h,g=p(m/v),y=p((m-f)/v);["x","y","z"].forEach((function(e){return a.position[e]=y[e]}));var b=B(ie.Vector3,W(["x","y","z"].map((function(e){return g[e]}))));a.parent.localToWorld(b),a.lookAt(b)}}}))}(),function(){var n=(0,p.default)(e.linkDirectionalParticleSpeed);e.graphData.links.forEach((function(r){var i=r.__photonsObj&&r.__photonsObj.children,o=r.__singleHopPhotonsObj&&r.__singleHopPhotonsObj.children;if(o&&o.length||i&&i.length){var a=t?r:e.layout.getLinkPosition(e.layout.graph.getLink(r.source,r.target).id),s=a[t?"source":"from"],l=a[t?"target":"to"];if(s&&l&&s.hasOwnProperty("x")&&l.hasOwnProperty("x")){var u=n(r),c=r.__curve?function(e){return r.__curve.getPoint(e)}:function(e){var t=function(e,t,n,r){return t[e]+(n[e]-t[e])*r||0};return{x:t("x",s,l,e),y:t("y",s,l,e),z:t("z",s,l,e)}};[].concat(W(i||[]),W(o||[])).forEach((function(e,t){var n="singleHopPhotons"===e.parent.__linkThreeObjType;if(e.hasOwnProperty("__progressRatio")||(e.__progressRatio=n?0:t/i.length),e.__progressRatio+=u,e.__progressRatio>=1){if(n)return e.parent.remove(e),void Y(e);e.__progressRatio=e.__progressRatio%1}var r=e.__progressRatio,o=c(r);["x","y","z"].forEach((function(t){return e.position[t]=o[t]}))}))}}}))}(),this},emitParticle:function(e,t){if(t){if(!t.__singleHopPhotonsObj){var n=new ie.Group;n.__linkThreeObjType="singleHopPhotons",t.__singleHopPhotonsObj=n,e.graphScene.add(n)}var r=(0,p.default)(e.linkDirectionalParticleWidth),i=Math.ceil(10*r(t))/10/2,o=e.linkDirectionalParticleResolution,a=new ie.SphereBufferGeometry(i,o,o),s=(0,p.default)(e.linkColor),l=(0,p.default)(e.linkDirectionalParticleColor)(t)||s(t)||"#f0f0f0",u=new ie.Color(ee(l)),c=3*e.linkOpacity,d=new ie.MeshLambertMaterial({color:u,transparent:!0,opacity:c});t.__singleHopPhotonsObj.add(new ie.Mesh(a,d))}return this},getGraphBbox:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return!0};if(!e.initialised)return null;var n=function e(n){var r=[];if(n.geometry){n.geometry.computeBoundingBox();var i=new ie.Box3;i.copy(n.geometry.boundingBox).applyMatrix4(n.matrixWorld),r.push(i)}return r.concat.apply(r,W((n.children||[]).filter((function(e){return!e.hasOwnProperty("__graphObjType")||"node"===e.__graphObjType&&t(e.__data)})).map(e)))}(e.graphScene);return n.length?Object.assign.apply(Object,W(["x","y","z"].map((function(e){return L({},e,[(0,v.Z)(n,(function(t){return t.min[e]})),(0,m.Z)(n,(function(t){return t.max[e]}))])})))):null}},stateInit:function(){return{d3ForceLayout:(0,i.Z)().force("link",(0,o.Z)()).force("charge",(0,a.Z)()).force("center",(0,s.Z)()).force("dagRadial",null).stop(),engineRunning:!1}},init:function(e,t){t.graphScene=e},update:function(e,t){var n=function(e){return e.some((function(e){return t.hasOwnProperty(e)}))};if(e.engineRunning=!1,e.onUpdate(),null!==e.nodeAutoColorBy&&n(["nodeAutoColorBy","graphData","nodeColor"])&&re(e.graphData.nodes,(0,p.default)(e.nodeAutoColorBy),e.nodeColor),null!==e.linkAutoColorBy&&n(["linkAutoColorBy","graphData","linkColor"])&&re(e.graphData.links,(0,p.default)(e.linkAutoColorBy),e.linkColor),e._flushObjects||n(["graphData","nodeThreeObject","nodeThreeObjectExtend","nodeVal","nodeColor","nodeVisibility","nodeRelSize","nodeResolution","nodeOpacity"])){var r=(0,p.default)(e.nodeThreeObject),i=(0,p.default)(e.nodeThreeObjectExtend),o=(0,p.default)(e.nodeVal),a=(0,p.default)(e.nodeColor),s=(0,p.default)(e.nodeVisibility),u={},c={};J(e.graphData.nodes.filter(s),e.graphScene,{purge:e._flushObjects||n(["nodeThreeObject","nodeThreeObjectExtend"]),objFilter:function(e){return"node"===e.__graphObjType},createObj:function(t){var n,o=r(t),a=i(t);return o&&e.nodeThreeObject===o&&(o=o.clone()),o&&!a?n=o:((n=new ie.Mesh).__graphDefaultObj=!0,o&&a&&n.add(o)),n.__graphObjType="node",n},updateObj:function(t,n){if(t.__graphDefaultObj){var r=o(n)||1,i=Math.cbrt(r)*e.nodeRelSize,s=e.nodeResolution;t.geometry.type.match(/^Sphere(Buffer)?Geometry$/)&&t.geometry.parameters.radius===i&&t.geometry.parameters.widthSegments===s||(u.hasOwnProperty(r)||(u[r]=new ie.SphereBufferGeometry(i,s,s)),t.geometry.dispose(),t.geometry=u[r]);var l=a(n),d=new ie.Color(ee(l||"#ffffaa")),f=e.nodeOpacity*te(l);"MeshLambertMaterial"===t.material.type&&t.material.color.equals(d)&&t.material.opacity===f||(c.hasOwnProperty(l)||(c[l]=new ie.MeshLambertMaterial({color:d,transparent:!0,opacity:f})),t.material.dispose(),t.material=c[l])}}})}if(e._flushObjects||n(["graphData","linkThreeObject","linkThreeObjectExtend","linkMaterial","linkColor","linkWidth","linkVisibility","linkResolution","linkOpacity","linkDirectionalArrowLength","linkDirectionalArrowColor","linkDirectionalArrowResolution","linkDirectionalParticles","linkDirectionalParticleWidth","linkDirectionalParticleColor","linkDirectionalParticleResolution"])){var d=(0,p.default)(e.linkThreeObject),f=(0,p.default)(e.linkThreeObjectExtend),h=(0,p.default)(e.linkMaterial),v=(0,p.default)(e.linkVisibility),m=(0,p.default)(e.linkColor),g=(0,p.default)(e.linkWidth),y={},b={},w={},x=e.graphData.links.filter(v);if(J(x,e.graphScene,{objBindAttr:"__lineObj",purge:e._flushObjects||n(["linkThreeObject","linkThreeObjectExtend","linkWidth"]),objFilter:function(e){return"link"===e.__graphObjType},createObj:function(t){var n,r,i=d(t),o=f(t);if(i&&e.linkThreeObject===i&&(i=i.clone()),!i||o)if(!!g(t))n=new ie.Mesh;else{var a=new ie.BufferGeometry;a[ae]("position",new ie.BufferAttribute(new Float32Array(6),3)),n=new ie.Line(a)}return i?o?((r=new ie.Group).__graphDefaultObj=!0,r.add(n),r.add(i)):r=i:(r=n).__graphDefaultObj=!0,r.renderOrder=10,r.__graphObjType="link",r},updateObj:function(t,n){if(t.__graphDefaultObj){var r=t.children.length?t.children[0]:t,i=Math.ceil(10*g(n))/10,o=!!i;if(o){var a=i/2,s=e.linkResolution;if(!r.geometry.type.match(/^Cylinder(Buffer)?Geometry$/)||r.geometry.parameters.radiusTop!==a||r.geometry.parameters.radialSegments!==s){if(!y.hasOwnProperty(i)){var l=new ie.CylinderBufferGeometry(a,a,1,s,1,!1);l[se]((new ie.Matrix4).makeTranslation(0,.5,0)),l[se]((new ie.Matrix4).makeRotationX(Math.PI/2)),y[i]=l}r.geometry.dispose(),r.geometry=y[i]}}var u=h(n);if(u)r.material=u;else{var c=m(n),d=new ie.Color(ee(c||"#f0f0f0")),f=e.linkOpacity*te(c),p=o?"MeshLambertMaterial":"LineBasicMaterial";if(r.material.type!==p||!r.material.color.equals(d)||r.material.opacity!==f){var v=o?b:w;v.hasOwnProperty(c)||(v[c]=new ie[p]({color:d,transparent:f<1,opacity:f,depthWrite:f>=1})),r.material.dispose(),r.material=v[c]}}}}}),e.linkDirectionalArrowLength||t.hasOwnProperty("linkDirectionalArrowLength")){var E=(0,p.default)(e.linkDirectionalArrowLength),k=(0,p.default)(e.linkDirectionalArrowColor);J(x.filter(E),e.graphScene,{objBindAttr:"__arrowObj",objFilter:function(e){return"arrow"===e.__linkThreeObjType},createObj:function(){var e=new ie.Mesh(void 0,new ie.MeshLambertMaterial({transparent:!0}));return e.__linkThreeObjType="arrow",e},updateObj:function(t,n){var r=E(n),i=e.linkDirectionalArrowResolution;if(!t.geometry.type.match(/^Cone(Buffer)?Geometry$/)||t.geometry.parameters.height!==r||t.geometry.parameters.radialSegments!==i){var o=new ie.ConeBufferGeometry(.25*r,r,i);o.translate(0,r/2,0),o.rotateX(Math.PI/2),t.geometry.dispose(),t.geometry=o}t.material.color=new ie.Color(k(n)||m(n)||"#f0f0f0"),t.material.opacity=3*e.linkOpacity}})}if(e.linkDirectionalParticles||t.hasOwnProperty("linkDirectionalParticles")){var T=(0,p.default)(e.linkDirectionalParticles),_=(0,p.default)(e.linkDirectionalParticleWidth),O=(0,p.default)(e.linkDirectionalParticleColor),C={},A={};J(x.filter(T),e.graphScene,{objBindAttr:"__photonsObj",objFilter:function(e){return"photons"===e.__linkThreeObjType},createObj:function(){var e=new ie.Group;return e.__linkThreeObjType="photons",e},updateObj:function(t,n){var r,i=Math.round(Math.abs(T(n))),o=!!t.children.length&&t.children[0],a=Math.ceil(10*_(n))/10/2,s=e.linkDirectionalParticleResolution;o&&o.geometry.parameters.radius===a&&o.geometry.parameters.widthSegments===s?r=o.geometry:(A.hasOwnProperty(a)||(A[a]=new ie.SphereBufferGeometry(a,s,s)),r=A[a],o&&o.geometry.dispose());var l,u=O(n)||m(n)||"#f0f0f0",c=new ie.Color(ee(u)),d=3*e.linkOpacity;o&&o.material.color.equals(c)&&o.material.opacity===d?l=o.material:(C.hasOwnProperty(u)||(C[u]=new ie.MeshLambertMaterial({color:c,transparent:!0,opacity:d})),l=C[u],o&&o.material.dispose()),J(W(new Array(i)).map((function(e,t){return{idx:t}})),t,{idAccessor:function(e){return e.idx},createObj:function(){return new ie.Mesh(r,l)},updateObj:function(e){e.geometry=r,e.material=l}})}})}}if(e._flushObjects=!1,n(["graphData","nodeId","linkSource","linkTarget","numDimensions","forceEngine","dagMode","dagNodeFilter","dagLevelDistance"])){e.engineRunning=!1,e.graphData.links.forEach((function(t){t.source=t[e.linkSource],t.target=t[e.linkTarget]}));var S,P="ngraph"!==e.forceEngine;if(P){(S=e.d3ForceLayout).stop().alpha(1).numDimensions(e.numDimensions).nodes(e.graphData.nodes);var M=e.d3ForceLayout.force("link");M&&M.id((function(t){return t[e.nodeId]})).links(e.graphData.links);var D=e.dagMode&&function(e,t){var n=e.nodes,r=e.links,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i.nodeFilter,a=void 0===o?function(){return!0}:o,s=i.onLoopError,l=void 0===s?function(e){throw"Invalid DAG structure! Found cycle in node path: ".concat(e.join(" -> "),".")}:s,u={};n.forEach((function(e){return u[t(e)]={data:e,out:[],depth:-1,skip:!a(e)}})),r.forEach((function(e){var n=e.source,r=e.target,i=l(n),o=l(r);if(!u.hasOwnProperty(i))throw"Missing source node with id: ".concat(i);if(!u.hasOwnProperty(o))throw"Missing target node with id: ".concat(o);var a=u[i],s=u[o];function l(e){return"object"===j(e)?t(e):e}a.out.push(s)}));var c=[];return d(Object.values(u)),Object.assign.apply(Object,[{}].concat(W(Object.entries(u).filter((function(e){return!q(e,2)[1].skip})).map((function(e){var t=q(e,2);return L({},t[0],t[1].depth)})))));function d(e){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=0,o=e.length;i<o;i++){var a=e[i];if(-1!==n.indexOf(a))if("continue"===function(){var e=[].concat(W(n.slice(n.indexOf(a))),[a]).map((function(e){return t(e.data)}));return c.some((function(t){return t.length===e.length&&t.every((function(t,n){return t===e[n]}))}))||(c.push(e),l(e)),"continue"}())continue;r>a.depth&&(a.depth=r,d(a.out,[].concat(W(n),[a]),r+(a.skip?0:1)))}}}(e.graphData,(function(t){return t[e.nodeId]}),{nodeFilter:e.dagNodeFilter,onLoopError:e.onDagError||void 0}),N=Math.max.apply(Math,W(Object.values(D||[]))),I=e.dagLevelDistance||e.graphData.nodes.length/(N||1)*2*(-1!==["radialin","radialout"].indexOf(e.dagMode)?.7:1);if(e.dagMode){var z=function(t,n){return function(r){return t?(D[r[e.nodeId]]-N/2)*I*(n?-1:1):void 0}},H=z(-1!==["lr","rl"].indexOf(e.dagMode),"rl"===e.dagMode),B=z(-1!==["td","bu"].indexOf(e.dagMode),"td"===e.dagMode),F=z(-1!==["zin","zout"].indexOf(e.dagMode),"zout"===e.dagMode);e.graphData.nodes.filter(e.dagNodeFilter).forEach((function(e){e.fx=H(e),e.fy=B(e),e.fz=F(e)}))}e.d3ForceLayout.force("dagRadial",-1!==["radialin","radialout"].indexOf(e.dagMode)?(0,l.Z)((function(t){var n=D[t[e.nodeId]]||-1;return("radialin"===e.dagMode?N-n:n)*I})).strength((function(t){return e.dagNodeFilter(t)?1:0})):null)}else{var V=oe.graph();e.graphData.nodes.forEach((function(t){V.addNode(t[e.nodeId])})),e.graphData.links.forEach((function(e){V.addLink(e.source,e.target)})),(S=oe.forcelayout(V,R({dimensions:e.numDimensions},e.ngraphPhysics))).graph=V}for(var U=0;U<e.warmupTicks&&!(P&&e.d3AlphaMin>0&&e.d3ForceLayout.alpha()<e.d3AlphaMin);U++)S[P?"tick":"step"]();e.layout=S,this.resetCountdown()}e.engineRunning=!0,e.onFinishUpdate()}}),(window.THREE?window.THREE:{Group:r.ZAu}).Group,!0)},6594:function(e,t,n){"use strict";n.r(t),n.d(t,{Pathfinding:function(){return v}});var r=function(){};r.computeCentroids=function(e){var t,n,r;for(t=0,n=e.faces.length;t<n;t++)(r=e.faces[t]).centroid=new THREE.Vector3(0,0,0),r.centroid.add(e.vertices[r.a]),r.centroid.add(e.vertices[r.b]),r.centroid.add(e.vertices[r.c]),r.centroid.divideScalar(3)},r.roundNumber=function(e,t){return Number(e.toFixed(t))},r.sample=function(e){return e[Math.floor(Math.random()*e.length)]},r.mergeVertexIds=function(e,t){var n=[];if(e.forEach((function(e){t.indexOf(e)>=0&&n.push(e)})),n.length<2)return[];n.includes(e[0])&&n.includes(e[e.length-1])&&e.push(e.shift()),n.includes(t[0])&&n.includes(t[t.length-1])&&t.push(t.shift()),n=[],e.forEach((function(e){t.includes(e)&&n.push(e)}));for(var r=n[1],i=n[0],o=e.slice();o[0]!==r;)o.push(o.shift());for(var a=0,s=t.slice();s[0]!==i;)if(s.push(s.shift()),a++>10)throw new Error("Unexpected state");return s.shift(),s.pop(),o.concat(s)},r.setPolygonCentroid=function(e,t){var n=new THREE.Vector3,r=t.vertices;e.vertexIds.forEach((function(e){n.add(r[e])})),n.divideScalar(e.vertexIds.length),e.centroid.copy(n)},r.cleanPolygon=function(e,t){for(var n=[],r=t.vertices,i=0;i<e.vertexIds.length;i++){var o,a,s,l=r[e.vertexIds[i]];0===i?(o=e.vertexIds[1],a=e.vertexIds[e.vertexIds.length-1]):i===e.vertexIds.length-1?(o=e.vertexIds[0],a=e.vertexIds[e.vertexIds.length-2]):(o=e.vertexIds[i+1],a=e.vertexIds[i-1]),s=r[a];var u=r[o].clone().sub(l),c=s.clone().sub(l),d=u.angleTo(c);if(d>Math.PI-.01&&d<Math.PI+.01){var f=[];e.neighbours.forEach((function(t){t.vertexIds.includes(e.vertexIds[i])||f.push(t)})),e.neighbours=f}else n.push(e.vertexIds[i])}e.vertexIds=n,this.setPolygonCentroid(e,t)},r.isConvex=function(e,t){var n=t.vertices;if(e.vertexIds.length<3)return!1;for(var r=!0,i=[],o=0;o<e.vertexIds.length;o++){var a,s,l=n[e.vertexIds[o]];0===o?(a=n[e.vertexIds[1]],s=n[e.vertexIds[e.vertexIds.length-1]]):o===e.vertexIds.length-1?(a=n[e.vertexIds[0]],s=n[e.vertexIds[e.vertexIds.length-2]]):(a=n[e.vertexIds[o+1]],s=n[e.vertexIds[o-1]]);var u=a.clone().sub(l),c=s.clone().sub(l),d=u.angleTo(c);if(d===Math.PI||0===d)return!1;var f=u.cross(c).y;i.push(f)}return i.forEach((function(e){0===e&&(r=!1)})),i.forEach(i[0]>0?function(e){e<0&&(r=!1)}:function(e){e>0&&(r=!1)}),r},r.distanceToSquared=function(e,t){var n=e.x-t.x,r=e.y-t.y,i=e.z-t.z;return n*n+r*r+i*i},r.isPointInPoly=function(e,t){for(var n=!1,r=-1,i=e.length,o=i-1;++r<i;o=r)(e[r].z<=t.z&&t.z<e[o].z||e[o].z<=t.z&&t.z<e[r].z)&&t.x<(e[o].x-e[r].x)*(t.z-e[r].z)/(e[o].z-e[r].z)+e[r].x&&(n=!n);return n},r.isVectorInPolygon=function(e,t,n){var r=1e5,i=-1e5,o=[];return t.vertexIds.forEach((function(e){r=Math.min(n[e].y,r),i=Math.max(n[e].y,i),o.push(n[e])})),!!(e.y<i+.5&&e.y>r-.5&&this.isPointInPoly(o,e))},r.triarea2=function(e,t,n){return(n.x-e.x)*(t.z-e.z)-(t.x-e.x)*(n.z-e.z)},r.vequal=function(e,t){return this.distanceToSquared(e,t)<1e-5};var i=function(e){this.content=[],this.scoreFunction=e};i.prototype.push=function(e){this.content.push(e),this.sinkDown(this.content.length-1)},i.prototype.pop=function(){var e=this.content[0],t=this.content.pop();return this.content.length>0&&(this.content[0]=t,this.bubbleUp(0)),e},i.prototype.remove=function(e){var t=this.content.indexOf(e),n=this.content.pop();t!==this.content.length-1&&(this.content[t]=n,this.scoreFunction(n)<this.scoreFunction(e)?this.sinkDown(t):this.bubbleUp(t))},i.prototype.size=function(){return this.content.length},i.prototype.rescoreElement=function(e){this.sinkDown(this.content.indexOf(e))},i.prototype.sinkDown=function(e){for(var t=this.content[e];e>0;){var n=(e+1>>1)-1,r=this.content[n];if(!(this.scoreFunction(t)<this.scoreFunction(r)))break;this.content[n]=t,this.content[e]=r,e=n}},i.prototype.bubbleUp=function(e){for(var t=this.content.length,n=this.content[e],r=this.scoreFunction(n);;){var i=e+1<<1,o=i-1,a=null,s=void 0;if(o<t&&(s=this.scoreFunction(this.content[o]))<r&&(a=o),i<t&&this.scoreFunction(this.content[i])<(null===a?r:s)&&(a=i),null===a)break;this.content[e]=this.content[a],this.content[a]=n,e=a}};var o=function(){};o.init=function(e){for(var t=0;t<e.length;t++){var n=e[t];n.f=0,n.g=0,n.h=0,n.cost=1,n.visited=!1,n.closed=!1,n.parent=null}},o.cleanUp=function(e){for(var t=0;t<e.length;t++){var n=e[t];delete n.f,delete n.g,delete n.h,delete n.cost,delete n.visited,delete n.closed,delete n.parent}},o.heap=function(){return new i((function(e){return e.f}))},o.search=function(e,t,n){this.init(e);var r=this.heap();for(r.push(t);r.size()>0;){var i=r.pop();if(i===n){for(var o=i,a=[];o.parent;)a.push(o),o=o.parent;return this.cleanUp(a),a.reverse()}i.closed=!0;for(var s=this.neighbours(e,i),l=0,u=s.length;l<u;l++){var c=s[l];if(!c.closed){var d=i.g+c.cost,f=c.visited;if(!f||d<c.g){if(c.visited=!0,c.parent=i,!c.centroid||!n.centroid)throw new Error("Unexpected state");c.h=c.h||this.heuristic(c.centroid,n.centroid),c.g=d,c.f=c.g+c.h,f?r.rescoreElement(c):r.push(c)}}}}return[]},o.heuristic=function(e,t){return r.distanceToSquared(e,t)},o.neighbours=function(e,t){for(var n=[],r=0;r<t.neighbours.length;r++)n.push(e[t.neighbours[r]]);return n};var a=1,s=function(){};s.buildZone=function(e){var t=this,n=this._buildNavigationMesh(e),i={};n.vertices.forEach((function(e){e.x=r.roundNumber(e.x,2),e.y=r.roundNumber(e.y,2),e.z=r.roundNumber(e.z,2)})),i.vertices=n.vertices;var o=this._buildPolygonGroups(n);i.groups=[];var a=function(e,t){for(var n=0;n<e.length;n++)if(t===e[n])return n};return o.forEach((function(e){var n=[];e.forEach((function(i){var o=i.neighbours.map((function(t){return a(e,t)})),s=i.neighbours.map((function(e){return t._getSharedVerticesInOrder(i,e)}));i.centroid.x=r.roundNumber(i.centroid.x,2),i.centroid.y=r.roundNumber(i.centroid.y,2),i.centroid.z=r.roundNumber(i.centroid.z,2),n.push({id:a(e,i),neighbours:o,vertexIds:i.vertexIds,centroid:i.centroid,portals:s})})),i.groups.push(n)})),i},s._buildNavigationMesh=function(e){return r.computeCentroids(e),e.mergeVertices(),this._buildPolygonsFromGeometry(e)},s._buildPolygonGroups=function(e){var t=[],n=0,r=function(e){e.neighbours.forEach((function(t){void 0===t.group&&(t.group=e.group,r(t))}))};return e.polygons.forEach((function(e){void 0===e.group&&(e.group=n++,r(e)),t[e.group]||(t[e.group]=[]),t[e.group].push(e)})),t},s._buildPolygonNeighbours=function(e,t,n){var r=new Set,i=n.get(e.vertexIds[0]),o=n.get(e.vertexIds[1]),a=n.get(e.vertexIds[2]);i.forEach((function(e){(o.has(e)||a.has(e))&&r.add(t.polygons[e])})),o.forEach((function(e){a.has(e)&&r.add(t.polygons[e])})),e.neighbours=Array.from(r)},s._buildPolygonsFromGeometry=function(e){for(var t=this,n=[],r=e.vertices,i=e.faceVertexUvs,o=new Map,s=0;s<r.length;s++)o.set(s,new Set);e.faces.forEach((function(e){n.push({id:a++,vertexIds:[e.a,e.b,e.c],centroid:e.centroid,normal:e.normal,neighbours:[]}),o.get(e.a).add(n.length-1),o.get(e.b).add(n.length-1),o.get(e.c).add(n.length-1)}));var l={polygons:n,vertices:r,faceVertexUvs:i};return n.forEach((function(e){t._buildPolygonNeighbours(e,l,o)})),l},s._getSharedVerticesInOrder=function(e,t){var n=e.vertexIds,r=t.vertexIds,i=new Set;if(n.forEach((function(e){r.includes(e)&&i.add(e)})),i.size<2)return[];i.has(n[0])&&i.has(n[n.length-1])&&n.push(n.shift()),i.has(r[0])&&i.has(r[r.length-1])&&r.push(r.shift());var o=[];return n.forEach((function(e){r.includes(e)&&o.push(e)})),o};var l=function(){this.portals=[]};l.prototype.push=function(e,t){void 0===t&&(t=e),this.portals.push({left:e,right:t})},l.prototype.stringPull=function(){var e,t,n,i=this.portals,o=[],a=0,s=0,l=0;t=i[0].left,n=i[0].right,o.push(e=i[0].left);for(var u=1;u<i.length;u++){var c=i[u].left,d=i[u].right;if(r.triarea2(e,n,d)<=0){if(!(r.vequal(e,n)||r.triarea2(e,t,d)>0)){o.push(t),t=e=t,n=e,s=a=s,l=a,u=a;continue}n=d,l=u}if(r.triarea2(e,t,c)>=0){if(!(r.vequal(e,t)||r.triarea2(e,n,c)<0)){o.push(n),t=e=n,n=e,s=a=l,l=a,u=a;continue}t=c,s=u}}return 0!==o.length&&r.vequal(o[o.length-1],i[i.length-1].left)||o.push(i[i.length-1].left),this.path=o,o};var u,c,d,f,h,p,v=function(){this.zones={}};v.createZone=function(e){return s.buildZone(e)},v.prototype.setZoneData=function(e,t){this.zones[e]=t},v.prototype.getGroup=function(e,t){if(!this.zones[e])return null;var n=null,i=Math.pow(50,2);return this.zones[e].groups.forEach((function(e,o){e.forEach((function(e){var a=r.distanceToSquared(e.centroid,t);a<i&&(n=o,i=a)}))})),n},v.prototype.getRandomNode=function(e,t,n,i){if(!this.zones[e])return new THREE.Vector3;n=n||null,i=i||0;var o=[];return this.zones[e].groups[t].forEach((function(e){n&&i?r.distanceToSquared(n,e.centroid)<i*i&&o.push(e.centroid):o.push(e.centroid)})),r.sample(o)||new THREE.Vector3},v.prototype.getClosestNode=function(e,t,n,i){void 0===i&&(i=!1);var o=this.zones[t].vertices,a=null,s=1/0;return this.zones[t].groups[n].forEach((function(t){var n=r.distanceToSquared(t.centroid,e);n<s&&(!i||r.isVectorInPolygon(e,t,o))&&(a=t,s=n)})),a},v.prototype.findPath=function(e,t,n,r){var i=this.zones[n].groups[r],a=this.zones[n].vertices,s=this.getClosestNode(e,n,r),u=this.getClosestNode(t,n,r,!0);if(!s||!u)return null;var c=o.search(i,s,u),d=function(e,t){for(var n=0;n<e.neighbours.length;n++)if(e.neighbours[n]===t.id)return e.portals[n]},f=new l;f.push(e);for(var h=0;h<c.length;h++){var p=c[h+1];if(p){var v=d(c[h],p);f.push(a[v[0]],a[v[1]])}}f.push(t),f.stringPull();var m=f.path.map((function(e){return new THREE.Vector3(e.x,e.y,e.z)}));return m.shift(),m},v.prototype.clampStep=(d=new THREE.Vector3,f=new THREE.Plane,h=new THREE.Triangle,p=new THREE.Vector3,function(e,t,n,r,i,o){var a=this.zones[r].vertices,s=this.zones[r].groups[i],l=[n],v={};v[n.id]=0,u=void 0,p.set(0,0,0),c=1/0,f.setFromCoplanarPoints(a[n.vertexIds[0]],a[n.vertexIds[1]],a[n.vertexIds[2]]),f.projectPoint(t,d),t.copy(d);for(var m=l.pop();m;m=l.pop()){h.set(a[m.vertexIds[0]],a[m.vertexIds[1]],a[m.vertexIds[2]]),h.closestPointToPoint(t,d),d.distanceToSquared(t)<c&&(u=m,p.copy(d),c=d.distanceToSquared(t));var g=v[m];if(!(g>2))for(var y=0;y<m.neighbours.length;y++){var b=s[m.neighbours[y]];b.id in v||(l.push(b),v[b.id]=g+1)}}return o.copy(p),u})},6189:function(e,t,n){var r=n(7966);e.exports=function(e){return r(e).replace(/\s(\w)/g,(function(e,t){return t.toUpperCase()}))}},1788:function(e){e.exports=function(e){return t.test(e)?e.toLowerCase():n.test(e)?(function(e){return e.replace(i,(function(e,t){return t?" "+t:""}))}(e)||e).toLowerCase():r.test(e)?function(e){return e.replace(o,(function(e,t,n){return t+" "+n.toLowerCase().split("").join(" ")}))}(e).toLowerCase():e.toLowerCase()};var t=/\s/,n=/(_|-|\.|:)/,r=/([a-z][A-Z]|[A-Z][a-z])/;var i=/[\W_]+(.|$)/g;var o=/(.)([A-Z]+)/g},7966:function(e,t,n){var r=n(1788);e.exports=function(e){return r(e).replace(/[\W_]+(.|$)/g,(function(e,t){return t?" "+t:""})).trim()}}}]); \ No newline at end of file
+;(self.webpackChunk_N_E = self.webpackChunk_N_E || []).push([
+ [311],
+ {
+ 676: function (e, t, n) {
+ 'use strict'
+ function r(e, t) {
+ ;(null == t || t > e.length) && (t = e.length)
+ for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
+ return r
+ }
+ n.d(t, {
+ Z: function () {
+ return r
+ },
+ })
+ },
+ 2137: function (e, t, n) {
+ 'use strict'
+ function r(e, t, n, r, i, o, a) {
+ try {
+ var s = e[o](a),
+ l = s.value
+ } catch (u) {
+ return void n(u)
+ }
+ s.done ? t(l) : Promise.resolve(l).then(r, i)
+ }
+ function i(e) {
+ return function () {
+ var t = this,
+ n = arguments
+ return new Promise(function (i, o) {
+ var a = e.apply(t, n)
+ function s(e) {
+ r(a, i, o, s, l, 'next', e)
+ }
+ function l(e) {
+ r(a, i, o, s, l, 'throw', e)
+ }
+ s(void 0)
+ })
+ }
+ }
+ n.d(t, {
+ Z: function () {
+ return i
+ },
+ })
+ },
+ 7375: function (e, t, n) {
+ 'use strict'
+ function r(e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = (function (e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ })(e, t)
+ if (Object.getOwnPropertySymbols) {
+ var o = Object.getOwnPropertySymbols(e)
+ for (r = 0; r < o.length; r++)
+ (n = o[r]),
+ t.indexOf(n) >= 0 ||
+ (Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n]))
+ }
+ return i
+ }
+ n.d(t, {
+ Z: function () {
+ return r
+ },
+ })
+ },
+ 4699: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ Z: function () {
+ return i
+ },
+ })
+ var r = n(2961)
+ function i(e, t) {
+ return (
+ (function (e) {
+ if (Array.isArray(e)) return e
+ })(e) ||
+ (function (e, t) {
+ if ('undefined' !== typeof Symbol && Symbol.iterator in Object(e)) {
+ var n = [],
+ r = !0,
+ i = !1,
+ o = void 0
+ try {
+ for (
+ var a, s = e[Symbol.iterator]();
+ !(r = (a = s.next()).done) && (n.push(a.value), !t || n.length !== t);
+ r = !0
+ );
+ } catch (l) {
+ ;(i = !0), (o = l)
+ } finally {
+ try {
+ r || null == s.return || s.return()
+ } finally {
+ if (i) throw o
+ }
+ }
+ return n
+ }
+ })(e, t) ||
+ (0, r.Z)(e, t) ||
+ (function () {
+ throw new TypeError(
+ 'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ })()
+ )
+ }
+ },
+ 7329: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ Z: function () {
+ return o
+ },
+ })
+ var r = n(676)
+ var i = n(2961)
+ function o(e) {
+ return (
+ (function (e) {
+ if (Array.isArray(e)) return (0, r.Z)(e)
+ })(e) ||
+ (function (e) {
+ if ('undefined' !== typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e)
+ })(e) ||
+ (0, i.Z)(e) ||
+ (function () {
+ throw new TypeError(
+ 'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ })()
+ )
+ }
+ },
+ 2961: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ Z: function () {
+ return i
+ },
+ })
+ var r = n(676)
+ function i(e, t) {
+ if (e) {
+ if ('string' === typeof e) return (0, r.Z)(e, t)
+ var n = Object.prototype.toString.call(e).slice(8, -1)
+ return (
+ 'Object' === n && e.constructor && (n = e.constructor.name),
+ 'Map' === n || 'Set' === n
+ ? Array.from(e)
+ : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
+ ? (0, r.Z)(e, t)
+ : void 0
+ )
+ }
+ }
+ },
+ 6327: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ UQ: function () {
+ return q
+ },
+ KF: function () {
+ return $
+ },
+ XE: function () {
+ return Y
+ },
+ Qd: function () {
+ return Z
+ },
+ Hk: function () {
+ return X
+ },
+ })
+ var r = n(58),
+ i = n(63),
+ o = n(2326),
+ a = n(5284),
+ s = n(9676),
+ l = n(5643),
+ u = n(658),
+ c = n(8554),
+ d = n.n(c),
+ f = n(4461),
+ h = n(3808),
+ p = n(3869),
+ v = n(7554),
+ m = n(7294)
+ function g() {
+ return (g =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ var y = {
+ ease: [0.25, 0.1, 0.25, 1],
+ easeIn: [0.4, 0, 1, 1],
+ easeOut: [0, 0, 0.2, 1],
+ easeInOut: [0.4, 0, 0.2, 1],
+ }
+ var b = (e, t) => g({}, e, { delay: (0, h.hj)(t) ? t : null == t ? void 0 : t.enter }),
+ w = (e, t) => g({}, e, { delay: (0, h.hj)(t) ? t : null == t ? void 0 : t.exit })
+ function x() {
+ return (x =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ var E = {
+ exit: {
+ height: { duration: 0.2, ease: y.ease },
+ opacity: { duration: 0.3, ease: y.ease },
+ },
+ enter: {
+ height: { duration: 0.3, ease: y.ease },
+ opacity: { duration: 0.4, ease: y.ease },
+ },
+ },
+ k = {
+ exit: (e) => {
+ var t,
+ n,
+ {
+ animateOpacity: r,
+ startingHeight: i,
+ transition: o,
+ transitionEnd: a,
+ delay: s,
+ } = e
+ return x(
+ {},
+ r && { opacity: ((n = i), null != n && parseInt(n.toString(), 10) > 0 ? 1 : 0) },
+ {
+ overflow: 'hidden',
+ height: i,
+ transitionEnd: null == a ? void 0 : a.exit,
+ transition: null != (t = null == o ? void 0 : o.exit) ? t : w(E.exit, s),
+ },
+ )
+ },
+ enter: (e) => {
+ var t,
+ { animateOpacity: n, endingHeight: r, transition: i, transitionEnd: o, delay: a } = e
+ return x({}, n && { opacity: 1 }, {
+ height: r,
+ transitionEnd: null == o ? void 0 : o.enter,
+ transition: null != (t = null == i ? void 0 : i.enter) ? t : b(E.enter, a),
+ })
+ },
+ },
+ T = m.forwardRef((e, t) => {
+ var {
+ in: n,
+ unmountOnExit: r,
+ animateOpacity: i = !0,
+ startingHeight: o = 0,
+ endingHeight: a = 'auto',
+ style: s,
+ className: l,
+ transition: c,
+ transitionEnd: h,
+ } = e,
+ g = (function (e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ })(e, [
+ 'in',
+ 'unmountOnExit',
+ 'animateOpacity',
+ 'startingHeight',
+ 'endingHeight',
+ 'style',
+ 'className',
+ 'transition',
+ 'transitionEnd',
+ ]),
+ [y, b] = m.useState(!1)
+ m.useEffect(() => {
+ var e = setTimeout(() => {
+ b(!0)
+ })
+ return () => clearTimeout(e)
+ }, []),
+ (0, u.ZK)({
+ condition: Boolean(o > 0 && r),
+ message:
+ "startingHeight and unmountOnExit are mutually exclusive. You can't use them together",
+ })
+ var w = parseFloat(o.toString()) > 0,
+ E = {
+ startingHeight: o,
+ endingHeight: a,
+ animateOpacity: i,
+ transition: y ? c : { enter: { duration: 0 } },
+ transitionEnd: d()(h, {
+ enter: { overflow: 'initial' },
+ exit: r ? void 0 : { display: w ? 'block' : 'none' },
+ }),
+ },
+ T = !r || n,
+ _ = n || r ? 'enter' : 'exit'
+ return m.createElement(
+ p.M,
+ { initial: !1, custom: E },
+ T &&
+ m.createElement(
+ v.E.div,
+ x({ ref: t }, g, {
+ className: (0, f.cx)('chakra-collapse', l),
+ style: x({ overflow: 'hidden', display: 'block' }, s),
+ custom: E,
+ variants: k,
+ initial: !!r && 'exit',
+ animate: _,
+ exit: 'exit',
+ }),
+ ),
+ )
+ })
+ h.Ts && (T.displayName = 'Collapse')
+ var _ = n(8500),
+ O = n(1888),
+ C = n(7581),
+ A = n(1034),
+ S = n(4577),
+ P = n(2947),
+ M = n(7277),
+ R = n(7248)
+ function j() {
+ return (j =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ function D(e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ }
+ var [L, N, I, z] = (0, O.n)()
+ function H(e) {
+ var { onChange: t, defaultIndex: n, index: r, allowMultiple: i, allowToggle: o } = e,
+ a = D(e, ['onChange', 'defaultIndex', 'index', 'allowMultiple', 'allowToggle'])
+ !(function (e) {
+ var t = e.index || e.defaultIndex,
+ n = !(0, h.o8)(t) && !(0, h.kJ)(t) && e.allowMultiple
+ ;(0, u.ZK)({
+ condition: !!n,
+ message:
+ "If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: " +
+ typeof t +
+ ',',
+ })
+ })(e),
+ (function (e) {
+ ;(0, u.ZK)({
+ condition: !(!e.allowMultiple || !e.allowToggle),
+ message:
+ "If 'allowMultiple' is passed, 'allowToggle' will be ignored. Either remove 'allowToggle' or 'allowMultiple' depending on whether you want multiple accordions visible or not",
+ })
+ })(e)
+ var s = I(),
+ [l, c] = (0, m.useState)(-1)
+ ;(0, C.z)(() => {
+ c(-1)
+ })
+ var [d, f] = (0, A.T)({
+ value: r,
+ defaultValue: () => (i ? (null != n ? n : []) : null != n ? n : -1),
+ onChange: t,
+ })
+ return {
+ index: d,
+ setIndex: f,
+ htmlProps: a,
+ getAccordionItemProps: (e) => {
+ var t = !1
+ null !== e && (t = (0, h.kJ)(d) ? d.includes(e) : d === e)
+ return {
+ isOpen: t,
+ onChange: (t) => {
+ if (null !== e)
+ if (i && (0, h.kJ)(d)) {
+ var n = t ? (0, M.jX)(d, e) : (0, M.cl)(d, e)
+ f(n)
+ } else t ? f(e) : o && f(-1)
+ },
+ }
+ },
+ focusedIndex: l,
+ setFocusedIndex: c,
+ descendants: s,
+ }
+ }
+ var [B, F] = (0, _.k)({
+ name: 'AccordionContext',
+ errorMessage:
+ 'useAccordionContext: `context` is undefined. Seems you forgot to wrap the accordion components in `<Accordion />`',
+ })
+ function V(e) {
+ var { isDisabled: t, isFocusable: n, id: r } = e,
+ i = D(e, ['isDisabled', 'isFocusable', 'id']),
+ { getAccordionItemProps: o, setFocusedIndex: a } = F(),
+ s = (0, m.useRef)(null),
+ [l, c] = (0, S.ZS)(r, 'accordion-button', 'accordion-panel')
+ !(function (e) {
+ ;(0, u.ZK)({
+ condition: !(!e.isFocusable || e.isDisabled),
+ message:
+ "Using only 'isFocusable', this prop is reserved for situations where you pass 'isDisabled' but you still want the element to receive focus (A11y). Either remove it or pass 'isDisabled' as well.\n ",
+ })
+ })(e)
+ var { register: d, index: h, descendants: p } = z({ disabled: t && !n }),
+ { isOpen: v, onChange: g } = o(-1 === h ? null : h)
+ !(function (e) {
+ ;(0, u.ZK)({
+ condition: e.isOpen && !!e.isDisabled,
+ message: 'Cannot open a disabled accordion item',
+ })
+ })({ isOpen: v, isDisabled: t })
+ var y = (0, m.useCallback)(() => {
+ null == g || g(!v), a(h)
+ }, [h, a, v, g]),
+ b = (0, m.useCallback)(
+ (e) => {
+ var t = {
+ ArrowDown: () => {
+ var e = p.nextEnabled(h)
+ e && (0, R.T)(e.node)
+ },
+ ArrowUp: () => {
+ var e = p.prevEnabled(h)
+ e && (0, R.T)(e.node)
+ },
+ Home: () => {
+ var e = p.firstEnabled()
+ e && (0, R.T)(e.node)
+ },
+ End: () => {
+ var e = p.lastEnabled()
+ e && (0, R.T)(e.node)
+ },
+ }[(0, f.uh)(e)]
+ t && (e.preventDefault(), t(e))
+ },
+ [p, h],
+ ),
+ w = (0, m.useCallback)(() => {
+ a(h)
+ }, [a, h]),
+ x = (0, m.useCallback)(
+ function (e, n) {
+ return (
+ void 0 === e && (e = {}),
+ void 0 === n && (n = null),
+ j({}, e, {
+ type: 'button',
+ ref: (0, P.l)(d, s, n),
+ id: l,
+ disabled: !!t,
+ 'aria-expanded': !!v,
+ 'aria-controls': c,
+ onClick: (0, u.v0)(e.onClick, y),
+ onFocus: (0, u.v0)(e.onFocus, w),
+ onKeyDown: (0, u.v0)(e.onKeyDown, b),
+ })
+ )
+ },
+ [l, t, v, y, w, b, c, d],
+ ),
+ E = (0, m.useCallback)(
+ function (e, t) {
+ return (
+ void 0 === e && (e = {}),
+ void 0 === t && (t = null),
+ j({}, e, { ref: t, role: 'region', id: c, 'aria-labelledby': l, hidden: !v })
+ )
+ },
+ [l, v, c],
+ )
+ return {
+ isOpen: v,
+ isDisabled: t,
+ isFocusable: n,
+ onOpen: () => {
+ null == g || g(!0)
+ },
+ onClose: () => {
+ null == g || g(!1)
+ },
+ getButtonProps: x,
+ getPanelProps: E,
+ htmlProps: i,
+ }
+ }
+ function U() {
+ return (U =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ function G(e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ }
+ var q = (0, i.G)((e, t) => {
+ var { children: n, reduceMotion: r } = e,
+ i = G(e, ['children', 'reduceMotion']),
+ u = (0, o.j)('Accordion', i),
+ c = H((0, a.Lr)(i)),
+ { htmlProps: d, descendants: h } = c,
+ p = G(c, ['htmlProps', 'descendants']),
+ v = m.useMemo(() => U({}, p, { reduceMotion: !!r }), [p, r])
+ return m.createElement(
+ L,
+ { value: h },
+ m.createElement(
+ B,
+ { value: v },
+ m.createElement(
+ s.Fo,
+ { value: u },
+ m.createElement(
+ l.m$.div,
+ U({ ref: t }, d, { className: (0, f.cx)('chakra-accordion', i.className) }),
+ n,
+ ),
+ ),
+ ),
+ )
+ })
+ h.Ts && (q.displayName = 'Accordion')
+ var [W, K] = (0, _.k)({
+ name: 'AccordionItemContext',
+ errorMessage:
+ 'useAccordionItemContext: `context` is undefined. Seems you forgot to wrap the accordion item parts in `<AccordionItem />` ',
+ }),
+ Z = (0, i.G)((e, t) => {
+ var { children: n, className: r } = e,
+ i = V(e),
+ { htmlProps: o } = i,
+ a = G(i, ['htmlProps']),
+ c = U({}, (0, s.yK)().container, { overflowAnchor: 'none' }),
+ d = m.useMemo(() => a, [a])
+ return m.createElement(
+ W,
+ { value: d },
+ m.createElement(
+ l.m$.div,
+ U({ ref: t }, o, { className: (0, f.cx)('chakra-accordion__item', r), __css: c }),
+ (0, u.Pu)(n, { isExpanded: !!a.isOpen, isDisabled: !!a.isDisabled }),
+ ),
+ )
+ })
+ h.Ts && (Z.displayName = 'AccordionItem')
+ var $ = (0, i.G)((e, t) => {
+ var { getButtonProps: n } = K(),
+ r = n(e, t),
+ i = U(
+ { display: 'flex', alignItems: 'center', width: '100%', outline: 0 },
+ (0, s.yK)().button,
+ )
+ return m.createElement(
+ l.m$.button,
+ U({}, r, { className: (0, f.cx)('chakra-accordion__button', e.className), __css: i }),
+ )
+ })
+ h.Ts && ($.displayName = 'AccordionButton')
+ var X = (0, i.G)((e, t) => {
+ var { reduceMotion: n } = F(),
+ { getPanelProps: r, isOpen: i } = K(),
+ o = r(e, t),
+ a = (0, f.cx)('chakra-accordion__panel', e.className),
+ u = (0, s.yK)()
+ n || delete o.hidden
+ var c = m.createElement(l.m$.div, U({}, o, { __css: u.panel, className: a }))
+ return n ? c : m.createElement(T, { in: i }, c)
+ })
+ h.Ts && (X.displayName = 'AccordionPanel')
+ var Y = (e) => {
+ var { isOpen: t, isDisabled: n } = K(),
+ { reduceMotion: i } = F(),
+ o = (0, f.cx)('chakra-accordion__icon', e.className),
+ a = U(
+ {
+ opacity: n ? 0.4 : 1,
+ transform: t ? 'rotate(-180deg)' : void 0,
+ transition: i ? void 0 : 'transform 0.2s',
+ transformOrigin: 'center',
+ },
+ (0, s.yK)().icon,
+ )
+ return m.createElement(
+ r.J,
+ U({ viewBox: '0 0 24 24', 'aria-hidden': !0, className: o, __css: a }, e),
+ m.createElement('path', {
+ fill: 'currentColor',
+ d: 'M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z',
+ }),
+ )
+ }
+ h.Ts && (Y.displayName = 'AccordionIcon')
+ },
+ 155: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ z: function () {
+ return _
+ },
+ })
+ var r = n(2947),
+ i = n(917),
+ o = n(63),
+ a = n(2326),
+ s = n(5284),
+ l = n(5643),
+ u = n(4461),
+ c = n(3808),
+ d = n(5415),
+ f = n(7294)
+ function h() {
+ return (h =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ var p = (0, i.F4)({
+ '0%': { transform: 'rotate(0deg)' },
+ '100%': { transform: 'rotate(360deg)' },
+ }),
+ v = (0, o.G)((e, t) => {
+ var n = (0, a.m)('Spinner', e),
+ r = (0, s.Lr)(e),
+ {
+ label: i = 'Loading...',
+ thickness: o = '2px',
+ speed: c = '0.45s',
+ emptyColor: v = 'transparent',
+ className: m,
+ } = r,
+ g = (function (e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ })(r, ['label', 'thickness', 'speed', 'emptyColor', 'className']),
+ y = (0, u.cx)('chakra-spinner', m),
+ b = h(
+ {
+ display: 'inline-block',
+ borderColor: 'currentColor',
+ borderStyle: 'solid',
+ borderRadius: '99999px',
+ borderWidth: o,
+ borderBottomColor: v,
+ borderLeftColor: v,
+ animation: p + ' ' + c + ' linear infinite',
+ },
+ n,
+ )
+ return f.createElement(
+ l.m$.div,
+ h({ ref: t, __css: b, className: y }, g),
+ i && f.createElement(d.TX, null, i),
+ )
+ })
+ c.Ts && (v.displayName = 'Spinner')
+ var m = n(8554),
+ g = n.n(m),
+ y = n(8500)
+ function b() {
+ return (b =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ var [w, x] = (0, y.k)({ strict: !1, name: 'ButtonGroupContext' }),
+ E = (0, o.G)((e, t) => {
+ var {
+ size: n,
+ colorScheme: r,
+ variant: i,
+ className: o,
+ spacing: a = '0.5rem',
+ isAttached: s,
+ isDisabled: c,
+ } = e,
+ d = (function (e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ })(e, [
+ 'size',
+ 'colorScheme',
+ 'variant',
+ 'className',
+ 'spacing',
+ 'isAttached',
+ 'isDisabled',
+ ]),
+ h = (0, u.cx)('chakra-button__group', o),
+ p = f.useMemo(
+ () => ({ size: n, colorScheme: r, variant: i, isDisabled: c }),
+ [n, r, i, c],
+ ),
+ v = { display: 'inline-flex' }
+ return (
+ (v = b(
+ {},
+ v,
+ s
+ ? {
+ '> *:first-of-type:not(:last-of-type)': { borderEndRadius: 0 },
+ '> *:not(:first-of-type):not(:last-of-type)': { borderRadius: 0 },
+ '> *:not(:first-of-type):last-of-type': { borderStartRadius: 0 },
+ }
+ : { '& > *:not(style) ~ *:not(style)': { marginStart: a } },
+ )),
+ f.createElement(
+ w,
+ { value: p },
+ f.createElement(l.m$.div, b({ ref: t, role: 'group', __css: v, className: h }, d)),
+ )
+ )
+ })
+ function k(e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ }
+ function T() {
+ return (T =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ c.Ts && (E.displayName = 'ButtonGroup')
+ var _ = (0, o.G)((e, t) => {
+ var n,
+ i = x(),
+ o = (0, a.m)('Button', T({}, i, e)),
+ c = (0, s.Lr)(e),
+ {
+ isDisabled: d = null == i ? void 0 : i.isDisabled,
+ isLoading: h,
+ isActive: p,
+ isFullWidth: v,
+ children: m,
+ leftIcon: y,
+ rightIcon: b,
+ loadingText: w,
+ iconSpacing: E = '0.5rem',
+ type: _,
+ spinner: A,
+ spinnerPlacement: S = 'start',
+ className: P,
+ as: M,
+ } = c,
+ R = k(c, [
+ 'isDisabled',
+ 'isLoading',
+ 'isActive',
+ 'isFullWidth',
+ 'children',
+ 'leftIcon',
+ 'rightIcon',
+ 'loadingText',
+ 'iconSpacing',
+ 'type',
+ 'spinner',
+ 'spinnerPlacement',
+ 'className',
+ 'as',
+ ]),
+ j = g()({}, null != (n = null == o ? void 0 : o._focus) ? n : {}, { zIndex: 1 }),
+ D = T(
+ {
+ display: 'inline-flex',
+ appearance: 'none',
+ alignItems: 'center',
+ justifyContent: 'center',
+ userSelect: 'none',
+ position: 'relative',
+ whiteSpace: 'nowrap',
+ verticalAlign: 'middle',
+ outline: 'none',
+ width: v ? '100%' : 'auto',
+ },
+ o,
+ !!i && { _focus: j },
+ ),
+ { ref: L, type: N } = (function (e) {
+ var [t, n] = f.useState(!e),
+ r = f.useCallback((e) => {
+ e && n('BUTTON' === e.tagName)
+ }, []),
+ i = t ? 'button' : void 0
+ return { ref: r, type: i }
+ })(M)
+ return f.createElement(
+ l.m$.button,
+ T(
+ {
+ disabled: d || h,
+ ref: (0, r.l)(t, L),
+ as: M,
+ type: null != _ ? _ : N,
+ 'data-active': (0, u.PB)(p),
+ 'data-loading': (0, u.PB)(h),
+ __css: D,
+ className: (0, u.cx)('chakra-button', P),
+ },
+ R,
+ ),
+ y && !h && f.createElement(O, { marginEnd: E }, y),
+ h &&
+ 'start' === S &&
+ f.createElement(
+ C,
+ { className: 'chakra-button__spinner--start', label: w, placement: 'start' },
+ A,
+ ),
+ h ? w || f.createElement(l.m$.span, { opacity: 0 }, m) : m,
+ h &&
+ 'end' === S &&
+ f.createElement(
+ C,
+ { className: 'chakra-button__spinner--end', label: w, placement: 'end' },
+ A,
+ ),
+ b && !h && f.createElement(O, { marginStart: E }, b),
+ )
+ })
+ c.Ts && (_.displayName = 'Button')
+ var O = (e) => {
+ var { children: t, className: n } = e,
+ r = k(e, ['children', 'className']),
+ i = f.isValidElement(t) ? f.cloneElement(t, { 'aria-hidden': !0, focusable: !1 }) : t,
+ o = (0, u.cx)('chakra-button__icon', n)
+ return f.createElement(
+ l.m$.span,
+ T({ display: 'inline-flex', alignSelf: 'center', flexShrink: 0 }, r, { className: o }),
+ i,
+ )
+ }
+ c.Ts && (O.displayName = 'ButtonIcon')
+ var C = (e) => {
+ var {
+ label: t,
+ placement: n,
+ children: r = f.createElement(v, {
+ color: 'currentColor',
+ width: '1em',
+ height: '1em',
+ }),
+ className: i,
+ __css: o,
+ } = e,
+ a = k(e, ['label', 'placement', 'spacing', 'children', 'className', '__css']),
+ s = (0, u.cx)('chakra-button__spinner', i),
+ c = T(
+ {
+ display: 'flex',
+ alignItems: 'center',
+ position: t ? 'relative' : 'absolute',
+ ['start' === n ? 'marginEnd' : 'marginStart']: t ? '0.5rem' : 0,
+ fontSize: '1em',
+ lineHeight: 'normal',
+ },
+ o,
+ )
+ return f.createElement(l.m$.div, T({ className: s }, a, { __css: c }), r)
+ }
+ c.Ts && (C.displayName = 'ButtonSpinner')
+ },
+ 8420: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ h: function () {
+ return l
+ },
+ })
+ var r = n(63),
+ i = n(3808),
+ o = n(7294),
+ a = n(155)
+ function s() {
+ return (s =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ var l = (0, r.G)((e, t) => {
+ var { icon: n, children: r, isRound: i, 'aria-label': l } = e,
+ u = (function (e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ })(e, ['icon', 'children', 'isRound', 'aria-label']),
+ c = n || r,
+ d = o.isValidElement(c) ? o.cloneElement(c, { 'aria-hidden': !0, focusable: !1 }) : null
+ return o.createElement(
+ a.z,
+ s({ padding: '0', borderRadius: i ? 'full' : void 0, ref: t, 'aria-label': l }, u),
+ d,
+ )
+ })
+ i.Ts && (l.displayName = 'IconButton')
+ },
+ 1033: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ P: function () {
+ return f
+ },
+ })
+ var r = n(58),
+ i = n(63),
+ o = n(2326),
+ a = n(5284),
+ s = n(5643),
+ l = n(3808),
+ u = n(7294)
+ function c() {
+ return (c =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ var d = (e) =>
+ u.createElement(
+ r.J,
+ c({ focusable: 'false', 'aria-hidden': !0 }, e),
+ u.createElement('path', {
+ fill: 'currentColor',
+ d: 'M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z',
+ }),
+ ),
+ f = (0, i.G)((e, t) => {
+ var n = (0, o.m)('CloseButton', e),
+ r = (0, a.Lr)(e),
+ { children: i, isDisabled: l, __css: f } = r,
+ h = (function (e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ })(r, ['children', 'isDisabled', '__css'])
+ return u.createElement(
+ s.m$.button,
+ c(
+ {
+ type: 'button',
+ 'aria-label': 'Close',
+ ref: t,
+ disabled: l,
+ __css: c(
+ {},
+ {
+ outline: 0,
+ display: 'flex',
+ alignItems: 'center',
+ justifyContent: 'center',
+ flexShrink: 0,
+ },
+ n,
+ f,
+ ),
+ },
+ h,
+ ),
+ i || u.createElement(d, { width: '1em', height: '1em' }),
+ )
+ })
+ l.Ts && (f.displayName = 'CloseButton')
+ },
+ 2300: function (e, t, n) {
+ 'use strict'
+ var r = n(5643),
+ i = n(3808),
+ o = n(7294)
+ function a() {
+ return (a =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ var s = (e) => {
+ var {
+ type: t = 'checkbox',
+ _hover: n,
+ _invalid: i,
+ _disabled: s,
+ _focus: l,
+ _checked: u,
+ _child: c = { opacity: 0 },
+ _checkedAndChild: d = { opacity: 1 },
+ _checkedAndDisabled: f,
+ _checkedAndFocus: h,
+ _checkedAndHover: p,
+ children: v,
+ } = e,
+ m = (function (e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ })(e, [
+ 'type',
+ '_hover',
+ '_invalid',
+ '_disabled',
+ '_focus',
+ '_checked',
+ '_child',
+ '_checkedAndChild',
+ '_checkedAndDisabled',
+ '_checkedAndFocus',
+ '_checkedAndHover',
+ 'children',
+ ]),
+ g = 'input[type=' + t + ']:checked:disabled + &',
+ y = 'input[type=' + t + ']:checked:hover:not(:disabled) + &',
+ b = 'input[type=' + t + ']:checked:focus + &',
+ w = 'input[type=' + t + ']:disabled + &',
+ x = 'input[type=' + t + ']:focus + &',
+ E = 'input[type=' + t + ']:hover:not(:disabled):not(:checked) + &',
+ k = 'input[type=' + t + ']:checked + &, input[type=' + t + '][aria-checked=mixed] + &',
+ T = 'input[type=' + t + '][aria-invalid=true] + &',
+ _ = '& > *'
+ return o.createElement(
+ r.m$.div,
+ a({}, m, {
+ 'aria-hidden': !0,
+ __css: {
+ display: 'inline-flex',
+ alignItems: 'center',
+ justifyContent: 'center',
+ transitionProperty: 'common',
+ transitionDuration: 'fast',
+ flexShrink: 0,
+ [x]: l,
+ [E]: n,
+ [w]: s,
+ [T]: i,
+ [g]: f,
+ [b]: h,
+ [y]: p,
+ [_]: c,
+ [k]: a({}, u, { [_]: d }),
+ },
+ }),
+ v,
+ )
+ }
+ i.Ts && (s.displayName = 'ControlBox')
+ },
+ 1888: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ n: function () {
+ return v
+ },
+ })
+ var r = n(8500),
+ i = n(2947),
+ o = n(7294)
+ function a(e) {
+ return e.sort((e, t) => {
+ var n = e.compareDocumentPosition(t)
+ if (n & Node.DOCUMENT_POSITION_FOLLOWING || n & Node.DOCUMENT_POSITION_CONTAINED_BY)
+ return -1
+ if (n & Node.DOCUMENT_POSITION_PRECEDING || n & Node.DOCUMENT_POSITION_CONTAINS) return 1
+ if (
+ n & Node.DOCUMENT_POSITION_DISCONNECTED ||
+ n & Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC
+ )
+ throw Error('Cannot sort the given nodes.')
+ return 0
+ })
+ }
+ function s(e, t, n) {
+ var r = e + 1
+ return n && r >= t && (r = 0), r
+ }
+ function l(e, t, n) {
+ var r = e - 1
+ return n && r < 0 && (r = t), r
+ }
+ var u = 'undefined' !== typeof window ? o.useLayoutEffect : o.useEffect
+ function c() {
+ return (c =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ function d(e, t, n) {
+ return (
+ t in e
+ ? Object.defineProperty(e, t, {
+ value: n,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0,
+ })
+ : (e[t] = n),
+ e
+ )
+ }
+ class f {
+ constructor() {
+ var e = this
+ d(this, 'descendants', new Map()),
+ d(this, 'register', (e) => {
+ var t
+ if (null != e)
+ return 'object' == typeof (t = e) &&
+ 'nodeType' in t &&
+ t.nodeType === Node.ELEMENT_NODE
+ ? this.registerNode(e)
+ : (t) => {
+ this.registerNode(t, e)
+ }
+ }),
+ d(this, 'unregister', (e) => {
+ this.descendants.delete(e)
+ var t = a(Array.from(this.descendants.keys()))
+ this.assignIndex(t)
+ }),
+ d(this, 'destroy', () => {
+ this.descendants.clear()
+ }),
+ d(this, 'assignIndex', (e) => {
+ this.descendants.forEach((t) => {
+ var n = e.indexOf(t.node)
+ ;(t.index = n), (t.node.dataset.index = t.index.toString())
+ })
+ }),
+ d(this, 'count', () => this.descendants.size),
+ d(this, 'enabledCount', () => this.enabledValues().length),
+ d(this, 'values', () =>
+ Array.from(this.descendants.values()).sort((e, t) => e.index - t.index),
+ ),
+ d(this, 'enabledValues', () => this.values().filter((e) => !e.disabled)),
+ d(this, 'item', (e) => {
+ if (0 !== this.count()) return this.values()[e]
+ }),
+ d(this, 'enabledItem', (e) => {
+ if (0 !== this.enabledCount()) return this.enabledValues()[e]
+ }),
+ d(this, 'first', () => this.item(0)),
+ d(this, 'firstEnabled', () => this.enabledItem(0)),
+ d(this, 'last', () => this.item(this.descendants.size - 1)),
+ d(this, 'lastEnabled', () => {
+ var e = this.enabledValues().length - 1
+ return this.enabledItem(e)
+ }),
+ d(this, 'indexOf', (e) => {
+ var t, n
+ return e && null != (t = null == (n = this.descendants.get(e)) ? void 0 : n.index)
+ ? t
+ : -1
+ }),
+ d(this, 'enabledIndexOf', (e) =>
+ null == e ? -1 : this.enabledValues().findIndex((t) => t.node.isSameNode(e)),
+ ),
+ d(this, 'next', function (t, n) {
+ void 0 === n && (n = !0)
+ var r = s(t, e.count(), n)
+ return e.item(r)
+ }),
+ d(this, 'nextEnabled', function (t, n) {
+ void 0 === n && (n = !0)
+ var r = e.item(t)
+ if (r) {
+ var i = s(e.enabledIndexOf(r.node), e.enabledCount(), n)
+ return e.enabledItem(i)
+ }
+ }),
+ d(this, 'prev', function (t, n) {
+ void 0 === n && (n = !0)
+ var r = l(t, e.count() - 1, n)
+ return e.item(r)
+ }),
+ d(this, 'prevEnabled', function (t, n) {
+ void 0 === n && (n = !0)
+ var r = e.item(t)
+ if (r) {
+ var i = l(e.enabledIndexOf(r.node), e.enabledCount() - 1, n)
+ return e.enabledItem(i)
+ }
+ }),
+ d(this, 'registerNode', (e, t) => {
+ if (e && !this.descendants.has(e)) {
+ var n = a(Array.from(this.descendants.keys()).concat(e))
+ null != t && t.disabled && (t.disabled = !!t.disabled)
+ var r = c({ node: e, index: -1 }, t)
+ this.descendants.set(e, r), this.assignIndex(n)
+ }
+ })
+ }
+ }
+ var [h, p] = (0, r.k)({
+ name: 'DescendantsProvider',
+ errorMessage: 'useDescendantsContext must be used within DescendantsProvider',
+ })
+ function v() {
+ return [
+ h,
+ () => p(),
+ () =>
+ (function () {
+ var [e] = (0, o.useState)(() => new f())
+ return u(() => () => e.destroy()), e
+ })(),
+ (e) =>
+ (function (e) {
+ var t = p(),
+ [n, r] = (0, o.useState)(-1),
+ a = (0, o.useRef)(null)
+ u(
+ () => () => {
+ a.current && t.unregister(a.current)
+ },
+ [],
+ ),
+ u(() => {
+ if (a.current) {
+ var e = Number(a.current.dataset.index)
+ n == e || Number.isNaN(e) || r(e)
+ }
+ })
+ var s = e ? t.register(e) : t.register
+ return {
+ descendants: t,
+ index: n,
+ enabledIndex: t.enabledIndexOf(a.current),
+ register: (0, i.l)(s, a),
+ }
+ })(e),
+ ]
+ }
+ },
+ 639: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ k: function () {
+ return i
+ },
+ })
+ var r = n(7294)
+ function i(e) {
+ void 0 === e && (e = !1)
+ var [t, n] = (0, r.useState)(e)
+ return [
+ t,
+ {
+ on: (0, r.useCallback)(() => {
+ n(!0)
+ }, []),
+ off: (0, r.useCallback)(() => {
+ n(!1)
+ }, []),
+ toggle: (0, r.useCallback)(() => {
+ n((e) => !e)
+ }, []),
+ },
+ ]
+ }
+ },
+ 762: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ W: function () {
+ return o
+ },
+ })
+ var r = n(7294),
+ i = n(8327)
+ function o(e, t) {
+ void 0 === t && (t = [])
+ var n = r.useRef(e)
+ return (
+ (0, i.G)(() => {
+ n.current = e
+ }),
+ r.useCallback(function () {
+ for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++) t[r] = arguments[r]
+ return null == n.current ? void 0 : n.current(...t)
+ }, t)
+ )
+ }
+ },
+ 1034: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ p: function () {
+ return a
+ },
+ T: function () {
+ return s
+ },
+ })
+ var r = n(658),
+ i = n(7294),
+ o = n(762)
+ function a(e, t) {
+ var n = void 0 !== e
+ return [n, n && 'undefined' !== typeof e ? e : t]
+ }
+ function s(e) {
+ var { value: t, defaultValue: n, onChange: a, shouldUpdate: s = (e, t) => e !== t } = e,
+ l = (0, o.W)(a),
+ u = (0, o.W)(s),
+ [c, d] = i.useState(n),
+ f = void 0 !== t,
+ h = f ? t : c,
+ p = i.useCallback(
+ (e) => {
+ var t = (0, r.Pu)(e, h)
+ u(h, t) && (f || d(t), l(t))
+ },
+ [f, l, h, u],
+ )
+ return [h, p]
+ }
+ },
+ 4860: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ q: function () {
+ return l
+ },
+ })
+ var r = n(658),
+ i = n(7294),
+ o = n(1034),
+ a = n(4577)
+ function s() {
+ return (s =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ function l(e) {
+ void 0 === e && (e = {})
+ var { onClose: t, onOpen: n, isOpen: l, id: u } = e,
+ [c, d] = i.useState(e.defaultIsOpen || !1),
+ [f, h] = (0, o.p)(l, c),
+ p = (0, a.Me)(u, 'disclosure'),
+ v = i.useCallback(() => {
+ f || d(!1), null == t || t()
+ }, [f, t]),
+ m = i.useCallback(() => {
+ f || d(!0), null == n || n()
+ }, [f, n]),
+ g = i.useCallback(() => {
+ ;(h ? v : m)()
+ }, [h, m, v])
+ return {
+ isOpen: !!h,
+ onOpen: m,
+ onClose: v,
+ onToggle: g,
+ isControlled: f,
+ getButtonProps: function (e) {
+ return (
+ void 0 === e && (e = {}),
+ s({}, e, {
+ 'aria-expanded': 'true',
+ 'aria-controls': p,
+ onClick: (0, r.v0)(e.onClick, g),
+ })
+ )
+ },
+ getDisclosureProps: function (e) {
+ return void 0 === e && (e = {}), s({}, e, { hidden: !h, id: p })
+ },
+ }
+ }
+ },
+ 4941: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ O: function () {
+ return a
+ },
+ })
+ var r = n(658),
+ i = n(7294),
+ o = n(762)
+ function a(e, t, n, a) {
+ var s = (0, o.W)(t)
+ return (
+ i.useEffect(() => {
+ var t,
+ i = null != (t = (0, r.Pu)(n)) ? t : document
+ return (
+ i.addEventListener(e, s, a),
+ () => {
+ i.removeEventListener(e, s, a)
+ }
+ )
+ }, [e, n, a, s]),
+ () => {
+ var t
+ ;(null != (t = (0, r.Pu)(n)) ? t : document).removeEventListener(e, s, a)
+ }
+ )
+ }
+ },
+ 8327: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ G: function () {
+ return i
+ },
+ })
+ var r = n(7294),
+ i = n(4461).jU ? r.useLayoutEffect : r.useEffect
+ },
+ 7581: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ z: function () {
+ return i
+ },
+ })
+ var r = n(7294)
+ function i(e, t) {
+ return void 0 === t && (t = []), r.useEffect(() => () => e(), t)
+ }
+ },
+ 2653: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ r: function () {
+ return i
+ },
+ })
+ var r = n(7294),
+ i = (e, t) => {
+ var n = r.useRef(!1)
+ return (
+ r.useEffect(() => {
+ if (n.current) return e()
+ n.current = !0
+ }, t),
+ n.current
+ )
+ }
+ },
+ 9867: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ I: function () {
+ return l
+ },
+ })
+ var r = n(63),
+ i = n(3808),
+ o = n(7294),
+ a = n(58)
+ function s() {
+ return (s =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ function l(e) {
+ var { viewBox: t = '0 0 24 24', d: n, path: l, displayName: u, defaultProps: c = {} } = e,
+ d = (0, r.G)((e, r) =>
+ o.createElement(
+ a.J,
+ s({ ref: r, viewBox: t }, c, e),
+ null != l ? l : o.createElement('path', { fill: 'currentColor', d: n }),
+ ),
+ )
+ return i.Ts && (d.displayName = u), d
+ }
+ },
+ 58: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ J: function () {
+ return c
+ },
+ })
+ var r = n(63),
+ i = n(5643),
+ o = n(4461),
+ a = n(3808),
+ s = n(7294)
+ function l() {
+ return (l =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ var u = {
+ path: s.createElement(
+ 'g',
+ { stroke: 'currentColor', strokeWidth: '1.5' },
+ s.createElement('path', {
+ strokeLinecap: 'round',
+ fill: 'none',
+ d: 'M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25',
+ }),
+ s.createElement('path', {
+ fill: 'currentColor',
+ strokeLinecap: 'round',
+ d: 'M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0',
+ }),
+ s.createElement('circle', {
+ fill: 'none',
+ strokeMiterlimit: '10',
+ cx: '12',
+ cy: '12',
+ r: '11.25',
+ }),
+ ),
+ viewBox: '0 0 24 24',
+ },
+ c = (0, r.G)((e, t) => {
+ var {
+ as: n,
+ viewBox: r,
+ color: a = 'currentColor',
+ focusable: c = !1,
+ children: d,
+ className: f,
+ __css: h,
+ } = e,
+ p = (function (e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ })(e, ['as', 'viewBox', 'color', 'focusable', 'children', 'className', '__css']),
+ v = {
+ ref: t,
+ focusable: c,
+ className: (0, o.cx)('chakra-icon', f),
+ __css: l(
+ {
+ w: '1em',
+ h: '1em',
+ display: 'inline-block',
+ lineHeight: '1em',
+ flexShrink: 0,
+ color: a,
+ },
+ h,
+ ),
+ },
+ m = null != r ? r : u.viewBox
+ if (n && 'string' !== typeof n) return s.createElement(i.m$.svg, l({ as: n }, v, p))
+ var g = null != d ? d : u.path
+ return s.createElement(i.m$.svg, l({ verticalAlign: 'middle', viewBox: m }, v, p), g)
+ })
+ a.Ts && (c.displayName = 'Icon')
+ },
+ 6569: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ v: function () {
+ return r
+ },
+ })
+ var r = (0, n(9867).I)({
+ displayName: 'ChevronDownIcon',
+ d: 'M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z',
+ })
+ },
+ 4189: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ h: function () {
+ return o
+ },
+ })
+ var r = n(9867),
+ i = n(7294),
+ o = (0, r.I)({
+ displayName: 'InfoOutlineIcon',
+ path: i.createElement(
+ 'g',
+ {
+ fill: 'currentColor',
+ stroke: 'currentColor',
+ strokeLinecap: 'square',
+ strokeWidth: '2',
+ },
+ i.createElement('circle', {
+ cx: '12',
+ cy: '12',
+ fill: 'none',
+ r: '11',
+ stroke: 'currentColor',
+ }),
+ i.createElement('line', {
+ fill: 'none',
+ x1: '11.959',
+ x2: '11.959',
+ y1: '11',
+ y2: '17',
+ }),
+ i.createElement('circle', { cx: '11.959', cy: '7', r: '1', stroke: 'none' }),
+ ),
+ })
+ },
+ 3986: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ A: function () {
+ return o
+ },
+ })
+ var r = n(9867),
+ i = n(7294),
+ o = (0, r.I)({
+ displayName: 'RepeatClockIcon',
+ path: i.createElement(
+ 'g',
+ { fill: 'currentColor' },
+ i.createElement('path', {
+ d: 'M12.965,6a1,1,0,0,0-1,1v5.5a1,1,0,0,0,1,1h5a1,1,0,0,0,0-2h-3.75a.25.25,0,0,1-.25-.25V7A1,1,0,0,0,12.965,6Z',
+ }),
+ i.createElement('path', {
+ d: 'M12.567,1.258A10.822,10.822,0,0,0,2.818,8.4a.25.25,0,0,1-.271.163L.858,8.309a.514.514,0,0,0-.485.213.5.5,0,0,0-.021.53l2.679,4.7a.5.5,0,0,0,.786.107l3.77-3.746a.5.5,0,0,0-.279-.85L5.593,9.007a.25.25,0,0,1-.192-.35,8.259,8.259,0,1,1,7.866,11.59,1.25,1.25,0,0,0,.045,2.5h.047a10.751,10.751,0,1,0-.792-21.487Z',
+ }),
+ ),
+ })
+ },
+ 3924: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ e: function () {
+ return r
+ },
+ })
+ var r = (0, n(9867).I)({
+ viewBox: '0 0 14 14',
+ d: 'M14,7.77 L14,6.17 L12.06,5.53 L11.61,4.44 L12.49,2.6 L11.36,1.47 L9.55,2.38 L8.46,1.93 L7.77,0.01 L6.17,0.01 L5.54,1.95 L4.43,2.4 L2.59,1.52 L1.46,2.65 L2.37,4.46 L1.92,5.55 L0,6.23 L0,7.82 L1.94,8.46 L2.39,9.55 L1.51,11.39 L2.64,12.52 L4.45,11.61 L5.54,12.06 L6.23,13.98 L7.82,13.98 L8.45,12.04 L9.56,11.59 L11.4,12.47 L12.53,11.34 L11.61,9.53 L12.08,8.44 L14,7.75 L14,7.77 Z M7,10 C5.34,10 4,8.66 4,7 C4,5.34 5.34,4 7,4 C8.66,4 10,5.34 10,7 C10,8.66 8.66,10 7,10 Z',
+ displayName: 'SettingsIcon',
+ })
+ },
+ 8017: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ xu: function () {
+ return u
+ },
+ })
+ var r = n(5643),
+ i = n(63),
+ o = n(3808),
+ a = n(7294)
+ function s() {
+ return (s =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ function l(e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ }
+ var u = (0, r.m$)('div')
+ o.Ts && (u.displayName = 'Box')
+ var c = (0, i.G)((e, t) => {
+ var { size: n, centerContent: r = !0 } = e,
+ i = l(e, ['size', 'centerContent']),
+ o = r ? { display: 'flex', alignItems: 'center', justifyContent: 'center' } : {}
+ return a.createElement(
+ u,
+ s({ ref: t, boxSize: n, __css: s({}, o, { flexShrink: 0, flexGrow: 0 }) }, i),
+ )
+ })
+ o.Ts && (c.displayName = 'Square')
+ var d = (0, i.G)((e, t) => {
+ var { size: n } = e,
+ r = l(e, ['size'])
+ return a.createElement(c, s({ size: n, ref: t, borderRadius: '9999px' }, r))
+ })
+ o.Ts && (d.displayName = 'Circle')
+ },
+ 4096: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ k: function () {
+ return l
+ },
+ })
+ var r = n(63),
+ i = n(5643),
+ o = n(3808),
+ a = n(7294)
+ function s() {
+ return (s =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ var l = (0, r.G)((e, t) => {
+ var { direction: n, align: r, justify: o, wrap: l, basis: u, grow: c, shrink: d } = e,
+ f = (function (e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ })(e, ['direction', 'align', 'justify', 'wrap', 'basis', 'grow', 'shrink']),
+ h = {
+ display: 'flex',
+ flexDirection: n,
+ alignItems: r,
+ justifyContent: o,
+ flexWrap: l,
+ flexBasis: u,
+ flexGrow: c,
+ flexShrink: d,
+ }
+ return a.createElement(i.m$.div, s({ ref: t, __css: h }, f))
+ })
+ o.Ts && (l.displayName = 'Flex')
+ },
+ 2026: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ cX: function () {
+ return h
+ },
+ gC: function () {
+ return g
+ },
+ })
+ var r = n(5643),
+ i = n(63),
+ o = n(4461),
+ a = n(3808),
+ s = n(4255),
+ l = n(7294),
+ u = n(5505)
+ Object.freeze(['base', 'sm', 'md', 'lg', 'xl', '2xl'])
+ function c(e, t) {
+ return (0, a.kJ)(e)
+ ? e.map((e) => (null === e ? null : t(e)))
+ : (0, a.Kn)(e)
+ ? (0, u.Yd)(e).reduce((n, r) => ((n[r] = t(e[r])), n), {})
+ : null != e
+ ? t(e)
+ : null
+ }
+ var d = '& > *:not(style) ~ *:not(style)'
+ function f() {
+ return (f =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ var h = (e) =>
+ l.createElement(
+ r.m$.div,
+ f({ className: 'chakra-stack__divider' }, e, {
+ __css: f({}, e.__css, {
+ borderWidth: 0,
+ alignSelf: 'stretch',
+ borderColor: 'inherit',
+ width: 'auto',
+ height: 'auto',
+ }),
+ }),
+ ),
+ p = (e) =>
+ l.createElement(
+ r.m$.div,
+ f({ className: 'chakra-stack__item' }, e, {
+ __css: f({ display: 'inline-block', flex: '0 0 auto', minWidth: 0 }, e.__css),
+ }),
+ ),
+ v = (0, i.G)((e, t) => {
+ var {
+ isInline: n,
+ direction: i,
+ align: a,
+ justify: u,
+ spacing: h = '0.5rem',
+ wrap: v,
+ children: m,
+ divider: g,
+ className: y,
+ shouldWrapChildren: b,
+ } = e,
+ w = (function (e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ })(e, [
+ 'isInline',
+ 'direction',
+ 'align',
+ 'justify',
+ 'spacing',
+ 'wrap',
+ 'children',
+ 'divider',
+ 'className',
+ 'shouldWrapChildren',
+ ]),
+ x = n ? 'row' : null != i ? i : 'column',
+ E = l.useMemo(
+ () =>
+ (function (e) {
+ var { spacing: t, direction: n } = e,
+ r = {
+ column: { marginTop: t, marginEnd: 0, marginBottom: 0, marginStart: 0 },
+ row: { marginTop: 0, marginEnd: 0, marginBottom: 0, marginStart: t },
+ 'column-reverse': {
+ marginTop: 0,
+ marginEnd: 0,
+ marginBottom: t,
+ marginStart: 0,
+ },
+ 'row-reverse': {
+ marginTop: 0,
+ marginEnd: t,
+ marginBottom: 0,
+ marginStart: 0,
+ },
+ }
+ return { flexDirection: n, [d]: c(n, (e) => r[e]) }
+ })({ direction: x, spacing: h }),
+ [x, h],
+ ),
+ k = l.useMemo(
+ () =>
+ (function (e) {
+ var { spacing: t, direction: n } = e,
+ r = {
+ column: { my: t, mx: 0, borderLeftWidth: 0, borderBottomWidth: '1px' },
+ 'column-reverse': {
+ my: t,
+ mx: 0,
+ borderLeftWidth: 0,
+ borderBottomWidth: '1px',
+ },
+ row: { mx: t, my: 0, borderLeftWidth: '1px', borderBottomWidth: 0 },
+ 'row-reverse': { mx: t, my: 0, borderLeftWidth: '1px', borderBottomWidth: 0 },
+ }
+ return { '&': c(n, (e) => r[e]) }
+ })({ spacing: h, direction: x }),
+ [h, x],
+ ),
+ T = !!g,
+ _ = !b && !T,
+ O = (0, s.W)(m),
+ C = _
+ ? O
+ : O.map((e, t) => {
+ var n = t + 1 === O.length,
+ r = b ? l.createElement(p, { key: t }, e) : e
+ if (!T) return r
+ var i = n ? null : l.cloneElement(g, { __css: k })
+ return l.createElement(l.Fragment, { key: t }, r, i)
+ }),
+ A = (0, o.cx)('chakra-stack', y)
+ return l.createElement(
+ r.m$.div,
+ f(
+ {
+ ref: t,
+ display: 'flex',
+ alignItems: a,
+ justifyContent: u,
+ flexDirection: E.flexDirection,
+ flexWrap: v,
+ className: A,
+ __css: T ? {} : { [d]: E[d] },
+ },
+ w,
+ ),
+ C,
+ )
+ })
+ a.Ts && (v.displayName = 'Stack')
+ var m = (0, i.G)((e, t) =>
+ l.createElement(v, f({ align: 'center' }, e, { direction: 'row', ref: t })),
+ )
+ a.Ts && (m.displayName = 'HStack')
+ var g = (0, i.G)((e, t) =>
+ l.createElement(v, f({ align: 'center' }, e, { direction: 'column', ref: t })),
+ )
+ a.Ts && (g.displayName = 'VStack')
+ },
+ 4115: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ x: function () {
+ return f
+ },
+ })
+ var r = n(63),
+ i = n(2326),
+ o = n(5284),
+ a = n(5643),
+ s = n(5505),
+ l = n(4461),
+ u = n(3808),
+ c = n(7294)
+ function d() {
+ return (d =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ var f = (0, r.G)((e, t) => {
+ var n = (0, i.m)('Text', e),
+ r = (function (e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ })((0, o.Lr)(e), ['className', 'align', 'decoration', 'casing']),
+ u = (0, s.YU)({
+ textAlign: e.align,
+ textDecoration: e.decoration,
+ textTransform: e.casing,
+ })
+ return c.createElement(
+ a.m$.p,
+ d({ ref: t, className: (0, l.cx)('chakra-text', e.className) }, u, r, { __css: n }),
+ )
+ })
+ u.Ts && (f.displayName = 'Text')
+ },
+ 8235: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ v2: function () {
+ return G
+ },
+ j2: function () {
+ return W
+ },
+ sN: function () {
+ return Y
+ },
+ qy: function () {
+ return $
+ },
+ })
+ var r = n(2326),
+ i = n(5284),
+ o = n(9676),
+ a = n(63),
+ s = n(5643),
+ l = n(658),
+ u = n(3808),
+ c = n(4461),
+ d = n(7554),
+ f = n(7294),
+ h = n(2947)
+ function p() {
+ return (p =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ function v(e) {
+ var t = e.target,
+ { tagName: n, isContentEditable: r } = t
+ return 'INPUT' !== n && 'TEXTAREA' !== n && !0 !== r
+ }
+ function m(e) {
+ void 0 === e && (e = {})
+ var {
+ ref: t,
+ isDisabled: n,
+ isFocusable: r,
+ clickOnEnter: i = !0,
+ clickOnSpace: o = !0,
+ onMouseDown: a,
+ onMouseUp: s,
+ onClick: l,
+ onKeyDown: u,
+ onKeyUp: d,
+ tabIndex: m,
+ onMouseOver: g,
+ onMouseLeave: y,
+ } = e,
+ b = (function (e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ })(e, [
+ 'ref',
+ 'isDisabled',
+ 'isFocusable',
+ 'clickOnEnter',
+ 'clickOnSpace',
+ 'onMouseDown',
+ 'onMouseUp',
+ 'onClick',
+ 'onKeyDown',
+ 'onKeyUp',
+ 'tabIndex',
+ 'onMouseOver',
+ 'onMouseLeave',
+ ]),
+ [w, x] = f.useState(!0),
+ [E, k] = f.useState(!1),
+ T = (function () {
+ var e = f.useRef(new Map()),
+ t = e.current,
+ n = f.useCallback((t, n, r, i) => {
+ e.current.set(r, { type: n, el: t, options: i }), t.addEventListener(n, r, i)
+ }, []),
+ r = f.useCallback((t, n, r, i) => {
+ t.removeEventListener(n, r, i), e.current.delete(r)
+ }, [])
+ return (
+ f.useEffect(
+ () => () => {
+ t.forEach((e, t) => {
+ r(e.el, e.type, t, e.options)
+ })
+ },
+ [r, t],
+ ),
+ { add: n, remove: r }
+ )
+ })(),
+ _ = w ? m : m || 0,
+ O = n && !r,
+ C = f.useCallback(
+ (e) => {
+ if (n) return e.stopPropagation(), void e.preventDefault()
+ e.currentTarget.focus(), null == l || l(e)
+ },
+ [n, l],
+ ),
+ A = f.useCallback(
+ (e) => {
+ E &&
+ v(e) &&
+ (e.preventDefault(), e.stopPropagation(), k(!1), T.remove(document, 'keyup', A, !1))
+ },
+ [E, T],
+ ),
+ S = f.useCallback(
+ (e) => {
+ if (
+ (null == u || u(e),
+ !(n || e.defaultPrevented || e.metaKey) && v(e.nativeEvent) && !w)
+ ) {
+ var t = i && 'Enter' === e.key
+ if ((o && ' ' === e.key && (e.preventDefault(), k(!0)), t))
+ e.preventDefault(), e.currentTarget.click()
+ T.add(document, 'keyup', A, !1)
+ }
+ },
+ [n, w, u, i, o, T, A],
+ ),
+ P = f.useCallback(
+ (e) => {
+ ;(null == d || d(e), n || e.defaultPrevented || e.metaKey) ||
+ (v(e.nativeEvent) &&
+ !w &&
+ o &&
+ ' ' === e.key &&
+ (e.preventDefault(), k(!1), e.currentTarget.click()))
+ },
+ [o, w, n, d],
+ ),
+ M = f.useCallback(
+ (e) => {
+ 0 === e.button && (k(!1), T.remove(document, 'mouseup', M, !1))
+ },
+ [T],
+ ),
+ R = f.useCallback(
+ (e) => {
+ if (!(0, c.dO)(e)) {
+ if (n) return e.stopPropagation(), void e.preventDefault()
+ w || k(!0),
+ e.currentTarget.focus({ preventScroll: !0 }),
+ T.add(document, 'mouseup', M, !1),
+ null == a || a(e)
+ }
+ },
+ [n, w, a, T, M],
+ ),
+ j = f.useCallback(
+ (e) => {
+ ;(0, c.dO)(e) || (w || k(!1), null == s || s(e))
+ },
+ [s, w],
+ ),
+ D = f.useCallback(
+ (e) => {
+ n ? e.preventDefault() : null == g || g(e)
+ },
+ [n, g],
+ ),
+ L = f.useCallback(
+ (e) => {
+ E && (e.preventDefault(), k(!1)), null == y || y(e)
+ },
+ [E, y],
+ ),
+ N = (0, h.l)(t, (e) => {
+ e && 'BUTTON' !== e.tagName && x(!1)
+ })
+ return p(
+ {},
+ b,
+ w
+ ? {
+ ref: N,
+ type: 'button',
+ 'aria-disabled': O ? void 0 : n,
+ disabled: O,
+ onClick: C,
+ onMouseDown: a,
+ onMouseUp: s,
+ onKeyUp: d,
+ onKeyDown: u,
+ onMouseOver: g,
+ onMouseLeave: y,
+ }
+ : {
+ ref: N,
+ role: 'button',
+ 'data-active': (0, c.PB)(E),
+ 'aria-disabled': n ? 'true' : void 0,
+ tabIndex: O ? void 0 : _,
+ onClick: C,
+ onMouseDown: R,
+ onMouseUp: j,
+ onKeyUp: P,
+ onKeyDown: S,
+ onMouseOver: D,
+ onMouseLeave: L,
+ },
+ )
+ }
+ var g = n(1888),
+ y = n(4860),
+ b = n(762)
+ function w(e, t) {
+ var n,
+ r = e.target
+ if (e.button > 0) return !1
+ if (r && !(0, c.lZ)(r).body.contains(r)) return !1
+ return !(null != (n = t.current) && n.contains(r))
+ }
+ var x = n(2653),
+ E = n(7768),
+ k = n(7248)
+ function T(e, t) {
+ var { shouldFocus: n, visible: r, focusRef: i } = t,
+ o = n && !r
+ ;(0, x.r)(() => {
+ if (
+ o &&
+ !(function (e) {
+ var t = e.current
+ if (!t) return !1
+ var n = (0, c.vY)(t)
+ return !!n && !(0, c.r3)(t, n) && !!(0, E.Wq)(n)
+ })(e)
+ ) {
+ var t = (null == i ? void 0 : i.current) || e.current
+ t && (0, k.T)(t, { nextTick: !0 })
+ }
+ }, [o, e, i])
+ }
+ var _ = n(4577),
+ O = n(7581)
+ function C(e) {
+ void 0 === e && (e = {})
+ var { timeout: t = 300, preventDefault: n = () => !0 } = e,
+ [r, i] = f.useState([]),
+ o = f.useRef(),
+ a = () => {
+ o.current && (clearTimeout(o.current), (o.current = null))
+ }
+ return (
+ f.useEffect(() => a, []),
+ function (e) {
+ return (s) => {
+ if ('Backspace' === s.key) {
+ var l = [...r]
+ return l.pop(), void i(l)
+ }
+ if (
+ (function (e) {
+ var { key: t } = e
+ return 1 === t.length || (t.length > 1 && /[^a-zA-Z0-9]/.test(t))
+ })(s)
+ ) {
+ var u = r.concat(s.key)
+ n(s) && (s.preventDefault(), s.stopPropagation()),
+ i(u),
+ e(u.join('')),
+ a(),
+ (o.current = setTimeout(() => {
+ i([]), (o.current = null)
+ }, t))
+ }
+ }
+ }
+ )
+ }
+ n(1034)
+ var A = n(8931),
+ S = n(8500),
+ P = (n(4255), n(7277))
+ function M() {
+ return (M =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ function R(e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ }
+ var [j, D, L, N] = (0, g.n)(),
+ [I, z] = (0, S.k)({ strict: !1, name: 'MenuContext' })
+ function H(e) {
+ void 0 === e && (e = {})
+ var {
+ id: t,
+ closeOnSelect: n = !0,
+ closeOnBlur: r = !0,
+ autoSelect: i = !0,
+ isLazy: o,
+ isOpen: a,
+ defaultIsOpen: s,
+ onClose: l,
+ onOpen: u,
+ placement: d = 'bottom-start',
+ lazyBehavior: h = 'unmount',
+ computePositionOnMount: p,
+ } = e,
+ v = R(e, [
+ 'id',
+ 'closeOnSelect',
+ 'closeOnBlur',
+ 'autoSelect',
+ 'isLazy',
+ 'isOpen',
+ 'defaultIsOpen',
+ 'onClose',
+ 'onOpen',
+ 'placement',
+ 'lazyBehavior',
+ 'computePositionOnMount',
+ ]),
+ {
+ isOpen: m,
+ onOpen: g,
+ onClose: E,
+ onToggle: C,
+ } = (0, y.q)({ isOpen: a, defaultIsOpen: s, onClose: l, onOpen: u }),
+ S = f.useRef(null),
+ P = f.useRef(null)
+ !(function (e) {
+ var { ref: t, handler: n } = e,
+ r = (0, b.W)(n),
+ i = (0, f.useRef)({ isPointerDown: !1, ignoreEmulatedMouseEvents: !1 }).current
+ ;(0, f.useEffect)(() => {
+ var e = (e) => {
+ w(e, t) && (i.isPointerDown = !0)
+ },
+ o = (e) => {
+ i.ignoreEmulatedMouseEvents
+ ? (i.ignoreEmulatedMouseEvents = !1)
+ : i.isPointerDown && n && w(e, t) && ((i.isPointerDown = !1), r(e))
+ },
+ a = (e) => {
+ ;(i.ignoreEmulatedMouseEvents = !0),
+ n && i.isPointerDown && w(e, t) && ((i.isPointerDown = !1), r(e))
+ },
+ s = (0, c.lZ)(t.current)
+ return (
+ s.addEventListener('mousedown', e, !0),
+ s.addEventListener('mouseup', o, !0),
+ s.addEventListener('touchstart', e, !0),
+ s.addEventListener('touchend', a, !0),
+ () => {
+ s.removeEventListener('mousedown', e, !0),
+ s.removeEventListener('mouseup', o, !0),
+ s.removeEventListener('touchstart', e, !0),
+ s.removeEventListener('touchend', a, !0)
+ }
+ )
+ }, [n, t, r, i])
+ })({
+ ref: S,
+ handler: (e) => {
+ var t
+ !m || !r || (null != (t = P.current) && t.contains(e.target)) || E()
+ },
+ })
+ var j = (0, A.D)(M({}, v, { enabled: m || p, placement: d })),
+ [D, N] = f.useState(-1),
+ I = L()
+ ;(0, x.r)(() => {
+ m || N(-1)
+ }, [m]),
+ T(S, { focusRef: P, visible: m, shouldFocus: !0 })
+ var [z, H] = (0, _.ZS)(t, 'menu-button', 'menu-list'),
+ B = f.useCallback(() => {
+ g(), (0, k.T)(S.current, { nextTick: !0, selectTextIfInput: !1 })
+ }, [g, S]),
+ F = f.useRef(new Set([]))
+ return (
+ (0, O.z)(() => {
+ F.current.forEach((e) => clearTimeout(e)), F.current.clear()
+ }),
+ {
+ openAndFocusMenu: B,
+ openAndFocusFirstItem: f.useCallback(() => {
+ g()
+ var e = setTimeout(() => {
+ var e = I.firstEnabled()
+ e && N(e.index)
+ })
+ F.current.add(e)
+ }, [g, N, I]),
+ openAndFocusLastItem: f.useCallback(() => {
+ g()
+ var e = setTimeout(() => {
+ var e = I.lastEnabled()
+ e && N(e.index)
+ })
+ F.current.add(e)
+ }, [g, N, I]),
+ onTransitionEnd: f.useCallback(() => {
+ var e,
+ t,
+ n = (0, c.lZ)(S.current),
+ r = null == (e = S.current) ? void 0 : e.contains(n.activeElement)
+ if (m && !r) {
+ var i = null == (t = I.item(D)) ? void 0 : t.node
+ i && (0, k.T)(i, { selectTextIfInput: !1 })
+ }
+ }, [m, D, I]),
+ descendants: I,
+ popper: j,
+ buttonId: z,
+ menuId: H,
+ forceUpdate: j.forceUpdate,
+ orientation: 'vertical',
+ isOpen: m,
+ onToggle: C,
+ onOpen: g,
+ onClose: E,
+ menuRef: S,
+ buttonRef: P,
+ focusedIndex: D,
+ closeOnSelect: n,
+ closeOnBlur: r,
+ autoSelect: i,
+ setFocusedIndex: N,
+ isLazy: o,
+ lazyBehavior: h,
+ }
+ )
+ }
+ function B(e) {
+ var t
+ return (
+ e instanceof HTMLElement &&
+ !(null == (t = e.getAttribute('role')) || !t.startsWith('menuitem'))
+ )
+ }
+ function F(e, t) {
+ void 0 === e && (e = {}), void 0 === t && (t = null)
+ var {
+ onMouseEnter: n,
+ onMouseMove: r,
+ onMouseLeave: i,
+ onClick: o,
+ isDisabled: a,
+ isFocusable: s,
+ closeOnSelect: l,
+ } = e,
+ u = R(e, [
+ 'onMouseEnter',
+ 'onMouseMove',
+ 'onMouseLeave',
+ 'onClick',
+ 'isDisabled',
+ 'isFocusable',
+ 'closeOnSelect',
+ ]),
+ c = z(),
+ {
+ setFocusedIndex: d,
+ focusedIndex: p,
+ closeOnSelect: v,
+ onClose: g,
+ menuRef: y,
+ isOpen: b,
+ menuId: w,
+ } = c,
+ T = f.useRef(null),
+ O = w + '-menuitem-' + (0, _.Me)(),
+ { index: C, register: A } = N({ disabled: a && !s }),
+ S = f.useCallback(
+ (e) => {
+ null == n || n(e), a || d(C)
+ },
+ [d, C, a, n],
+ ),
+ P = f.useCallback(
+ (e) => {
+ null == r || r(e), T.current && !(0, E.H9)(T.current) && S(e)
+ },
+ [S, r],
+ ),
+ j = f.useCallback(
+ (e) => {
+ null == i || i(e), a || d(-1)
+ },
+ [d, a, i],
+ ),
+ D = f.useCallback(
+ (e) => {
+ null == o || o(e), B(e.currentTarget) && (null != l ? l : v) && g()
+ },
+ [g, o, v, l],
+ ),
+ L = C === p,
+ I = a && !s
+ return (
+ (0, x.r)(() => {
+ b &&
+ (L && !I && T.current
+ ? (0, k.T)(T.current, { nextTick: !0, selectTextIfInput: !1 })
+ : y.current && !(0, E.H9)(y.current) && (0, k.T)(y.current))
+ }, [L, I, y, b]),
+ M(
+ {},
+ u,
+ m({
+ onClick: D,
+ onMouseEnter: S,
+ onMouseMove: P,
+ onMouseLeave: j,
+ ref: (0, h.l)(A, T, t),
+ isDisabled: a,
+ isFocusable: s,
+ }),
+ { id: O, role: 'menuitem', tabIndex: L ? 0 : -1 },
+ )
+ )
+ }
+ function V() {
+ return (V =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ function U(e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ }
+ var G = (e) => {
+ var { children: t } = e,
+ n = (0, r.j)('Menu', e),
+ a = H((0, i.Lr)(e)),
+ { descendants: s } = a,
+ u = U(a, ['descendants']),
+ c = f.useMemo(() => u, [u]),
+ { isOpen: d, onClose: h, forceUpdate: p } = c
+ return f.createElement(
+ j,
+ { value: s },
+ f.createElement(
+ I,
+ { value: c },
+ f.createElement(
+ o.Fo,
+ { value: n },
+ (0, l.Pu)(t, { isOpen: d, onClose: h, forceUpdate: p }),
+ ),
+ ),
+ )
+ }
+ u.Ts && (G.displayName = 'Menu')
+ var q = (0, a.G)((e, t) => {
+ var n = (0, o.yK)()
+ return f.createElement(
+ s.m$.button,
+ V({ ref: t }, e, {
+ __css: V(
+ { display: 'inline-flex', appearance: 'none', alignItems: 'center', outline: 0 },
+ n.button,
+ ),
+ }),
+ )
+ }),
+ W = (0, a.G)((e, t) => {
+ var { as: n } = e,
+ r = (function (e, t) {
+ void 0 === e && (e = {}), void 0 === t && (t = null)
+ var n = z(),
+ {
+ isOpen: r,
+ onClose: i,
+ autoSelect: o,
+ popper: a,
+ openAndFocusFirstItem: s,
+ openAndFocusLastItem: u,
+ openAndFocusMenu: d,
+ } = n,
+ p = f.useCallback(() => {
+ r ? i() : (o ? s : d)()
+ }, [o, r, i, s, d]),
+ v = f.useCallback(
+ (e) => {
+ var t = (0, c.uh)(e),
+ n = { Enter: s, ArrowDown: s, ArrowUp: u }[t]
+ n && (e.preventDefault(), e.stopPropagation(), n(e))
+ },
+ [s, u],
+ )
+ return M({}, e, {
+ ref: (0, h.l)(n.buttonRef, t, a.referenceRef),
+ id: n.buttonId,
+ 'data-active': (0, c.PB)(n.isOpen),
+ 'aria-expanded': n.isOpen,
+ 'aria-haspopup': 'menu',
+ 'aria-controls': n.menuId,
+ onClick: (0, l.v0)(e.onClick, p),
+ onKeyDown: (0, l.v0)(e.onKeyDown, v),
+ })
+ })(U(e, ['children', 'as']), t),
+ i = n || q
+ return f.createElement(
+ i,
+ V({}, r, { className: (0, c.cx)('chakra-menu__menu-button', e.className) }),
+ f.createElement(
+ s.m$.span,
+ { __css: { pointerEvents: 'none', flex: '1 1 auto', minW: 0 } },
+ e.children,
+ ),
+ )
+ })
+ u.Ts && (W.displayName = 'MenuButton')
+ var K = {
+ enter: {
+ visibility: 'visible',
+ opacity: 1,
+ scale: 1,
+ transition: { duration: 0.2, ease: [0.4, 0, 0.2, 1] },
+ },
+ exit: {
+ transitionEnd: { visibility: 'hidden' },
+ opacity: 0,
+ scale: 0.8,
+ transition: { duration: 0.1, easings: 'easeOut' },
+ },
+ },
+ Z = 'custom' in d.E ? d.E.custom(s.m$.div) : (0, d.E)(s.m$.div),
+ $ = (0, a.G)((e, t) => {
+ var n,
+ r,
+ { rootProps: i } = e,
+ a = U(e, ['rootProps']),
+ { isOpen: u, onTransitionEnd: d } = z(),
+ p = (function (e, t) {
+ void 0 === e && (e = {}), void 0 === t && (t = null)
+ var n = z()
+ if (!n)
+ throw new Error(
+ 'useMenuContext: context is undefined. Seems you forgot to wrap component within <Menu>',
+ )
+ var {
+ focusedIndex: r,
+ setFocusedIndex: i,
+ menuRef: o,
+ isOpen: a,
+ onClose: s,
+ menuId: u,
+ isLazy: d,
+ lazyBehavior: p,
+ } = n,
+ v = D(),
+ m = C({ preventDefault: (e) => ' ' !== e.key && B(e.target) }),
+ g = f.useCallback(
+ (e) => {
+ var t = (0, c.uh)(e),
+ n = {
+ Tab: (e) => e.preventDefault(),
+ Escape: s,
+ ArrowDown: () => {
+ var e = v.nextEnabled(r)
+ e && i(e.index)
+ },
+ ArrowUp: () => {
+ var e = v.prevEnabled(r)
+ e && i(e.index)
+ },
+ }[t]
+ if (n) return e.preventDefault(), void n(e)
+ var o = m((e) => {
+ var t = (0, P.LP)(
+ v.values(),
+ e,
+ (e) => {
+ var t, n
+ return null !=
+ (t = null == e || null == (n = e.node) ? void 0 : n.textContent)
+ ? t
+ : ''
+ },
+ v.item(r),
+ )
+ if (t) {
+ var n = v.indexOf(t.node)
+ i(n)
+ }
+ })
+ B(e.target) && o(e)
+ },
+ [v, r, m, s, i],
+ ),
+ y = f.useRef(!1)
+ a && (y.current = !0)
+ var b = (function (e) {
+ var {
+ hasBeenSelected: t,
+ isLazy: n,
+ isSelected: r,
+ lazyBehavior: i = 'unmount',
+ } = e
+ return !n || !!r || !('keepMounted' !== i || !t)
+ })({ hasBeenSelected: y.current, isLazy: d, lazyBehavior: p, isSelected: a })
+ return M({}, e, {
+ ref: (0, h.l)(o, t),
+ children: b ? e.children : null,
+ tabIndex: -1,
+ role: 'menu',
+ id: u,
+ style: M({}, e.style, { transformOrigin: 'var(--popper-transform-origin)' }),
+ 'aria-orientation': 'vertical',
+ onKeyDown: (0, l.v0)(e.onKeyDown, g),
+ })
+ })(a, t),
+ v = (function (e) {
+ void 0 === e && (e = {})
+ var { popper: t, isOpen: n } = z()
+ return t.getPopperProps(
+ M({}, e, { style: M({ visibility: n ? 'visible' : 'hidden' }, e.style) }),
+ )
+ })(i),
+ m = (0, o.yK)()
+ return f.createElement(
+ s.m$.div,
+ V({}, v, {
+ __css: {
+ zIndex: null != (n = e.zIndex) ? n : null == (r = m.list) ? void 0 : r.zIndex,
+ },
+ }),
+ f.createElement(
+ Z,
+ V({}, p, {
+ onUpdate: d,
+ className: (0, c.cx)('chakra-menu__menu-list', p.className),
+ variants: K,
+ initial: !1,
+ animate: u ? 'enter' : 'exit',
+ __css: V({ outline: 0 }, m.list),
+ }),
+ ),
+ )
+ })
+ u.Ts && ($.displayName = 'MenuList')
+ var X = (0, a.G)((e, t) => {
+ var { type: n } = e,
+ r = U(e, ['type']),
+ i = (0, o.yK)(),
+ a = r.as ? (null != n ? n : void 0) : 'button',
+ l = V(
+ {
+ textDecoration: 'none',
+ color: 'inherit',
+ userSelect: 'none',
+ display: 'flex',
+ width: '100%',
+ alignItems: 'center',
+ textAlign: 'start',
+ flex: '0 0 auto',
+ outline: 0,
+ },
+ i.item,
+ )
+ return f.createElement(s.m$.button, V({ ref: t, type: a }, r, { __css: l }))
+ }),
+ Y = (0, a.G)((e, t) => {
+ var {
+ icon: n,
+ iconSpacing: r = '0.75rem',
+ command: i,
+ commandSpacing: o = '0.75rem',
+ children: a,
+ } = e,
+ s = F(U(e, ['icon', 'iconSpacing', 'command', 'commandSpacing', 'children']), t),
+ l =
+ n || i ? f.createElement('span', { style: { pointerEvents: 'none', flex: 1 } }, a) : a
+ return f.createElement(
+ X,
+ V({}, s, { className: (0, c.cx)('chakra-menu__menuitem', s.className) }),
+ n && f.createElement(ne, { fontSize: '0.8em', marginEnd: r }, n),
+ l,
+ i && f.createElement(te, { marginStart: o }, i),
+ )
+ })
+ u.Ts && (Y.displayName = 'MenuItem')
+ var Q = (e) =>
+ f.createElement(
+ 'svg',
+ V({ viewBox: '0 0 14 14', width: '1em', height: '1em' }, e),
+ f.createElement('polygon', {
+ fill: 'currentColor',
+ points:
+ '5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039',
+ }),
+ ),
+ J = (0, a.G)((e, t) => {
+ var { icon: n, iconSpacing: r = '0.75rem' } = e,
+ i = U(e, ['icon', 'iconSpacing']),
+ o = (function (e, t) {
+ void 0 === e && (e = {}), void 0 === t && (t = null)
+ var { type: n = 'radio', isChecked: r } = e
+ return M({}, F(R(e, ['type', 'isChecked']), t), {
+ role: 'menuitem' + n,
+ 'aria-checked': r,
+ })
+ })(i, t)
+ return f.createElement(
+ X,
+ V({}, o, { className: (0, c.cx)('chakra-menu__menuitem-option', i.className) }),
+ f.createElement(
+ ne,
+ { fontSize: '0.8em', marginEnd: r, opacity: e.isChecked ? 1 : 0 },
+ n || f.createElement(Q, null),
+ ),
+ f.createElement('span', { style: { flex: 1 } }, o.children),
+ )
+ })
+ ;(J.id = 'MenuItemOption'), u.Ts && (J.displayName = 'MenuItemOption')
+ u.Ts
+ var ee = (0, a.G)((e, t) => {
+ var { title: n, children: r, className: i } = e,
+ a = U(e, ['title', 'children', 'className']),
+ l = (0, c.cx)('chakra-menu__group__title', i),
+ u = (0, o.yK)()
+ return f.createElement(
+ 'div',
+ { ref: t, className: 'chakra-menu__group', role: 'group' },
+ n && f.createElement(s.m$.p, V({ className: l }, a, { __css: u.groupTitle }), n),
+ r,
+ )
+ })
+ u.Ts && (ee.displayName = 'MenuGroup')
+ var te = (0, a.G)((e, t) => {
+ var n = (0, o.yK)()
+ return f.createElement(
+ s.m$.span,
+ V({ ref: t }, e, { __css: n.command, className: 'chakra-menu__command' }),
+ )
+ })
+ u.Ts && (te.displayName = 'MenuCommand')
+ var ne = (e) => {
+ var { className: t, children: n } = e,
+ r = U(e, ['className', 'children']),
+ i = f.Children.only(n),
+ o = f.isValidElement(i)
+ ? f.cloneElement(i, {
+ focusable: 'false',
+ 'aria-hidden': !0,
+ className: (0, c.cx)('chakra-menu__icon', i.props.className),
+ })
+ : null,
+ a = (0, c.cx)('chakra-menu__icon-wrapper', t)
+ return f.createElement(s.m$.span, V({ className: a }, r, { __css: { flexShrink: 0 } }), o)
+ }
+ u.Ts && (ne.displayName = 'MenuIcon')
+ u.Ts
+ },
+ 8931: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ D: function () {
+ return be
+ },
+ })
+ var r = n(2947)
+ function i(e) {
+ var t = e.getBoundingClientRect()
+ return {
+ width: t.width,
+ height: t.height,
+ top: t.top,
+ right: t.right,
+ bottom: t.bottom,
+ left: t.left,
+ x: t.left,
+ y: t.top,
+ }
+ }
+ function o(e) {
+ if ('[object Window]' !== e.toString()) {
+ var t = e.ownerDocument
+ return t ? t.defaultView : window
+ }
+ return e
+ }
+ function a(e) {
+ var t = o(e)
+ return { scrollLeft: t.pageXOffset, scrollTop: t.pageYOffset }
+ }
+ function s(e) {
+ return e instanceof o(e).Element || e instanceof Element
+ }
+ function l(e) {
+ return e instanceof o(e).HTMLElement || e instanceof HTMLElement
+ }
+ function u(e) {
+ return e ? (e.nodeName || '').toLowerCase() : null
+ }
+ function c(e) {
+ return (s(e) ? e.ownerDocument : e.document).documentElement
+ }
+ function d(e) {
+ return i(c(e)).left + a(e).scrollLeft
+ }
+ function f(e) {
+ return o(e).getComputedStyle(e)
+ }
+ function h(e) {
+ var t = f(e),
+ n = t.overflow,
+ r = t.overflowX,
+ i = t.overflowY
+ return /auto|scroll|overlay|hidden/.test(n + i + r)
+ }
+ function p(e, t, n) {
+ void 0 === n && (n = !1)
+ var r = c(t),
+ s = i(e),
+ f = l(t),
+ p = { scrollLeft: 0, scrollTop: 0 },
+ v = { x: 0, y: 0 }
+ return (
+ (f || (!f && !n)) &&
+ (('body' !== u(t) || h(r)) &&
+ (p = (function (e) {
+ return e !== o(e) && l(e)
+ ? { scrollLeft: (t = e).scrollLeft, scrollTop: t.scrollTop }
+ : a(e)
+ var t
+ })(t)),
+ l(t) ? (((v = i(t)).x += t.clientLeft), (v.y += t.clientTop)) : r && (v.x = d(r))),
+ {
+ x: s.left + p.scrollLeft - v.x,
+ y: s.top + p.scrollTop - v.y,
+ width: s.width,
+ height: s.height,
+ }
+ )
+ }
+ function v(e) {
+ return { x: e.offsetLeft, y: e.offsetTop, width: e.offsetWidth, height: e.offsetHeight }
+ }
+ function m(e) {
+ return 'html' === u(e) ? e : e.assignedSlot || e.parentNode || e.host || c(e)
+ }
+ function g(e) {
+ return ['html', 'body', '#document'].indexOf(u(e)) >= 0
+ ? e.ownerDocument.body
+ : l(e) && h(e)
+ ? e
+ : g(m(e))
+ }
+ function y(e, t) {
+ void 0 === t && (t = [])
+ var n = g(e),
+ r = 'body' === u(n),
+ i = o(n),
+ a = r ? [i].concat(i.visualViewport || [], h(n) ? n : []) : n,
+ s = t.concat(a)
+ return r ? s : s.concat(y(m(a)))
+ }
+ function b(e) {
+ return ['table', 'td', 'th'].indexOf(u(e)) >= 0
+ }
+ function w(e) {
+ if (!l(e) || 'fixed' === f(e).position) return null
+ var t = e.offsetParent
+ if (t) {
+ var n = c(t)
+ if ('body' === u(t) && 'static' === f(t).position && 'static' !== f(n).position) return n
+ }
+ return t
+ }
+ function x(e) {
+ for (var t = o(e), n = w(e); n && b(n) && 'static' === f(n).position; ) n = w(n)
+ return n && 'body' === u(n) && 'static' === f(n).position
+ ? t
+ : n ||
+ (function (e) {
+ for (var t = m(e); l(t) && ['html', 'body'].indexOf(u(t)) < 0; ) {
+ var n = f(t)
+ if (
+ 'none' !== n.transform ||
+ 'none' !== n.perspective ||
+ (n.willChange && 'auto' !== n.willChange)
+ )
+ return t
+ t = t.parentNode
+ }
+ return null
+ })(e) ||
+ t
+ }
+ var E = 'top',
+ k = 'bottom',
+ T = 'right',
+ _ = 'left',
+ O = 'auto',
+ C = [E, k, T, _],
+ A = 'start',
+ S = 'end',
+ P = 'viewport',
+ M = 'popper',
+ R = C.reduce(function (e, t) {
+ return e.concat([t + '-' + A, t + '-' + S])
+ }, []),
+ j = [].concat(C, [O]).reduce(function (e, t) {
+ return e.concat([t, t + '-' + A, t + '-' + S])
+ }, []),
+ D = [
+ 'beforeRead',
+ 'read',
+ 'afterRead',
+ 'beforeMain',
+ 'main',
+ 'afterMain',
+ 'beforeWrite',
+ 'write',
+ 'afterWrite',
+ ]
+ function L(e) {
+ var t = new Map(),
+ n = new Set(),
+ r = []
+ function i(e) {
+ n.add(e.name),
+ [].concat(e.requires || [], e.requiresIfExists || []).forEach(function (e) {
+ if (!n.has(e)) {
+ var r = t.get(e)
+ r && i(r)
+ }
+ }),
+ r.push(e)
+ }
+ return (
+ e.forEach(function (e) {
+ t.set(e.name, e)
+ }),
+ e.forEach(function (e) {
+ n.has(e.name) || i(e)
+ }),
+ r
+ )
+ }
+ function N(e) {
+ var t
+ return function () {
+ return (
+ t ||
+ (t = new Promise(function (n) {
+ Promise.resolve().then(function () {
+ ;(t = void 0), n(e())
+ })
+ })),
+ t
+ )
+ }
+ }
+ var I = { placement: 'bottom', modifiers: [], strategy: 'absolute' }
+ function z() {
+ for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n]
+ return !t.some(function (e) {
+ return !(e && 'function' === typeof e.getBoundingClientRect)
+ })
+ }
+ function H(e) {
+ void 0 === e && (e = {})
+ var t = e,
+ n = t.defaultModifiers,
+ r = void 0 === n ? [] : n,
+ i = t.defaultOptions,
+ o = void 0 === i ? I : i
+ return function (e, t, n) {
+ void 0 === n && (n = o)
+ var i = {
+ placement: 'bottom',
+ orderedModifiers: [],
+ options: Object.assign(Object.assign({}, I), o),
+ modifiersData: {},
+ elements: { reference: e, popper: t },
+ attributes: {},
+ styles: {},
+ },
+ a = [],
+ l = !1,
+ u = {
+ state: i,
+ setOptions: function (n) {
+ c(),
+ (i.options = Object.assign(Object.assign(Object.assign({}, o), i.options), n)),
+ (i.scrollParents = {
+ reference: s(e) ? y(e) : e.contextElement ? y(e.contextElement) : [],
+ popper: y(t),
+ })
+ var l = (function (e) {
+ var t = L(e)
+ return D.reduce(function (e, n) {
+ return e.concat(
+ t.filter(function (e) {
+ return e.phase === n
+ }),
+ )
+ }, [])
+ })(
+ (function (e) {
+ var t = e.reduce(function (e, t) {
+ var n = e[t.name]
+ return (
+ (e[t.name] = n
+ ? Object.assign(
+ Object.assign(Object.assign({}, n), t),
+ {},
+ {
+ options: Object.assign(Object.assign({}, n.options), t.options),
+ data: Object.assign(Object.assign({}, n.data), t.data),
+ },
+ )
+ : t),
+ e
+ )
+ }, {})
+ return Object.keys(t).map(function (e) {
+ return t[e]
+ })
+ })([].concat(r, i.options.modifiers)),
+ )
+ return (
+ (i.orderedModifiers = l.filter(function (e) {
+ return e.enabled
+ })),
+ i.orderedModifiers.forEach(function (e) {
+ var t = e.name,
+ n = e.options,
+ r = void 0 === n ? {} : n,
+ o = e.effect
+ if ('function' === typeof o) {
+ var s = o({ state: i, name: t, instance: u, options: r }),
+ l = function () {}
+ a.push(s || l)
+ }
+ }),
+ u.update()
+ )
+ },
+ forceUpdate: function () {
+ if (!l) {
+ var e = i.elements,
+ t = e.reference,
+ n = e.popper
+ if (z(t, n)) {
+ ;(i.rects = {
+ reference: p(t, x(n), 'fixed' === i.options.strategy),
+ popper: v(n),
+ }),
+ (i.reset = !1),
+ (i.placement = i.options.placement),
+ i.orderedModifiers.forEach(function (e) {
+ return (i.modifiersData[e.name] = Object.assign({}, e.data))
+ })
+ for (var r = 0; r < i.orderedModifiers.length; r++)
+ if (!0 !== i.reset) {
+ var o = i.orderedModifiers[r],
+ a = o.fn,
+ s = o.options,
+ c = void 0 === s ? {} : s,
+ d = o.name
+ 'function' === typeof a &&
+ (i = a({ state: i, options: c, name: d, instance: u }) || i)
+ } else (i.reset = !1), (r = -1)
+ }
+ }
+ },
+ update: N(function () {
+ return new Promise(function (e) {
+ u.forceUpdate(), e(i)
+ })
+ }),
+ destroy: function () {
+ c(), (l = !0)
+ },
+ }
+ if (!z(e, t)) return u
+ function c() {
+ a.forEach(function (e) {
+ return e()
+ }),
+ (a = [])
+ }
+ return (
+ u.setOptions(n).then(function (e) {
+ !l && n.onFirstUpdate && n.onFirstUpdate(e)
+ }),
+ u
+ )
+ }
+ }
+ var B = { passive: !0 }
+ function F(e) {
+ return e.split('-')[0]
+ }
+ function V(e) {
+ return e.split('-')[1]
+ }
+ function U(e) {
+ return ['top', 'bottom'].indexOf(e) >= 0 ? 'x' : 'y'
+ }
+ function G(e) {
+ var t,
+ n = e.reference,
+ r = e.element,
+ i = e.placement,
+ o = i ? F(i) : null,
+ a = i ? V(i) : null,
+ s = n.x + n.width / 2 - r.width / 2,
+ l = n.y + n.height / 2 - r.height / 2
+ switch (o) {
+ case E:
+ t = { x: s, y: n.y - r.height }
+ break
+ case k:
+ t = { x: s, y: n.y + n.height }
+ break
+ case T:
+ t = { x: n.x + n.width, y: l }
+ break
+ case _:
+ t = { x: n.x - r.width, y: l }
+ break
+ default:
+ t = { x: n.x, y: n.y }
+ }
+ var u = o ? U(o) : null
+ if (null != u) {
+ var c = 'y' === u ? 'height' : 'width'
+ switch (a) {
+ case A:
+ t[u] = Math.floor(t[u]) - Math.floor(n[c] / 2 - r[c] / 2)
+ break
+ case S:
+ t[u] = Math.floor(t[u]) + Math.ceil(n[c] / 2 - r[c] / 2)
+ }
+ }
+ return t
+ }
+ var q = { top: 'auto', right: 'auto', bottom: 'auto', left: 'auto' }
+ function W(e) {
+ var t,
+ n = e.popper,
+ r = e.popperRect,
+ i = e.placement,
+ a = e.offsets,
+ s = e.position,
+ l = e.gpuAcceleration,
+ u = e.adaptive,
+ d = (function (e) {
+ var t = e.x,
+ n = e.y,
+ r = window.devicePixelRatio || 1
+ return { x: Math.round(t * r) / r || 0, y: Math.round(n * r) / r || 0 }
+ })(a),
+ f = d.x,
+ h = d.y,
+ p = a.hasOwnProperty('x'),
+ v = a.hasOwnProperty('y'),
+ m = _,
+ g = E,
+ y = window
+ if (u) {
+ var b = x(n)
+ b === o(n) && (b = c(n)),
+ i === E && ((g = k), (h -= b.clientHeight - r.height), (h *= l ? 1 : -1)),
+ i === _ && ((m = T), (f -= b.clientWidth - r.width), (f *= l ? 1 : -1))
+ }
+ var w,
+ O = Object.assign({ position: s }, u && q)
+ return l
+ ? Object.assign(
+ Object.assign({}, O),
+ {},
+ (((w = {})[g] = v ? '0' : ''),
+ (w[m] = p ? '0' : ''),
+ (w.transform =
+ (y.devicePixelRatio || 1) < 2
+ ? 'translate(' + f + 'px, ' + h + 'px)'
+ : 'translate3d(' + f + 'px, ' + h + 'px, 0)'),
+ w),
+ )
+ : Object.assign(
+ Object.assign({}, O),
+ {},
+ (((t = {})[g] = v ? h + 'px' : ''),
+ (t[m] = p ? f + 'px' : ''),
+ (t.transform = ''),
+ t),
+ )
+ }
+ var K = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' }
+ function Z(e) {
+ return e.replace(/left|right|bottom|top/g, function (e) {
+ return K[e]
+ })
+ }
+ var $ = { start: 'end', end: 'start' }
+ function X(e) {
+ return e.replace(/start|end/g, function (e) {
+ return $[e]
+ })
+ }
+ function Y(e, t) {
+ var n = Boolean(t.getRootNode && t.getRootNode().host)
+ if (e.contains(t)) return !0
+ if (n) {
+ var r = t
+ do {
+ if (r && e.isSameNode(r)) return !0
+ r = r.parentNode || r.host
+ } while (r)
+ }
+ return !1
+ }
+ function Q(e) {
+ return Object.assign(
+ Object.assign({}, e),
+ {},
+ { left: e.x, top: e.y, right: e.x + e.width, bottom: e.y + e.height },
+ )
+ }
+ function J(e, t) {
+ return t === P
+ ? Q(
+ (function (e) {
+ var t = o(e),
+ n = c(e),
+ r = t.visualViewport,
+ i = n.clientWidth,
+ a = n.clientHeight,
+ s = 0,
+ l = 0
+ return (
+ r &&
+ ((i = r.width),
+ (a = r.height),
+ /^((?!chrome|android).)*safari/i.test(navigator.userAgent) ||
+ ((s = r.offsetLeft), (l = r.offsetTop))),
+ { width: i, height: a, x: s + d(e), y: l }
+ )
+ })(e),
+ )
+ : l(t)
+ ? (function (e) {
+ var t = i(e)
+ return (
+ (t.top = t.top + e.clientTop),
+ (t.left = t.left + e.clientLeft),
+ (t.bottom = t.top + e.clientHeight),
+ (t.right = t.left + e.clientWidth),
+ (t.width = e.clientWidth),
+ (t.height = e.clientHeight),
+ (t.x = t.left),
+ (t.y = t.top),
+ t
+ )
+ })(t)
+ : Q(
+ (function (e) {
+ var t = c(e),
+ n = a(e),
+ r = e.ownerDocument.body,
+ i = Math.max(
+ t.scrollWidth,
+ t.clientWidth,
+ r ? r.scrollWidth : 0,
+ r ? r.clientWidth : 0,
+ ),
+ o = Math.max(
+ t.scrollHeight,
+ t.clientHeight,
+ r ? r.scrollHeight : 0,
+ r ? r.clientHeight : 0,
+ ),
+ s = -n.scrollLeft + d(e),
+ l = -n.scrollTop
+ return (
+ 'rtl' === f(r || t).direction &&
+ (s += Math.max(t.clientWidth, r ? r.clientWidth : 0) - i),
+ { width: i, height: o, x: s, y: l }
+ )
+ })(c(e)),
+ )
+ }
+ function ee(e, t, n) {
+ var r =
+ 'clippingParents' === t
+ ? (function (e) {
+ var t = y(m(e)),
+ n = ['absolute', 'fixed'].indexOf(f(e).position) >= 0 && l(e) ? x(e) : e
+ return s(n)
+ ? t.filter(function (e) {
+ return s(e) && Y(e, n) && 'body' !== u(e)
+ })
+ : []
+ })(e)
+ : [].concat(t),
+ i = [].concat(r, [n]),
+ o = i[0],
+ a = i.reduce(function (t, n) {
+ var r = J(e, n)
+ return (
+ (t.top = Math.max(r.top, t.top)),
+ (t.right = Math.min(r.right, t.right)),
+ (t.bottom = Math.min(r.bottom, t.bottom)),
+ (t.left = Math.max(r.left, t.left)),
+ t
+ )
+ }, J(e, o))
+ return (
+ (a.width = a.right - a.left),
+ (a.height = a.bottom - a.top),
+ (a.x = a.left),
+ (a.y = a.top),
+ a
+ )
+ }
+ function te(e) {
+ return Object.assign(Object.assign({}, { top: 0, right: 0, bottom: 0, left: 0 }), e)
+ }
+ function ne(e, t) {
+ return t.reduce(function (t, n) {
+ return (t[n] = e), t
+ }, {})
+ }
+ function re(e, t) {
+ void 0 === t && (t = {})
+ var n = t,
+ r = n.placement,
+ o = void 0 === r ? e.placement : r,
+ a = n.boundary,
+ l = void 0 === a ? 'clippingParents' : a,
+ u = n.rootBoundary,
+ d = void 0 === u ? P : u,
+ f = n.elementContext,
+ h = void 0 === f ? M : f,
+ p = n.altBoundary,
+ v = void 0 !== p && p,
+ m = n.padding,
+ g = void 0 === m ? 0 : m,
+ y = te('number' !== typeof g ? g : ne(g, C)),
+ b = h === M ? 'reference' : M,
+ w = e.elements.reference,
+ x = e.rects.popper,
+ _ = e.elements[v ? b : h],
+ O = ee(s(_) ? _ : _.contextElement || c(e.elements.popper), l, d),
+ A = i(w),
+ S = G({ reference: A, element: x, strategy: 'absolute', placement: o }),
+ R = Q(Object.assign(Object.assign({}, x), S)),
+ j = h === M ? R : A,
+ D = {
+ top: O.top - j.top + y.top,
+ bottom: j.bottom - O.bottom + y.bottom,
+ left: O.left - j.left + y.left,
+ right: j.right - O.right + y.right,
+ },
+ L = e.modifiersData.offset
+ if (h === M && L) {
+ var N = L[o]
+ Object.keys(D).forEach(function (e) {
+ var t = [T, k].indexOf(e) >= 0 ? 1 : -1,
+ n = [E, k].indexOf(e) >= 0 ? 'y' : 'x'
+ D[e] += N[n] * t
+ })
+ }
+ return D
+ }
+ function ie(e, t, n) {
+ return Math.max(e, Math.min(t, n))
+ }
+ function oe(e, t, n) {
+ return (
+ void 0 === n && (n = { x: 0, y: 0 }),
+ {
+ top: e.top - t.height - n.y,
+ right: e.right - t.width + n.x,
+ bottom: e.bottom - t.height + n.y,
+ left: e.left - t.width - n.x,
+ }
+ )
+ }
+ function ae(e) {
+ return [E, T, k, _].some(function (t) {
+ return e[t] >= 0
+ })
+ }
+ var se = H({
+ defaultModifiers: [
+ {
+ name: 'eventListeners',
+ enabled: !0,
+ phase: 'write',
+ fn: function () {},
+ effect: function (e) {
+ var t = e.state,
+ n = e.instance,
+ r = e.options,
+ i = r.scroll,
+ a = void 0 === i || i,
+ s = r.resize,
+ l = void 0 === s || s,
+ u = o(t.elements.popper),
+ c = [].concat(t.scrollParents.reference, t.scrollParents.popper)
+ return (
+ a &&
+ c.forEach(function (e) {
+ e.addEventListener('scroll', n.update, B)
+ }),
+ l && u.addEventListener('resize', n.update, B),
+ function () {
+ a &&
+ c.forEach(function (e) {
+ e.removeEventListener('scroll', n.update, B)
+ }),
+ l && u.removeEventListener('resize', n.update, B)
+ }
+ )
+ },
+ data: {},
+ },
+ {
+ name: 'popperOffsets',
+ enabled: !0,
+ phase: 'read',
+ fn: function (e) {
+ var t = e.state,
+ n = e.name
+ t.modifiersData[n] = G({
+ reference: t.rects.reference,
+ element: t.rects.popper,
+ strategy: 'absolute',
+ placement: t.placement,
+ })
+ },
+ data: {},
+ },
+ {
+ name: 'computeStyles',
+ enabled: !0,
+ phase: 'beforeWrite',
+ fn: function (e) {
+ var t = e.state,
+ n = e.options,
+ r = n.gpuAcceleration,
+ i = void 0 === r || r,
+ o = n.adaptive,
+ a = void 0 === o || o,
+ s = {
+ placement: F(t.placement),
+ popper: t.elements.popper,
+ popperRect: t.rects.popper,
+ gpuAcceleration: i,
+ }
+ null != t.modifiersData.popperOffsets &&
+ (t.styles.popper = Object.assign(
+ Object.assign({}, t.styles.popper),
+ W(
+ Object.assign(
+ Object.assign({}, s),
+ {},
+ {
+ offsets: t.modifiersData.popperOffsets,
+ position: t.options.strategy,
+ adaptive: a,
+ },
+ ),
+ ),
+ )),
+ null != t.modifiersData.arrow &&
+ (t.styles.arrow = Object.assign(
+ Object.assign({}, t.styles.arrow),
+ W(
+ Object.assign(
+ Object.assign({}, s),
+ {},
+ { offsets: t.modifiersData.arrow, position: 'absolute', adaptive: !1 },
+ ),
+ ),
+ )),
+ (t.attributes.popper = Object.assign(
+ Object.assign({}, t.attributes.popper),
+ {},
+ { 'data-popper-placement': t.placement },
+ ))
+ },
+ data: {},
+ },
+ {
+ name: 'applyStyles',
+ enabled: !0,
+ phase: 'write',
+ fn: function (e) {
+ var t = e.state
+ Object.keys(t.elements).forEach(function (e) {
+ var n = t.styles[e] || {},
+ r = t.attributes[e] || {},
+ i = t.elements[e]
+ l(i) &&
+ u(i) &&
+ (Object.assign(i.style, n),
+ Object.keys(r).forEach(function (e) {
+ var t = r[e]
+ !1 === t ? i.removeAttribute(e) : i.setAttribute(e, !0 === t ? '' : t)
+ }))
+ })
+ },
+ effect: function (e) {
+ var t = e.state,
+ n = {
+ popper: { position: t.options.strategy, left: '0', top: '0', margin: '0' },
+ arrow: { position: 'absolute' },
+ reference: {},
+ }
+ return (
+ Object.assign(t.elements.popper.style, n.popper),
+ t.elements.arrow && Object.assign(t.elements.arrow.style, n.arrow),
+ function () {
+ Object.keys(t.elements).forEach(function (e) {
+ var r = t.elements[e],
+ i = t.attributes[e] || {},
+ o = Object.keys(t.styles.hasOwnProperty(e) ? t.styles[e] : n[e]).reduce(
+ function (e, t) {
+ return (e[t] = ''), e
+ },
+ {},
+ )
+ l(r) &&
+ u(r) &&
+ (Object.assign(r.style, o),
+ Object.keys(i).forEach(function (e) {
+ r.removeAttribute(e)
+ }))
+ })
+ }
+ )
+ },
+ requires: ['computeStyles'],
+ },
+ {
+ name: 'offset',
+ enabled: !0,
+ phase: 'main',
+ requires: ['popperOffsets'],
+ fn: function (e) {
+ var t = e.state,
+ n = e.options,
+ r = e.name,
+ i = n.offset,
+ o = void 0 === i ? [0, 0] : i,
+ a = j.reduce(function (e, n) {
+ return (
+ (e[n] = (function (e, t, n) {
+ var r = F(e),
+ i = [_, E].indexOf(r) >= 0 ? -1 : 1,
+ o =
+ 'function' === typeof n
+ ? n(Object.assign(Object.assign({}, t), {}, { placement: e }))
+ : n,
+ a = o[0],
+ s = o[1]
+ return (
+ (a = a || 0),
+ (s = (s || 0) * i),
+ [_, T].indexOf(r) >= 0 ? { x: s, y: a } : { x: a, y: s }
+ )
+ })(n, t.rects, o)),
+ e
+ )
+ }, {}),
+ s = a[t.placement],
+ l = s.x,
+ u = s.y
+ null != t.modifiersData.popperOffsets &&
+ ((t.modifiersData.popperOffsets.x += l), (t.modifiersData.popperOffsets.y += u)),
+ (t.modifiersData[r] = a)
+ },
+ },
+ {
+ name: 'flip',
+ enabled: !0,
+ phase: 'main',
+ fn: function (e) {
+ var t = e.state,
+ n = e.options,
+ r = e.name
+ if (!t.modifiersData[r]._skip) {
+ for (
+ var i = n.mainAxis,
+ o = void 0 === i || i,
+ a = n.altAxis,
+ s = void 0 === a || a,
+ l = n.fallbackPlacements,
+ u = n.padding,
+ c = n.boundary,
+ d = n.rootBoundary,
+ f = n.altBoundary,
+ h = n.flipVariations,
+ p = void 0 === h || h,
+ v = n.allowedAutoPlacements,
+ m = t.options.placement,
+ g = F(m),
+ y =
+ l ||
+ (g === m || !p
+ ? [Z(m)]
+ : (function (e) {
+ if (F(e) === O) return []
+ var t = Z(e)
+ return [X(e), t, X(t)]
+ })(m)),
+ b = [m].concat(y).reduce(function (e, n) {
+ return e.concat(
+ F(n) === O
+ ? (function (e, t) {
+ void 0 === t && (t = {})
+ var n = t,
+ r = n.placement,
+ i = n.boundary,
+ o = n.rootBoundary,
+ a = n.padding,
+ s = n.flipVariations,
+ l = n.allowedAutoPlacements,
+ u = void 0 === l ? j : l,
+ c = V(r),
+ d = c
+ ? s
+ ? R
+ : R.filter(function (e) {
+ return V(e) === c
+ })
+ : C,
+ f = d.filter(function (e) {
+ return u.indexOf(e) >= 0
+ })
+ 0 === f.length && (f = d)
+ var h = f.reduce(function (t, n) {
+ return (
+ (t[n] = re(e, {
+ placement: n,
+ boundary: i,
+ rootBoundary: o,
+ padding: a,
+ })[F(n)]),
+ t
+ )
+ }, {})
+ return Object.keys(h).sort(function (e, t) {
+ return h[e] - h[t]
+ })
+ })(t, {
+ placement: n,
+ boundary: c,
+ rootBoundary: d,
+ padding: u,
+ flipVariations: p,
+ allowedAutoPlacements: v,
+ })
+ : n,
+ )
+ }, []),
+ w = t.rects.reference,
+ x = t.rects.popper,
+ S = new Map(),
+ P = !0,
+ M = b[0],
+ D = 0;
+ D < b.length;
+ D++
+ ) {
+ var L = b[D],
+ N = F(L),
+ I = V(L) === A,
+ z = [E, k].indexOf(N) >= 0,
+ H = z ? 'width' : 'height',
+ B = re(t, {
+ placement: L,
+ boundary: c,
+ rootBoundary: d,
+ altBoundary: f,
+ padding: u,
+ }),
+ U = z ? (I ? T : _) : I ? k : E
+ w[H] > x[H] && (U = Z(U))
+ var G = Z(U),
+ q = []
+ if (
+ (o && q.push(B[N] <= 0),
+ s && q.push(B[U] <= 0, B[G] <= 0),
+ q.every(function (e) {
+ return e
+ }))
+ ) {
+ ;(M = L), (P = !1)
+ break
+ }
+ S.set(L, q)
+ }
+ if (P)
+ for (
+ var W = function (e) {
+ var t = b.find(function (t) {
+ var n = S.get(t)
+ if (n)
+ return n.slice(0, e).every(function (e) {
+ return e
+ })
+ })
+ if (t) return (M = t), 'break'
+ },
+ K = p ? 3 : 1;
+ K > 0;
+ K--
+ ) {
+ if ('break' === W(K)) break
+ }
+ t.placement !== M &&
+ ((t.modifiersData[r]._skip = !0), (t.placement = M), (t.reset = !0))
+ }
+ },
+ requiresIfExists: ['offset'],
+ data: { _skip: !1 },
+ },
+ {
+ name: 'preventOverflow',
+ enabled: !0,
+ phase: 'main',
+ fn: function (e) {
+ var t = e.state,
+ n = e.options,
+ r = e.name,
+ i = n.mainAxis,
+ o = void 0 === i || i,
+ a = n.altAxis,
+ s = void 0 !== a && a,
+ l = n.boundary,
+ u = n.rootBoundary,
+ c = n.altBoundary,
+ d = n.padding,
+ f = n.tether,
+ h = void 0 === f || f,
+ p = n.tetherOffset,
+ m = void 0 === p ? 0 : p,
+ g = re(t, { boundary: l, rootBoundary: u, padding: d, altBoundary: c }),
+ y = F(t.placement),
+ b = V(t.placement),
+ w = !b,
+ O = U(y),
+ C = 'x' === O ? 'y' : 'x',
+ S = t.modifiersData.popperOffsets,
+ P = t.rects.reference,
+ M = t.rects.popper,
+ R =
+ 'function' === typeof m
+ ? m(Object.assign(Object.assign({}, t.rects), {}, { placement: t.placement }))
+ : m,
+ j = { x: 0, y: 0 }
+ if (S) {
+ if (o) {
+ var D = 'y' === O ? E : _,
+ L = 'y' === O ? k : T,
+ N = 'y' === O ? 'height' : 'width',
+ I = S[O],
+ z = S[O] + g[D],
+ H = S[O] - g[L],
+ B = h ? -M[N] / 2 : 0,
+ G = b === A ? P[N] : M[N],
+ q = b === A ? -M[N] : -P[N],
+ W = t.elements.arrow,
+ K = h && W ? v(W) : { width: 0, height: 0 },
+ Z = t.modifiersData['arrow#persistent']
+ ? t.modifiersData['arrow#persistent'].padding
+ : { top: 0, right: 0, bottom: 0, left: 0 },
+ $ = Z[D],
+ X = Z[L],
+ Y = ie(0, P[N], K[N]),
+ Q = w ? P[N] / 2 - B - Y - $ - R : G - Y - $ - R,
+ J = w ? -P[N] / 2 + B + Y + X + R : q + Y + X + R,
+ ee = t.elements.arrow && x(t.elements.arrow),
+ te = ee ? ('y' === O ? ee.clientTop || 0 : ee.clientLeft || 0) : 0,
+ ne = t.modifiersData.offset ? t.modifiersData.offset[t.placement][O] : 0,
+ oe = S[O] + Q - ne - te,
+ ae = S[O] + J - ne,
+ se = ie(h ? Math.min(z, oe) : z, I, h ? Math.max(H, ae) : H)
+ ;(S[O] = se), (j[O] = se - I)
+ }
+ if (s) {
+ var le = 'x' === O ? E : _,
+ ue = 'x' === O ? k : T,
+ ce = S[C],
+ de = ie(ce + g[le], ce, ce - g[ue])
+ ;(S[C] = de), (j[C] = de - ce)
+ }
+ t.modifiersData[r] = j
+ }
+ },
+ requiresIfExists: ['offset'],
+ },
+ {
+ name: 'arrow',
+ enabled: !0,
+ phase: 'main',
+ fn: function (e) {
+ var t,
+ n = e.state,
+ r = e.name,
+ i = n.elements.arrow,
+ o = n.modifiersData.popperOffsets,
+ a = F(n.placement),
+ s = U(a),
+ l = [_, T].indexOf(a) >= 0 ? 'height' : 'width'
+ if (i && o) {
+ var u = n.modifiersData[r + '#persistent'].padding,
+ c = v(i),
+ d = 'y' === s ? E : _,
+ f = 'y' === s ? k : T,
+ h = n.rects.reference[l] + n.rects.reference[s] - o[s] - n.rects.popper[l],
+ p = o[s] - n.rects.reference[s],
+ m = x(i),
+ g = m ? ('y' === s ? m.clientHeight || 0 : m.clientWidth || 0) : 0,
+ y = h / 2 - p / 2,
+ b = u[d],
+ w = g - c[l] - u[f],
+ O = g / 2 - c[l] / 2 + y,
+ C = ie(b, O, w),
+ A = s
+ n.modifiersData[r] = (((t = {})[A] = C), (t.centerOffset = C - O), t)
+ }
+ },
+ effect: function (e) {
+ var t = e.state,
+ n = e.options,
+ r = e.name,
+ i = n.element,
+ o = void 0 === i ? '[data-popper-arrow]' : i,
+ a = n.padding,
+ s = void 0 === a ? 0 : a
+ null != o &&
+ ('string' !== typeof o || (o = t.elements.popper.querySelector(o))) &&
+ Y(t.elements.popper, o) &&
+ ((t.elements.arrow = o),
+ (t.modifiersData[r + '#persistent'] = {
+ padding: te('number' !== typeof s ? s : ne(s, C)),
+ }))
+ },
+ requires: ['popperOffsets'],
+ requiresIfExists: ['preventOverflow'],
+ },
+ {
+ name: 'hide',
+ enabled: !0,
+ phase: 'main',
+ requiresIfExists: ['preventOverflow'],
+ fn: function (e) {
+ var t = e.state,
+ n = e.name,
+ r = t.rects.reference,
+ i = t.rects.popper,
+ o = t.modifiersData.preventOverflow,
+ a = re(t, { elementContext: 'reference' }),
+ s = re(t, { altBoundary: !0 }),
+ l = oe(a, r),
+ u = oe(s, i, o),
+ c = ae(l),
+ d = ae(u)
+ ;(t.modifiersData[n] = {
+ referenceClippingOffsets: l,
+ popperEscapeOffsets: u,
+ isReferenceHidden: c,
+ hasPopperEscaped: d,
+ }),
+ (t.attributes.popper = Object.assign(
+ Object.assign({}, t.attributes.popper),
+ {},
+ { 'data-popper-reference-hidden': c, 'data-popper-escaped': d },
+ ))
+ },
+ },
+ ],
+ }),
+ le = n(7294),
+ ue = n(3459),
+ ce = {
+ name: 'matchWidth',
+ enabled: !0,
+ phase: 'beforeWrite',
+ requires: ['computeStyles'],
+ fn: (e) => {
+ var { state: t } = e
+ t.styles.popper.width = t.rects.reference.width + 'px'
+ },
+ effect: (e) => {
+ var { state: t } = e
+ return () => {
+ var e = t.elements.reference
+ t.elements.popper.style.width = e.offsetWidth + 'px'
+ }
+ },
+ },
+ de = {
+ name: 'transformOrigin',
+ enabled: !0,
+ phase: 'write',
+ fn: (e) => {
+ var { state: t } = e
+ fe(t)
+ },
+ effect: (e) => {
+ var { state: t } = e
+ return () => {
+ fe(t)
+ }
+ },
+ },
+ fe = (e) => {
+ e.elements.popper.style.setProperty(ue.Dq.transformOrigin.var, (0, ue.mv)(e.placement))
+ },
+ he = {
+ name: 'positionArrow',
+ enabled: !0,
+ phase: 'afterWrite',
+ fn: (e) => {
+ var { state: t } = e
+ pe(t)
+ },
+ },
+ pe = (e) => {
+ var t
+ if (e.placement) {
+ var n = ve(e.placement)
+ if (null != (t = e.elements) && t.arrow && n) {
+ Object.assign(e.elements.arrow.style, {
+ [n.property]: n.value,
+ width: ue.Dq.arrowSize.varRef,
+ height: ue.Dq.arrowSize.varRef,
+ zIndex: -1,
+ })
+ var r = {
+ [ue.Dq.arrowSizeHalf.var]: 'calc(' + ue.Dq.arrowSize.varRef + ' / 2)',
+ [ue.Dq.arrowOffset.var]: 'calc(' + ue.Dq.arrowSizeHalf.varRef + ' * -1)',
+ }
+ for (var i in r) e.elements.arrow.style.setProperty(i, r[i])
+ }
+ }
+ },
+ ve = (e) =>
+ e.startsWith('top')
+ ? { property: 'bottom', value: ue.Dq.arrowOffset.varRef }
+ : e.startsWith('bottom')
+ ? { property: 'top', value: ue.Dq.arrowOffset.varRef }
+ : e.startsWith('left')
+ ? { property: 'right', value: ue.Dq.arrowOffset.varRef }
+ : e.startsWith('right')
+ ? { property: 'left', value: ue.Dq.arrowOffset.varRef }
+ : void 0,
+ me = {
+ name: 'innerArrow',
+ enabled: !0,
+ phase: 'main',
+ requires: ['arrow'],
+ fn: (e) => {
+ var { state: t } = e
+ ge(t)
+ },
+ effect: (e) => {
+ var { state: t } = e
+ return () => {
+ ge(t)
+ }
+ },
+ },
+ ge = (e) => {
+ if (e.elements.arrow) {
+ var t = e.elements.arrow.querySelector('[data-popper-arrow-inner]')
+ t &&
+ Object.assign(t.style, {
+ transform: 'rotate(45deg)',
+ background: ue.Dq.arrowBg.varRef,
+ top: 0,
+ left: 0,
+ width: '100%',
+ height: '100%',
+ position: 'absolute',
+ zIndex: 'inherit',
+ boxShadow: (0, ue.Ke)(e.placement),
+ })
+ }
+ }
+ function ye() {
+ return (ye =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ function be(e) {
+ void 0 === e && (e = {})
+ var {
+ enabled: t = !0,
+ modifiers: n = [],
+ placement: i = 'bottom',
+ strategy: o = 'absolute',
+ arrowPadding: a = 8,
+ eventListeners: s = !0,
+ offset: l,
+ gutter: u = 8,
+ flip: c = !0,
+ boundary: d = 'clippingParents',
+ preventOverflow: f = !0,
+ matchWidth: h,
+ } = e,
+ p = (0, le.useRef)(null),
+ v = (0, le.useRef)(null),
+ m = (0, le.useRef)(null),
+ g = (0, le.useRef)(() => {}),
+ y = (0, le.useCallback)(() => {
+ t &&
+ p.current &&
+ v.current &&
+ (null == g.current || g.current(),
+ (m.current = se(p.current, v.current, {
+ placement: i,
+ modifiers: [
+ me,
+ he,
+ de,
+ ye({}, ce, { enabled: !!h }),
+ ye({ name: 'eventListeners' }, (0, ue.$B)(s)),
+ { name: 'arrow', options: { padding: a } },
+ { name: 'offset', options: { offset: null != l ? l : [0, u] } },
+ { name: 'flip', enabled: !!c, options: { padding: 8 } },
+ { name: 'preventOverflow', enabled: !!f, options: { boundary: d } },
+ ...n,
+ ],
+ strategy: o,
+ })),
+ m.current.forceUpdate(),
+ (g.current = m.current.destroy))
+ }, [t, i, n, h, s, a, l, u, c, f, d, o])
+ ;(0, le.useEffect)(
+ () => () => {
+ var e
+ p.current || v.current || (null == (e = m.current) || e.destroy(), (m.current = null))
+ },
+ [],
+ )
+ var b = (0, le.useCallback)(
+ (e) => {
+ ;(p.current = e), y()
+ },
+ [y],
+ ),
+ w = (0, le.useCallback)(
+ function (e, t) {
+ return (
+ void 0 === e && (e = {}),
+ void 0 === t && (t = null),
+ ye({}, e, { ref: (0, r.l)(b, t) })
+ )
+ },
+ [b],
+ ),
+ x = (0, le.useCallback)(
+ (e) => {
+ ;(v.current = e), y()
+ },
+ [y],
+ ),
+ E = (0, le.useCallback)(
+ function (e, t) {
+ return (
+ void 0 === e && (e = {}),
+ void 0 === t && (t = null),
+ ye({}, e, {
+ ref: (0, r.l)(x, t),
+ style: ye({}, e.style, {
+ position: o,
+ minWidth: 'max-content',
+ inset: '0 auto auto 0',
+ }),
+ })
+ )
+ },
+ [o, x],
+ ),
+ k = (0, le.useCallback)(function (e, t) {
+ return (
+ void 0 === e && (e = {}),
+ void 0 === t && (t = null),
+ ye(
+ {},
+ (function (e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ })(e, ['size', 'shadowColor', 'bg', 'style']),
+ { ref: t, 'data-popper-arrow': '', style: we(e) },
+ )
+ )
+ }, []),
+ T = (0, le.useCallback)(function (e, t) {
+ return (
+ void 0 === e && (e = {}),
+ void 0 === t && (t = null),
+ ye({}, e, { ref: t, 'data-popper-arrow-inner': '' })
+ )
+ }, [])
+ return {
+ update() {
+ var e
+ null == (e = m.current) || e.update()
+ },
+ forceUpdate() {
+ var e
+ null == (e = m.current) || e.forceUpdate()
+ },
+ transformOrigin: ue.Dq.transformOrigin.varRef,
+ referenceRef: b,
+ popperRef: x,
+ getPopperProps: E,
+ getArrowProps: k,
+ getArrowInnerProps: T,
+ getReferenceProps: w,
+ }
+ }
+ function we(e) {
+ var { size: t, shadowColor: n, bg: r, style: i } = e,
+ o = ye({}, i, { position: 'absolute' })
+ return (
+ t && (o['--popper-arrow-size'] = t),
+ n && (o['--popper-arrow-shadow-color'] = n),
+ r && (o['--popper-arrow-bg'] = r),
+ o
+ )
+ }
+ },
+ 3459: function (e, t, n) {
+ 'use strict'
+ function r() {
+ return (r =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ n.d(t, {
+ Dq: function () {
+ return o
+ },
+ Ke: function () {
+ return a
+ },
+ mv: function () {
+ return l
+ },
+ $B: function () {
+ return c
+ },
+ })
+ var i = (e, t) => ({ var: e, varRef: t ? 'var(' + e + ', ' + t + ')' : 'var(' + e + ')' }),
+ o = {
+ arrowShadowColor: i('--popper-arrow-shadow-color'),
+ arrowSize: i('--popper-arrow-size', '8px'),
+ arrowSizeHalf: i('--popper-arrow-size-half'),
+ arrowBg: i('--popper-arrow-bg'),
+ transformOrigin: i('--popper-transform-origin'),
+ arrowOffset: i('--popper-arrow-offset'),
+ }
+ function a(e) {
+ return e.includes('top')
+ ? '1px 1px 1px 0 var(--popper-arrow-shadow-color)'
+ : e.includes('bottom')
+ ? '-1px -1px 1px 0 var(--popper-arrow-shadow-color)'
+ : e.includes('right')
+ ? '-1px 1px 1px 0 var(--popper-arrow-shadow-color)'
+ : e.includes('left')
+ ? '1px -1px 1px 0 var(--popper-arrow-shadow-color)'
+ : void 0
+ }
+ var s = {
+ top: 'bottom center',
+ 'top-start': 'bottom left',
+ 'top-end': 'bottom right',
+ bottom: 'top center',
+ 'bottom-start': 'top left',
+ 'bottom-end': 'top right',
+ left: 'right center',
+ 'left-start': 'right top',
+ 'left-end': 'right bottom',
+ right: 'left center',
+ 'right-start': 'left top',
+ 'right-end': 'left bottom',
+ },
+ l = (e) => s[e],
+ u = { scroll: !0, resize: !0 }
+ function c(e) {
+ return 'object' === typeof e
+ ? { enabled: !0, options: r({}, u, e) }
+ : { enabled: e, options: u }
+ }
+ },
+ 4255: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ W: function () {
+ return i
+ },
+ })
+ var r = n(7294)
+ function i(e) {
+ return r.Children.toArray(e).filter((e) => r.isValidElement(e))
+ }
+ },
+ 2947: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ l: function () {
+ return o
+ },
+ })
+ var r = n(3808)
+ function i(e, t) {
+ if (null != e)
+ if ((0, r.mf)(e)) e(t)
+ else
+ try {
+ e.current = t
+ } catch (n) {
+ throw new Error("Cannot assign value '" + t + "' to ref '" + e + "'")
+ }
+ }
+ function o() {
+ for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n]
+ return (e) => {
+ t.forEach((t) => i(t, e))
+ }
+ }
+ },
+ 980: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ useTheme: function () {
+ return i.useTheme
+ },
+ })
+ n(2300)
+ var r = n(4806)
+ n.o(r, 'useTheme') &&
+ n.d(t, {
+ useTheme: function () {
+ return r.useTheme
+ },
+ })
+ var i = n(1180)
+ },
+ 3014: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ iR: function () {
+ return ue
+ },
+ Ms: function () {
+ return fe
+ },
+ gs: function () {
+ return ce
+ },
+ Uj: function () {
+ return de
+ },
+ })
+ var r = n(63),
+ i = n(2326),
+ o = n(5284),
+ a = n(9676),
+ s = n(5643),
+ l = n(3808),
+ u = n(4461),
+ c = n(8500),
+ d = n(7294),
+ f = n(762),
+ h = n(1034),
+ p = n(639)
+ var v = n(4577),
+ m = 'Invariant failed'
+ var g = function (e, t) {
+ if (!e) throw new Error(m)
+ },
+ y = function (e) {
+ var t = e.top,
+ n = e.right,
+ r = e.bottom,
+ i = e.left
+ return {
+ top: t,
+ right: n,
+ bottom: r,
+ left: i,
+ width: n - i,
+ height: r - t,
+ x: i,
+ y: t,
+ center: { x: (n + i) / 2, y: (r + t) / 2 },
+ }
+ },
+ b = function (e, t) {
+ return {
+ top: e.top + t.top,
+ left: e.left + t.left,
+ bottom: e.bottom - t.bottom,
+ right: e.right - t.right,
+ }
+ },
+ w = { top: 0, right: 0, bottom: 0, left: 0 },
+ x = function (e) {
+ var t,
+ n,
+ r = e.borderBox,
+ i = e.margin,
+ o = void 0 === i ? w : i,
+ a = e.border,
+ s = void 0 === a ? w : a,
+ l = e.padding,
+ u = void 0 === l ? w : l,
+ c = y(
+ ((n = o),
+ {
+ top: (t = r).top - n.top,
+ left: t.left - n.left,
+ bottom: t.bottom + n.bottom,
+ right: t.right + n.right,
+ }),
+ ),
+ d = y(b(r, s)),
+ f = y(b(d, u))
+ return {
+ marginBox: c,
+ borderBox: y(r),
+ paddingBox: d,
+ contentBox: f,
+ margin: o,
+ border: s,
+ padding: u,
+ }
+ },
+ E = function (e) {
+ var t = e.slice(0, -2)
+ if ('px' !== e.slice(-2)) return 0
+ var n = Number(t)
+ return isNaN(n) && g(!1), n
+ },
+ k = function (e) {
+ return (function (e, t) {
+ var n = {
+ top: E(t.marginTop),
+ right: E(t.marginRight),
+ bottom: E(t.marginBottom),
+ left: E(t.marginLeft),
+ },
+ r = {
+ top: E(t.paddingTop),
+ right: E(t.paddingRight),
+ bottom: E(t.paddingBottom),
+ left: E(t.paddingLeft),
+ },
+ i = {
+ top: E(t.borderTopWidth),
+ right: E(t.borderRightWidth),
+ bottom: E(t.borderBottomWidth),
+ left: E(t.borderLeftWidth),
+ }
+ return x({ borderBox: e, margin: n, padding: r, border: i })
+ })(e.getBoundingClientRect(), window.getComputedStyle(e))
+ },
+ T = n(8327)
+ var _ = n(2653),
+ O = n(9839)
+ function C(e) {
+ return !!e.touches
+ }
+ var A = { pageX: 0, pageY: 0 }
+ function S(e, t) {
+ void 0 === t && (t = 'page')
+ var n = e.touches[0] || e.changedTouches[0] || A
+ return { x: n[t + 'X'], y: n[t + 'Y'] }
+ }
+ function P(e, t) {
+ return void 0 === t && (t = 'page'), { x: e[t + 'X'], y: e[t + 'Y'] }
+ }
+ function M(e, t) {
+ return void 0 === t && (t = 'page'), { point: C(e) ? S(e, t) : P(e, t) }
+ }
+ var R = function (e, t) {
+ void 0 === t && (t = !1)
+ var n,
+ r = (t) => e(t, M(t))
+ return t
+ ? ((n = r),
+ (e) => {
+ var t = e instanceof MouseEvent
+ ;(!t || (t && 0 === e.button)) && n(e)
+ })
+ : r
+ },
+ j = {
+ pointerdown: 'mousedown',
+ pointermove: 'mousemove',
+ pointerup: 'mouseup',
+ pointercancel: 'mousecancel',
+ pointerover: 'mouseover',
+ pointerout: 'mouseout',
+ pointerenter: 'mouseenter',
+ pointerleave: 'mouseleave',
+ },
+ D = {
+ pointerdown: 'touchstart',
+ pointermove: 'touchmove',
+ pointerup: 'touchend',
+ pointercancel: 'touchcancel',
+ }
+ function L(e) {
+ return u.jU && null === window.onpointerdown
+ ? e
+ : u.jU && null === window.ontouchstart
+ ? D[e]
+ : u.jU && null === window.onmousedown
+ ? j[e]
+ : e
+ }
+ function N(e, t, n, r) {
+ return (0, u.EV)(e, L(t), R(n, 'pointerdown' === t), r)
+ }
+ var I = n(658)
+ function z() {
+ return (z =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ function H(e, t, n) {
+ return (
+ t in e
+ ? Object.defineProperty(e, t, {
+ value: n,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0,
+ })
+ : (e[t] = n),
+ e
+ )
+ }
+ class B {
+ constructor(e, t, n) {
+ if (
+ (H(this, 'history', []),
+ H(this, 'startEvent', null),
+ H(this, 'lastEvent', null),
+ H(this, 'lastEventInfo', null),
+ H(this, 'handlers', {}),
+ H(this, 'removeListeners', I.ZT),
+ H(this, 'threshold', 3),
+ H(this, 'updatePoint', () => {
+ if (this.lastEvent && this.lastEventInfo) {
+ var e = G(this.lastEventInfo, this.history),
+ t = null !== this.startEvent,
+ n = (0, I.TE)(e.offset, { x: 0, y: 0 }) >= this.threshold
+ if (t || n) {
+ var { timestamp: r } = (0, O.$B)()
+ this.history.push(z({}, e.point, { timestamp: r }))
+ var { onStart: i, onMove: o } = this.handlers
+ t || (null == i || i(this.lastEvent, e), (this.startEvent = this.lastEvent)),
+ null == o || o(this.lastEvent, e)
+ }
+ }
+ }),
+ H(this, 'onPointerMove', (e, t) => {
+ ;(this.lastEvent = e),
+ (this.lastEventInfo = t),
+ (function (e) {
+ return 'undefined' !== typeof PointerEvent && e instanceof PointerEvent
+ ? !('mouse' !== e.pointerType)
+ : e instanceof MouseEvent
+ })(e) && 0 === e.buttons
+ ? this.onPointerUp(e, t)
+ : O.ZP.update(this.updatePoint, !0)
+ }),
+ H(this, 'onPointerUp', (e, t) => {
+ var n = G(t, this.history),
+ { onEnd: r, onSessionEnd: i } = this.handlers
+ null == i || i(e, n), this.end(), r && this.startEvent && (null == r || r(e, n))
+ }),
+ !(C((r = e)) && r.touches.length > 1))
+ ) {
+ var r
+ ;(this.handlers = t), n && (this.threshold = n), e.stopPropagation(), e.preventDefault()
+ var i = M(e),
+ { timestamp: o } = (0, O.$B)()
+ this.history = [z({}, i.point, { timestamp: o })]
+ var { onSessionStart: a } = t
+ null == a || a(e, G(i, this.history)),
+ (this.removeListeners = (0, I.zG)(
+ N(window, 'pointermove', this.onPointerMove),
+ N(window, 'pointerup', this.onPointerUp),
+ N(window, 'pointercancel', this.onPointerUp),
+ ))
+ }
+ }
+ updateHandlers(e) {
+ this.handlers = e
+ }
+ end() {
+ var e
+ null == (e = this.removeListeners) || e.call(this), O.qY.update(this.updatePoint)
+ }
+ }
+ function F(e, t) {
+ return { x: e.x - t.x, y: e.y - t.y }
+ }
+ function V(e) {
+ return e[0]
+ }
+ function U(e) {
+ return e[e.length - 1]
+ }
+ function G(e, t) {
+ return {
+ point: e.point,
+ delta: F(e.point, U(t)),
+ offset: F(e.point, V(t)),
+ velocity: q(t, 0.1),
+ }
+ }
+ function q(e, t) {
+ if (e.length < 2) return { x: 0, y: 0 }
+ for (
+ var n = e.length - 1,
+ r = null,
+ i = (function (e) {
+ return e[e.length - 1]
+ })(e);
+ n >= 0 && ((r = e[n]), !(i.timestamp - r.timestamp > 1e3 * t));
+
+ )
+ n--
+ if (!r) return { x: 0, y: 0 }
+ var o = (i.timestamp - r.timestamp) / 1e3
+ if (0 === o) return { x: 0, y: 0 }
+ var a = { x: (i.x - r.x) / o, y: (i.y - r.y) / o }
+ return a.x === 1 / 0 && (a.x = 0), a.y === 1 / 0 && (a.y = 0), a
+ }
+ var W = n(4941)
+ var K = n(7581)
+ function Z(e, t) {
+ var n,
+ r,
+ i,
+ o,
+ { onPan: a, onPanStart: s, onPanEnd: l, onPanSessionStart: u, onPanSessionEnd: c } = t,
+ f = Boolean(a || s || l || u || c),
+ h = (0, d.useRef)(null),
+ p = {
+ onSessionStart: u,
+ onSessionEnd: c,
+ onStart: s,
+ onMove: a,
+ onEnd(e, t) {
+ ;(h.current = null), null == l || l(e, t)
+ },
+ }
+ ;(0, d.useEffect)(() => {
+ var e
+ null == (e = h.current) || e.updateHandlers(p)
+ }),
+ (n = () => e.current),
+ (r = 'pointerdown'),
+ (i = f
+ ? function (e) {
+ h.current = new B(e, p)
+ }
+ : I.ZT),
+ (0, W.O)(L(r), R(i, 'pointerdown' === r), n, o),
+ (0, K.z)(() => {
+ var e
+ null == (e = h.current) || e.end(), (h.current = null)
+ })
+ }
+ var $ = n(2947)
+ Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER
+ function X(e, t) {
+ var n = (function (e) {
+ var t = parseFloat(e)
+ return (0, l.iy)(t) ? 0 : t
+ })(e),
+ r = 10 ** (null != t ? t : 10)
+ return (n = Math.round(n * r) / r), t ? n.toFixed(t) : n.toString()
+ }
+ function Y(e, t, n) {
+ return (100 * (e - t)) / (n - t)
+ }
+ function Q(e, t, n) {
+ return X(
+ Math.round((e - t) / n) * n + t,
+ (function (e) {
+ if (!Number.isFinite(e)) return 0
+ for (var t = 1, n = 0; Math.round(e * t) / t !== e; ) (t *= 10), (n += 1)
+ return n
+ })(n),
+ )
+ }
+ function J(e, t, n) {
+ return null == e
+ ? e
+ : ((0, I.ZK)({ condition: n < t, message: 'clamp: max cannot be less than min' }),
+ Math.min(Math.max(e, t), n))
+ }
+ var ee = n(7248)
+ function te() {
+ return (te =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ function ne(e) {
+ var { orientation: t, vertical: n, horizontal: r } = e
+ return 'vertical' === t ? n : r
+ }
+ function re() {
+ return (re =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ function ie(e) {
+ var t,
+ {
+ min: n = 0,
+ max: r = 100,
+ onChange: i,
+ value: o,
+ defaultValue: a,
+ isReversed: s,
+ orientation: l = 'horizontal',
+ id: c,
+ isDisabled: m,
+ isReadOnly: g,
+ onChangeStart: y,
+ onChangeEnd: b,
+ step: w = 1,
+ getAriaValueText: x,
+ 'aria-valuetext': E,
+ 'aria-label': O,
+ 'aria-labelledby': C,
+ name: A,
+ focusThumbOnChange: S = !0,
+ } = e,
+ P = (function (e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ })(e, [
+ 'min',
+ 'max',
+ 'onChange',
+ 'value',
+ 'defaultValue',
+ 'isReversed',
+ 'orientation',
+ 'id',
+ 'isDisabled',
+ 'isReadOnly',
+ 'onChangeStart',
+ 'onChangeEnd',
+ 'step',
+ 'getAriaValueText',
+ 'aria-valuetext',
+ 'aria-label',
+ 'aria-labelledby',
+ 'name',
+ 'focusThumbOnChange',
+ ]),
+ M = (0, f.W)(y),
+ R = (0, f.W)(b),
+ j = (0, f.W)(x),
+ [D, L] = (0, h.T)({ value: o, defaultValue: null != a ? a : oe(n, r), onChange: i }),
+ [N, z] = (0, p.k)(),
+ H = (function (e) {
+ var t = (0, d.useRef)()
+ return (
+ (0, d.useEffect)(() => {
+ t.current = e
+ }, [e]),
+ t.current
+ )
+ })(N),
+ [B, F] = (0, p.k)(),
+ V = (0, d.useRef)(null),
+ U = !(m || g),
+ G = J(D, n, r),
+ q = (function (e) {
+ var t = d.useRef(null)
+ return (t.current = e), t
+ })(G),
+ W = (0, d.useRef)(q.current),
+ K = Y(s ? r - G + n : G, n, r),
+ X = 'vertical' === l,
+ ie = (0, d.useRef)(null),
+ ae = (0, d.useRef)(null),
+ se = (0, d.useRef)(null),
+ [le, ue] = (0, v.ZS)(c, 'slider-thumb', 'slider-track'),
+ ce = (0, d.useCallback)(
+ (e) => {
+ var t, i
+ if (ie.current) {
+ V.current = 'pointer'
+ var o = k(ie.current).borderBox,
+ { clientX: a, clientY: l } =
+ null != (t = null == (i = e.touches) ? void 0 : i[0]) ? t : e,
+ u = (X ? o.bottom - l : a - o.left) / (X ? o.height : o.width)
+ s && (u = 1 - u)
+ var c = (function (e, t, n) {
+ return (n - t) * e + t
+ })(u, n, r)
+ return w && (c = parseFloat(Q(c, n, w))), (c = J(c, n, r))
+ }
+ },
+ [X, s, r, n, w],
+ ),
+ de = (r - n) / 10,
+ fe = w || (r - n) / 100,
+ he = (0, d.useCallback)(
+ (e) => {
+ U && ((e = J((e = parseFloat(Q(e, n, fe))), n, r)), L(e))
+ },
+ [fe, r, n, L, U],
+ ),
+ pe = (0, d.useMemo)(
+ () => ({
+ stepUp: function (e) {
+ void 0 === e && (e = fe), he(s ? G - e : G + e)
+ },
+ stepDown: function (e) {
+ void 0 === e && (e = fe), he(s ? G + e : G - e)
+ },
+ reset: () => he(a || 0),
+ stepTo: (e) => he(e),
+ }),
+ [he, s, G, fe, a],
+ ),
+ ve = (0, d.useCallback)(
+ (e) => {
+ var t = {
+ ArrowRight: () => pe.stepUp(),
+ ArrowUp: () => pe.stepUp(),
+ ArrowLeft: () => pe.stepDown(),
+ ArrowDown: () => pe.stepDown(),
+ PageUp: () => pe.stepUp(de),
+ PageDown: () => pe.stepDown(de),
+ Home: () => he(n),
+ End: () => he(r),
+ }[(0, u.uh)(e)]
+ t && (e.preventDefault(), e.stopPropagation(), t(e), (V.current = 'keyboard'))
+ },
+ [pe, he, r, n, de],
+ ),
+ me = null != (t = null == j ? void 0 : j(G)) ? t : E,
+ ge = (function (e, t) {
+ var [n, r] = d.useState(null),
+ i = d.useRef()
+ return (
+ (0, T.G)(() => {
+ if (e.current) {
+ var n = e.current
+ return (
+ o(),
+ t &&
+ (window.addEventListener('resize', o), window.addEventListener('scroll', o)),
+ () => {
+ t &&
+ (window.removeEventListener('resize', o),
+ window.removeEventListener('scroll', o)),
+ i.current && cancelAnimationFrame(i.current)
+ }
+ )
+ }
+ function o() {
+ i.current = requestAnimationFrame(() => {
+ var e = k(n)
+ r(e)
+ })
+ }
+ }, [t]),
+ n
+ )
+ })(ae),
+ {
+ thumbStyle: ye,
+ rootStyle: be,
+ trackStyle: we,
+ innerTrackStyle: xe,
+ } = (0, d.useMemo)(() => {
+ var e,
+ t = null != (e = null == ge ? void 0 : ge.borderBox) ? e : { width: 0, height: 0 }
+ return (function (e) {
+ var { orientation: t, trackPercent: n, thumbRect: r, isReversed: i } = e,
+ o = te(
+ {
+ position: 'absolute',
+ userSelect: 'none',
+ WebkitUserSelect: 'none',
+ MozUserSelect: 'none',
+ msUserSelect: 'none',
+ touchAction: 'none',
+ },
+ ne({
+ orientation: t,
+ vertical: { bottom: 'calc(' + n + '% - ' + r.height / 2 + 'px)' },
+ horizontal: { left: 'calc(' + n + '% - ' + r.width / 2 + 'px)' },
+ }),
+ ),
+ a = te(
+ {
+ position: 'relative',
+ touchAction: 'none',
+ WebkitTapHighlightColor: 'rgba(0,0,0,0)',
+ userSelect: 'none',
+ outline: 0,
+ },
+ ne({
+ orientation: t,
+ vertical: { paddingLeft: r.width / 2, paddingRight: r.width / 2 },
+ horizontal: { paddingTop: r.height / 2, paddingBottom: r.height / 2 },
+ }),
+ ),
+ s = te(
+ { position: 'absolute' },
+ ne({
+ orientation: t,
+ vertical: { left: '50%', transform: 'translateX(-50%)', height: '100%' },
+ horizontal: { top: '50%', transform: 'translateY(-50%)', width: '100%' },
+ }),
+ )
+ return {
+ trackStyle: s,
+ innerTrackStyle: te(
+ {},
+ s,
+ ne({
+ orientation: t,
+ vertical: i
+ ? { height: 100 - n + '%', top: 0 }
+ : { height: n + '%', bottom: 0 },
+ horizontal: i
+ ? { width: 100 - n + '%', right: 0 }
+ : { width: n + '%', left: 0 },
+ }),
+ ),
+ rootStyle: a,
+ thumbStyle: o,
+ }
+ })({ isReversed: s, orientation: l, thumbRect: t, trackPercent: K })
+ }, [s, l, null == ge ? void 0 : ge.borderBox, K]),
+ Ee = (0, d.useCallback)(() => {
+ ae.current && S && setTimeout(() => (0, ee.T)(ae.current))
+ }, [S])
+ ;(0, _.r)(() => {
+ Ee(), 'keyboard' === V.current && (null == b || b(q.current))
+ }, [G, b])
+ var ke = (e) => {
+ var t = ce(e)
+ null != t && t !== q.current && L(t)
+ }
+ Z(se, {
+ onPanSessionStart(e) {
+ U && ke(e)
+ },
+ onPanSessionEnd() {
+ U &&
+ (H || W.current === q.current || (null == R || R(q.current), (W.current = q.current)))
+ },
+ onPanStart() {
+ U && (z.on(), null == M || M(q.current))
+ },
+ onPan(e) {
+ U && ke(e)
+ },
+ onPanEnd() {
+ U && (z.off(), null == R || R(q.current))
+ },
+ })
+ var Te = (0, d.useCallback)(
+ function (e, t) {
+ return (
+ void 0 === e && (e = {}),
+ void 0 === t && (t = null),
+ re({}, e, P, {
+ ref: (0, $.l)(t, se),
+ tabIndex: -1,
+ 'aria-disabled': (0, u.Qm)(m),
+ 'data-focused': (0, u.PB)(B),
+ style: re({}, e.style, be),
+ })
+ )
+ },
+ [P, m, B, be],
+ ),
+ _e = (0, d.useCallback)(
+ function (e, t) {
+ return (
+ void 0 === e && (e = {}),
+ void 0 === t && (t = null),
+ re({}, e, {
+ ref: (0, $.l)(t, ie),
+ id: ue,
+ 'data-disabled': (0, u.PB)(m),
+ style: re({}, e.style, we),
+ })
+ )
+ },
+ [m, ue, we],
+ ),
+ Oe = (0, d.useCallback)(
+ function (e, t) {
+ return (
+ void 0 === e && (e = {}),
+ void 0 === t && (t = null),
+ re({}, e, { ref: t, style: re({}, e.style, xe) })
+ )
+ },
+ [xe],
+ ),
+ Ce = (0, d.useCallback)(
+ function (e, t) {
+ return (
+ void 0 === e && (e = {}),
+ void 0 === t && (t = null),
+ re({}, e, {
+ ref: (0, $.l)(t, ae),
+ role: 'slider',
+ tabIndex: U ? 0 : void 0,
+ id: le,
+ 'data-active': (0, u.PB)(N),
+ 'aria-valuetext': me,
+ 'aria-valuemin': n,
+ 'aria-valuemax': r,
+ 'aria-valuenow': G,
+ 'aria-orientation': l,
+ 'aria-disabled': (0, u.Qm)(m),
+ 'aria-readonly': (0, u.Qm)(g),
+ 'aria-label': O,
+ 'aria-labelledby': O ? void 0 : C,
+ style: re({}, e.style, ye),
+ onKeyDown: (0, I.v0)(e.onKeyDown, ve),
+ onFocus: (0, I.v0)(e.onFocus, F.on),
+ onBlur: (0, I.v0)(e.onBlur, F.off),
+ })
+ )
+ },
+ [O, C, m, N, g, U, r, n, ve, l, F.off, F.on, le, ye, G, me],
+ ),
+ Ae = (0, d.useCallback)(
+ function (e, t) {
+ void 0 === e && (e = {}), void 0 === t && (t = null)
+ var i = !(e.value < n || e.value > r),
+ o = G >= e.value,
+ a = Y(e.value, n, r),
+ c = re(
+ { position: 'absolute', pointerEvents: 'none' },
+ (function (e) {
+ var { orientation: t, vertical: n, horizontal: r } = e
+ return 'vertical' === t ? n : r
+ })({
+ orientation: l,
+ vertical: { bottom: s ? 100 - a + '%' : a + '%' },
+ horizontal: { left: s ? 100 - a + '%' : a + '%' },
+ }),
+ )
+ return re({}, e, {
+ ref: t,
+ role: 'presentation',
+ 'aria-hidden': !0,
+ 'data-disabled': (0, u.PB)(m),
+ 'data-invalid': (0, u.PB)(!i),
+ 'data-highlighted': (0, u.PB)(o),
+ style: re({}, e.style, c),
+ })
+ },
+ [m, s, r, n, l, G],
+ ),
+ Se = (0, d.useCallback)(
+ function (e, t) {
+ return (
+ void 0 === e && (e = {}),
+ void 0 === t && (t = null),
+ re({}, e, { ref: t, type: 'hidden', value: G, name: A })
+ )
+ },
+ [A, G],
+ )
+ return {
+ state: { value: G, isFocused: B, isDragging: N },
+ actions: pe,
+ getRootProps: Te,
+ getTrackProps: _e,
+ getInnerTrackProps: Oe,
+ getThumbProps: Ce,
+ getMarkerProps: Ae,
+ getInputProps: Se,
+ }
+ }
+ function oe(e, t) {
+ return t < e ? e : e + (t - e) / 2
+ }
+ function ae() {
+ return (ae =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ var [se, le] = (0, c.k)({
+ name: 'SliderContext',
+ errorMessage:
+ 'useSliderContext: `context` is undefined. Seems you forgot to wrap all slider components within <Slider />',
+ }),
+ ue = (0, r.G)((e, t) => {
+ var n = (0, i.j)('Slider', e),
+ r = ie((0, o.Lr)(e)),
+ { getInputProps: l, getRootProps: u } = r,
+ c = (function (e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ })(r, ['getInputProps', 'getRootProps']),
+ f = u(),
+ h = l({}, t),
+ p = ae(
+ { display: 'inline-block', position: 'relative', cursor: 'pointer' },
+ n.container,
+ )
+ return d.createElement(
+ se,
+ { value: c },
+ d.createElement(
+ a.Fo,
+ { value: n },
+ d.createElement(
+ s.m$.div,
+ ae({}, f, { className: 'chakra-slider', __css: p }),
+ e.children,
+ d.createElement('input', h),
+ ),
+ ),
+ )
+ })
+ ;(ue.defaultProps = { orientation: 'horizontal' }), l.Ts && (ue.displayName = 'Slider')
+ var ce = (0, r.G)((e, t) => {
+ var { getThumbProps: n } = le(),
+ r = ae(
+ {
+ display: 'flex',
+ alignItems: 'center',
+ justifyContent: 'center',
+ position: 'absolute',
+ outline: 0,
+ },
+ (0, a.yK)().thumb,
+ ),
+ i = n(e, t)
+ return d.createElement(
+ s.m$.div,
+ ae({}, i, { className: (0, u.cx)('chakra-slider__thumb', e.className), __css: r }),
+ )
+ })
+ l.Ts && (ce.displayName = 'SliderThumb')
+ var de = (0, r.G)((e, t) => {
+ var { getTrackProps: n } = le(),
+ r = ae({ overflow: 'hidden' }, (0, a.yK)().track),
+ i = n(e, t)
+ return d.createElement(
+ s.m$.div,
+ ae({}, i, { className: (0, u.cx)('chakra-slider__track', e.className), __css: r }),
+ )
+ })
+ l.Ts && (de.displayName = 'SliderTrack')
+ var fe = (0, r.G)((e, t) => {
+ var { getInnerTrackProps: n } = le(),
+ r = ae({ width: 'inherit', height: 'inherit' }, (0, a.yK)().filledTrack),
+ i = n(e, t)
+ return d.createElement(
+ s.m$.div,
+ ae({}, i, { className: 'chakra-slider__filled-track', __css: r }),
+ )
+ })
+ l.Ts && (fe.displayName = 'SliderFilledTrack')
+ var he = (0, r.G)((e, t) => {
+ var { getMarkerProps: n } = le(),
+ r = n(e, t)
+ return d.createElement(
+ s.m$.div,
+ ae({}, r, { className: (0, u.cx)('chakra-slider__marker', e.className) }),
+ )
+ })
+ l.Ts && (he.displayName = 'SliderMark')
+ },
+ 8134: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ r: function () {
+ return E
+ },
+ })
+ var r = n(762),
+ i = n(639),
+ o = n(1034),
+ a = n(8327),
+ s = n(2947),
+ l = n(658),
+ u = n(4461),
+ c = n(7248),
+ d = n(5415),
+ f = n(7294)
+ function h() {
+ return (h =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ function p(e) {
+ void 0 === e && (e = {})
+ var {
+ defaultIsChecked: t,
+ defaultChecked: n = t,
+ isChecked: p,
+ isFocusable: m,
+ isDisabled: g,
+ isReadOnly: y,
+ isRequired: b,
+ onChange: w,
+ isIndeterminate: x,
+ isInvalid: E,
+ name: k,
+ value: T,
+ id: _,
+ onBlur: O,
+ onFocus: C,
+ 'aria-label': A,
+ 'aria-labelledby': S,
+ 'aria-invalid': P,
+ 'aria-describedby': M,
+ } = e,
+ R = (function (e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ })(e, [
+ 'defaultIsChecked',
+ 'defaultChecked',
+ 'isChecked',
+ 'isFocusable',
+ 'isDisabled',
+ 'isReadOnly',
+ 'isRequired',
+ 'onChange',
+ 'isIndeterminate',
+ 'isInvalid',
+ 'name',
+ 'value',
+ 'id',
+ 'onBlur',
+ 'onFocus',
+ 'aria-label',
+ 'aria-labelledby',
+ 'aria-invalid',
+ 'aria-describedby',
+ ]),
+ j = (0, r.W)(w),
+ D = (0, r.W)(O),
+ L = (0, r.W)(C),
+ [N, I] = (0, i.k)(),
+ [z, H] = (0, i.k)(),
+ [B, F] = (0, i.k)(),
+ V = (0, f.useRef)(null),
+ [U, G] = (0, f.useState)(!0),
+ [q, W] = (0, f.useState)(!!n),
+ [K, Z] = (0, o.p)(p, q)
+ ;(0, l.ZK)({
+ condition: !!t,
+ message:
+ 'The "defaultIsChecked" prop has been deprecated and will be removed in a future version. Please use the "defaultChecked" prop instead, which mirrors default React checkbox behavior.',
+ })
+ var $ = (0, f.useCallback)(
+ (e) => {
+ y || g
+ ? e.preventDefault()
+ : (K || W(Z ? e.target.checked : !!x || e.target.checked), null == j || j(e))
+ },
+ [y, g, Z, K, x, j],
+ )
+ ;(0, a.G)(() => {
+ V.current && (V.current.indeterminate = Boolean(x))
+ }, [x])
+ var X = g && !m,
+ Y = (0, f.useCallback)(
+ (e) => {
+ ' ' === e.key && F.on()
+ },
+ [F],
+ ),
+ Q = (0, f.useCallback)(
+ (e) => {
+ ' ' === e.key && F.off()
+ },
+ [F],
+ )
+ ;(0, a.G)(() => {
+ V.current && V.current.checked !== Z && W(V.current.checked)
+ }, [V.current])
+ var J = (0, f.useCallback)(
+ function (e, t) {
+ void 0 === e && (e = {}), void 0 === t && (t = null)
+ return h({}, e, {
+ ref: t,
+ 'data-active': (0, u.PB)(B),
+ 'data-hover': (0, u.PB)(z),
+ 'data-checked': (0, u.PB)(Z),
+ 'data-focus': (0, u.PB)(N),
+ 'data-indeterminate': (0, u.PB)(x),
+ 'data-disabled': (0, u.PB)(g),
+ 'data-invalid': (0, u.PB)(E),
+ 'data-readonly': (0, u.PB)(y),
+ 'aria-hidden': !0,
+ onMouseDown: (0, l.v0)(e.onMouseDown, (e) => {
+ e.preventDefault(), F.on()
+ }),
+ onMouseUp: (0, l.v0)(e.onMouseUp, F.off),
+ onMouseEnter: (0, l.v0)(e.onMouseEnter, H.on),
+ onMouseLeave: (0, l.v0)(e.onMouseLeave, H.off),
+ })
+ },
+ [B, Z, g, N, z, x, E, y, F, H.off, H.on],
+ ),
+ ee = (0, f.useCallback)(
+ function (e, t) {
+ return (
+ void 0 === e && (e = {}),
+ void 0 === t && (t = null),
+ h({}, R, e, {
+ ref: (0, s.l)(t, (e) => {
+ e && G('LABEL' === e.tagName)
+ }),
+ onClick: (0, l.v0)(e.onClick, () => {
+ var e
+ U ||
+ (null == (e = V.current) || e.click(), (0, c.T)(V.current, { nextTick: !0 }))
+ }),
+ 'data-disabled': (0, u.PB)(g),
+ })
+ )
+ },
+ [R, g, U],
+ ),
+ te = (0, f.useCallback)(
+ function (e, t) {
+ void 0 === e && (e = {}), void 0 === t && (t = null)
+ return h({}, e, {
+ ref: (0, s.l)(V, t),
+ type: 'checkbox',
+ name: k,
+ value: T,
+ id: _,
+ onChange: (0, l.v0)(e.onChange, $),
+ onBlur: (0, l.v0)(e.onBlur, D, I.off),
+ onFocus: (0, l.v0)(e.onFocus, L, () => {
+ ;(0, l.A4)(I.on)
+ }),
+ onKeyDown: (0, l.v0)(e.onKeyDown, Y),
+ onKeyUp: (0, l.v0)(e.onKeyUp, Q),
+ required: b,
+ checked: Z,
+ disabled: X,
+ readOnly: y,
+ 'aria-label': A,
+ 'aria-labelledby': S,
+ 'aria-invalid': P ? Boolean(P) : E,
+ 'aria-describedby': M,
+ 'aria-disabled': g,
+ style: d.NL,
+ })
+ },
+ [k, T, _, $, I.off, I.on, D, L, Y, Q, b, Z, X, y, A, S, P, E, M, g],
+ ),
+ ne = (0, f.useCallback)(
+ function (e, t) {
+ return (
+ void 0 === e && (e = {}),
+ void 0 === t && (t = null),
+ h({}, e, {
+ ref: t,
+ onMouseDown: (0, l.v0)(e.onMouseDown, v),
+ onTouchStart: (0, l.v0)(e.onTouchStart, v),
+ 'data-disabled': (0, u.PB)(g),
+ 'data-checked': (0, u.PB)(Z),
+ 'data-invalid': (0, u.PB)(E),
+ })
+ )
+ },
+ [Z, g, E],
+ )
+ return {
+ state: {
+ isInvalid: E,
+ isFocused: N,
+ isChecked: Z,
+ isActive: B,
+ isHovered: z,
+ isIndeterminate: x,
+ isDisabled: g,
+ isReadOnly: y,
+ isRequired: b,
+ },
+ getRootProps: ee,
+ getCheckboxProps: J,
+ getInputProps: te,
+ getLabelProps: ne,
+ htmlProps: R,
+ }
+ }
+ function v(e) {
+ e.preventDefault(), e.stopPropagation()
+ }
+ var m = n(63),
+ g = n(2326),
+ y = n(5284),
+ b = n(5643),
+ w = n(3808)
+ function x() {
+ return (x =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ var E = (0, m.G)((e, t) => {
+ var n = (0, g.j)('Switch', e),
+ r = (0, y.Lr)(e),
+ { spacing: i = '0.5rem', children: o } = r,
+ a = (function (e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ })(r, ['spacing', 'children']),
+ {
+ state: s,
+ getInputProps: l,
+ getCheckboxProps: c,
+ getRootProps: d,
+ getLabelProps: h,
+ } = p(a),
+ v = f.useMemo(
+ () =>
+ x(
+ { display: 'inline-block', verticalAlign: 'middle', lineHeight: 'normal' },
+ n.container,
+ ),
+ [n.container],
+ ),
+ m = f.useMemo(
+ () =>
+ x(
+ {
+ display: 'inline-flex',
+ flexShrink: 0,
+ justifyContent: 'flex-start',
+ boxSizing: 'content-box',
+ cursor: 'pointer',
+ },
+ n.track,
+ ),
+ [n.track],
+ ),
+ w = f.useMemo(() => x({ userSelect: 'none', marginStart: i }, n.label), [i, n.label])
+ return f.createElement(
+ b.m$.label,
+ x({}, d(), { className: (0, u.cx)('chakra-switch', e.className), __css: v }),
+ f.createElement('input', x({ className: 'chakra-switch__input' }, l({}, t))),
+ f.createElement(
+ b.m$.span,
+ x({}, c(), { className: 'chakra-switch__track', __css: m }),
+ f.createElement(b.m$.span, {
+ __css: n.thumb,
+ className: 'chakra-switch__thumb',
+ 'data-checked': (0, u.PB)(s.isChecked),
+ 'data-hover': (0, u.PB)(s.isHovered),
+ }),
+ ),
+ o &&
+ f.createElement(
+ b.m$.span,
+ x({ className: 'chakra-switch__label' }, h(), { __css: w }),
+ o,
+ ),
+ )
+ })
+ w.Ts && (E.displayName = 'Switch')
+ },
+ 63: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ G: function () {
+ return i
+ },
+ })
+ var r = n(7294)
+ function i(e) {
+ return r.forwardRef(e)
+ }
+ },
+ 1180: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ useTheme: function () {
+ return o.Fg
+ },
+ })
+ var r = n(9421)
+ n.o(r, 'useTheme') &&
+ n.d(t, {
+ useTheme: function () {
+ return r.useTheme
+ },
+ })
+ var i = n(5070)
+ n.o(i, 'useTheme') &&
+ n.d(t, {
+ useTheme: function () {
+ return i.useTheme
+ },
+ })
+ var o = n(9676)
+ },
+ 5643: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ m$: function () {
+ return _
+ },
+ })
+ var r = n(9421),
+ i = n(5505),
+ o = n(658),
+ a = n(7294)
+ function s() {
+ return (s =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ var l = n(7866),
+ u =
+ /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,
+ c = (0, l.Z)(function (e) {
+ return (
+ u.test(e) ||
+ (111 === e.charCodeAt(0) && 110 === e.charCodeAt(1) && e.charCodeAt(2) < 91)
+ )
+ }),
+ d = n(2544),
+ f = n(444),
+ h = n(4199),
+ p = c,
+ v = function (e) {
+ return 'theme' !== e
+ },
+ m = function (e) {
+ return 'string' === typeof e && e.charCodeAt(0) > 96 ? p : v
+ },
+ g = function (e, t, n) {
+ var r
+ if (t) {
+ var i = t.shouldForwardProp
+ r =
+ e.__emotion_forwardProp && i
+ ? function (t) {
+ return e.__emotion_forwardProp(t) && i(t)
+ }
+ : i
+ }
+ return 'function' !== typeof r && n && (r = e.__emotion_forwardProp), r
+ },
+ y = function e(t, n) {
+ var r,
+ i,
+ o = t.__emotion_real === t,
+ l = (o && t.__emotion_base) || t
+ void 0 !== n && ((r = n.label), (i = n.target))
+ var u = g(t, n, o),
+ c = u || m(l),
+ p = !c('as')
+ return function () {
+ var v = arguments,
+ y = o && void 0 !== t.__emotion_styles ? t.__emotion_styles.slice(0) : []
+ if ((void 0 !== r && y.push('label:' + r + ';'), null == v[0] || void 0 === v[0].raw))
+ y.push.apply(y, v)
+ else {
+ 0, y.push(v[0][0])
+ for (var b = v.length, w = 1; w < b; w++) y.push(v[w], v[0][w])
+ }
+ var x = (0, d.w)(function (e, t, n) {
+ var r = (p && e.as) || l,
+ o = '',
+ s = [],
+ v = e
+ if (null == e.theme) {
+ for (var g in ((v = {}), e)) v[g] = e[g]
+ v.theme = (0, a.useContext)(d.T)
+ }
+ 'string' === typeof e.className
+ ? (o = (0, f.f)(t.registered, s, e.className))
+ : null != e.className && (o = e.className + ' ')
+ var b = (0, h.O)(y.concat(s), t.registered, v)
+ ;(0, f.M)(t, b, 'string' === typeof r)
+ ;(o += t.key + '-' + b.name), void 0 !== i && (o += ' ' + i)
+ var w = p && void 0 === u ? m(r) : c,
+ x = {}
+ for (var E in e) (p && 'as' === E) || (w(E) && (x[E] = e[E]))
+ return (x.className = o), (x.ref = n), (0, a.createElement)(r, x)
+ })
+ return (
+ (x.displayName =
+ void 0 !== r
+ ? r
+ : 'Styled(' +
+ ('string' === typeof l ? l : l.displayName || l.name || 'Component') +
+ ')'),
+ (x.defaultProps = t.defaultProps),
+ (x.__emotion_real = x),
+ (x.__emotion_base = l),
+ (x.__emotion_styles = y),
+ (x.__emotion_forwardProp = u),
+ Object.defineProperty(x, 'toString', {
+ value: function () {
+ return '.' + i
+ },
+ }),
+ (x.withComponent = function (t, r) {
+ return e(t, s({}, n, r, { shouldForwardProp: g(x, r, !0) })).apply(void 0, y)
+ }),
+ x
+ )
+ }
+ }.bind()
+ ;[
+ 'a',
+ 'abbr',
+ 'address',
+ 'area',
+ 'article',
+ 'aside',
+ 'audio',
+ 'b',
+ 'base',
+ 'bdi',
+ 'bdo',
+ 'big',
+ 'blockquote',
+ 'body',
+ 'br',
+ 'button',
+ 'canvas',
+ 'caption',
+ 'cite',
+ 'code',
+ 'col',
+ 'colgroup',
+ 'data',
+ 'datalist',
+ 'dd',
+ 'del',
+ 'details',
+ 'dfn',
+ 'dialog',
+ 'div',
+ 'dl',
+ 'dt',
+ 'em',
+ 'embed',
+ 'fieldset',
+ 'figcaption',
+ 'figure',
+ 'footer',
+ 'form',
+ 'h1',
+ 'h2',
+ 'h3',
+ 'h4',
+ 'h5',
+ 'h6',
+ 'head',
+ 'header',
+ 'hgroup',
+ 'hr',
+ 'html',
+ 'i',
+ 'iframe',
+ 'img',
+ 'input',
+ 'ins',
+ 'kbd',
+ 'keygen',
+ 'label',
+ 'legend',
+ 'li',
+ 'link',
+ 'main',
+ 'map',
+ 'mark',
+ 'marquee',
+ 'menu',
+ 'menuitem',
+ 'meta',
+ 'meter',
+ 'nav',
+ 'noscript',
+ 'object',
+ 'ol',
+ 'optgroup',
+ 'option',
+ 'output',
+ 'p',
+ 'param',
+ 'picture',
+ 'pre',
+ 'progress',
+ 'q',
+ 'rp',
+ 'rt',
+ 'ruby',
+ 's',
+ 'samp',
+ 'script',
+ 'section',
+ 'select',
+ 'small',
+ 'source',
+ 'span',
+ 'strong',
+ 'style',
+ 'sub',
+ 'summary',
+ 'sup',
+ 'table',
+ 'tbody',
+ 'td',
+ 'textarea',
+ 'tfoot',
+ 'th',
+ 'thead',
+ 'time',
+ 'title',
+ 'tr',
+ 'track',
+ 'u',
+ 'ul',
+ 'var',
+ 'video',
+ 'wbr',
+ 'circle',
+ 'clipPath',
+ 'defs',
+ 'ellipse',
+ 'foreignObject',
+ 'g',
+ 'image',
+ 'line',
+ 'linearGradient',
+ 'mask',
+ 'path',
+ 'pattern',
+ 'polygon',
+ 'polyline',
+ 'radialGradient',
+ 'rect',
+ 'stop',
+ 'svg',
+ 'text',
+ 'tspan',
+ ].forEach(function (e) {
+ y[e] = y(e)
+ })
+ var b = y,
+ w = new Set([
+ ...r.propNames,
+ 'textStyle',
+ 'layerStyle',
+ 'apply',
+ 'isTruncated',
+ 'noOfLines',
+ 'focusBorderColor',
+ 'errorBorderColor',
+ 'as',
+ '__css',
+ 'css',
+ 'sx',
+ ]),
+ x = new Set(['htmlWidth', 'htmlHeight', 'htmlSize']),
+ E = (e) => x.has(e) || !w.has(e),
+ k = n(5284)
+ function T(e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ }
+ var _ = function (e, t) {
+ var n = null != t ? t : {},
+ { baseStyle: a } = n,
+ s = T(n, ['baseStyle'])
+ s.shouldForwardProp || (s.shouldForwardProp = E)
+ var l = ((e) => {
+ var { baseStyle: t } = e
+ return (e) => {
+ var { css: n, __css: a, sx: s } = e,
+ l = T(e, ['theme', 'css', '__css', 'sx']),
+ u = (0, i.lw)(l, (e, t) => (0, r.isStyleProp)(t)),
+ c = (0, o.Pu)(t, e),
+ d = Object.assign({}, a, c, (0, i.YU)(u), s),
+ f = (0, r.css)(d)(e.theme)
+ return n ? [f, n] : f
+ }
+ })({ baseStyle: a })
+ return b(e, s)(l)
+ }
+ k.t6.forEach((e) => {
+ _[e] = _(e)
+ })
+ },
+ 5070: function () {},
+ 5284: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ t6: function () {
+ return i
+ },
+ Lr: function () {
+ return o
+ },
+ })
+ var r = n(5505),
+ i = [
+ 'a',
+ 'b',
+ 'article',
+ 'aside',
+ 'blockquote',
+ 'button',
+ 'caption',
+ 'cite',
+ 'circle',
+ 'code',
+ 'dd',
+ 'div',
+ 'dl',
+ 'dt',
+ 'fieldset',
+ 'figcaption',
+ 'figure',
+ 'footer',
+ 'form',
+ 'h1',
+ 'h2',
+ 'h3',
+ 'h4',
+ 'h5',
+ 'h6',
+ 'header',
+ 'hr',
+ 'img',
+ 'input',
+ 'kbd',
+ 'label',
+ 'li',
+ 'main',
+ 'mark',
+ 'nav',
+ 'ol',
+ 'p',
+ 'path',
+ 'pre',
+ 'q',
+ 'rect',
+ 's',
+ 'svg',
+ 'section',
+ 'select',
+ 'strong',
+ 'small',
+ 'span',
+ 'sub',
+ 'sup',
+ 'table',
+ 'tbody',
+ 'td',
+ 'textarea',
+ 'tfoot',
+ 'th',
+ 'thead',
+ 'tr',
+ 'ul',
+ ]
+ function o(e) {
+ return (0, r.CE)(e, ['styleConfig', 'size', 'variant', 'colorScheme'])
+ }
+ },
+ 2326: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ j: function () {
+ return v
+ },
+ m: function () {
+ return p
+ },
+ })
+ var r = n(5505),
+ i = n(8554),
+ o = n.n(i),
+ a = n(658),
+ s = n(7294),
+ l = n(9590),
+ u = n.n(l),
+ c = n(4738),
+ d = n(9676)
+ function f() {
+ return (f =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ function h() {
+ return f({}, (0, c.If)(), { theme: (0, d.Fg)() })
+ }
+ function p(e, t, n) {
+ var i, l
+ void 0 === t && (t = {}), void 0 === n && (n = {})
+ var { styleConfig: c } = t,
+ d = (function (e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ })(t, ['styleConfig']),
+ { theme: f, colorMode: p } = h(),
+ v = (0, r.Wf)(f, 'components.' + e),
+ m = c || v,
+ g = o()(
+ { theme: f, colorMode: p },
+ null != (i = null == m ? void 0 : m.defaultProps) ? i : {},
+ (0, r.YU)((0, r.CE)(d, ['children'])),
+ ),
+ y = (0, s.useRef)({})
+ return (0, s.useMemo)(() => {
+ if (m) {
+ var e,
+ t,
+ r,
+ i,
+ s,
+ l,
+ c = (0, a.Pu)(null != (e = m.baseStyle) ? e : {}, g),
+ d = (0, a.Pu)(
+ null != (t = null == (r = m.variants) ? void 0 : r[g.variant]) ? t : {},
+ g,
+ ),
+ f = (0, a.Pu)(null != (i = null == (s = m.sizes) ? void 0 : s[g.size]) ? i : {}, g),
+ h = o()({}, c, f, d)
+ null != (l = n) &&
+ l.isMultiPart &&
+ m.parts &&
+ m.parts.forEach((e) => {
+ var t
+ h[e] = null != (t = h[e]) ? t : {}
+ }),
+ u()(y.current, h) || (y.current = h)
+ }
+ return y.current
+ }, [m, g, null == (l = n) ? void 0 : l.isMultiPart])
+ }
+ function v(e, t) {
+ return p(e, t, { isMultiPart: !0 })
+ }
+ },
+ 5684: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ u: function () {
+ return V
+ },
+ })
+ var r = n(3459),
+ i = n(7294),
+ o = n(7581)
+ function a() {
+ var e = i.useRef(!1),
+ [t, n] = i.useState(0)
+ return (
+ (0, o.z)(() => {
+ e.current = !0
+ }),
+ i.useCallback(() => {
+ e.current || n(t + 1)
+ }, [t])
+ )
+ }
+ var s = n(8327),
+ l = n(4461),
+ u = n(3808),
+ c = n(8500),
+ d = n(3935),
+ f = n(4288)
+ function h() {
+ return (h =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ var [p, v] = (0, c.k)({ strict: !1, name: 'PortalContext' }),
+ m = 'chakra-portal',
+ g = (e) =>
+ i.createElement(
+ 'div',
+ {
+ className: 'chakra-portal-zIndex',
+ style: { position: 'absolute', zIndex: e.zIndex, top: 0, left: 0, right: 0 },
+ },
+ e.children,
+ ),
+ y = (e) => {
+ var { appendToParentPortal: t, children: n } = e,
+ r = i.useRef(null),
+ o = i.useRef(null),
+ l = a(),
+ u = v(),
+ c = (0, f.L)()
+ ;(0, s.G)(() => {
+ if (r.current) {
+ var e = r.current.ownerDocument,
+ n = t && null != u ? u : e.body
+ if (n) {
+ ;(o.current = e.createElement('div')),
+ (o.current.className = m),
+ n.appendChild(o.current),
+ l()
+ var i = o.current
+ return () => {
+ n.contains(i) && n.removeChild(i)
+ }
+ }
+ }
+ }, [])
+ var h =
+ null != c && c.zIndex
+ ? i.createElement(g, { zIndex: null == c ? void 0 : c.zIndex }, n)
+ : n
+ return o.current
+ ? (0, d.createPortal)(i.createElement(p, { value: o.current }, h), o.current)
+ : i.createElement('span', { ref: r })
+ },
+ b = (e) => {
+ var { children: t, containerRef: n, appendToParentPortal: r } = e,
+ o = n.current,
+ u = null != o ? o : l.jU ? document.body : void 0,
+ c = i.useMemo(() => {
+ var e = null == o ? void 0 : o.ownerDocument.createElement('div')
+ return e && (e.className = m), e
+ }, [o]),
+ f = a()
+ return (
+ (0, s.G)(() => {
+ f()
+ }, []),
+ (0, s.G)(() => {
+ if (c && u)
+ return (
+ u.appendChild(c),
+ () => {
+ u.removeChild(c)
+ }
+ )
+ }, [c, u]),
+ u && c ? (0, d.createPortal)(i.createElement(p, { value: r ? c : null }, t), c) : null
+ )
+ }
+ function w(e) {
+ var { containerRef: t } = e,
+ n = (function (e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ })(e, ['containerRef'])
+ return t ? i.createElement(b, h({ containerRef: t }, n)) : i.createElement(y, n)
+ }
+ ;(w.defaultProps = { appendToParentPortal: !0 }),
+ (w.className = m),
+ (w.selector = '.chakra-portal'),
+ u.Ts && (w.displayName = 'Portal')
+ var x = n(5643),
+ E = n(63),
+ k = n(2326),
+ T = n(5284),
+ _ = n(9676),
+ O = n(5505),
+ C = n(5415),
+ A = n(7554),
+ S = n(3869),
+ P = {
+ exit: {
+ scale: 0.85,
+ opacity: 0,
+ transition: {
+ opacity: { duration: 0.15, easings: 'easeInOut' },
+ scale: { duration: 0.2, easings: 'easeInOut' },
+ },
+ },
+ enter: {
+ scale: 1,
+ opacity: 1,
+ transition: {
+ opacity: { easings: 'easeOut', duration: 0.2 },
+ scale: { duration: 0.2, ease: [0.175, 0.885, 0.4, 1.1] },
+ },
+ },
+ },
+ M = n(4860),
+ R = n(4577),
+ j = n(4941),
+ D = n(8931),
+ L = n(658),
+ N = n(8456),
+ I = n(2947)
+ function z() {
+ return (z =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ function H(e) {
+ void 0 === e && (e = {})
+ var {
+ openDelay: t = 0,
+ closeDelay: n = 0,
+ closeOnClick: o = !0,
+ closeOnMouseDown: a,
+ onOpen: s,
+ onClose: l,
+ placement: u,
+ id: c,
+ isOpen: d,
+ defaultIsOpen: f,
+ arrowSize: h = 10,
+ arrowShadowColor: p,
+ arrowPadding: v,
+ modifiers: m,
+ isDisabled: g,
+ gutter: y,
+ offset: b,
+ } = e,
+ w = (function (e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ })(e, [
+ 'openDelay',
+ 'closeDelay',
+ 'closeOnClick',
+ 'closeOnMouseDown',
+ 'onOpen',
+ 'onClose',
+ 'placement',
+ 'id',
+ 'isOpen',
+ 'defaultIsOpen',
+ 'arrowSize',
+ 'arrowShadowColor',
+ 'arrowPadding',
+ 'modifiers',
+ 'isDisabled',
+ 'gutter',
+ 'offset',
+ ]),
+ {
+ isOpen: x,
+ onOpen: E,
+ onClose: k,
+ } = (0, M.q)({ isOpen: d, defaultIsOpen: f, onOpen: s, onClose: l }),
+ {
+ referenceRef: T,
+ getPopperProps: _,
+ getArrowInnerProps: O,
+ getArrowProps: C,
+ } = (0, D.D)({
+ enabled: x,
+ placement: u,
+ arrowPadding: v,
+ modifiers: m,
+ gutter: y,
+ offset: b,
+ }),
+ A = (0, R.Me)(c, 'tooltip'),
+ S = i.useRef(null),
+ P = i.useRef(),
+ H = i.useRef(),
+ B = i.useCallback(() => {
+ g || (P.current = window.setTimeout(E, t))
+ }, [g, E, t]),
+ F = i.useCallback(() => {
+ P.current && clearTimeout(P.current), (H.current = window.setTimeout(k, n))
+ }, [n, k]),
+ V = i.useCallback(() => {
+ o && F()
+ }, [o, F]),
+ U = i.useCallback(() => {
+ a && F()
+ }, [a, F])
+ ;(0, j.O)('keydown', (e) => {
+ x && 'Escape' === e.key && F()
+ }),
+ i.useEffect(
+ () => () => {
+ clearTimeout(P.current), clearTimeout(H.current)
+ },
+ [],
+ ),
+ (0, j.O)('mouseleave', F, S.current)
+ var G = i.useCallback(
+ function (e, t) {
+ return (
+ void 0 === e && (e = {}),
+ void 0 === t && (t = null),
+ z({}, e, {
+ ref: (0, I.l)(S, t, T),
+ onMouseEnter: (0, L.v0)(e.onMouseEnter, B),
+ onClick: (0, L.v0)(e.onClick, V),
+ onMouseDown: (0, L.v0)(e.onMouseDown, U),
+ onFocus: (0, L.v0)(e.onFocus, B),
+ onBlur: (0, L.v0)(e.onBlur, F),
+ 'aria-describedby': x ? A : void 0,
+ })
+ )
+ },
+ [B, F, U, x, A, V, T],
+ ),
+ q = i.useCallback(
+ function (e, t) {
+ return (
+ void 0 === e && (e = {}),
+ void 0 === t && (t = null),
+ _(
+ z({}, e, {
+ style: z({}, e.style, {
+ [r.Dq.arrowSize.var]: h ? (0, N.px)(h) : void 0,
+ [r.Dq.arrowShadowColor.var]: p,
+ }),
+ }),
+ t,
+ )
+ )
+ },
+ [_, h, p],
+ ),
+ W = i.useCallback(
+ function (e, t) {
+ return (
+ void 0 === e && (e = {}),
+ void 0 === t && (t = null),
+ z({ ref: t }, w, e, {
+ id: A,
+ role: 'tooltip',
+ style: z({}, e.style, {
+ position: 'relative',
+ transformOrigin: r.Dq.transformOrigin.varRef,
+ }),
+ })
+ )
+ },
+ [w, A],
+ )
+ return {
+ isOpen: x,
+ show: B,
+ hide: F,
+ getTriggerProps: G,
+ getTooltipProps: W,
+ getTooltipPositionerProps: q,
+ getArrowProps: C,
+ getArrowInnerProps: O,
+ }
+ }
+ function B() {
+ return (B =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ var F = (0, x.m$)(A.E.div),
+ V = (0, E.G)((e, t) => {
+ var n = (0, k.m)('Tooltip', e),
+ o = (0, T.Lr)(e),
+ a = (0, _.Fg)(),
+ {
+ children: s,
+ label: l,
+ shouldWrapChildren: c,
+ 'aria-label': d,
+ hasArrow: f,
+ bg: h,
+ portalProps: p,
+ } = o,
+ v = (function (e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ })(o, [
+ 'children',
+ 'label',
+ 'shouldWrapChildren',
+ 'aria-label',
+ 'hasArrow',
+ 'bg',
+ 'portalProps',
+ ])
+ h && ((n.bg = h), (n[r.Dq.arrowBg.var] = (0, O.K1)(a, 'colors', h)))
+ var m,
+ g = H(v)
+ if ((0, u.HD)(s) || c)
+ m = i.createElement(x.m$.span, B({ tabIndex: 0 }, g.getTriggerProps()), s)
+ else {
+ var y = i.Children.only(s)
+ m = i.cloneElement(y, g.getTriggerProps(y.props, y.ref))
+ }
+ var b = !!d,
+ E = g.getTooltipProps({}, t),
+ A = b ? (0, O.CE)(E, ['role', 'id']) : E,
+ M = (0, O.ei)(E, ['role', 'id'])
+ return l
+ ? i.createElement(
+ i.Fragment,
+ null,
+ m,
+ i.createElement(
+ S.M,
+ null,
+ g.isOpen &&
+ i.createElement(
+ w,
+ p,
+ i.createElement(
+ x.m$.div,
+ B({}, g.getTooltipPositionerProps(), {
+ __css: { zIndex: n.zIndex, pointerEvents: 'none' },
+ }),
+ i.createElement(
+ F,
+ B({ variants: P }, A, {
+ initial: 'exit',
+ animate: 'enter',
+ exit: 'exit',
+ __css: n,
+ }),
+ l,
+ b && i.createElement(C.TX, M, d),
+ f &&
+ i.createElement(
+ x.m$.div,
+ {
+ 'data-popper-arrow': !0,
+ className: 'chakra-tooltip__arrow-wrapper',
+ },
+ i.createElement(x.m$.div, {
+ 'data-popper-arrow-inner': !0,
+ className: 'chakra-tooltip__arrow',
+ __css: { bg: n.bg },
+ }),
+ ),
+ ),
+ ),
+ ),
+ ),
+ )
+ : i.createElement(i.Fragment, null, s)
+ })
+ u.Ts && (V.displayName = 'Tooltip')
+ },
+ 7248: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ T: function () {
+ return a
+ },
+ })
+ var r = n(4461),
+ i = n(658),
+ o = n(7768)
+ function a(e, t) {
+ void 0 === t && (t = {})
+ var {
+ isActive: n = o.H9,
+ nextTick: a,
+ preventScroll: l = !0,
+ selectTextIfInput: u = !0,
+ } = t
+ if (!e || n(e)) return -1
+ function c() {
+ if (e) {
+ if (
+ (function () {
+ if (null == s) {
+ s = !1
+ try {
+ document.createElement('div').focus({
+ get preventScroll() {
+ return (s = !0), !0
+ },
+ })
+ } catch (e) {}
+ }
+ return s
+ })()
+ )
+ e.focus({ preventScroll: l })
+ else if ((e.focus(), l))
+ !(function (e) {
+ for (var { element: t, scrollTop: n, scrollLeft: r } of e)
+ (t.scrollTop = n), (t.scrollLeft = r)
+ })(
+ (function (e) {
+ var t = (0, r.lZ)(e),
+ n = e.parentNode,
+ i = [],
+ o = t.scrollingElement || t.documentElement
+ for (; n instanceof HTMLElement && n !== o; )
+ (n.offsetHeight < n.scrollHeight || n.offsetWidth < n.scrollWidth) &&
+ i.push({ element: n, scrollTop: n.scrollTop, scrollLeft: n.scrollLeft }),
+ (n = n.parentNode)
+ o instanceof HTMLElement &&
+ i.push({ element: o, scrollTop: o.scrollTop, scrollLeft: o.scrollLeft })
+ return i
+ })(e),
+ )
+ ;(0, o.cK)(e) && u && e.select()
+ } else
+ (0, i.ZK)({
+ condition: !0,
+ message: "[chakra-ui]: can't call focus() on `null` or `undefined` element",
+ })
+ }
+ return a ? requestAnimationFrame(c) : (c(), -1)
+ }
+ var s = null
+ },
+ 7768: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ cK: function () {
+ return o
+ },
+ H9: function () {
+ return a
+ },
+ Wq: function () {
+ return c
+ },
+ })
+ var r = n(4461),
+ i = (e) => e.hasAttribute('tabindex')
+ function o(e) {
+ return s(e) && 'input' === e.tagName.toLowerCase() && 'select' in e
+ }
+ function a(e) {
+ return (e instanceof HTMLElement ? (0, r.lZ)(e) : document).activeElement === e
+ }
+ function s(e) {
+ return e instanceof HTMLElement
+ }
+ function l(e) {
+ return !(!e.parentElement || !l(e.parentElement)) || e.hidden
+ }
+ function u(e) {
+ if (
+ !s(e) ||
+ l(e) ||
+ (function (e) {
+ return (
+ !0 === Boolean(e.getAttribute('disabled')) ||
+ !0 === Boolean(e.getAttribute('aria-disabled'))
+ )
+ })(e)
+ )
+ return !1
+ var { localName: t } = e
+ if (['input', 'select', 'textarea', 'button'].indexOf(t) >= 0) return !0
+ var n = {
+ a: () => e.hasAttribute('href'),
+ audio: () => e.hasAttribute('controls'),
+ video: () => e.hasAttribute('controls'),
+ }
+ return t in n
+ ? n[t]()
+ : !!(function (e) {
+ var t = e.getAttribute('contenteditable')
+ return 'false' !== t && null != t
+ })(e) || i(e)
+ }
+ function c(e) {
+ return !!e && s(e) && u(e) && !((e) => i(e) && -1 === e.tabIndex)(e)
+ }
+ },
+ 5415: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ NL: function () {
+ return o
+ },
+ TX: function () {
+ return a
+ },
+ })
+ var r = n(5643),
+ i = n(3808),
+ o = {
+ border: '0px',
+ clip: 'rect(0px, 0px, 0px, 0px)',
+ height: '1px',
+ width: '1px',
+ margin: '-1px',
+ padding: '0px',
+ overflow: 'hidden',
+ whiteSpace: 'nowrap',
+ position: 'absolute',
+ },
+ a = (0, r.m$)('span', { baseStyle: o })
+ i.Ts && (a.displayName = 'VisuallyHidden')
+ var s = (0, r.m$)('input', { baseStyle: o })
+ i.Ts && (s.displayName = 'VisuallyHiddenInput')
+ },
+ 4309: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ iP: function () {
+ return d
+ },
+ })
+ var r = n(7294)
+ var i = (e) => {
+ const t = r.useRef(e)
+ return (
+ r.useEffect(() => {
+ t.current = e
+ }),
+ t
+ )
+ }
+ const o = (e, t = 100, n = !1) => {
+ const o = i(e),
+ a = r.useRef(),
+ s = [t, n, o]
+ function l() {
+ a.current && clearTimeout(a.current), (a.current = void 0)
+ }
+ function u() {
+ a.current = void 0
+ }
+ return (
+ r.useEffect(() => l, s),
+ r.useCallback(function () {
+ const e = arguments,
+ { current: r } = a
+ if (void 0 === r && n) return (a.current = setTimeout(u, t)), o.current.apply(null, e)
+ r && clearTimeout(r),
+ (a.current = setTimeout(() => {
+ ;(a.current = void 0), o.current.apply(null, e)
+ }, t))
+ }, s)
+ )
+ }
+ var a =
+ r[
+ 'undefined' !== typeof document && void 0 !== document.createElement
+ ? 'useLayoutEffect'
+ : 'useEffect'
+ ]
+ var s = function (e, t, n, i) {
+ const o = r.useRef(n),
+ s = r.useRef(i)
+ a(() => {
+ ;(o.current = n), (s.current = i)
+ }),
+ a(() => {
+ const n = e && 'current' in e ? e.current : e
+ if (!n) return
+ let r = 0
+ function i(...e) {
+ r || o.current.apply(this, e)
+ }
+ n.addEventListener(t, i)
+ const a = s.current
+ return () => {
+ ;(r = 1), n.removeEventListener(t, i), a && a()
+ }
+ }, [e, t])
+ }
+ const l = {},
+ u = 'undefined' === typeof window ? null : window,
+ c = () => [document.documentElement.clientWidth, document.documentElement.clientHeight],
+ d = (e = l) => {
+ const { wait: t, leading: n, initialWidth: i = 0, initialHeight: a = 0 } = e,
+ [d, f] = ((e, t, n) => {
+ const i = r.useState(e)
+ return [i[0], o(i[1], t, n)]
+ })('undefined' === typeof document ? [i, a] : c, t, n),
+ h = () => f(c)
+ return s(u, 'resize', h), s(u, 'orientationchange', h), d
+ }
+ },
+ 2539: function (e, t, n) {
+ 'use strict'
+ n.r(t)
+ t.default = function (e) {
+ return e instanceof Function
+ ? e
+ : 'string' === typeof e
+ ? function (t) {
+ return t[e]
+ }
+ : function (t) {
+ return e
+ }
+ }
+ },
+ 3379: function (e) {
+ var t = {
+ animationIterationCount: !0,
+ boxFlex: !0,
+ boxFlexGroup: !0,
+ boxOrdinalGroup: !0,
+ columnCount: !0,
+ flex: !0,
+ flexGrow: !0,
+ flexPositive: !0,
+ flexShrink: !0,
+ flexNegative: !0,
+ flexOrder: !0,
+ gridRow: !0,
+ gridColumn: !0,
+ fontWeight: !0,
+ lineClamp: !0,
+ lineHeight: !0,
+ opacity: !0,
+ order: !0,
+ orphans: !0,
+ tabSize: !0,
+ widows: !0,
+ zIndex: !0,
+ zoom: !0,
+ fillOpacity: !0,
+ stopOpacity: !0,
+ strokeDashoffset: !0,
+ strokeOpacity: !0,
+ strokeWidth: !0,
+ }
+ e.exports = function (e, n) {
+ return 'number' !== typeof n || t[e] ? n : n + 'px'
+ }
+ },
+ 401: function (e, t, n) {
+ n(2406), n(9874), n(9236), n(2578), n(6699)
+ },
+ 203: function (e) {
+ ;(e.exports = THREE.ColladaLoader =
+ function (e) {
+ this.manager = void 0 !== e ? e : THREE.DefaultLoadingManager
+ }),
+ (THREE.ColladaLoader.prototype = {
+ constructor: THREE.ColladaLoader,
+ crossOrigin: 'anonymous',
+ load: function (e, t, n, r) {
+ var i = this,
+ o = void 0 === i.path ? THREE.LoaderUtils.extractUrlBase(e) : i.path,
+ a = new THREE.FileLoader(i.manager)
+ a.setPath(i.path),
+ a.load(
+ e,
+ function (e) {
+ t(i.parse(e, o))
+ },
+ n,
+ r,
+ )
+ },
+ setPath: function (e) {
+ return (this.path = e), this
+ },
+ setResourcePath: function (e) {
+ return (this.resourcePath = e), this
+ },
+ options: {
+ set convertUpAxis(e) {
+ console.warn(
+ 'THREE.ColladaLoader: options.convertUpAxis() has been removed. Up axis is converted automatically.',
+ )
+ },
+ },
+ setCrossOrigin: function (e) {
+ return (this.crossOrigin = e), this
+ },
+ parse: function (e, t) {
+ function n(e, t) {
+ for (var n = [], r = e.childNodes, i = 0, o = r.length; i < o; i++) {
+ var a = r[i]
+ a.nodeName === t && n.push(a)
+ }
+ return n
+ }
+ function r(e) {
+ if (0 === e.length) return []
+ for (
+ var t = e.trim().split(/\s+/), n = new Array(t.length), r = 0, i = t.length;
+ r < i;
+ r++
+ )
+ n[r] = t[r]
+ return n
+ }
+ function i(e) {
+ if (0 === e.length) return []
+ for (
+ var t = e.trim().split(/\s+/), n = new Array(t.length), r = 0, i = t.length;
+ r < i;
+ r++
+ )
+ n[r] = parseFloat(t[r])
+ return n
+ }
+ function o(e) {
+ if (0 === e.length) return []
+ for (
+ var t = e.trim().split(/\s+/), n = new Array(t.length), r = 0, i = t.length;
+ r < i;
+ r++
+ )
+ n[r] = parseInt(t[r])
+ return n
+ }
+ function a(e) {
+ return e.substring(1)
+ }
+ function s(e) {
+ return 0 === Object.keys(e).length
+ }
+ function l(e) {
+ return void 0 !== e && !0 === e.hasAttribute('meter')
+ ? parseFloat(e.getAttribute('meter'))
+ : 1
+ }
+ function u(e) {
+ return void 0 !== e ? e.textContent : 'Y_UP'
+ }
+ function c(e, t, r, i) {
+ var o = n(e, t)[0]
+ if (void 0 !== o) for (var a = n(o, r), s = 0; s < a.length; s++) i(a[s])
+ }
+ function d(e, t) {
+ for (var n in e) {
+ e[n].build = t(e[n])
+ }
+ }
+ function f(e, t) {
+ return void 0 !== e.build || (e.build = t(e)), e.build
+ }
+ function h(e) {
+ for (var t = { inputs: {} }, n = 0, r = e.childNodes.length; n < r; n++) {
+ var i = e.childNodes[n]
+ if (1 === i.nodeType)
+ switch (i.nodeName) {
+ case 'input':
+ var o = a(i.getAttribute('source')),
+ s = i.getAttribute('semantic')
+ t.inputs[s] = o
+ }
+ }
+ return t
+ }
+ function p(e) {
+ var t = {},
+ n = e.getAttribute('target').split('/'),
+ r = n.shift(),
+ i = n.shift(),
+ o = -1 !== i.indexOf('('),
+ s = -1 !== i.indexOf('.')
+ if (s) (n = i.split('.')), (i = n.shift()), (t.member = n.shift())
+ else if (o) {
+ var l = i.split('(')
+ i = l.shift()
+ for (var u = 0; u < l.length; u++) l[u] = parseInt(l[u].replace(/\)/, ''))
+ t.indices = l
+ }
+ return (
+ (t.id = r),
+ (t.sid = i),
+ (t.arraySyntax = o),
+ (t.memberSyntax = s),
+ (t.sampler = a(e.getAttribute('source'))),
+ t
+ )
+ }
+ function v(e) {
+ var t = [],
+ n = e.channels,
+ r = e.samplers,
+ i = e.sources
+ for (var o in n)
+ if (n.hasOwnProperty(o)) {
+ var a = n[o],
+ s = r[a.sampler],
+ l = s.inputs.INPUT,
+ u = s.inputs.OUTPUT
+ x(g(a, i[l], i[u]), t)
+ }
+ return t
+ }
+ function m(e) {
+ return f(We.animations[e], v)
+ }
+ function g(e, t, n) {
+ var r,
+ i,
+ o,
+ a,
+ s,
+ l,
+ u = We.nodes[e.id],
+ c = Le(u.id),
+ d = u.transforms[e.sid],
+ f = u.matrix.clone().transpose(),
+ h = {}
+ switch (d) {
+ case 'matrix':
+ for (o = 0, a = t.array.length; o < a; o++)
+ if (
+ ((r = t.array[o]),
+ (i = o * n.stride),
+ void 0 === h[r] && (h[r] = {}),
+ !0 === e.arraySyntax)
+ ) {
+ var p = n.array[i],
+ v = e.indices[0] + 4 * e.indices[1]
+ h[r][v] = p
+ } else for (s = 0, l = n.stride; s < l; s++) h[r][s] = n.array[i + s]
+ break
+ case 'translate':
+ case 'rotate':
+ case 'scale':
+ console.warn(
+ 'THREE.ColladaLoader: Animation transform type "%s" not yet implemented.',
+ d,
+ )
+ }
+ var m = (function (e, t) {
+ var n = []
+ for (var r in e) n.push({ time: parseFloat(r), value: e[r] })
+ n.sort(o)
+ for (var i = 0; i < 16; i++) E(n, i, t.elements[i])
+ return n
+ function o(e, t) {
+ return e.time - t.time
+ }
+ })(h, f)
+ return { name: c.uuid, keyframes: m }
+ }
+ var y = new THREE.Vector3(),
+ b = new THREE.Vector3(),
+ w = new THREE.Quaternion()
+ function x(e, t) {
+ for (
+ var n = e.keyframes,
+ r = e.name,
+ i = [],
+ o = [],
+ a = [],
+ s = [],
+ l = 0,
+ u = n.length;
+ l < u;
+ l++
+ ) {
+ var c = n[l],
+ d = c.time,
+ f = c.value
+ Te.fromArray(f).transpose(),
+ Te.decompose(y, w, b),
+ i.push(d),
+ o.push(y.x, y.y, y.z),
+ a.push(w.x, w.y, w.z, w.w),
+ s.push(b.x, b.y, b.z)
+ }
+ return (
+ o.length > 0 && t.push(new THREE.VectorKeyframeTrack(r + '.position', i, o)),
+ a.length > 0 && t.push(new THREE.QuaternionKeyframeTrack(r + '.quaternion', i, a)),
+ s.length > 0 && t.push(new THREE.VectorKeyframeTrack(r + '.scale', i, s)),
+ t
+ )
+ }
+ function E(e, t, n) {
+ var r,
+ i,
+ o,
+ a = !0
+ for (i = 0, o = e.length; i < o; i++)
+ void 0 === (r = e[i]).value[t] ? (r.value[t] = null) : (a = !1)
+ if (!0 === a) for (i = 0, o = e.length; i < o; i++) (r = e[i]).value[t] = n
+ else
+ !(function (e, t) {
+ for (var n, r, i = 0, o = e.length; i < o; i++) {
+ var a = e[i]
+ if (null === a.value[t]) {
+ if (((n = k(e, i, t)), (r = T(e, i, t)), null === n)) {
+ a.value[t] = r.value[t]
+ continue
+ }
+ if (null === r) {
+ a.value[t] = n.value[t]
+ continue
+ }
+ _(a, n, r, t)
+ }
+ }
+ })(e, t)
+ }
+ function k(e, t, n) {
+ for (; t >= 0; ) {
+ var r = e[t]
+ if (null !== r.value[n]) return r
+ t--
+ }
+ return null
+ }
+ function T(e, t, n) {
+ for (; t < e.length; ) {
+ var r = e[t]
+ if (null !== r.value[n]) return r
+ t++
+ }
+ return null
+ }
+ function _(e, t, n, r) {
+ n.time - t.time !== 0
+ ? (e.value[r] =
+ ((e.time - t.time) * (n.value[r] - t.value[r])) / (n.time - t.time) +
+ t.value[r])
+ : (e.value[r] = t.value[r])
+ }
+ function O(e) {
+ for (
+ var t = [],
+ n = e.name,
+ r = e.end - e.start || -1,
+ i = e.animations,
+ o = 0,
+ a = i.length;
+ o < a;
+ o++
+ )
+ for (var s = m(i[o]), l = 0, u = s.length; l < u; l++) t.push(s[l])
+ return new THREE.AnimationClip(n, r, t)
+ }
+ function C(e) {
+ return f(We.clips[e], O)
+ }
+ function A(e) {
+ for (var t = { sources: {} }, n = 0, r = e.childNodes.length; n < r; n++) {
+ var o = e.childNodes[n]
+ if (1 === o.nodeType)
+ switch (o.nodeName) {
+ case 'bind_shape_matrix':
+ t.bindShapeMatrix = i(o.textContent)
+ break
+ case 'source':
+ var a = o.getAttribute('id')
+ t.sources[a] = ie(o)
+ break
+ case 'joints':
+ t.joints = S(o)
+ break
+ case 'vertex_weights':
+ t.vertexWeights = P(o)
+ }
+ }
+ return t
+ }
+ function S(e) {
+ for (var t = { inputs: {} }, n = 0, r = e.childNodes.length; n < r; n++) {
+ var i = e.childNodes[n]
+ if (1 === i.nodeType)
+ switch (i.nodeName) {
+ case 'input':
+ var o = i.getAttribute('semantic'),
+ s = a(i.getAttribute('source'))
+ t.inputs[o] = s
+ }
+ }
+ return t
+ }
+ function P(e) {
+ for (var t = { inputs: {} }, n = 0, r = e.childNodes.length; n < r; n++) {
+ var i = e.childNodes[n]
+ if (1 === i.nodeType)
+ switch (i.nodeName) {
+ case 'input':
+ var s = i.getAttribute('semantic'),
+ l = a(i.getAttribute('source')),
+ u = parseInt(i.getAttribute('offset'))
+ t.inputs[s] = { id: l, offset: u }
+ break
+ case 'vcount':
+ t.vcount = o(i.textContent)
+ break
+ case 'v':
+ t.v = o(i.textContent)
+ }
+ }
+ return t
+ }
+ function M(e) {
+ var t = { id: e.id },
+ n = We.geometries[t.id]
+ return (
+ void 0 !== e.skin &&
+ ((t.skin = (function (e) {
+ var t,
+ n,
+ r,
+ i = 4,
+ o = {
+ joints: [],
+ indices: { array: [], stride: i },
+ weights: { array: [], stride: i },
+ },
+ a = e.sources,
+ s = e.vertexWeights,
+ l = s.vcount,
+ u = s.v,
+ c = s.inputs.JOINT.offset,
+ d = s.inputs.WEIGHT.offset,
+ f = e.sources[e.joints.inputs.JOINT],
+ h = e.sources[e.joints.inputs.INV_BIND_MATRIX],
+ p = a[s.inputs.WEIGHT.id].array,
+ v = 0
+ for (t = 0, r = l.length; t < r; t++) {
+ var m = l[t],
+ g = []
+ for (n = 0; n < m; n++) {
+ var y = u[v + c],
+ b = p[u[v + d]]
+ g.push({ index: y, weight: b }), (v += 2)
+ }
+ for (g.sort(k), n = 0; n < i; n++) {
+ var w = g[n]
+ void 0 !== w
+ ? (o.indices.array.push(w.index), o.weights.array.push(w.weight))
+ : (o.indices.array.push(0), o.weights.array.push(0))
+ }
+ }
+ e.bindShapeMatrix
+ ? (o.bindMatrix = new THREE.Matrix4()
+ .fromArray(e.bindShapeMatrix)
+ .transpose())
+ : (o.bindMatrix = new THREE.Matrix4().identity())
+ for (t = 0, r = f.array.length; t < r; t++) {
+ var x = f.array[t],
+ E = new THREE.Matrix4().fromArray(h.array, t * h.stride).transpose()
+ o.joints.push({ name: x, boneInverse: E })
+ }
+ return o
+ function k(e, t) {
+ return t.weight - e.weight
+ }
+ })(e.skin)),
+ (n.sources.skinIndices = t.skin.indices),
+ (n.sources.skinWeights = t.skin.weights)),
+ t
+ )
+ }
+ function R(e) {
+ return void 0 !== e.build ? e.build : e.init_from
+ }
+ function j(e) {
+ var t = We.images[e]
+ return void 0 !== t
+ ? f(t, R)
+ : (console.warn("THREE.ColladaLoader: Couldn't find image with ID:", e), null)
+ }
+ function D(e) {
+ for (
+ var t = { surfaces: {}, samplers: {} }, n = 0, r = e.childNodes.length;
+ n < r;
+ n++
+ ) {
+ var i = e.childNodes[n]
+ if (1 === i.nodeType)
+ switch (i.nodeName) {
+ case 'newparam':
+ L(i, t)
+ break
+ case 'technique':
+ t.technique = z(i)
+ break
+ case 'extra':
+ t.extra = G(i)
+ }
+ }
+ return t
+ }
+ function L(e, t) {
+ for (var n = e.getAttribute('sid'), r = 0, i = e.childNodes.length; r < i; r++) {
+ var o = e.childNodes[r]
+ if (1 === o.nodeType)
+ switch (o.nodeName) {
+ case 'surface':
+ t.surfaces[n] = N(o)
+ break
+ case 'sampler2D':
+ t.samplers[n] = I(o)
+ }
+ }
+ }
+ function N(e) {
+ for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) {
+ var i = e.childNodes[n]
+ if (1 === i.nodeType)
+ switch (i.nodeName) {
+ case 'init_from':
+ t.init_from = i.textContent
+ }
+ }
+ return t
+ }
+ function I(e) {
+ for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) {
+ var i = e.childNodes[n]
+ if (1 === i.nodeType)
+ switch (i.nodeName) {
+ case 'source':
+ t.source = i.textContent
+ }
+ }
+ return t
+ }
+ function z(e) {
+ for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) {
+ var i = e.childNodes[n]
+ if (1 === i.nodeType)
+ switch (i.nodeName) {
+ case 'constant':
+ case 'lambert':
+ case 'blinn':
+ case 'phong':
+ ;(t.type = i.nodeName), (t.parameters = H(i))
+ }
+ }
+ return t
+ }
+ function H(e) {
+ for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) {
+ var i = e.childNodes[n]
+ if (1 === i.nodeType)
+ switch (i.nodeName) {
+ case 'emission':
+ case 'diffuse':
+ case 'specular':
+ case 'bump':
+ case 'ambient':
+ case 'shininess':
+ case 'transparency':
+ t[i.nodeName] = B(i)
+ break
+ case 'transparent':
+ t[i.nodeName] = { opaque: i.getAttribute('opaque'), data: B(i) }
+ }
+ }
+ return t
+ }
+ function B(e) {
+ for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) {
+ var o = e.childNodes[n]
+ if (1 === o.nodeType)
+ switch (o.nodeName) {
+ case 'color':
+ t[o.nodeName] = i(o.textContent)
+ break
+ case 'float':
+ t[o.nodeName] = parseFloat(o.textContent)
+ break
+ case 'texture':
+ t[o.nodeName] = { id: o.getAttribute('texture'), extra: F(o) }
+ }
+ }
+ return t
+ }
+ function F(e) {
+ for (var t = { technique: {} }, n = 0, r = e.childNodes.length; n < r; n++) {
+ var i = e.childNodes[n]
+ if (1 === i.nodeType)
+ switch (i.nodeName) {
+ case 'extra':
+ V(i, t)
+ }
+ }
+ return t
+ }
+ function V(e, t) {
+ for (var n = 0, r = e.childNodes.length; n < r; n++) {
+ var i = e.childNodes[n]
+ if (1 === i.nodeType)
+ switch (i.nodeName) {
+ case 'technique':
+ U(i, t)
+ }
+ }
+ }
+ function U(e, t) {
+ for (var n = 0, r = e.childNodes.length; n < r; n++) {
+ var i = e.childNodes[n]
+ if (1 === i.nodeType)
+ switch (i.nodeName) {
+ case 'repeatU':
+ case 'repeatV':
+ case 'offsetU':
+ case 'offsetV':
+ t.technique[i.nodeName] = parseFloat(i.textContent)
+ break
+ case 'wrapU':
+ case 'wrapV':
+ 'TRUE' === i.textContent.toUpperCase()
+ ? (t.technique[i.nodeName] = 1)
+ : 'FALSE' === i.textContent.toUpperCase()
+ ? (t.technique[i.nodeName] = 0)
+ : (t.technique[i.nodeName] = parseInt(i.textContent))
+ }
+ }
+ }
+ function G(e) {
+ for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) {
+ var i = e.childNodes[n]
+ if (1 === i.nodeType)
+ switch (i.nodeName) {
+ case 'technique':
+ t.technique = q(i)
+ }
+ }
+ return t
+ }
+ function q(e) {
+ for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) {
+ var i = e.childNodes[n]
+ if (1 === i.nodeType)
+ switch (i.nodeName) {
+ case 'double_sided':
+ t[i.nodeName] = parseInt(i.textContent)
+ }
+ }
+ return t
+ }
+ function W(e) {
+ return e
+ }
+ function K(e) {
+ var t,
+ n,
+ r = ((t = e.url), f(We.effects[t], W)),
+ i = r.profile.technique,
+ o = r.profile.extra
+ switch (i.type) {
+ case 'phong':
+ case 'blinn':
+ n = new THREE.MeshPhongMaterial()
+ break
+ case 'lambert':
+ n = new THREE.MeshLambertMaterial()
+ break
+ default:
+ n = new THREE.MeshBasicMaterial()
+ }
+ function a(e) {
+ var t = r.profile.samplers[e.id],
+ n = null
+ void 0 !== t
+ ? (n = j(r.profile.surfaces[t.source].init_from))
+ : (console.warn(
+ 'THREE.ColladaLoader: Undefined sampler. Access image directly (see #12530).',
+ ),
+ (n = j(e.id)))
+ if (null !== n) {
+ var i = (function (e) {
+ var t,
+ n = e.slice(2 + ((e.lastIndexOf('.') - 1) >>> 0))
+ switch ((n = n.toLowerCase())) {
+ case 'tga':
+ t = Be
+ break
+ default:
+ t = Ve
+ }
+ return t
+ })(n)
+ if (void 0 !== i) {
+ var o = i.load(n),
+ a = e.extra
+ if (void 0 !== a && void 0 !== a.technique && !1 === s(a.technique)) {
+ var l = a.technique
+ ;(o.wrapS = l.wrapU ? THREE.RepeatWrapping : THREE.ClampToEdgeWrapping),
+ (o.wrapT = l.wrapV ? THREE.RepeatWrapping : THREE.ClampToEdgeWrapping),
+ o.offset.set(l.offsetU || 0, l.offsetV || 0),
+ o.repeat.set(l.repeatU || 1, l.repeatV || 1)
+ } else (o.wrapS = THREE.RepeatWrapping), (o.wrapT = THREE.RepeatWrapping)
+ return o
+ }
+ return (
+ console.warn('THREE.ColladaLoader: Loader for texture %s not found.', n), null
+ )
+ }
+ return (
+ console.warn("THREE.ColladaLoader: Couldn't create texture with ID:", e.id), null
+ )
+ }
+ n.name = e.name
+ var l = i.parameters
+ for (var u in l) {
+ var c = l[u]
+ switch (u) {
+ case 'diffuse':
+ c.color && n.color.fromArray(c.color), c.texture && (n.map = a(c.texture))
+ break
+ case 'specular':
+ c.color && n.specular && n.specular.fromArray(c.color),
+ c.texture && (n.specularMap = a(c.texture))
+ break
+ case 'bump':
+ c.texture && (n.normalMap = a(c.texture))
+ break
+ case 'ambient':
+ c.texture && (n.lightMap = a(c.texture))
+ break
+ case 'shininess':
+ c.float && n.shininess && (n.shininess = c.float)
+ break
+ case 'emission':
+ c.color && n.emissive && n.emissive.fromArray(c.color),
+ c.texture && (n.emissiveMap = a(c.texture))
+ }
+ }
+ var d = l.transparent,
+ h = l.transparency
+ if (
+ (void 0 === h && d && (h = { float: 1 }),
+ void 0 === d && h && (d = { opaque: 'A_ONE', data: { color: [1, 1, 1, 1] } }),
+ d && h)
+ )
+ if (d.data.texture) n.transparent = !0
+ else {
+ var p = d.data.color
+ switch (d.opaque) {
+ case 'A_ONE':
+ n.opacity = p[3] * h.float
+ break
+ case 'RGB_ZERO':
+ n.opacity = 1 - p[0] * h.float
+ break
+ case 'A_ZERO':
+ n.opacity = 1 - p[3] * h.float
+ break
+ case 'RGB_ONE':
+ n.opacity = p[0] * h.float
+ break
+ default:
+ console.warn(
+ 'THREE.ColladaLoader: Invalid opaque type "%s" of transparent tag.',
+ d.opaque,
+ )
+ }
+ n.opacity < 1 && (n.transparent = !0)
+ }
+ return (
+ void 0 !== o &&
+ void 0 !== o.technique &&
+ 1 === o.technique.double_sided &&
+ (n.side = THREE.DoubleSide),
+ n
+ )
+ }
+ function Z(e) {
+ return f(We.materials[e], K)
+ }
+ function $(e) {
+ for (var t = 0; t < e.childNodes.length; t++) {
+ var n = e.childNodes[t]
+ switch (n.nodeName) {
+ case 'technique_common':
+ return X(n)
+ }
+ }
+ return {}
+ }
+ function X(e) {
+ for (var t = {}, n = 0; n < e.childNodes.length; n++) {
+ var r = e.childNodes[n]
+ switch (r.nodeName) {
+ case 'perspective':
+ case 'orthographic':
+ ;(t.technique = r.nodeName), (t.parameters = Y(r))
+ }
+ }
+ return t
+ }
+ function Y(e) {
+ for (var t = {}, n = 0; n < e.childNodes.length; n++) {
+ var r = e.childNodes[n]
+ switch (r.nodeName) {
+ case 'xfov':
+ case 'yfov':
+ case 'xmag':
+ case 'ymag':
+ case 'znear':
+ case 'zfar':
+ case 'aspect_ratio':
+ t[r.nodeName] = parseFloat(r.textContent)
+ }
+ }
+ return t
+ }
+ function Q(e) {
+ var t
+ switch (e.optics.technique) {
+ case 'perspective':
+ t = new THREE.PerspectiveCamera(
+ e.optics.parameters.yfov,
+ e.optics.parameters.aspect_ratio,
+ e.optics.parameters.znear,
+ e.optics.parameters.zfar,
+ )
+ break
+ case 'orthographic':
+ var n = e.optics.parameters.ymag,
+ r = e.optics.parameters.xmag,
+ i = e.optics.parameters.aspect_ratio
+ ;(r = void 0 === r ? n * i : r),
+ (n = void 0 === n ? r / i : n),
+ (r *= 0.5),
+ (n *= 0.5),
+ (t = new THREE.OrthographicCamera(
+ -r,
+ r,
+ n,
+ -n,
+ e.optics.parameters.znear,
+ e.optics.parameters.zfar,
+ ))
+ break
+ default:
+ t = new THREE.PerspectiveCamera()
+ }
+ return (t.name = e.name), t
+ }
+ function J(e) {
+ var t = We.cameras[e]
+ return void 0 !== t
+ ? f(t, Q)
+ : (console.warn("THREE.ColladaLoader: Couldn't find camera with ID:", e), null)
+ }
+ function ee(e) {
+ for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) {
+ var i = e.childNodes[n]
+ if (1 === i.nodeType)
+ switch (i.nodeName) {
+ case 'directional':
+ case 'point':
+ case 'spot':
+ case 'ambient':
+ ;(t.technique = i.nodeName), (t.parameters = te(i))
+ }
+ }
+ return t
+ }
+ function te(e) {
+ for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) {
+ var o = e.childNodes[n]
+ if (1 === o.nodeType)
+ switch (o.nodeName) {
+ case 'color':
+ var a = i(o.textContent)
+ t.color = new THREE.Color().fromArray(a)
+ break
+ case 'falloff_angle':
+ t.falloffAngle = parseFloat(o.textContent)
+ break
+ case 'quadratic_attenuation':
+ var s = parseFloat(o.textContent)
+ t.distance = s ? Math.sqrt(1 / s) : 0
+ }
+ }
+ return t
+ }
+ function ne(e) {
+ var t
+ switch (e.technique) {
+ case 'directional':
+ t = new THREE.DirectionalLight()
+ break
+ case 'point':
+ t = new THREE.PointLight()
+ break
+ case 'spot':
+ t = new THREE.SpotLight()
+ break
+ case 'ambient':
+ t = new THREE.AmbientLight()
+ }
+ return (
+ e.parameters.color && t.color.copy(e.parameters.color),
+ e.parameters.distance && (t.distance = e.parameters.distance),
+ t
+ )
+ }
+ function re(e) {
+ var t = We.lights[e]
+ return void 0 !== t
+ ? f(t, ne)
+ : (console.warn("THREE.ColladaLoader: Couldn't find light with ID:", e), null)
+ }
+ function ie(e) {
+ for (var t = { array: [], stride: 3 }, o = 0; o < e.childNodes.length; o++) {
+ var a = e.childNodes[o]
+ if (1 === a.nodeType)
+ switch (a.nodeName) {
+ case 'float_array':
+ t.array = i(a.textContent)
+ break
+ case 'Name_array':
+ t.array = r(a.textContent)
+ break
+ case 'technique_common':
+ var s = n(a, 'accessor')[0]
+ void 0 !== s && (t.stride = parseInt(s.getAttribute('stride')))
+ }
+ }
+ return t
+ }
+ function oe(e) {
+ for (var t = {}, n = 0; n < e.childNodes.length; n++) {
+ var r = e.childNodes[n]
+ 1 === r.nodeType && (t[r.getAttribute('semantic')] = a(r.getAttribute('source')))
+ }
+ return t
+ }
+ function ae(e) {
+ for (
+ var t = {
+ type: e.nodeName,
+ material: e.getAttribute('material'),
+ count: parseInt(e.getAttribute('count')),
+ inputs: {},
+ stride: 0,
+ hasUV: !1,
+ },
+ n = 0,
+ r = e.childNodes.length;
+ n < r;
+ n++
+ ) {
+ var i = e.childNodes[n]
+ if (1 === i.nodeType)
+ switch (i.nodeName) {
+ case 'input':
+ var s = a(i.getAttribute('source')),
+ l = i.getAttribute('semantic'),
+ u = parseInt(i.getAttribute('offset')),
+ c = parseInt(i.getAttribute('set')),
+ d = c > 0 ? l + c : l
+ ;(t.inputs[d] = { id: s, offset: u }),
+ (t.stride = Math.max(t.stride, u + 1)),
+ 'TEXCOORD' === l && (t.hasUV = !0)
+ break
+ case 'vcount':
+ t.vcount = o(i.textContent)
+ break
+ case 'p':
+ t.p = o(i.textContent)
+ }
+ }
+ return t
+ }
+ function se(e) {
+ for (var t = 0, n = 0, r = e.length; n < r; n++) {
+ !0 === e[n].hasUV && t++
+ }
+ t > 0 && t < e.length && (e.uvsNeedsFix = !0)
+ }
+ function le(e) {
+ var t = {},
+ n = e.sources,
+ r = e.vertices,
+ i = e.primitives
+ if (0 === i.length) return {}
+ var o = (function (e) {
+ for (var t = {}, n = 0; n < e.length; n++) {
+ var r = e[n]
+ void 0 === t[r.type] && (t[r.type] = []), t[r.type].push(r)
+ }
+ return t
+ })(i)
+ for (var a in o) {
+ var s = o[a]
+ se(s), (t[a] = ue(s, n, r))
+ }
+ return t
+ }
+ function ue(e, t, n) {
+ for (
+ var r = {},
+ i = { array: [], stride: 0 },
+ o = { array: [], stride: 0 },
+ a = { array: [], stride: 0 },
+ s = { array: [], stride: 0 },
+ l = { array: [], stride: 0 },
+ u = [],
+ c = 4,
+ d = [],
+ f = 4,
+ h = new THREE.BufferGeometry(),
+ p = [],
+ v = 0,
+ m = 0;
+ m < e.length;
+ m++
+ ) {
+ var g = e[m],
+ y = g.inputs,
+ b = 0
+ switch (g.type) {
+ case 'lines':
+ case 'linestrips':
+ b = 2 * g.count
+ break
+ case 'triangles':
+ b = 3 * g.count
+ break
+ case 'polylist':
+ for (var w = 0; w < g.count; w++) {
+ var x = g.vcount[w]
+ switch (x) {
+ case 3:
+ b += 3
+ break
+ case 4:
+ b += 6
+ break
+ default:
+ b += 3 * (x - 2)
+ }
+ }
+ break
+ default:
+ console.warn('THREE.ColladaLoader: Unknow primitive type:', g.type)
+ }
+ for (var E in (h.addGroup(v, b, m),
+ (v += b),
+ g.material && p.push(g.material),
+ y)) {
+ var k = y[E]
+ switch (E) {
+ case 'VERTEX':
+ for (var T in n) {
+ var _ = n[T]
+ switch (T) {
+ case 'POSITION':
+ var O = i.array.length
+ if (
+ (ce(g, t[_], k.offset, i.array),
+ (i.stride = t[_].stride),
+ t.skinWeights &&
+ t.skinIndices &&
+ (ce(g, t.skinIndices, k.offset, u),
+ ce(g, t.skinWeights, k.offset, d)),
+ !1 === g.hasUV && !0 === e.uvsNeedsFix)
+ ) {
+ b = (i.array.length - O) / i.stride
+ for (var C = 0; C < b; C++) a.array.push(0, 0)
+ }
+ break
+ case 'NORMAL':
+ ce(g, t[_], k.offset, o.array), (o.stride = t[_].stride)
+ break
+ case 'COLOR':
+ ce(g, t[_], k.offset, l.array), (l.stride = t[_].stride)
+ break
+ case 'TEXCOORD':
+ ce(g, t[_], k.offset, a.array), (a.stride = t[_].stride)
+ break
+ case 'TEXCOORD1':
+ ce(g, t[_], k.offset, s.array), (a.stride = t[_].stride)
+ break
+ default:
+ console.warn(
+ 'THREE.ColladaLoader: Semantic "%s" not handled in geometry build process.',
+ T,
+ )
+ }
+ }
+ break
+ case 'NORMAL':
+ ce(g, t[k.id], k.offset, o.array), (o.stride = t[k.id].stride)
+ break
+ case 'COLOR':
+ ce(g, t[k.id], k.offset, l.array), (l.stride = t[k.id].stride)
+ break
+ case 'TEXCOORD':
+ ce(g, t[k.id], k.offset, a.array), (a.stride = t[k.id].stride)
+ break
+ case 'TEXCOORD1':
+ ce(g, t[k.id], k.offset, s.array), (s.stride = t[k.id].stride)
+ }
+ }
+ }
+ return (
+ i.array.length > 0 &&
+ h.addAttribute('position', new THREE.Float32BufferAttribute(i.array, i.stride)),
+ o.array.length > 0 &&
+ h.addAttribute('normal', new THREE.Float32BufferAttribute(o.array, o.stride)),
+ l.array.length > 0 &&
+ h.addAttribute('color', new THREE.Float32BufferAttribute(l.array, l.stride)),
+ a.array.length > 0 &&
+ h.addAttribute('uv', new THREE.Float32BufferAttribute(a.array, a.stride)),
+ s.array.length > 0 &&
+ h.addAttribute('uv2', new THREE.Float32BufferAttribute(s.array, s.stride)),
+ u.length > 0 && h.addAttribute('skinIndex', new THREE.Float32BufferAttribute(u, c)),
+ d.length > 0 &&
+ h.addAttribute('skinWeight', new THREE.Float32BufferAttribute(d, f)),
+ (r.data = h),
+ (r.type = e[0].type),
+ (r.materialKeys = p),
+ r
+ )
+ }
+ function ce(e, t, n, r) {
+ var i = e.p,
+ o = e.stride,
+ a = e.vcount
+ function s(e) {
+ for (var t = i[e + n] * u, o = t + u; t < o; t++) r.push(l[t])
+ }
+ var l = t.array,
+ u = t.stride
+ if (void 0 !== e.vcount)
+ for (var c = 0, d = 0, f = a.length; d < f; d++) {
+ var h = a[d]
+ if (4 === h) {
+ var p = c + 1 * o,
+ v = c + 2 * o,
+ m = c + 3 * o
+ s(c + 0 * o), s(p), s(m), s(p), s(v), s(m)
+ } else if (3 === h) {
+ ;(p = c + 1 * o), (v = c + 2 * o)
+ s(c + 0 * o), s(p), s(v)
+ } else if (h > 4)
+ for (var g = 1, y = h - 2; g <= y; g++) {
+ ;(p = c + o * g), (v = c + o * (g + 1))
+ s(c + 0 * o), s(p), s(v)
+ }
+ c += o * h
+ }
+ else for (d = 0, f = i.length; d < f; d += o) s(d)
+ }
+ function de(e) {
+ return f(We.geometries[e], le)
+ }
+ function fe(e) {
+ return void 0 !== e.build ? e.build : e
+ }
+ function he(e, t) {
+ for (var n = 0; n < e.childNodes.length; n++) {
+ var r = e.childNodes[n]
+ if (1 === r.nodeType)
+ switch (r.nodeName) {
+ case 'joint':
+ t.joints[r.getAttribute('sid')] = pe(r)
+ break
+ case 'link':
+ t.links.push(me(r))
+ }
+ }
+ }
+ function pe(e) {
+ for (var t, n = 0; n < e.childNodes.length; n++) {
+ var r = e.childNodes[n]
+ if (1 === r.nodeType)
+ switch (r.nodeName) {
+ case 'prismatic':
+ case 'revolute':
+ t = ve(r)
+ }
+ }
+ return t
+ }
+ function ve(e, t) {
+ t = {
+ sid: e.getAttribute('sid'),
+ name: e.getAttribute('name') || '',
+ axis: new THREE.Vector3(),
+ limits: { min: 0, max: 0 },
+ type: e.nodeName,
+ static: !1,
+ zeroPosition: 0,
+ middlePosition: 0,
+ }
+ for (var n = 0; n < e.childNodes.length; n++) {
+ var r = e.childNodes[n]
+ if (1 === r.nodeType)
+ switch (r.nodeName) {
+ case 'axis':
+ var o = i(r.textContent)
+ t.axis.fromArray(o)
+ break
+ case 'limits':
+ var a = r.getElementsByTagName('max')[0],
+ s = r.getElementsByTagName('min')[0]
+ ;(t.limits.max = parseFloat(a.textContent)),
+ (t.limits.min = parseFloat(s.textContent))
+ }
+ }
+ return (
+ t.limits.min >= t.limits.max && (t.static = !0),
+ (t.middlePosition = (t.limits.min + t.limits.max) / 2),
+ t
+ )
+ }
+ function me(e) {
+ for (
+ var t = {
+ sid: e.getAttribute('sid'),
+ name: e.getAttribute('name') || '',
+ attachments: [],
+ transforms: [],
+ },
+ n = 0;
+ n < e.childNodes.length;
+ n++
+ ) {
+ var r = e.childNodes[n]
+ if (1 === r.nodeType)
+ switch (r.nodeName) {
+ case 'attachment_full':
+ t.attachments.push(ge(r))
+ break
+ case 'matrix':
+ case 'translate':
+ case 'rotate':
+ t.transforms.push(ye(r))
+ }
+ }
+ return t
+ }
+ function ge(e) {
+ for (
+ var t = {
+ joint: e.getAttribute('joint').split('/').pop(),
+ transforms: [],
+ links: [],
+ },
+ n = 0;
+ n < e.childNodes.length;
+ n++
+ ) {
+ var r = e.childNodes[n]
+ if (1 === r.nodeType)
+ switch (r.nodeName) {
+ case 'link':
+ t.links.push(me(r))
+ break
+ case 'matrix':
+ case 'translate':
+ case 'rotate':
+ t.transforms.push(ye(r))
+ }
+ }
+ return t
+ }
+ function ye(e) {
+ var t = { type: e.nodeName },
+ n = i(e.textContent)
+ switch (t.type) {
+ case 'matrix':
+ ;(t.obj = new THREE.Matrix4()), t.obj.fromArray(n).transpose()
+ break
+ case 'translate':
+ ;(t.obj = new THREE.Vector3()), t.obj.fromArray(n)
+ break
+ case 'rotate':
+ ;(t.obj = new THREE.Vector3()),
+ t.obj.fromArray(n),
+ (t.angle = THREE.Math.degToRad(n[3]))
+ }
+ return t
+ }
+ function be(e, t) {
+ for (var n = 0; n < e.childNodes.length; n++) {
+ var r = e.childNodes[n]
+ if (1 === r.nodeType)
+ switch (r.nodeName) {
+ case 'technique_common':
+ we(r, t)
+ }
+ }
+ }
+ function we(e, t) {
+ for (var n = 0; n < e.childNodes.length; n++) {
+ var r = e.childNodes[n]
+ if (1 === r.nodeType)
+ switch (r.nodeName) {
+ case 'inertia':
+ t.inertia = i(r.textContent)
+ break
+ case 'mass':
+ t.mass = i(r.textContent)[0]
+ }
+ }
+ }
+ function xe(e) {
+ for (
+ var t = { target: e.getAttribute('target').split('/').pop() }, n = 0;
+ n < e.childNodes.length;
+ n++
+ ) {
+ var r = e.childNodes[n]
+ if (1 === r.nodeType)
+ switch (r.nodeName) {
+ case 'axis':
+ var i = r.getElementsByTagName('param')[0]
+ t.axis = i.textContent
+ var o = t.axis.split('inst_').pop().split('axis')[0]
+ t.jointIndex = o.substr(0, o.length - 1)
+ }
+ }
+ return t
+ }
+ function Ee(e) {
+ return void 0 !== e.build ? e.build : e
+ }
+ function ke(e) {
+ for (
+ var t = [], n = ze.querySelector('[id="' + e.id + '"]'), r = 0;
+ r < n.childNodes.length;
+ r++
+ ) {
+ var o = n.childNodes[r]
+ if (1 === o.nodeType)
+ switch (o.nodeName) {
+ case 'matrix':
+ var a = i(o.textContent),
+ s = new THREE.Matrix4().fromArray(a).transpose()
+ t.push({ sid: o.getAttribute('sid'), type: o.nodeName, obj: s })
+ break
+ case 'translate':
+ case 'scale':
+ a = i(o.textContent)
+ var l = new THREE.Vector3().fromArray(a)
+ t.push({ sid: o.getAttribute('sid'), type: o.nodeName, obj: l })
+ break
+ case 'rotate':
+ ;(a = i(o.textContent)), (l = new THREE.Vector3().fromArray(a))
+ var u = THREE.Math.degToRad(a[3])
+ t.push({ sid: o.getAttribute('sid'), type: o.nodeName, obj: l, angle: u })
+ }
+ }
+ return t
+ }
+ var Te = new THREE.Matrix4(),
+ _e = new THREE.Vector3()
+ function Oe(e) {
+ for (
+ var t = {
+ name: e.getAttribute('name') || '',
+ type: e.getAttribute('type'),
+ id: e.getAttribute('id'),
+ sid: e.getAttribute('sid'),
+ matrix: new THREE.Matrix4(),
+ nodes: [],
+ instanceCameras: [],
+ instanceControllers: [],
+ instanceLights: [],
+ instanceGeometries: [],
+ instanceNodes: [],
+ transforms: {},
+ },
+ n = 0;
+ n < e.childNodes.length;
+ n++
+ ) {
+ var r = e.childNodes[n]
+ if (1 === r.nodeType)
+ switch (r.nodeName) {
+ case 'node':
+ t.nodes.push(r.getAttribute('id')), Oe(r)
+ break
+ case 'instance_camera':
+ t.instanceCameras.push(a(r.getAttribute('url')))
+ break
+ case 'instance_controller':
+ t.instanceControllers.push(Ce(r))
+ break
+ case 'instance_light':
+ t.instanceLights.push(a(r.getAttribute('url')))
+ break
+ case 'instance_geometry':
+ t.instanceGeometries.push(Ce(r))
+ break
+ case 'instance_node':
+ t.instanceNodes.push(a(r.getAttribute('url')))
+ break
+ case 'matrix':
+ var o = i(r.textContent)
+ t.matrix.multiply(Te.fromArray(o).transpose()),
+ (t.transforms[r.getAttribute('sid')] = r.nodeName)
+ break
+ case 'translate':
+ o = i(r.textContent)
+ _e.fromArray(o),
+ t.matrix.multiply(Te.makeTranslation(_e.x, _e.y, _e.z)),
+ (t.transforms[r.getAttribute('sid')] = r.nodeName)
+ break
+ case 'rotate':
+ o = i(r.textContent)
+ var s = THREE.Math.degToRad(o[3])
+ t.matrix.multiply(Te.makeRotationAxis(_e.fromArray(o), s)),
+ (t.transforms[r.getAttribute('sid')] = r.nodeName)
+ break
+ case 'scale':
+ o = i(r.textContent)
+ t.matrix.scale(_e.fromArray(o)),
+ (t.transforms[r.getAttribute('sid')] = r.nodeName)
+ break
+ case 'extra':
+ break
+ default:
+ console.log(r)
+ }
+ }
+ return (
+ De(t.id)
+ ? console.warn(
+ 'THREE.ColladaLoader: There is already a node with ID %s. Exclude current node from further processing.',
+ t.id,
+ )
+ : (We.nodes[t.id] = t),
+ t
+ )
+ }
+ function Ce(e) {
+ for (
+ var t = { id: a(e.getAttribute('url')), materials: {}, skeletons: [] }, n = 0;
+ n < e.childNodes.length;
+ n++
+ ) {
+ var r = e.childNodes[n]
+ switch (r.nodeName) {
+ case 'bind_material':
+ for (
+ var i = r.getElementsByTagName('instance_material'), o = 0;
+ o < i.length;
+ o++
+ ) {
+ var s = i[o],
+ l = s.getAttribute('symbol'),
+ u = s.getAttribute('target')
+ t.materials[l] = a(u)
+ }
+ break
+ case 'skeleton':
+ t.skeletons.push(a(r.textContent))
+ }
+ }
+ return t
+ }
+ function Ae(e, t) {
+ var n,
+ r,
+ i,
+ o = [],
+ a = []
+ for (n = 0; n < e.length; n++) {
+ var s = e[n]
+ if (De(s)) Se(Le(s), t, o)
+ else if (((i = s), void 0 !== We.visualScenes[i]))
+ for (var l = We.visualScenes[s].children, u = 0; u < l.length; u++) {
+ var c = l[u]
+ if ('JOINT' === c.type) Se(Le(c.id), t, o)
+ }
+ else
+ console.error(
+ 'THREE.ColladaLoader: Unable to find root bone of skeleton with ID:',
+ s,
+ )
+ }
+ for (n = 0; n < t.length; n++)
+ for (u = 0; u < o.length; u++)
+ if ((r = o[u]).bone.name === t[n].name) {
+ ;(a[n] = r), (r.processed = !0)
+ break
+ }
+ for (n = 0; n < o.length; n++)
+ !1 === (r = o[n]).processed && (a.push(r), (r.processed = !0))
+ var d = [],
+ f = []
+ for (n = 0; n < a.length; n++) (r = a[n]), d.push(r.bone), f.push(r.boneInverse)
+ return new THREE.Skeleton(d, f)
+ }
+ function Se(e, t, n) {
+ e.traverse(function (e) {
+ if (!0 === e.isBone) {
+ for (var r, i = 0; i < t.length; i++) {
+ var o = t[i]
+ if (o.name === e.name) {
+ r = o.boneInverse
+ break
+ }
+ }
+ void 0 === r && (r = new THREE.Matrix4()),
+ n.push({ bone: e, boneInverse: r, processed: !1 })
+ }
+ })
+ }
+ function Pe(e) {
+ for (
+ var t,
+ n = [],
+ r = e.matrix,
+ i = e.nodes,
+ o = e.type,
+ a = e.instanceCameras,
+ s = e.instanceControllers,
+ l = e.instanceLights,
+ u = e.instanceGeometries,
+ c = e.instanceNodes,
+ d = 0,
+ h = i.length;
+ d < h;
+ d++
+ )
+ n.push(Le(i[d]))
+ for (d = 0, h = a.length; d < h; d++) {
+ var p = J(a[d])
+ null !== p && n.push(p.clone())
+ }
+ for (d = 0, h = s.length; d < h; d++)
+ for (
+ var v = s[d],
+ m = ((t = v.id), f(We.controllers[t], M)),
+ g = je(de(m.id), v.materials),
+ y = Ae(v.skeletons, m.skin.joints),
+ b = 0,
+ w = g.length;
+ b < w;
+ b++
+ ) {
+ var x
+ ;(x = g[b]).isSkinnedMesh &&
+ (x.bind(y, m.skin.bindMatrix), x.normalizeSkinWeights()),
+ n.push(x)
+ }
+ for (d = 0, h = l.length; d < h; d++) {
+ var E = re(l[d])
+ null !== E && n.push(E.clone())
+ }
+ for (d = 0, h = u.length; d < h; d++)
+ for (b = 0, w = (g = je(de((v = u[d]).id), v.materials)).length; b < w; b++)
+ n.push(g[b])
+ for (d = 0, h = c.length; d < h; d++) n.push(Le(c[d]).clone())
+ if (0 === i.length && 1 === n.length) x = n[0]
+ else {
+ x = 'JOINT' === o ? new THREE.Bone() : new THREE.Group()
+ for (d = 0; d < n.length; d++) x.add(n[d])
+ }
+ return (
+ '' === x.name && (x.name = 'JOINT' === o ? e.sid : e.name),
+ x.matrix.copy(r),
+ x.matrix.decompose(x.position, x.quaternion, x.scale),
+ x
+ )
+ }
+ var Me = new THREE.MeshBasicMaterial({ color: 16711935 })
+ function Re(e, t) {
+ for (var n = [], r = 0, i = e.length; r < i; r++) {
+ var o = t[e[r]]
+ void 0 === o
+ ? (console.warn(
+ 'THREE.ColladaLoader: Material with key %s not found. Apply fallback material.',
+ e[r],
+ ),
+ n.push(Me))
+ : n.push(Z(o))
+ }
+ return n
+ }
+ function je(e, t) {
+ var n = []
+ for (var r in e) {
+ var i = e[r],
+ o = Re(i.materialKeys, t)
+ 0 === o.length &&
+ ('lines' === r || 'linestrips' === r
+ ? o.push(new THREE.LineBasicMaterial())
+ : o.push(new THREE.MeshPhongMaterial()))
+ var a = void 0 !== i.data.attributes.skinIndex
+ if (a) for (var s = 0, l = o.length; s < l; s++) o[s].skinning = !0
+ var u,
+ c = 1 === o.length ? o[0] : o
+ switch (r) {
+ case 'lines':
+ u = new THREE.LineSegments(i.data, c)
+ break
+ case 'linestrips':
+ u = new THREE.Line(i.data, c)
+ break
+ case 'triangles':
+ case 'polylist':
+ u = a ? new THREE.SkinnedMesh(i.data, c) : new THREE.Mesh(i.data, c)
+ }
+ n.push(u)
+ }
+ return n
+ }
+ function De(e) {
+ return void 0 !== We.nodes[e]
+ }
+ function Le(e) {
+ return f(We.nodes[e], Pe)
+ }
+ function Ne(e) {
+ var t = new THREE.Group()
+ t.name = e.name
+ for (var n = e.children, r = 0; r < n.length; r++) {
+ var i = n[r]
+ t.add(Le(i.id))
+ }
+ return t
+ }
+ function Ie(e) {
+ return f(We.visualScenes[e], Ne)
+ }
+ if (0 === e.length) return { scene: new THREE.Scene() }
+ var ze = n(new DOMParser().parseFromString(e, 'application/xml'), 'COLLADA')[0],
+ He = ze.getAttribute('version')
+ console.log('THREE.ColladaLoader: File version', He)
+ var Be,
+ Fe = (function (e) {
+ return { unit: l(n(e, 'unit')[0]), upAxis: u(n(e, 'up_axis')[0]) }
+ })(n(ze, 'asset')[0]),
+ Ve = new THREE.TextureLoader(this.manager)
+ Ve.setPath(this.resourcePath || t).setCrossOrigin(this.crossOrigin),
+ THREE.TGALoader &&
+ (Be = new THREE.TGALoader(this.manager)).setPath(this.resourcePath || t)
+ var Ue = [],
+ Ge = {},
+ qe = 0,
+ We = {
+ animations: {},
+ clips: {},
+ controllers: {},
+ images: {},
+ effects: {},
+ materials: {},
+ cameras: {},
+ lights: {},
+ geometries: {},
+ nodes: {},
+ visualScenes: {},
+ kinematicsModels: {},
+ physicsModels: {},
+ kinematicsScenes: {},
+ }
+ c(ze, 'library_animations', 'animation', function (e) {
+ for (
+ var t = { sources: {}, samplers: {}, channels: {} }, n = 0, r = e.childNodes.length;
+ n < r;
+ n++
+ ) {
+ var i,
+ o = e.childNodes[n]
+ if (1 === o.nodeType)
+ switch (o.nodeName) {
+ case 'source':
+ ;(i = o.getAttribute('id')), (t.sources[i] = ie(o))
+ break
+ case 'sampler':
+ ;(i = o.getAttribute('id')), (t.samplers[i] = h(o))
+ break
+ case 'channel':
+ ;(i = o.getAttribute('target')), (t.channels[i] = p(o))
+ break
+ default:
+ console.log(o)
+ }
+ }
+ We.animations[e.getAttribute('id')] = t
+ }),
+ c(ze, 'library_animation_clips', 'animation_clip', function (e) {
+ for (
+ var t = {
+ name: e.getAttribute('id') || 'default',
+ start: parseFloat(e.getAttribute('start') || 0),
+ end: parseFloat(e.getAttribute('end') || 0),
+ animations: [],
+ },
+ n = 0,
+ r = e.childNodes.length;
+ n < r;
+ n++
+ ) {
+ var i = e.childNodes[n]
+ if (1 === i.nodeType)
+ switch (i.nodeName) {
+ case 'instance_animation':
+ t.animations.push(a(i.getAttribute('url')))
+ }
+ }
+ We.clips[e.getAttribute('id')] = t
+ }),
+ c(ze, 'library_controllers', 'controller', function (e) {
+ for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) {
+ var i = e.childNodes[n]
+ if (1 === i.nodeType)
+ switch (i.nodeName) {
+ case 'skin':
+ ;(t.id = a(i.getAttribute('source'))), (t.skin = A(i))
+ break
+ case 'morph':
+ ;(t.id = a(i.getAttribute('source'))),
+ console.warn(
+ 'THREE.ColladaLoader: Morph target animation not supported yet.',
+ )
+ }
+ }
+ We.controllers[e.getAttribute('id')] = t
+ }),
+ c(ze, 'library_images', 'image', function (e) {
+ var t = { init_from: n(e, 'init_from')[0].textContent }
+ We.images[e.getAttribute('id')] = t
+ }),
+ c(ze, 'library_effects', 'effect', function (e) {
+ for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) {
+ var i = e.childNodes[n]
+ if (1 === i.nodeType)
+ switch (i.nodeName) {
+ case 'profile_COMMON':
+ t.profile = D(i)
+ }
+ }
+ We.effects[e.getAttribute('id')] = t
+ }),
+ c(ze, 'library_materials', 'material', function (e) {
+ for (
+ var t = { name: e.getAttribute('name') }, n = 0, r = e.childNodes.length;
+ n < r;
+ n++
+ ) {
+ var i = e.childNodes[n]
+ if (1 === i.nodeType)
+ switch (i.nodeName) {
+ case 'instance_effect':
+ t.url = a(i.getAttribute('url'))
+ }
+ }
+ We.materials[e.getAttribute('id')] = t
+ }),
+ c(ze, 'library_cameras', 'camera', function (e) {
+ for (
+ var t = { name: e.getAttribute('name') }, n = 0, r = e.childNodes.length;
+ n < r;
+ n++
+ ) {
+ var i = e.childNodes[n]
+ if (1 === i.nodeType)
+ switch (i.nodeName) {
+ case 'optics':
+ t.optics = $(i)
+ }
+ }
+ We.cameras[e.getAttribute('id')] = t
+ }),
+ c(ze, 'library_lights', 'light', function (e) {
+ for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) {
+ var i = e.childNodes[n]
+ if (1 === i.nodeType)
+ switch (i.nodeName) {
+ case 'technique_common':
+ t = ee(i)
+ }
+ }
+ We.lights[e.getAttribute('id')] = t
+ }),
+ c(ze, 'library_geometries', 'geometry', function (e) {
+ var t = { name: e.getAttribute('name'), sources: {}, vertices: {}, primitives: [] },
+ r = n(e, 'mesh')[0]
+ if (void 0 !== r) {
+ for (var i = 0; i < r.childNodes.length; i++) {
+ var o = r.childNodes[i]
+ if (1 === o.nodeType) {
+ var a = o.getAttribute('id')
+ switch (o.nodeName) {
+ case 'source':
+ t.sources[a] = ie(o)
+ break
+ case 'vertices':
+ t.vertices = oe(o)
+ break
+ case 'polygons':
+ console.warn(
+ 'THREE.ColladaLoader: Unsupported primitive type: ',
+ o.nodeName,
+ )
+ break
+ case 'lines':
+ case 'linestrips':
+ case 'polylist':
+ case 'triangles':
+ t.primitives.push(ae(o))
+ break
+ default:
+ console.log(o)
+ }
+ }
+ }
+ We.geometries[e.getAttribute('id')] = t
+ }
+ }),
+ c(ze, 'library_nodes', 'node', Oe),
+ c(ze, 'library_visual_scenes', 'visual_scene', function (e) {
+ var t = { name: e.getAttribute('name'), children: [] }
+ !(function (e) {
+ for (var t = e.getElementsByTagName('node'), n = 0; n < t.length; n++) {
+ var r = t[n]
+ !1 === r.hasAttribute('id') && r.setAttribute('id', 'three_default_' + qe++)
+ }
+ })(e)
+ for (var r = n(e, 'node'), i = 0; i < r.length; i++) t.children.push(Oe(r[i]))
+ We.visualScenes[e.getAttribute('id')] = t
+ }),
+ c(ze, 'library_kinematics_models', 'kinematics_model', function (e) {
+ for (
+ var t = { name: e.getAttribute('name') || '', joints: {}, links: [] }, n = 0;
+ n < e.childNodes.length;
+ n++
+ ) {
+ var r = e.childNodes[n]
+ if (1 === r.nodeType)
+ switch (r.nodeName) {
+ case 'technique_common':
+ he(r, t)
+ }
+ }
+ We.kinematicsModels[e.getAttribute('id')] = t
+ }),
+ c(ze, 'library_physics_models', 'physics_model', function (e) {
+ for (
+ var t = { name: e.getAttribute('name') || '', rigidBodies: {} }, n = 0;
+ n < e.childNodes.length;
+ n++
+ ) {
+ var r = e.childNodes[n]
+ if (1 === r.nodeType)
+ switch (r.nodeName) {
+ case 'rigid_body':
+ ;(t.rigidBodies[r.getAttribute('name')] = {}),
+ be(r, t.rigidBodies[r.getAttribute('name')])
+ }
+ }
+ We.physicsModels[e.getAttribute('id')] = t
+ }),
+ c(ze, 'scene', 'instance_kinematics_scene', function (e) {
+ for (var t = { bindJointAxis: [] }, n = 0; n < e.childNodes.length; n++) {
+ var r = e.childNodes[n]
+ if (1 === r.nodeType)
+ switch (r.nodeName) {
+ case 'bind_joint_axis':
+ t.bindJointAxis.push(xe(r))
+ }
+ }
+ We.kinematicsScenes[a(e.getAttribute('url'))] = t
+ }),
+ d(We.animations, v),
+ d(We.clips, O),
+ d(We.controllers, M),
+ d(We.images, R),
+ d(We.effects, W),
+ d(We.materials, K),
+ d(We.cameras, Q),
+ d(We.lights, ne),
+ d(We.geometries, le),
+ d(We.visualScenes, Ne),
+ (function () {
+ var e = We.clips
+ if (!0 === s(e)) {
+ if (!1 === s(We.animations)) {
+ var t = []
+ for (var n in We.animations)
+ for (var r = m(n), i = 0, o = r.length; i < o; i++) t.push(r[i])
+ Ue.push(new THREE.AnimationClip('default', -1, t))
+ }
+ } else for (var n in e) Ue.push(C(n))
+ })(),
+ (function () {
+ var e = Object.keys(We.kinematicsModels)[0],
+ t = Object.keys(We.kinematicsScenes)[0],
+ n = Object.keys(We.visualScenes)[0]
+ if (void 0 !== e && void 0 !== t) {
+ for (
+ var r,
+ i = ((r = e), f(We.kinematicsModels[r], fe)),
+ o = (function (e) {
+ return f(We.kinematicsScenes[e], Ee)
+ })(t),
+ a = Ie(n),
+ s = o.bindJointAxis,
+ l = {},
+ u = 0,
+ c = s.length;
+ u < c;
+ u++
+ ) {
+ var d = s[u],
+ h = ze.querySelector('[sid="' + d.target + '"]')
+ if (h) {
+ var p = h.parentElement
+ m(d.jointIndex, p)
+ }
+ }
+ var v = new THREE.Matrix4()
+ Ge = {
+ joints: i && i.joints,
+ getJointValue: function (e) {
+ var t = l[e]
+ if (t) return t.position
+ console.warn('THREE.ColladaLoader: Joint ' + e + " doesn't exist.")
+ },
+ setJointValue: function (e, t) {
+ var n = l[e]
+ if (n) {
+ var r = n.joint
+ if (t > r.limits.max || t < r.limits.min)
+ console.warn(
+ 'THREE.ColladaLoader: Joint ' +
+ e +
+ ' value ' +
+ t +
+ ' outside of limits (min: ' +
+ r.limits.min +
+ ', max: ' +
+ r.limits.max +
+ ').',
+ )
+ else if (r.static)
+ console.warn('THREE.ColladaLoader: Joint ' + e + ' is static.')
+ else {
+ var i = n.object,
+ o = r.axis,
+ a = n.transforms
+ Te.identity()
+ for (var s = 0; s < a.length; s++) {
+ var u = a[s]
+ if (u.sid && -1 !== u.sid.indexOf(e))
+ switch (r.type) {
+ case 'revolute':
+ Te.multiply(v.makeRotationAxis(o, THREE.Math.degToRad(t)))
+ break
+ case 'prismatic':
+ Te.multiply(v.makeTranslation(o.x * t, o.y * t, o.z * t))
+ break
+ default:
+ console.warn('THREE.ColladaLoader: Unknown joint type: ' + r.type)
+ }
+ else
+ switch (u.type) {
+ case 'matrix':
+ Te.multiply(u.obj)
+ break
+ case 'translate':
+ Te.multiply(v.makeTranslation(u.obj.x, u.obj.y, u.obj.z))
+ break
+ case 'scale':
+ Te.scale(u.obj)
+ break
+ case 'rotate':
+ Te.multiply(v.makeRotationAxis(u.obj, u.angle))
+ }
+ }
+ i.matrix.copy(Te),
+ i.matrix.decompose(i.position, i.quaternion, i.scale),
+ (l[e].position = t)
+ }
+ } else console.log('THREE.ColladaLoader: ' + e + ' does not exist.')
+ },
+ }
+ }
+ function m(e, t) {
+ var n = t.getAttribute('name'),
+ r = i.joints[e]
+ a.traverse(function (i) {
+ i.name === n &&
+ (l[e] = { object: i, transforms: ke(t), joint: r, position: r.zeroPosition })
+ })
+ }
+ })()
+ var Ke = (function (e) {
+ return Ie(a(n(e, 'instance_visual_scene')[0].getAttribute('url')))
+ })(n(ze, 'scene')[0])
+ return (
+ 'Z_UP' === Fe.upAxis &&
+ Ke.quaternion.setFromEuler(new THREE.Euler(-Math.PI / 2, 0, 0)),
+ Ke.scale.multiplyScalar(Fe.unit),
+ { animations: Ue, kinematics: Ge, library: We, scene: Ke }
+ )
+ },
+ })
+ },
+ 9434: function (e) {
+ e.exports = THREE.FBXLoader = (function () {
+ var e, t, n
+ function r(e) {
+ this.manager = void 0 !== e ? e : THREE.DefaultLoadingManager
+ }
+ function i(e) {
+ this.textureLoader = e
+ }
+ function o() {}
+ function a() {}
+ function s() {}
+ function l() {}
+ function u(e, t) {
+ ;(this.dv = new DataView(e)), (this.offset = 0), (this.littleEndian = void 0 === t || t)
+ }
+ function c() {}
+ function d(e) {
+ var t = e.match(/FBXVersion: (\d+)/)
+ if (t) return parseInt(t[1])
+ throw new Error('THREE.FBXLoader: Cannot find the version number for the file given.')
+ }
+ function f(e) {
+ return e / 46186158e3
+ }
+ ;(r.prototype = {
+ constructor: r,
+ crossOrigin: 'anonymous',
+ load: function (e, t, n, r) {
+ var i = this,
+ o = THREE.LoaderUtils.extractUrlBase(e),
+ a = new THREE.FileLoader(this.manager)
+ a.setResponseType('arraybuffer'),
+ a.load(
+ e,
+ function (n) {
+ try {
+ var a = i.parse(n, o)
+ t(a)
+ } catch (s) {
+ setTimeout(function () {
+ r && r(s), i.manager.itemError(e)
+ }, 0)
+ }
+ },
+ n,
+ r,
+ )
+ },
+ setCrossOrigin: function (e) {
+ return (this.crossOrigin = e), this
+ },
+ parse: function (t, n) {
+ if (
+ (function (e) {
+ var t = 'Kaydara FBX Binary \0'
+ return e.byteLength >= t.length && t === k(e, 0, t.length)
+ })(t)
+ )
+ e = new l().parse(t)
+ else {
+ var r = k(t)
+ if (
+ !(function (e) {
+ var t = [
+ 'K',
+ 'a',
+ 'y',
+ 'd',
+ 'a',
+ 'r',
+ 'a',
+ '\\',
+ 'F',
+ 'B',
+ 'X',
+ '\\',
+ 'B',
+ 'i',
+ 'n',
+ 'a',
+ 'r',
+ 'y',
+ '\\',
+ '\\',
+ ],
+ n = 0
+ function r(t) {
+ var r = e[t - 1]
+ return (e = e.slice(n + t)), n++, r
+ }
+ for (var i = 0; i < t.length; ++i) {
+ if (r(1) === t[i]) return !1
+ }
+ return !0
+ })(r)
+ )
+ throw new Error('THREE.FBXLoader: Unknown format.')
+ if (d(r) < 7e3)
+ throw new Error('THREE.FBXLoader: FBX version not supported, FileVersion: ' + d(r))
+ e = new s().parse(r)
+ }
+ return new i(
+ new THREE.TextureLoader(this.manager).setPath(n).setCrossOrigin(this.crossOrigin),
+ ).parse(e)
+ },
+ }),
+ (i.prototype = {
+ constructor: i,
+ parse: function () {
+ t = this.parseConnections()
+ var e = this.parseImages(),
+ r = this.parseTextures(e),
+ i = this.parseMaterials(r),
+ a = this.parseDeformers(),
+ s = new o().parse(a)
+ return this.parseScene(a, s, i), n
+ },
+ parseConnections: function () {
+ var t = new Map()
+ 'Connections' in e &&
+ e.Connections.connections.forEach(function (e) {
+ var n = e[0],
+ r = e[1],
+ i = e[2]
+ t.has(n) || t.set(n, { parents: [], children: [] })
+ var o = { ID: r, relationship: i }
+ t.get(n).parents.push(o), t.has(r) || t.set(r, { parents: [], children: [] })
+ var a = { ID: n, relationship: i }
+ t.get(r).children.push(a)
+ })
+ return t
+ },
+ parseImages: function () {
+ var t = {},
+ n = {}
+ if ('Video' in e.Objects) {
+ var r = e.Objects.Video
+ for (var i in r) {
+ var o = r[i]
+ if (((t[(u = parseInt(i))] = o.RelativeFilename || o.Filename), 'Content' in o)) {
+ var a = o.Content instanceof ArrayBuffer && o.Content.byteLength > 0,
+ s = 'string' === typeof o.Content && '' !== o.Content
+ if (a || s) {
+ var l = this.parseImage(r[i])
+ n[o.RelativeFilename || o.Filename] = l
+ }
+ }
+ }
+ }
+ for (var u in t) {
+ var c = t[u]
+ void 0 !== n[c] ? (t[u] = n[c]) : (t[u] = t[u].split('\\').pop())
+ }
+ return t
+ },
+ parseImage: function (e) {
+ var t,
+ n = e.Content,
+ r = e.RelativeFilename || e.Filename,
+ i = r.slice(r.lastIndexOf('.') + 1).toLowerCase()
+ switch (i) {
+ case 'bmp':
+ t = 'image/bmp'
+ break
+ case 'jpg':
+ case 'jpeg':
+ t = 'image/jpeg'
+ break
+ case 'png':
+ t = 'image/png'
+ break
+ case 'tif':
+ t = 'image/tiff'
+ break
+ case 'tga':
+ if ('function' !== typeof THREE.TGALoader)
+ return void console.warn(
+ 'FBXLoader: THREE.TGALoader is required to load TGA textures',
+ )
+ null === THREE.Loader.Handlers.get('.tga') &&
+ THREE.Loader.Handlers.add(/\.tga$/i, new THREE.TGALoader()),
+ (t = 'image/tga')
+ break
+ default:
+ return void console.warn('FBXLoader: Image type "' + i + '" is not supported.')
+ }
+ if ('string' === typeof n) return 'data:' + t + ';base64,' + n
+ var o = new Uint8Array(n)
+ return window.URL.createObjectURL(new Blob([o], { type: t }))
+ },
+ parseTextures: function (t) {
+ var n = new Map()
+ if ('Texture' in e.Objects) {
+ var r = e.Objects.Texture
+ for (var i in r) {
+ var o = this.parseTexture(r[i], t)
+ n.set(parseInt(i), o)
+ }
+ }
+ return n
+ },
+ parseTexture: function (e, t) {
+ var n = this.loadTexture(e, t)
+ ;(n.ID = e.id), (n.name = e.attrName)
+ var r = e.WrapModeU,
+ i = e.WrapModeV,
+ o = void 0 !== r ? r.value : 0,
+ a = void 0 !== i ? i.value : 0
+ if (
+ ((n.wrapS = 0 === o ? THREE.RepeatWrapping : THREE.ClampToEdgeWrapping),
+ (n.wrapT = 0 === a ? THREE.RepeatWrapping : THREE.ClampToEdgeWrapping),
+ 'Scaling' in e)
+ ) {
+ var s = e.Scaling.value
+ ;(n.repeat.x = s[0]), (n.repeat.y = s[1])
+ }
+ return n
+ },
+ loadTexture: function (e, n) {
+ var r,
+ i,
+ o = this.textureLoader.path,
+ a = t.get(e.id).children
+ void 0 !== a &&
+ a.length > 0 &&
+ void 0 !== n[a[0].ID] &&
+ ((0 !== (r = n[a[0].ID]).indexOf('blob:') && 0 !== r.indexOf('data:')) ||
+ this.textureLoader.setPath(void 0))
+ var s = e.FileName.slice(-3).toLowerCase()
+ if ('tga' === s) {
+ var l = THREE.Loader.Handlers.get('.tga')
+ null === l
+ ? (console.warn(
+ 'FBXLoader: TGALoader not found, creating empty placeholder texture for',
+ r,
+ ),
+ (i = new THREE.Texture()))
+ : (i = l.load(r))
+ } else
+ 'psd' === s
+ ? (console.warn(
+ 'FBXLoader: PSD textures are not supported, creating empty placeholder texture for',
+ r,
+ ),
+ (i = new THREE.Texture()))
+ : (i = this.textureLoader.load(r))
+ return this.textureLoader.setPath(o), i
+ },
+ parseMaterials: function (t) {
+ var n = new Map()
+ if ('Material' in e.Objects) {
+ var r = e.Objects.Material
+ for (var i in r) {
+ var o = this.parseMaterial(r[i], t)
+ null !== o && n.set(parseInt(i), o)
+ }
+ }
+ return n
+ },
+ parseMaterial: function (e, n) {
+ var r = e.id,
+ i = e.attrName,
+ o = e.ShadingModel
+ if (('object' === typeof o && (o = o.value), !t.has(r))) return null
+ var a,
+ s = this.parseParameters(e, n, r)
+ switch (o.toLowerCase()) {
+ case 'phong':
+ a = new THREE.MeshPhongMaterial()
+ break
+ case 'lambert':
+ a = new THREE.MeshLambertMaterial()
+ break
+ default:
+ console.warn(
+ 'THREE.FBXLoader: unknown material type "%s". Defaulting to MeshPhongMaterial.',
+ o,
+ ),
+ (a = new THREE.MeshPhongMaterial({ color: 3342591 }))
+ }
+ return a.setValues(s), (a.name = i), a
+ },
+ parseParameters: function (e, n, r) {
+ var i = {}
+ e.BumpFactor && (i.bumpScale = e.BumpFactor.value),
+ e.Diffuse
+ ? (i.color = new THREE.Color().fromArray(e.Diffuse.value))
+ : e.DiffuseColor &&
+ 'Color' === e.DiffuseColor.type &&
+ (i.color = new THREE.Color().fromArray(e.DiffuseColor.value)),
+ e.DisplacementFactor && (i.displacementScale = e.DisplacementFactor.value),
+ e.Emissive
+ ? (i.emissive = new THREE.Color().fromArray(e.Emissive.value))
+ : e.EmissiveColor &&
+ 'Color' === e.EmissiveColor.type &&
+ (i.emissive = new THREE.Color().fromArray(e.EmissiveColor.value)),
+ e.EmissiveFactor && (i.emissiveIntensity = parseFloat(e.EmissiveFactor.value)),
+ e.Opacity && (i.opacity = parseFloat(e.Opacity.value)),
+ i.opacity < 1 && (i.transparent = !0),
+ e.ReflectionFactor && (i.reflectivity = e.ReflectionFactor.value),
+ e.Shininess && (i.shininess = e.Shininess.value),
+ e.Specular
+ ? (i.specular = new THREE.Color().fromArray(e.Specular.value))
+ : e.SpecularColor &&
+ 'Color' === e.SpecularColor.type &&
+ (i.specular = new THREE.Color().fromArray(e.SpecularColor.value))
+ var o = this
+ return (
+ t.get(r).children.forEach(function (e) {
+ var t = e.relationship
+ switch (t) {
+ case 'Bump':
+ i.bumpMap = o.getTexture(n, e.ID)
+ break
+ case 'DiffuseColor':
+ i.map = o.getTexture(n, e.ID)
+ break
+ case 'DisplacementColor':
+ i.displacementMap = o.getTexture(n, e.ID)
+ break
+ case 'EmissiveColor':
+ i.emissiveMap = o.getTexture(n, e.ID)
+ break
+ case 'NormalMap':
+ i.normalMap = o.getTexture(n, e.ID)
+ break
+ case 'ReflectionColor':
+ ;(i.envMap = o.getTexture(n, e.ID)),
+ (i.envMap.mapping = THREE.EquirectangularReflectionMapping)
+ break
+ case 'SpecularColor':
+ i.specularMap = o.getTexture(n, e.ID)
+ break
+ case 'TransparentColor':
+ ;(i.alphaMap = o.getTexture(n, e.ID)), (i.transparent = !0)
+ break
+ case 'AmbientColor':
+ case 'ShininessExponent':
+ case 'SpecularFactor':
+ case 'VectorDisplacementColor':
+ default:
+ console.warn(
+ 'THREE.FBXLoader: %s map is not supported in three.js, skipping texture.',
+ t,
+ )
+ }
+ }),
+ i
+ )
+ },
+ getTexture: function (n, r) {
+ return (
+ 'LayeredTexture' in e.Objects &&
+ r in e.Objects.LayeredTexture &&
+ (console.warn(
+ 'THREE.FBXLoader: layered textures are not supported in three.js. Discarding all but first layer.',
+ ),
+ (r = t.get(r).children[0].ID)),
+ n.get(r)
+ )
+ },
+ parseDeformers: function () {
+ var n = {},
+ r = {}
+ if ('Deformer' in e.Objects) {
+ var i = e.Objects.Deformer
+ for (var o in i) {
+ var a = i[o],
+ s = t.get(parseInt(o))
+ if ('Skin' === a.attrType) {
+ var l = this.parseSkeleton(s, i)
+ ;(l.ID = o),
+ s.parents.length > 1 &&
+ console.warn(
+ 'THREE.FBXLoader: skeleton attached to more than one geometry is not supported.',
+ ),
+ (l.geometryID = s.parents[0].ID),
+ (n[o] = l)
+ } else if ('BlendShape' === a.attrType) {
+ var u = { id: o }
+ ;(u.rawTargets = this.parseMorphTargets(s, i)),
+ (u.id = o),
+ s.parents.length > 1 &&
+ console.warn(
+ 'THREE.FBXLoader: morph target attached to more than one geometry is not supported.',
+ ),
+ (r[o] = u)
+ }
+ }
+ }
+ return { skeletons: n, morphTargets: r }
+ },
+ parseSkeleton: function (e, t) {
+ var n = []
+ return (
+ e.children.forEach(function (e) {
+ var r = t[e.ID]
+ if ('Cluster' === r.attrType) {
+ var i = {
+ ID: e.ID,
+ indices: [],
+ weights: [],
+ transform: new THREE.Matrix4().fromArray(r.Transform.a),
+ transformLink: new THREE.Matrix4().fromArray(r.TransformLink.a),
+ linkMode: r.Mode,
+ }
+ 'Indexes' in r && ((i.indices = r.Indexes.a), (i.weights = r.Weights.a)),
+ n.push(i)
+ }
+ }),
+ { rawBones: n, bones: [] }
+ )
+ },
+ parseMorphTargets: function (e, n) {
+ for (var r = [], i = 0; i < e.children.length; i++) {
+ if (8 === i) {
+ console.warn(
+ 'FBXLoader: maximum of 8 morph targets supported. Ignoring additional targets.',
+ )
+ break
+ }
+ var o = e.children[i],
+ a = n[o.ID],
+ s = {
+ name: a.attrName,
+ initialWeight: a.DeformPercent,
+ id: a.id,
+ fullWeights: a.FullWeights.a,
+ }
+ if ('BlendShapeChannel' !== a.attrType) return
+ t.get(parseInt(o.ID)).children.forEach(function (e) {
+ void 0 === e.relationship && (s.geoID = e.ID)
+ }),
+ r.push(s)
+ }
+ return r
+ },
+ parseScene: function (r, i, o) {
+ n = new THREE.Group()
+ var s = this.parseModels(r.skeletons, i, o),
+ l = e.Objects.Model,
+ u = this
+ s.forEach(function (e) {
+ var r = l[e.ID]
+ u.setLookAtProperties(e, r),
+ t.get(e.ID).parents.forEach(function (t) {
+ var n = s.get(t.ID)
+ void 0 !== n && n.add(e)
+ }),
+ null === e.parent && n.add(e)
+ }),
+ this.bindSkeleton(r.skeletons, i, s),
+ this.createAmbientLight(),
+ this.setupMorphMaterials()
+ var c = new a().parse()
+ 1 === n.children.length &&
+ n.children[0].isGroup &&
+ ((n.children[0].animations = c), (n = n.children[0])),
+ (n.animations = c)
+ },
+ parseModels: function (n, r, i) {
+ var o = new Map(),
+ a = e.Objects.Model
+ for (var s in a) {
+ var l = parseInt(s),
+ u = a[s],
+ c = t.get(l),
+ d = this.buildSkeleton(c, n, l, u.attrName)
+ if (!d) {
+ switch (u.attrType) {
+ case 'Camera':
+ d = this.createCamera(c)
+ break
+ case 'Light':
+ d = this.createLight(c)
+ break
+ case 'Mesh':
+ d = this.createMesh(c, r, i)
+ break
+ case 'NurbsCurve':
+ d = this.createCurve(c, r)
+ break
+ case 'LimbNode':
+ case 'Null':
+ default:
+ d = new THREE.Group()
+ }
+ ;(d.name = THREE.PropertyBinding.sanitizeNodeName(u.attrName)), (d.ID = l)
+ }
+ this.setModelTransforms(d, u), o.set(l, d)
+ }
+ return o
+ },
+ buildSkeleton: function (e, t, n, r) {
+ var i = null
+ return (
+ e.parents.forEach(function (e) {
+ for (var o in t) {
+ var a = t[o]
+ a.rawBones.forEach(function (t, o) {
+ if (t.ID === e.ID) {
+ var s = i
+ ;(i = new THREE.Bone()).matrixWorld.copy(t.transformLink),
+ (i.name = THREE.PropertyBinding.sanitizeNodeName(r)),
+ (i.ID = n),
+ (a.bones[o] = i),
+ null !== s && i.add(s)
+ }
+ })
+ }
+ }),
+ i
+ )
+ },
+ createCamera: function (t) {
+ var n, r
+ if (
+ (t.children.forEach(function (t) {
+ var n = e.Objects.NodeAttribute[t.ID]
+ void 0 !== n && (r = n)
+ }),
+ void 0 === r)
+ )
+ n = new THREE.Object3D()
+ else {
+ var i = 0
+ void 0 !== r.CameraProjectionType && 1 === r.CameraProjectionType.value && (i = 1)
+ var o = 1
+ void 0 !== r.NearPlane && (o = r.NearPlane.value / 1e3)
+ var a = 1e3
+ void 0 !== r.FarPlane && (a = r.FarPlane.value / 1e3)
+ var s = window.innerWidth,
+ l = window.innerHeight
+ void 0 !== r.AspectWidth &&
+ void 0 !== r.AspectHeight &&
+ ((s = r.AspectWidth.value), (l = r.AspectHeight.value))
+ var u = s / l,
+ c = 45
+ void 0 !== r.FieldOfView && (c = r.FieldOfView.value)
+ var d = r.FocalLength ? r.FocalLength.value : null
+ switch (i) {
+ case 0:
+ ;(n = new THREE.PerspectiveCamera(c, u, o, a)),
+ null !== d && n.setFocalLength(d)
+ break
+ case 1:
+ n = new THREE.OrthographicCamera(-s / 2, s / 2, l / 2, -l / 2, o, a)
+ break
+ default:
+ console.warn('THREE.FBXLoader: Unknown camera type ' + i + '.'),
+ (n = new THREE.Object3D())
+ }
+ }
+ return n
+ },
+ createLight: function (t) {
+ var n, r
+ if (
+ (t.children.forEach(function (t) {
+ var n = e.Objects.NodeAttribute[t.ID]
+ void 0 !== n && (r = n)
+ }),
+ void 0 === r)
+ )
+ n = new THREE.Object3D()
+ else {
+ var i
+ i = void 0 === r.LightType ? 0 : r.LightType.value
+ var o = 16777215
+ void 0 !== r.Color && (o = new THREE.Color().fromArray(r.Color.value))
+ var a = void 0 === r.Intensity ? 1 : r.Intensity.value / 100
+ void 0 !== r.CastLightOnObject && 0 === r.CastLightOnObject.value && (a = 0)
+ var s = 0
+ void 0 !== r.FarAttenuationEnd &&
+ (s =
+ void 0 !== r.EnableFarAttenuation && 0 === r.EnableFarAttenuation.value
+ ? 0
+ : r.FarAttenuationEnd.value)
+ switch (i) {
+ case 0:
+ n = new THREE.PointLight(o, a, s, 1)
+ break
+ case 1:
+ n = new THREE.DirectionalLight(o, a)
+ break
+ case 2:
+ var l = Math.PI / 3
+ void 0 !== r.InnerAngle && (l = THREE.Math.degToRad(r.InnerAngle.value))
+ var u = 0
+ void 0 !== r.OuterAngle &&
+ ((u = THREE.Math.degToRad(r.OuterAngle.value)), (u = Math.max(u, 1))),
+ (n = new THREE.SpotLight(o, a, s, l, u, 1))
+ break
+ default:
+ console.warn(
+ 'THREE.FBXLoader: Unknown light type ' +
+ r.LightType.value +
+ ', defaulting to a THREE.PointLight.',
+ ),
+ (n = new THREE.PointLight(o, a))
+ }
+ void 0 !== r.CastShadows && 1 === r.CastShadows.value && (n.castShadow = !0)
+ }
+ return n
+ },
+ createMesh: function (e, t, n) {
+ var r,
+ i = null,
+ o = null,
+ a = []
+ return (
+ e.children.forEach(function (e) {
+ t.has(e.ID) && (i = t.get(e.ID)), n.has(e.ID) && a.push(n.get(e.ID))
+ }),
+ a.length > 1
+ ? (o = a)
+ : a.length > 0
+ ? (o = a[0])
+ : ((o = new THREE.MeshPhongMaterial({ color: 13421772 })), a.push(o)),
+ 'color' in i.attributes &&
+ a.forEach(function (e) {
+ e.vertexColors = THREE.VertexColors
+ }),
+ i.FBX_Deformer
+ ? (a.forEach(function (e) {
+ e.skinning = !0
+ }),
+ (r = new THREE.SkinnedMesh(i, o)))
+ : (r = new THREE.Mesh(i, o)),
+ r
+ )
+ },
+ createCurve: function (e, t) {
+ var n = e.children.reduce(function (e, n) {
+ return t.has(n.ID) && (e = t.get(n.ID)), e
+ }, null),
+ r = new THREE.LineBasicMaterial({ color: 3342591, linewidth: 1 })
+ return new THREE.Line(n, r)
+ },
+ setModelTransforms: function (e, t) {
+ var n = {}
+ 'RotationOrder' in t && (n.eulerOrder = parseInt(t.RotationOrder.value)),
+ 'Lcl_Translation' in t && (n.translation = t.Lcl_Translation.value),
+ 'RotationOffset' in t && (n.rotationOffset = t.RotationOffset.value),
+ 'Lcl_Rotation' in t && (n.rotation = t.Lcl_Rotation.value),
+ 'PreRotation' in t && (n.preRotation = t.PreRotation.value),
+ 'PostRotation' in t && (n.postRotation = t.PostRotation.value),
+ 'Lcl_Scaling' in t && (n.scale = t.Lcl_Scaling.value)
+ var r = w(n)
+ e.applyMatrix(r)
+ },
+ setLookAtProperties: function (r, i) {
+ 'LookAtProperty' in i &&
+ t.get(r.ID).children.forEach(function (t) {
+ if ('LookAtProperty' === t.relationship) {
+ var i = e.Objects.Model[t.ID]
+ if ('Lcl_Translation' in i) {
+ var o = i.Lcl_Translation.value
+ void 0 !== r.target
+ ? (r.target.position.fromArray(o), n.add(r.target))
+ : r.lookAt(new THREE.Vector3().fromArray(o))
+ }
+ }
+ })
+ },
+ bindSkeleton: function (e, n, r) {
+ var i = this.parsePoseNodes()
+ for (var o in e) {
+ var a = e[o]
+ t.get(parseInt(a.ID)).parents.forEach(function (e) {
+ if (n.has(e.ID)) {
+ var o = e.ID
+ t.get(o).parents.forEach(function (e) {
+ r.has(e.ID) && r.get(e.ID).bind(new THREE.Skeleton(a.bones), i[e.ID])
+ })
+ }
+ })
+ }
+ },
+ parsePoseNodes: function () {
+ var t = {}
+ if ('Pose' in e.Objects) {
+ var n = e.Objects.Pose
+ for (var r in n)
+ if ('BindPose' === n[r].attrType) {
+ var i = n[r].PoseNode
+ Array.isArray(i)
+ ? i.forEach(function (e) {
+ t[e.Node] = new THREE.Matrix4().fromArray(e.Matrix.a)
+ })
+ : (t[i.Node] = new THREE.Matrix4().fromArray(i.Matrix.a))
+ }
+ }
+ return t
+ },
+ createAmbientLight: function () {
+ if ('GlobalSettings' in e && 'AmbientColor' in e.GlobalSettings) {
+ var t = e.GlobalSettings.AmbientColor.value,
+ r = t[0],
+ i = t[1],
+ o = t[2]
+ if (0 !== r || 0 !== i || 0 !== o) {
+ var a = new THREE.Color(r, i, o)
+ n.add(new THREE.AmbientLight(a, 1))
+ }
+ }
+ },
+ setupMorphMaterials: function () {
+ n.traverse(function (e) {
+ if (
+ e.isMesh &&
+ (e.geometry.morphAttributes.position || e.geometry.morphAttributes.normal)
+ ) {
+ var t = e.uuid,
+ r = e.material.uuid,
+ i = !1
+ n.traverse(function (e) {
+ e.isMesh && e.material.uuid === r && e.uuid !== t && (i = !0)
+ }),
+ !0 === i && (e.material = e.material.clone()),
+ (e.material.morphTargets = !0)
+ }
+ })
+ },
+ }),
+ (o.prototype = {
+ constructor: o,
+ parse: function (n) {
+ var r = new Map()
+ if ('Geometry' in e.Objects) {
+ var i = e.Objects.Geometry
+ for (var o in i) {
+ var a = t.get(parseInt(o)),
+ s = this.parseGeometry(a, i[o], n)
+ r.set(parseInt(o), s)
+ }
+ }
+ return r
+ },
+ parseGeometry: function (e, t, n) {
+ switch (t.attrType) {
+ case 'Mesh':
+ return this.parseMeshGeometry(e, t, n)
+ case 'NurbsCurve':
+ return this.parseNurbsGeometry(t)
+ }
+ },
+ parseMeshGeometry: function (t, n, r) {
+ var i = r.skeletons,
+ o = r.morphTargets,
+ a = t.parents.map(function (t) {
+ return e.Objects.Model[t.ID]
+ })
+ if (0 !== a.length) {
+ var s = t.children.reduce(function (e, t) {
+ return void 0 !== i[t.ID] && (e = i[t.ID]), e
+ }, null),
+ l = t.children.reduce(function (e, t) {
+ return void 0 !== o[t.ID] && (e = o[t.ID]), e
+ }, null),
+ u = a[0],
+ c = {}
+ 'RotationOrder' in u && (c.eulerOrder = u.RotationOrder.value),
+ 'GeometricTranslation' in u && (c.translation = u.GeometricTranslation.value),
+ 'GeometricRotation' in u && (c.rotation = u.GeometricRotation.value),
+ 'GeometricScaling' in u && (c.scale = u.GeometricScaling.value)
+ var d = w(c)
+ return this.genGeometry(n, s, l, d)
+ }
+ },
+ genGeometry: function (e, t, n, r) {
+ var i = new THREE.BufferGeometry()
+ e.attrName && (i.name = e.attrName)
+ var o = this.parseGeoNode(e, t),
+ a = this.genBuffers(o),
+ s = new THREE.Float32BufferAttribute(a.vertex, 3)
+ if (
+ (r.applyToBufferAttribute(s),
+ i.addAttribute('position', s),
+ a.colors.length > 0 &&
+ i.addAttribute('color', new THREE.Float32BufferAttribute(a.colors, 3)),
+ t &&
+ (i.addAttribute(
+ 'skinIndex',
+ new THREE.Uint16BufferAttribute(a.weightsIndices, 4),
+ ),
+ i.addAttribute(
+ 'skinWeight',
+ new THREE.Float32BufferAttribute(a.vertexWeights, 4),
+ ),
+ (i.FBX_Deformer = t)),
+ a.normal.length > 0)
+ ) {
+ var l = new THREE.Float32BufferAttribute(a.normal, 3)
+ new THREE.Matrix3().getNormalMatrix(r).applyToBufferAttribute(l),
+ i.addAttribute('normal', l)
+ }
+ if (
+ (a.uvs.forEach(function (e, t) {
+ var n = 'uv' + (t + 1).toString()
+ 0 === t && (n = 'uv'),
+ i.addAttribute(n, new THREE.Float32BufferAttribute(a.uvs[t], 2))
+ }),
+ o.material && 'AllSame' !== o.material.mappingType)
+ ) {
+ var u = a.materialIndex[0],
+ c = 0
+ if (
+ (a.materialIndex.forEach(function (e, t) {
+ e !== u && (i.addGroup(c, t - c, u), (u = e), (c = t))
+ }),
+ i.groups.length > 0)
+ ) {
+ var d = i.groups[i.groups.length - 1],
+ f = d.start + d.count
+ f !== a.materialIndex.length && i.addGroup(f, a.materialIndex.length - f, u)
+ }
+ 0 === i.groups.length && i.addGroup(0, a.materialIndex.length, a.materialIndex[0])
+ }
+ return this.addMorphTargets(i, e, n, r), i
+ },
+ parseGeoNode: function (e, t) {
+ var n = {}
+ if (
+ ((n.vertexPositions = void 0 !== e.Vertices ? e.Vertices.a : []),
+ (n.vertexIndices = void 0 !== e.PolygonVertexIndex ? e.PolygonVertexIndex.a : []),
+ e.LayerElementColor && (n.color = this.parseVertexColors(e.LayerElementColor[0])),
+ e.LayerElementMaterial &&
+ (n.material = this.parseMaterialIndices(e.LayerElementMaterial[0])),
+ e.LayerElementNormal && (n.normal = this.parseNormals(e.LayerElementNormal[0])),
+ e.LayerElementUV)
+ ) {
+ n.uv = []
+ for (var r = 0; e.LayerElementUV[r]; )
+ n.uv.push(this.parseUVs(e.LayerElementUV[r])), r++
+ }
+ return (
+ (n.weightTable = {}),
+ null !== t &&
+ ((n.skeleton = t),
+ t.rawBones.forEach(function (e, t) {
+ e.indices.forEach(function (r, i) {
+ void 0 === n.weightTable[r] && (n.weightTable[r] = []),
+ n.weightTable[r].push({ id: t, weight: e.weights[i] })
+ })
+ })),
+ n
+ )
+ },
+ genBuffers: function (e) {
+ var t = {
+ vertex: [],
+ normal: [],
+ colors: [],
+ uvs: [],
+ materialIndex: [],
+ vertexWeights: [],
+ weightsIndices: [],
+ },
+ n = 0,
+ r = 0,
+ i = !1,
+ o = [],
+ a = [],
+ s = [],
+ l = [],
+ u = [],
+ c = [],
+ d = this
+ return (
+ e.vertexIndices.forEach(function (f, h) {
+ var v = !1
+ f < 0 && ((f ^= -1), (v = !0))
+ var m = [],
+ g = []
+ if ((o.push(3 * f, 3 * f + 1, 3 * f + 2), e.color)) {
+ var y = p(h, n, f, e.color)
+ s.push(y[0], y[1], y[2])
+ }
+ if (e.skeleton) {
+ if (
+ (void 0 !== e.weightTable[f] &&
+ e.weightTable[f].forEach(function (e) {
+ g.push(e.weight), m.push(e.id)
+ }),
+ g.length > 4)
+ ) {
+ i ||
+ (console.warn(
+ 'THREE.FBXLoader: Vertex has more than 4 skinning weights assigned to vertex. Deleting additional weights.',
+ ),
+ (i = !0))
+ var b = [0, 0, 0, 0],
+ w = [0, 0, 0, 0]
+ g.forEach(function (e, t) {
+ var n = e,
+ r = m[t]
+ w.forEach(function (e, t, i) {
+ if (n > e) {
+ ;(i[t] = n), (n = e)
+ var o = b[t]
+ ;(b[t] = r), (r = o)
+ }
+ })
+ }),
+ (m = b),
+ (g = w)
+ }
+ for (; g.length < 4; ) g.push(0), m.push(0)
+ for (var x = 0; x < 4; ++x) u.push(g[x]), c.push(m[x])
+ }
+ if (e.normal) {
+ y = p(h, n, f, e.normal)
+ a.push(y[0], y[1], y[2])
+ }
+ if (e.material && 'AllSame' !== e.material.mappingType)
+ var E = p(h, n, f, e.material)[0]
+ e.uv &&
+ e.uv.forEach(function (e, t) {
+ var r = p(h, n, f, e)
+ void 0 === l[t] && (l[t] = []), l[t].push(r[0]), l[t].push(r[1])
+ }),
+ r++,
+ v &&
+ (d.genFace(t, e, o, E, a, s, l, u, c, r),
+ n++,
+ (r = 0),
+ (o = []),
+ (a = []),
+ (s = []),
+ (l = []),
+ (u = []),
+ (c = []))
+ }),
+ t
+ )
+ },
+ genFace: function (e, t, n, r, i, o, a, s, l, u) {
+ for (var c = 2; c < u; c++)
+ e.vertex.push(t.vertexPositions[n[0]]),
+ e.vertex.push(t.vertexPositions[n[1]]),
+ e.vertex.push(t.vertexPositions[n[2]]),
+ e.vertex.push(t.vertexPositions[n[3 * (c - 1)]]),
+ e.vertex.push(t.vertexPositions[n[3 * (c - 1) + 1]]),
+ e.vertex.push(t.vertexPositions[n[3 * (c - 1) + 2]]),
+ e.vertex.push(t.vertexPositions[n[3 * c]]),
+ e.vertex.push(t.vertexPositions[n[3 * c + 1]]),
+ e.vertex.push(t.vertexPositions[n[3 * c + 2]]),
+ t.skeleton &&
+ (e.vertexWeights.push(s[0]),
+ e.vertexWeights.push(s[1]),
+ e.vertexWeights.push(s[2]),
+ e.vertexWeights.push(s[3]),
+ e.vertexWeights.push(s[4 * (c - 1)]),
+ e.vertexWeights.push(s[4 * (c - 1) + 1]),
+ e.vertexWeights.push(s[4 * (c - 1) + 2]),
+ e.vertexWeights.push(s[4 * (c - 1) + 3]),
+ e.vertexWeights.push(s[4 * c]),
+ e.vertexWeights.push(s[4 * c + 1]),
+ e.vertexWeights.push(s[4 * c + 2]),
+ e.vertexWeights.push(s[4 * c + 3]),
+ e.weightsIndices.push(l[0]),
+ e.weightsIndices.push(l[1]),
+ e.weightsIndices.push(l[2]),
+ e.weightsIndices.push(l[3]),
+ e.weightsIndices.push(l[4 * (c - 1)]),
+ e.weightsIndices.push(l[4 * (c - 1) + 1]),
+ e.weightsIndices.push(l[4 * (c - 1) + 2]),
+ e.weightsIndices.push(l[4 * (c - 1) + 3]),
+ e.weightsIndices.push(l[4 * c]),
+ e.weightsIndices.push(l[4 * c + 1]),
+ e.weightsIndices.push(l[4 * c + 2]),
+ e.weightsIndices.push(l[4 * c + 3])),
+ t.color &&
+ (e.colors.push(o[0]),
+ e.colors.push(o[1]),
+ e.colors.push(o[2]),
+ e.colors.push(o[3 * (c - 1)]),
+ e.colors.push(o[3 * (c - 1) + 1]),
+ e.colors.push(o[3 * (c - 1) + 2]),
+ e.colors.push(o[3 * c]),
+ e.colors.push(o[3 * c + 1]),
+ e.colors.push(o[3 * c + 2])),
+ t.material &&
+ 'AllSame' !== t.material.mappingType &&
+ (e.materialIndex.push(r), e.materialIndex.push(r), e.materialIndex.push(r)),
+ t.normal &&
+ (e.normal.push(i[0]),
+ e.normal.push(i[1]),
+ e.normal.push(i[2]),
+ e.normal.push(i[3 * (c - 1)]),
+ e.normal.push(i[3 * (c - 1) + 1]),
+ e.normal.push(i[3 * (c - 1) + 2]),
+ e.normal.push(i[3 * c]),
+ e.normal.push(i[3 * c + 1]),
+ e.normal.push(i[3 * c + 2])),
+ t.uv &&
+ t.uv.forEach(function (t, n) {
+ void 0 === e.uvs[n] && (e.uvs[n] = []),
+ e.uvs[n].push(a[n][0]),
+ e.uvs[n].push(a[n][1]),
+ e.uvs[n].push(a[n][2 * (c - 1)]),
+ e.uvs[n].push(a[n][2 * (c - 1) + 1]),
+ e.uvs[n].push(a[n][2 * c]),
+ e.uvs[n].push(a[n][2 * c + 1])
+ })
+ },
+ addMorphTargets: function (t, n, r, i) {
+ if (null !== r) {
+ ;(t.morphAttributes.position = []), (t.morphAttributes.normal = [])
+ var o = this
+ r.rawTargets.forEach(function (r) {
+ var a = e.Objects.Geometry[r.geoID]
+ void 0 !== a && o.genMorphGeometry(t, n, a, i)
+ })
+ }
+ },
+ genMorphGeometry: function (e, t, n, r) {
+ var i = new THREE.BufferGeometry()
+ n.attrName && (i.name = n.attrName)
+ for (
+ var o = void 0 !== t.PolygonVertexIndex ? t.PolygonVertexIndex.a : [],
+ a = void 0 !== t.Vertices ? t.Vertices.a.slice() : [],
+ s = void 0 !== n.Vertices ? n.Vertices.a : [],
+ l = void 0 !== n.Indexes ? n.Indexes.a : [],
+ u = 0;
+ u < l.length;
+ u++
+ ) {
+ var c = 3 * l[u]
+ ;(a[c] += s[3 * u]), (a[c + 1] += s[3 * u + 1]), (a[c + 2] += s[3 * u + 2])
+ }
+ var d = { vertexIndices: o, vertexPositions: a },
+ f = this.genBuffers(d),
+ h = new THREE.Float32BufferAttribute(f.vertex, 3)
+ ;(h.name = n.attrName),
+ r.applyToBufferAttribute(h),
+ e.morphAttributes.position.push(h)
+ },
+ parseNormals: function (e) {
+ var t = e.MappingInformationType,
+ n = e.ReferenceInformationType,
+ r = e.Normals.a,
+ i = []
+ return (
+ 'IndexToDirect' === n &&
+ ('NormalIndex' in e
+ ? (i = e.NormalIndex.a)
+ : 'NormalsIndex' in e && (i = e.NormalsIndex.a)),
+ { dataSize: 3, buffer: r, indices: i, mappingType: t, referenceType: n }
+ )
+ },
+ parseUVs: function (e) {
+ var t = e.MappingInformationType,
+ n = e.ReferenceInformationType,
+ r = e.UV.a,
+ i = []
+ return (
+ 'IndexToDirect' === n && (i = e.UVIndex.a),
+ { dataSize: 2, buffer: r, indices: i, mappingType: t, referenceType: n }
+ )
+ },
+ parseVertexColors: function (e) {
+ var t = e.MappingInformationType,
+ n = e.ReferenceInformationType,
+ r = e.Colors.a,
+ i = []
+ return (
+ 'IndexToDirect' === n && (i = e.ColorIndex.a),
+ { dataSize: 4, buffer: r, indices: i, mappingType: t, referenceType: n }
+ )
+ },
+ parseMaterialIndices: function (e) {
+ var t = e.MappingInformationType,
+ n = e.ReferenceInformationType
+ if ('NoMappingInformation' === t)
+ return {
+ dataSize: 1,
+ buffer: [0],
+ indices: [0],
+ mappingType: 'AllSame',
+ referenceType: n,
+ }
+ for (var r = e.Materials.a, i = [], o = 0; o < r.length; ++o) i.push(o)
+ return { dataSize: 1, buffer: r, indices: i, mappingType: t, referenceType: n }
+ },
+ parseNurbsGeometry: function (e) {
+ if (void 0 === THREE.NURBSCurve)
+ return (
+ console.error(
+ 'THREE.FBXLoader: The loader relies on THREE.NURBSCurve for any nurbs present in the model. Nurbs will show up as empty geometry.',
+ ),
+ new THREE.BufferGeometry()
+ )
+ var t = parseInt(e.Order)
+ if (isNaN(t))
+ return (
+ console.error(
+ 'THREE.FBXLoader: Invalid Order %s given for geometry ID: %s',
+ e.Order,
+ e.id,
+ ),
+ new THREE.BufferGeometry()
+ )
+ for (
+ var n,
+ r,
+ i = t - 1,
+ o = e.KnotVector.a,
+ a = [],
+ s = e.Points.a,
+ l = 0,
+ u = s.length;
+ l < u;
+ l += 4
+ )
+ a.push(new THREE.Vector4().fromArray(s, l))
+ if ('Closed' === e.Form) a.push(a[0])
+ else if ('Periodic' === e.Form) {
+ ;(n = i), (r = o.length - 1 - n)
+ for (l = 0; l < i; ++l) a.push(a[l])
+ }
+ var c = new THREE.NURBSCurve(i, o, a, n, r).getPoints(7 * a.length),
+ d = new Float32Array(3 * c.length)
+ c.forEach(function (e, t) {
+ e.toArray(d, 3 * t)
+ })
+ var f = new THREE.BufferGeometry()
+ return f.addAttribute('position', new THREE.BufferAttribute(d, 3)), f
+ },
+ }),
+ (a.prototype = {
+ constructor: a,
+ parse: function () {
+ var e = [],
+ t = this.parseClips()
+ if (void 0 === t) return e
+ for (var n in t) {
+ var r = t[n],
+ i = this.addClip(r)
+ e.push(i)
+ }
+ return e
+ },
+ parseClips: function () {
+ if (void 0 !== e.Objects.AnimationCurve) {
+ var t = this.parseAnimationCurveNodes()
+ this.parseAnimationCurves(t)
+ var n = this.parseAnimationLayers(t)
+ return this.parseAnimStacks(n)
+ }
+ },
+ parseAnimationCurveNodes: function () {
+ var t = e.Objects.AnimationCurveNode,
+ n = new Map()
+ for (var r in t) {
+ var i = t[r]
+ if (null !== i.attrName.match(/S|R|T|DeformPercent/)) {
+ var o = { id: i.id, attr: i.attrName, curves: {} }
+ n.set(o.id, o)
+ }
+ }
+ return n
+ },
+ parseAnimationCurves: function (n) {
+ var r = e.Objects.AnimationCurve
+ for (var i in r) {
+ var o = { id: r[i].id, times: r[i].KeyTime.a.map(f), values: r[i].KeyValueFloat.a },
+ a = t.get(o.id)
+ if (void 0 !== a) {
+ var s = a.parents[0].ID,
+ l = a.parents[0].relationship
+ l.match(/X/)
+ ? (n.get(s).curves.x = o)
+ : l.match(/Y/)
+ ? (n.get(s).curves.y = o)
+ : l.match(/Z/)
+ ? (n.get(s).curves.z = o)
+ : l.match(/d|DeformPercent/) && n.has(s) && (n.get(s).curves.morph = o)
+ }
+ }
+ },
+ parseAnimationLayers: function (n) {
+ var r = e.Objects.AnimationLayer,
+ i = new Map()
+ for (var o in r) {
+ var a = [],
+ s = t.get(parseInt(o))
+ if (void 0 !== s) {
+ var l = s.children,
+ u = this
+ l.forEach(function (r, i) {
+ if (n.has(r.ID)) {
+ var o = n.get(r.ID)
+ if (void 0 !== o.curves.x || void 0 !== o.curves.y || void 0 !== o.curves.z) {
+ if (void 0 === a[i]) {
+ t.get(r.ID).parents.forEach(function (e) {
+ void 0 !== e.relationship && (h = e.ID)
+ })
+ var s = e.Objects.Model[h.toString()],
+ l = {
+ modelName: THREE.PropertyBinding.sanitizeNodeName(s.attrName),
+ initialPosition: [0, 0, 0],
+ initialRotation: [0, 0, 0],
+ initialScale: [1, 1, 1],
+ transform: u.getModelAnimTransform(s),
+ }
+ 'PreRotation' in s && (l.preRotations = s.PreRotation.value),
+ 'PostRotation' in s && (l.postRotations = s.PostRotation.value),
+ (a[i] = l)
+ }
+ a[i][o.attr] = o
+ } else if (void 0 !== o.curves.morph) {
+ if (void 0 === a[i]) {
+ var c
+ t.get(r.ID).parents.forEach(function (e) {
+ void 0 !== e.relationship && (c = e.ID)
+ })
+ var d = t.get(c).parents[0].ID,
+ f = t.get(d).parents[0].ID,
+ h = t.get(f).parents[0].ID
+ ;(s = e.Objects.Model[h]),
+ (l = {
+ modelName: THREE.PropertyBinding.sanitizeNodeName(s.attrName),
+ morphName: e.Objects.Deformer[c].attrName,
+ })
+ a[i] = l
+ }
+ a[i][o.attr] = o
+ }
+ }
+ }),
+ i.set(parseInt(o), a)
+ }
+ }
+ return i
+ },
+ getModelAnimTransform: function (e) {
+ var t = {}
+ return (
+ 'RotationOrder' in e && (t.eulerOrder = parseInt(e.RotationOrder.value)),
+ 'Lcl_Translation' in e && (t.translation = e.Lcl_Translation.value),
+ 'RotationOffset' in e && (t.rotationOffset = e.RotationOffset.value),
+ 'Lcl_Rotation' in e && (t.rotation = e.Lcl_Rotation.value),
+ 'PreRotation' in e && (t.preRotation = e.PreRotation.value),
+ 'PostRotation' in e && (t.postRotation = e.PostRotation.value),
+ 'Lcl_Scaling' in e && (t.scale = e.Lcl_Scaling.value),
+ w(t)
+ )
+ },
+ parseAnimStacks: function (n) {
+ var r = e.Objects.AnimationStack,
+ i = {}
+ for (var o in r) {
+ var a = t.get(parseInt(o)).children
+ a.length > 1 &&
+ console.warn(
+ 'THREE.FBXLoader: Encountered an animation stack with multiple layers, this is currently not supported. Ignoring subsequent layers.',
+ )
+ var s = n.get(a[0].ID)
+ i[o] = { name: r[o].attrName, layer: s }
+ }
+ return i
+ },
+ addClip: function (e) {
+ var t = [],
+ n = this
+ return (
+ e.layer.forEach(function (e) {
+ t = t.concat(n.generateTracks(e))
+ }),
+ new THREE.AnimationClip(e.name, -1, t)
+ )
+ },
+ generateTracks: function (e) {
+ var t = [],
+ n = new THREE.Vector3(),
+ r = new THREE.Quaternion(),
+ i = new THREE.Vector3()
+ if (
+ (e.transform && e.transform.decompose(n, r, i),
+ (n = n.toArray()),
+ (r = new THREE.Euler().setFromQuaternion(r).toArray()),
+ (i = i.toArray()),
+ void 0 !== e.T && Object.keys(e.T.curves).length > 0)
+ ) {
+ var o = this.generateVectorTrack(e.modelName, e.T.curves, n, 'position')
+ void 0 !== o && t.push(o)
+ }
+ if (void 0 !== e.R && Object.keys(e.R.curves).length > 0) {
+ var a = this.generateRotationTrack(
+ e.modelName,
+ e.R.curves,
+ r,
+ e.preRotations,
+ e.postRotations,
+ )
+ void 0 !== a && t.push(a)
+ }
+ if (void 0 !== e.S && Object.keys(e.S.curves).length > 0) {
+ var s = this.generateVectorTrack(e.modelName, e.S.curves, i, 'scale')
+ void 0 !== s && t.push(s)
+ }
+ if (void 0 !== e.DeformPercent) {
+ var l = this.generateMorphTrack(e)
+ void 0 !== l && t.push(l)
+ }
+ return t
+ },
+ generateVectorTrack: function (e, t, n, r) {
+ var i = this.getTimesForAllAxes(t),
+ o = this.getKeyframeTrackValues(i, t, n)
+ return new THREE.VectorKeyframeTrack(e + '.' + r, i, o)
+ },
+ generateRotationTrack: function (e, t, n, r, i) {
+ void 0 !== t.x &&
+ (this.interpolateRotations(t.x),
+ (t.x.values = t.x.values.map(THREE.Math.degToRad))),
+ void 0 !== t.y &&
+ (this.interpolateRotations(t.y),
+ (t.y.values = t.y.values.map(THREE.Math.degToRad))),
+ void 0 !== t.z &&
+ (this.interpolateRotations(t.z),
+ (t.z.values = t.z.values.map(THREE.Math.degToRad)))
+ var o = this.getTimesForAllAxes(t),
+ a = this.getKeyframeTrackValues(o, t, n)
+ void 0 !== r &&
+ ((r = r.map(THREE.Math.degToRad)).push('ZYX'),
+ (r = new THREE.Euler().fromArray(r)),
+ (r = new THREE.Quaternion().setFromEuler(r))),
+ void 0 !== i &&
+ ((i = i.map(THREE.Math.degToRad)).push('ZYX'),
+ (i = new THREE.Euler().fromArray(i)),
+ (i = new THREE.Quaternion().setFromEuler(i).inverse()))
+ for (
+ var s = new THREE.Quaternion(), l = new THREE.Euler(), u = [], c = 0;
+ c < a.length;
+ c += 3
+ )
+ l.set(a[c], a[c + 1], a[c + 2], 'ZYX'),
+ s.setFromEuler(l),
+ void 0 !== r && s.premultiply(r),
+ void 0 !== i && s.multiply(i),
+ s.toArray(u, (c / 3) * 4)
+ return new THREE.QuaternionKeyframeTrack(e + '.quaternion', o, u)
+ },
+ generateMorphTrack: function (e) {
+ var t = e.DeformPercent.curves.morph,
+ r = t.values.map(function (e) {
+ return e / 100
+ }),
+ i = n.getObjectByName(e.modelName).morphTargetDictionary[e.morphName]
+ return new THREE.NumberKeyframeTrack(
+ e.modelName + '.morphTargetInfluences[' + i + ']',
+ t.times,
+ r,
+ )
+ },
+ getTimesForAllAxes: function (e) {
+ var t = []
+ return (
+ void 0 !== e.x && (t = t.concat(e.x.times)),
+ void 0 !== e.y && (t = t.concat(e.y.times)),
+ void 0 !== e.z && (t = t.concat(e.z.times)),
+ (t = t
+ .sort(function (e, t) {
+ return e - t
+ })
+ .filter(function (e, t, n) {
+ return n.indexOf(e) == t
+ }))
+ )
+ },
+ getKeyframeTrackValues: function (e, t, n) {
+ var r = n,
+ i = [],
+ o = -1,
+ a = -1,
+ s = -1
+ return (
+ e.forEach(function (e) {
+ if (
+ (t.x && (o = t.x.times.indexOf(e)),
+ t.y && (a = t.y.times.indexOf(e)),
+ t.z && (s = t.z.times.indexOf(e)),
+ -1 !== o)
+ ) {
+ var n = t.x.values[o]
+ i.push(n), (r[0] = n)
+ } else i.push(r[0])
+ if (-1 !== a) {
+ var l = t.y.values[a]
+ i.push(l), (r[1] = l)
+ } else i.push(r[1])
+ if (-1 !== s) {
+ var u = t.z.values[s]
+ i.push(u), (r[2] = u)
+ } else i.push(r[2])
+ }),
+ i
+ )
+ },
+ interpolateRotations: function (e) {
+ for (var t = 1; t < e.values.length; t++) {
+ var n = e.values[t - 1],
+ r = e.values[t] - n,
+ i = Math.abs(r)
+ if (i >= 180) {
+ for (
+ var o = i / 180,
+ a = r / o,
+ s = n + a,
+ l = e.times[t - 1],
+ u = (e.times[t] - l) / o,
+ c = l + u,
+ d = [],
+ f = [];
+ c < e.times[t];
+
+ )
+ d.push(c), (c += u), f.push(s), (s += a)
+ ;(e.times = T(e.times, t, d)), (e.values = T(e.values, t, f))
+ }
+ }
+ },
+ }),
+ (s.prototype = {
+ constructor: s,
+ getPrevNode: function () {
+ return this.nodeStack[this.currentIndent - 2]
+ },
+ getCurrentNode: function () {
+ return this.nodeStack[this.currentIndent - 1]
+ },
+ getCurrentProp: function () {
+ return this.currentProp
+ },
+ pushStack: function (e) {
+ this.nodeStack.push(e), (this.currentIndent += 1)
+ },
+ popStack: function () {
+ this.nodeStack.pop(), (this.currentIndent -= 1)
+ },
+ setCurrentProp: function (e, t) {
+ ;(this.currentProp = e), (this.currentPropName = t)
+ },
+ parse: function (e) {
+ ;(this.currentIndent = 0),
+ console.log('FBXTree: ', c),
+ (this.allNodes = new c()),
+ (this.nodeStack = []),
+ (this.currentProp = []),
+ (this.currentPropName = '')
+ var t = this,
+ n = e.split(/[\r\n]+/)
+ return (
+ n.forEach(function (e, r) {
+ var i = e.match(/^[\s\t]*;/),
+ o = e.match(/^[\s\t]*$/)
+ if (!i && !o) {
+ var a = e.match('^\\t{' + t.currentIndent + '}(\\w+):(.*){', ''),
+ s = e.match('^\\t{' + t.currentIndent + '}(\\w+):[\\s\\t\\r\\n](.*)'),
+ l = e.match('^\\t{' + (t.currentIndent - 1) + '}}')
+ a
+ ? t.parseNodeBegin(e, a)
+ : s
+ ? t.parseNodeProperty(e, s, n[++r])
+ : l
+ ? t.popStack()
+ : e.match(/^[^\s\t}]/) && t.parseNodePropertyContinued(e)
+ }
+ }),
+ this.allNodes
+ )
+ },
+ parseNodeBegin: function (e, t) {
+ var n = t[1].trim().replace(/^"/, '').replace(/"$/, ''),
+ r = t[2].split(',').map(function (e) {
+ return e.trim().replace(/^"/, '').replace(/"$/, '')
+ }),
+ i = { name: n },
+ o = this.parseNodeAttr(r),
+ a = this.getCurrentNode()
+ 0 === this.currentIndent
+ ? this.allNodes.add(n, i)
+ : n in a
+ ? ('PoseNode' === n
+ ? a.PoseNode.push(i)
+ : void 0 !== a[n].id && ((a[n] = {}), (a[n][a[n].id] = a[n])),
+ '' !== o.id && (a[n][o.id] = i))
+ : 'number' === typeof o.id
+ ? ((a[n] = {}), (a[n][o.id] = i))
+ : 'Properties70' !== n && (a[n] = 'PoseNode' === n ? [i] : i),
+ 'number' === typeof o.id && (i.id = o.id),
+ '' !== o.name && (i.attrName = o.name),
+ '' !== o.type && (i.attrType = o.type),
+ this.pushStack(i)
+ },
+ parseNodeAttr: function (e) {
+ var t = e[0]
+ '' !== e[0] && ((t = parseInt(e[0])), isNaN(t) && (t = e[0]))
+ var n = '',
+ r = ''
+ return (
+ e.length > 1 && ((n = e[1].replace(/^(\w+)::/, '')), (r = e[2])),
+ { id: t, name: n, type: r }
+ )
+ },
+ parseNodeProperty: function (e, t, n) {
+ var r = t[1].replace(/^"/, '').replace(/"$/, '').trim(),
+ i = t[2].replace(/^"/, '').replace(/"$/, '').trim()
+ 'Content' === r && ',' === i && (i = n.replace(/"/g, '').replace(/,$/, '').trim())
+ var o = this.getCurrentNode()
+ if ('Properties70' !== o.name) {
+ if ('C' === r) {
+ var a = i.split(',').slice(1),
+ s = parseInt(a[0]),
+ l = parseInt(a[1]),
+ u = i.split(',').slice(3)
+ ;(r = 'connections'),
+ (function (e, t) {
+ for (var n = 0, r = e.length, i = t.length; n < i; n++, r++) e[r] = t[n]
+ })(
+ (i = [s, l]),
+ (u = u.map(function (e) {
+ return e.trim().replace(/^"/, '')
+ })),
+ ),
+ void 0 === o[r] && (o[r] = [])
+ }
+ 'Node' === r && (o.id = i),
+ r in o && Array.isArray(o[r]) ? o[r].push(i) : 'a' !== r ? (o[r] = i) : (o.a = i),
+ this.setCurrentProp(o, r),
+ 'a' === r && ',' !== i.slice(-1) && (o.a = E(i))
+ } else this.parseNodeSpecialProperty(e, r, i)
+ },
+ parseNodePropertyContinued: function (e) {
+ var t = this.getCurrentNode()
+ ;(t.a += e), ',' !== e.slice(-1) && (t.a = E(t.a))
+ },
+ parseNodeSpecialProperty: function (e, t, n) {
+ var r = n.split('",').map(function (e) {
+ return e.trim().replace(/^\"/, '').replace(/\s/, '_')
+ }),
+ i = r[0],
+ o = r[1],
+ a = r[2],
+ s = r[3],
+ l = r[4]
+ switch (o) {
+ case 'int':
+ case 'enum':
+ case 'bool':
+ case 'ULongLong':
+ case 'double':
+ case 'Number':
+ case 'FieldOfView':
+ l = parseFloat(l)
+ break
+ case 'Color':
+ case 'ColorRGB':
+ case 'Vector3D':
+ case 'Lcl_Translation':
+ case 'Lcl_Rotation':
+ case 'Lcl_Scaling':
+ l = E(l)
+ }
+ ;(this.getPrevNode()[i] = { type: o, type2: a, flag: s, value: l }),
+ this.setCurrentProp(this.getPrevNode(), i)
+ },
+ }),
+ (l.prototype = {
+ constructor: l,
+ parse: function (e) {
+ var t = new u(e)
+ t.skip(23)
+ var n = t.getUint32()
+ console.log('THREE.FBXLoader: FBX binary version: ' + n)
+ for (var r = new c(); !this.endOfContent(t); ) {
+ var i = this.parseNode(t, n)
+ null !== i && r.add(i.name, i)
+ }
+ return r
+ },
+ endOfContent: function (e) {
+ return e.size() % 16 === 0
+ ? ((e.getOffset() + 160 + 16) & -16) >= e.size()
+ : e.getOffset() + 160 + 16 >= e.size()
+ },
+ parseNode: function (e, t) {
+ var n = {},
+ r = t >= 7500 ? e.getUint64() : e.getUint32(),
+ i = t >= 7500 ? e.getUint64() : e.getUint32(),
+ o = (t >= 7500 ? e.getUint64() : e.getUint32(), e.getUint8()),
+ a = e.getString(o)
+ if (0 === r) return null
+ for (var s = [], l = 0; l < i; l++) s.push(this.parseProperty(e))
+ var u = s.length > 0 ? s[0] : '',
+ c = s.length > 1 ? s[1] : '',
+ d = s.length > 2 ? s[2] : ''
+ for (n.singleProperty = 1 === i && e.getOffset() === r; r > e.getOffset(); ) {
+ var f = this.parseNode(e, t)
+ null !== f && this.parseSubNode(a, n, f)
+ }
+ return (
+ (n.propertyList = s),
+ 'number' === typeof u && (n.id = u),
+ '' !== c && (n.attrName = c),
+ '' !== d && (n.attrType = d),
+ '' !== a && (n.name = a),
+ n
+ )
+ },
+ parseSubNode: function (e, t, n) {
+ if (!0 === n.singleProperty) {
+ var r = n.propertyList[0]
+ Array.isArray(r) ? ((t[n.name] = n), (n.a = r)) : (t[n.name] = r)
+ } else if ('Connections' === e && 'C' === n.name) {
+ var i = []
+ n.propertyList.forEach(function (e, t) {
+ 0 !== t && i.push(e)
+ }),
+ void 0 === t.connections && (t.connections = []),
+ t.connections.push(i)
+ } else if ('Properties70' === n.name) {
+ Object.keys(n).forEach(function (e) {
+ t[e] = n[e]
+ })
+ } else if ('Properties70' === e && 'P' === n.name) {
+ var o,
+ a = n.propertyList[0],
+ s = n.propertyList[1],
+ l = n.propertyList[2],
+ u = n.propertyList[3]
+ 0 === a.indexOf('Lcl ') && (a = a.replace('Lcl ', 'Lcl_')),
+ 0 === s.indexOf('Lcl ') && (s = s.replace('Lcl ', 'Lcl_')),
+ (o =
+ 'Color' === s ||
+ 'ColorRGB' === s ||
+ 'Vector' === s ||
+ 'Vector3D' === s ||
+ 0 === s.indexOf('Lcl_')
+ ? [n.propertyList[4], n.propertyList[5], n.propertyList[6]]
+ : n.propertyList[4]),
+ (t[a] = { type: s, type2: l, flag: u, value: o })
+ } else
+ void 0 === t[n.name]
+ ? 'number' === typeof n.id
+ ? ((t[n.name] = {}), (t[n.name][n.id] = n))
+ : (t[n.name] = n)
+ : 'PoseNode' === n.name
+ ? (Array.isArray(t[n.name]) || (t[n.name] = [t[n.name]]), t[n.name].push(n))
+ : void 0 === t[n.name][n.id] && (t[n.name][n.id] = n)
+ },
+ parseProperty: function (e) {
+ var t = e.getString(1)
+ switch (t) {
+ case 'C':
+ return e.getBoolean()
+ case 'D':
+ return e.getFloat64()
+ case 'F':
+ return e.getFloat32()
+ case 'I':
+ return e.getInt32()
+ case 'L':
+ return e.getInt64()
+ case 'R':
+ var n = e.getUint32()
+ return e.getArrayBuffer(n)
+ case 'S':
+ n = e.getUint32()
+ return e.getString(n)
+ case 'Y':
+ return e.getInt16()
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'f':
+ case 'i':
+ case 'l':
+ var r = e.getUint32(),
+ i = e.getUint32(),
+ o = e.getUint32()
+ if (0 === i)
+ switch (t) {
+ case 'b':
+ case 'c':
+ return e.getBooleanArray(r)
+ case 'd':
+ return e.getFloat64Array(r)
+ case 'f':
+ return e.getFloat32Array(r)
+ case 'i':
+ return e.getInt32Array(r)
+ case 'l':
+ return e.getInt64Array(r)
+ }
+ 'undefined' === typeof Zlib &&
+ console.error(
+ 'THREE.FBXLoader: External library Inflate.min.js required, obtain or import from https://github.com/imaya/zlib.js',
+ )
+ var a = new u(
+ new Zlib.Inflate(new Uint8Array(e.getArrayBuffer(o))).decompress().buffer,
+ )
+ switch (t) {
+ case 'b':
+ case 'c':
+ return a.getBooleanArray(r)
+ case 'd':
+ return a.getFloat64Array(r)
+ case 'f':
+ return a.getFloat32Array(r)
+ case 'i':
+ return a.getInt32Array(r)
+ case 'l':
+ return a.getInt64Array(r)
+ }
+ default:
+ throw new Error('THREE.FBXLoader: Unknown property type ' + t)
+ }
+ },
+ }),
+ (u.prototype = {
+ constructor: u,
+ getOffset: function () {
+ return this.offset
+ },
+ size: function () {
+ return this.dv.buffer.byteLength
+ },
+ skip: function (e) {
+ this.offset += e
+ },
+ getBoolean: function () {
+ return 1 === (1 & this.getUint8())
+ },
+ getBooleanArray: function (e) {
+ for (var t = [], n = 0; n < e; n++) t.push(this.getBoolean())
+ return t
+ },
+ getUint8: function () {
+ var e = this.dv.getUint8(this.offset)
+ return (this.offset += 1), e
+ },
+ getInt16: function () {
+ var e = this.dv.getInt16(this.offset, this.littleEndian)
+ return (this.offset += 2), e
+ },
+ getInt32: function () {
+ var e = this.dv.getInt32(this.offset, this.littleEndian)
+ return (this.offset += 4), e
+ },
+ getInt32Array: function (e) {
+ for (var t = [], n = 0; n < e; n++) t.push(this.getInt32())
+ return t
+ },
+ getUint32: function () {
+ var e = this.dv.getUint32(this.offset, this.littleEndian)
+ return (this.offset += 4), e
+ },
+ getInt64: function () {
+ var e, t
+ return (
+ this.littleEndian
+ ? ((e = this.getUint32()), (t = this.getUint32()))
+ : ((t = this.getUint32()), (e = this.getUint32())),
+ 2147483648 & t
+ ? ((t = 4294967295 & ~t),
+ 4294967295 === (e = 4294967295 & ~e) && (t = (t + 1) & 4294967295),
+ -(4294967296 * t + (e = (e + 1) & 4294967295)))
+ : 4294967296 * t + e
+ )
+ },
+ getInt64Array: function (e) {
+ for (var t = [], n = 0; n < e; n++) t.push(this.getInt64())
+ return t
+ },
+ getUint64: function () {
+ var e, t
+ return (
+ this.littleEndian
+ ? ((e = this.getUint32()), (t = this.getUint32()))
+ : ((t = this.getUint32()), (e = this.getUint32())),
+ 4294967296 * t + e
+ )
+ },
+ getFloat32: function () {
+ var e = this.dv.getFloat32(this.offset, this.littleEndian)
+ return (this.offset += 4), e
+ },
+ getFloat32Array: function (e) {
+ for (var t = [], n = 0; n < e; n++) t.push(this.getFloat32())
+ return t
+ },
+ getFloat64: function () {
+ var e = this.dv.getFloat64(this.offset, this.littleEndian)
+ return (this.offset += 8), e
+ },
+ getFloat64Array: function (e) {
+ for (var t = [], n = 0; n < e; n++) t.push(this.getFloat64())
+ return t
+ },
+ getArrayBuffer: function (e) {
+ var t = this.dv.buffer.slice(this.offset, this.offset + e)
+ return (this.offset += e), t
+ },
+ getString: function (e) {
+ for (var t = [], n = 0; n < e; n++) t[n] = this.getUint8()
+ var r = t.indexOf(0)
+ return r >= 0 && (t = t.slice(0, r)), THREE.LoaderUtils.decodeText(new Uint8Array(t))
+ },
+ }),
+ (c.prototype = {
+ constructor: c,
+ add: function (e, t) {
+ this[e] = t
+ },
+ })
+ var h = []
+ function p(e, t, n, r) {
+ var i
+ switch (r.mappingType) {
+ case 'ByPolygonVertex':
+ i = e
+ break
+ case 'ByPolygon':
+ i = t
+ break
+ case 'ByVertice':
+ i = n
+ break
+ case 'AllSame':
+ i = r.indices[0]
+ break
+ default:
+ console.warn('THREE.FBXLoader: unknown attribute mapping type ' + r.mappingType)
+ }
+ 'IndexToDirect' === r.referenceType && (i = r.indices[i])
+ var o = i * r.dataSize,
+ a = o + r.dataSize
+ return (function (e, t, n, r) {
+ for (var i = n, o = 0; i < r; i++, o++) e[o] = t[i]
+ return e
+ })(h, r.buffer, o, a)
+ }
+ var v = new THREE.Matrix4(),
+ m = new THREE.Euler(),
+ g = new THREE.Vector3(),
+ y = new THREE.Vector3(),
+ b = new THREE.Matrix4()
+ function w(e) {
+ var t = new THREE.Matrix4()
+ y.set(0, 0, 0), b.identity()
+ var n,
+ r = e.eulerOrder ? x(e.eulerOrder) : x(0)
+ ;(e.translation && y.fromArray(e.translation),
+ e.rotationOffset && y.add(g.fromArray(e.rotationOffset)),
+ e.rotation) &&
+ ((n = e.rotation.map(THREE.Math.degToRad)).push(r),
+ b.makeRotationFromEuler(m.fromArray(n)))
+ e.preRotation &&
+ ((n = e.preRotation.map(THREE.Math.degToRad)).push(r),
+ v.makeRotationFromEuler(m.fromArray(n)),
+ b.premultiply(v))
+ e.postRotation &&
+ ((n = e.postRotation.map(THREE.Math.degToRad)).push(r),
+ v.makeRotationFromEuler(m.fromArray(n)),
+ v.getInverse(v),
+ b.multiply(v))
+ return e.scale && t.scale(g.fromArray(e.scale)), t.setPosition(y), t.multiply(b), t
+ }
+ function x(e) {
+ var t = ['ZYX', 'YZX', 'XZY', 'ZXY', 'YXZ', 'XYZ']
+ return 6 === e
+ ? (console.warn(
+ 'THREE.FBXLoader: unsupported Euler Order: Spherical XYZ. Animations and rotations may be incorrect.',
+ ),
+ t[0])
+ : t[e]
+ }
+ function E(e) {
+ return e.split(',').map(function (e) {
+ return parseFloat(e)
+ })
+ }
+ function k(e, t, n) {
+ return (
+ void 0 === t && (t = 0),
+ void 0 === n && (n = e.byteLength),
+ THREE.LoaderUtils.decodeText(new Uint8Array(e, t, n))
+ )
+ }
+ function T(e, t, n) {
+ return e.slice(0, t).concat(n).concat(e.slice(t))
+ }
+ return r
+ })()
+ },
+ 6453: function (e) {
+ e.exports = Object.assign(function () {}, {
+ FACE_1: 0,
+ FACE_2: 1,
+ FACE_3: 2,
+ FACE_4: 3,
+ L_SHOULDER_1: 4,
+ R_SHOULDER_1: 5,
+ L_SHOULDER_2: 6,
+ R_SHOULDER_2: 7,
+ SELECT: 8,
+ START: 9,
+ DPAD_UP: 12,
+ DPAD_DOWN: 13,
+ DPAD_LEFT: 14,
+ DPAD_RIGHT: 15,
+ VENDOR: 16,
+ })
+ },
+ 4379: function (e) {
+ e.exports = function (e, t, n) {
+ ;(this.type = e), (this.index = t), (this.pressed = n.pressed), (this.value = n.value)
+ }
+ },
+ 2667: function (e) {
+ e.exports = {
+ size: 5,
+ cellSize: 10,
+ extrudeSettings: {
+ amount: 1,
+ bevelEnabled: !0,
+ bevelSegments: 1,
+ steps: 1,
+ bevelSize: 0.5,
+ bevelThickness: 0.5,
+ },
+ autogenerated: !0,
+ cells: [
+ { q: -1, r: 0, s: 1, h: 1, walkable: !0, userData: {} },
+ { q: 0, r: -1, s: 1, h: 1, walkable: !0, userData: {} },
+ { q: 0, r: 0, s: 0, h: 1, walkable: !0, userData: {} },
+ { q: 1, r: -1, s: 0, h: 1, walkable: !0, userData: {} },
+ { q: -1, r: 1, s: 0, h: 0, walkable: !0, userData: {} },
+ { q: 0, r: 1, s: -1, h: 0, walkable: !0, userData: {} },
+ { q: 1, r: 0, s: -1, h: 0, walkable: !0, userData: {} },
+ ],
+ }
+ },
+ 4657: function (e) {
+ function t(e) {
+ const t = document.getElementById(e),
+ n = t.parentNode
+ try {
+ n && n.removeChild(t)
+ } catch (r) {}
+ }
+ function n(e, n, r) {
+ return new r(function (r, i) {
+ const o = n.timeout || 5e3,
+ a = 'script_' + Date.now() + '_' + Math.ceil(1e5 * Math.random()),
+ s = (function (e, t) {
+ var n = document.createElement('script')
+ return (n.type = 'text/javascript'), (n.async = !0), (n.id = t), (n.src = e), n
+ })(e, a),
+ l = setTimeout(function () {
+ i(new Error('Script request to ' + e + ' timed out')), t(a)
+ }, o),
+ u = function (e) {
+ clearTimeout(e)
+ }
+ s.addEventListener('load', function (e) {
+ r({ ok: !0 }), u(l), t(a)
+ }),
+ s.addEventListener('error', function (n) {
+ i(new Error('Script request to ' + e + ' failed ' + n)), u(l), t(a)
+ }),
+ (function (e) {
+ const t = document.getElementsByTagName('script')[0]
+ t.parentNode.insertBefore(e, t)
+ })(s)
+ })
+ }
+ e.exports = function (e) {
+ return (
+ (e = e || {}),
+ function (t, r) {
+ return n(t, (r = r || {}), e.Promise || Promise)
+ }
+ )
+ }
+ },
+ 3471: function (e) {
+ var n = (e.exports = {
+ VERSION: '0.1.1',
+ PI: Math.PI,
+ TAU: 2 * Math.PI,
+ DEG_TO_RAD: 0.0174532925,
+ RAD_TO_DEG: 57.2957795,
+ SQRT3: Math.sqrt(3),
+ TILE: 'tile',
+ ENT: 'entity',
+ STR: 'structure',
+ HEX: 'hex',
+ SQR: 'square',
+ ABS: 'abstract',
+ })
+ ;(n.Board = function (e, t) {
+ if (!e) throw new Error('You must pass in a grid system for the board to use.')
+ ;(this.tiles = []),
+ (this.tileGroup = null),
+ (this.group = new THREE.Object3D()),
+ (this.grid = null),
+ (this.overlay = null),
+ (this.finder = new n.AStarFinder(t)),
+ n.Loader.init(),
+ this.setGrid(e)
+ }),
+ (n.Board.prototype = {
+ setEntityOnTile: function (e, t) {
+ var n = this.grid.cellToPixel(t.cell)
+ e.position.copy(n),
+ (e.position.y += e.heightOffset || 0),
+ e.tile && (e.tile.entity = null),
+ (e.tile = t),
+ (t.entity = e)
+ },
+ addTile: function (e) {
+ ;-1 === this.tiles.indexOf(e) &&
+ (this.tiles.push(e),
+ this.snapTileToGrid(e),
+ (e.position.y = 0),
+ this.tileGroup.add(e.mesh),
+ this.grid.add(e.cell),
+ (e.cell.tile = e))
+ },
+ removeTile: function (e) {
+ if (e) {
+ var t = this.tiles.indexOf(e)
+ this.grid.remove(e.cell), -1 !== t && this.tiles.splice(t, 1), e.dispose()
+ }
+ },
+ removeAllTiles: function () {
+ if (this.tileGroup)
+ for (var e = this.tileGroup.children, t = 0; t < e.length; t++)
+ this.tileGroup.remove(e[t])
+ },
+ getTileAtCell: function (e) {
+ var t = this.grid.cellToHash(e)
+ return (
+ e.tile || ('undefined' != typeof this.grid.cells[t] ? this.grid.cells[t].tile : null)
+ )
+ },
+ snapToGrid: function (e) {
+ var t = this.grid.pixelToCell(e)
+ e.copy(this.grid.cellToPixel(t))
+ },
+ snapTileToGrid: function (e) {
+ if (e.cell) e.position.copy(this.grid.cellToPixel(e.cell))
+ else {
+ var t = this.grid.pixelToCell(e.position)
+ e.position.copy(this.grid.cellToPixel(t))
+ }
+ return e
+ },
+ getRandomTile: function () {
+ var e = n.Tools.randomInt(0, this.tiles.length - 1)
+ return this.tiles[e]
+ },
+ findPath: function (e, t, n) {
+ return this.finder.findPath(e.cell, t.cell, n, this.grid)
+ },
+ setGrid: function (e) {
+ this.group.remove(this.tileGroup),
+ this.grid &&
+ e !== this.grid &&
+ (this.removeAllTiles(),
+ this.tiles.forEach(function (e) {
+ this.grid.remove(e.cell), e.dispose()
+ }),
+ this.grid.dispose()),
+ (this.grid = e),
+ (this.tiles = []),
+ (this.tileGroup = new THREE.Object3D()),
+ this.group.add(this.tileGroup)
+ },
+ generateOverlay: function (e) {
+ var t = new THREE.LineBasicMaterial({ color: 0, opacity: 0.3 })
+ this.overlay && this.group.remove(this.overlay),
+ (this.overlay = new THREE.Object3D()),
+ this.grid.generateOverlay(e, this.overlay, t),
+ this.group.add(this.overlay)
+ },
+ generateTilemap: function (e) {
+ this.reset()
+ var t = this.grid.generateTiles(e)
+ ;(this.tiles = t), (this.tileGroup = new THREE.Object3D())
+ for (var n = 0; n < t.length; n++) this.tileGroup.add(t[n].mesh)
+ this.group.add(this.tileGroup)
+ },
+ reset: function () {
+ this.removeAllTiles(), this.tileGroup && this.group.remove(this.tileGroup)
+ },
+ }),
+ (n.Board.prototype.constructor = n.Board),
+ (n.Cell = function (e, t, r, i) {
+ ;(this.q = e || 0),
+ (this.r = t || 0),
+ (this.s = r || 0),
+ (this.h = i || 1),
+ (this.tile = null),
+ (this.userData = {}),
+ (this.walkable = !0),
+ (this._calcCost = 0),
+ (this._priority = 0),
+ (this._visited = !1),
+ (this._parent = null),
+ (this.uniqueID = n.LinkedList.generateID())
+ }),
+ (n.Cell.prototype = {
+ set: function (e, t, n) {
+ return (this.q = e), (this.r = t), (this.s = n), this
+ },
+ copy: function (e) {
+ return (
+ (this.q = e.q),
+ (this.r = e.r),
+ (this.s = e.s),
+ (this.h = e.h),
+ (this.tile = e.tile || null),
+ (this.userData = e.userData || {}),
+ (this.walkable = e.walkable),
+ this
+ )
+ },
+ add: function (e) {
+ return (this.q += e.q), (this.r += e.r), (this.s += e.s), this
+ },
+ equals: function (e) {
+ return this.q === e.q && this.r === e.r && this.s === e.s
+ },
+ }),
+ (n.Cell.prototype.constructor = n.Cell),
+ (n.HexGrid = function (e) {
+ ;(e = e || {}),
+ (this.type = n.HEX),
+ (this.size = 5),
+ (this.cellSize = 'undefined' == typeof e.cellSize ? 10 : e.cellSize),
+ (this.cells = {}),
+ (this.numCells = 0),
+ (this.extrudeSettings = null),
+ (this.autogenerated = !1)
+ var t,
+ r = []
+ for (t = 0; 6 > t; t++) r.push(this._createVertex(t))
+ for (
+ this.cellShape = new THREE.Shape(), this.cellShape.moveTo(r[0].x, r[0].y), t = 1;
+ 6 > t;
+ t++
+ )
+ this.cellShape.lineTo(r[t].x, r[t].y)
+ this.cellShape.lineTo(r[0].x, r[0].y),
+ (this.cellShape.autoClose = !0),
+ (this.cellGeo = new THREE.Geometry()),
+ (this.cellGeo.vertices = r),
+ (this.cellGeo.verticesNeedUpdate = !0),
+ (this.cellShapeGeo = new THREE.ShapeGeometry(this.cellShape)),
+ (this._cellWidth = 2 * this.cellSize),
+ (this._cellLength = 0.5 * n.SQRT3 * this._cellWidth),
+ (this._hashDelimeter = '.'),
+ (this._directions = [
+ new n.Cell(1, -1, 0),
+ new n.Cell(1, 0, -1),
+ new n.Cell(0, 1, -1),
+ new n.Cell(-1, 1, 0),
+ new n.Cell(-1, 0, 1),
+ new n.Cell(0, -1, 1),
+ ]),
+ (this._diagonals = [
+ new n.Cell(2, -1, -1),
+ new n.Cell(1, 1, -2),
+ new n.Cell(-1, 2, -1),
+ new n.Cell(-2, 1, 1),
+ new n.Cell(-1, -1, 2),
+ new n.Cell(1, -2, 1),
+ ]),
+ (this._list = []),
+ (this._vec3 = new THREE.Vector3()),
+ (this._cel = new n.Cell()),
+ (this._conversionVec = new THREE.Vector3()),
+ (this._geoCache = []),
+ (this._matCache = [])
+ }),
+ (n.HexGrid.TWO_THIRDS = 2 / 3),
+ (n.HexGrid.prototype = {
+ cellToPixel: function (e) {
+ return (
+ (this._vec3.x = e.q * this._cellWidth * 0.75),
+ (this._vec3.y = e.h),
+ (this._vec3.z = -(e.s - e.r) * this._cellLength * 0.5),
+ this._vec3
+ )
+ },
+ pixelToCell: function (e) {
+ var t = e.x * (n.HexGrid.TWO_THIRDS / this.cellSize),
+ r = (-e.x / 3 + (n.SQRT3 / 3) * e.z) / this.cellSize
+ return this._cel.set(t, r, -t - r), this._cubeRound(this._cel)
+ },
+ getCellAt: function (e) {
+ var t = e.x * (n.HexGrid.TWO_THIRDS / this.cellSize),
+ r = (-e.x / 3 + (n.SQRT3 / 3) * e.z) / this.cellSize
+ return (
+ this._cel.set(t, r, -t - r),
+ this._cubeRound(this._cel),
+ this.cells[this.cellToHash(this._cel)]
+ )
+ },
+ getNeighbors: function (e, t, n) {
+ var r,
+ i,
+ o = this._directions.length
+ for (this._list.length = 0, r = 0; o > r; r++)
+ this._cel.copy(e),
+ this._cel.add(this._directions[r]),
+ !(i = this.cells[this.cellToHash(this._cel)]) ||
+ (n && !n(e, i)) ||
+ this._list.push(i)
+ if (t)
+ for (r = 0; o > r; r++)
+ this._cel.copy(e),
+ this._cel.add(this._diagonals[r]),
+ !(i = this.cells[this.cellToHash(this._cel)]) ||
+ (n && !n(e, i)) ||
+ this._list.push(i)
+ return this._list
+ },
+ getRandomCell: function () {
+ var e,
+ t = 0,
+ r = n.Tools.randomInt(0, this.numCells)
+ for (e in this.cells) {
+ if (t === r) return this.cells[e]
+ t++
+ }
+ return this.cells[e]
+ },
+ cellToHash: function (e) {
+ return e.q + this._hashDelimeter + e.r + this._hashDelimeter + e.s
+ },
+ distance: function (e, t) {
+ return (
+ Math.max(Math.abs(e.q - t.q), Math.abs(e.r - t.r), Math.abs(e.s - t.s)) + (t.h - e.h)
+ )
+ },
+ clearPath: function () {
+ var e, t
+ for (e in this.cells)
+ ((t = this.cells[e])._calcCost = 0),
+ (t._priority = 0),
+ (t._parent = null),
+ (t._visited = !1)
+ },
+ traverse: function (e) {
+ var t
+ for (t in this.cells) e(this.cells[t])
+ },
+ generateTile: function (e, t, r) {
+ var i = Math.abs(e.h)
+ 1 > i && (i = 1)
+ var o = this._geoCache[i]
+ o ||
+ ((this.extrudeSettings.amount = i),
+ (o = new THREE.ExtrudeGeometry(this.cellShape, this.extrudeSettings)),
+ (this._geoCache[i] = o))
+ var a = new n.Tile({ size: this.cellSize, scale: t, cell: e, geometry: o, material: r })
+ return (e.tile = a), a
+ },
+ generateTiles: function (e) {
+ e = e || {}
+ var t,
+ r,
+ i,
+ o = [],
+ a = {
+ tileScale: 0.95,
+ cellSize: this.cellSize,
+ material: null,
+ extrudeSettings: {
+ amount: 1,
+ bevelEnabled: !0,
+ bevelSegments: 1,
+ steps: 1,
+ bevelSize: 0.5,
+ bevelThickness: 0.5,
+ },
+ }
+ for (t in ((a = n.Tools.merge(a, e)),
+ (this.cellSize = a.cellSize),
+ (this._cellWidth = 2 * this.cellSize),
+ (this._cellLength = 0.5 * n.SQRT3 * this._cellWidth),
+ (this.autogenerated = !0),
+ (this.extrudeSettings = a.extrudeSettings),
+ this.cells))
+ (i = this.cells[t]),
+ (r = this.generateTile(i, a.tileScale, a.material)).position.copy(
+ this.cellToPixel(i),
+ ),
+ (r.position.y = 0),
+ o.push(r)
+ return o
+ },
+ generateTilePoly: function (e) {
+ e || (e = new THREE.MeshBasicMaterial({ color: 2405631 }))
+ var t = new THREE.Mesh(this.cellShapeGeo, e)
+ return this._vec3.set(1, 0, 0), t.rotateOnAxis(this._vec3, n.PI / 2), t
+ },
+ generate: function (e) {
+ var t, r, i, o
+ for (
+ e = e || {},
+ this.size = 'undefined' == typeof e.size ? this.size : e.size,
+ t = -this.size;
+ t < this.size + 1;
+ t++
+ )
+ for (r = -this.size; r < this.size + 1; r++)
+ (i = -t - r),
+ Math.abs(t) <= this.size &&
+ Math.abs(r) <= this.size &&
+ Math.abs(i) <= this.size &&
+ ((o = new n.Cell(t, r, i)), this.add(o))
+ },
+ generateOverlay: function (e, t, r) {
+ var i,
+ o,
+ a,
+ s = this.cellShape.createPointsGeometry()
+ for (i = -e; e + 1 > i; i++)
+ for (o = -e; e + 1 > o; o++)
+ if (((a = -i - o), Math.abs(i) <= e && Math.abs(o) <= e && Math.abs(a) <= e)) {
+ this._cel.set(i, o, a)
+ var l = new THREE.Line(s, r)
+ l.position.copy(this.cellToPixel(this._cel)),
+ (l.rotation.x = 90 * n.DEG_TO_RAD),
+ t.add(l)
+ }
+ },
+ add: function (e) {
+ var t = this.cellToHash(e)
+ if (!this.cells[t]) return (this.cells[t] = e), this.numCells++, e
+ },
+ remove: function (e) {
+ var t = this.cellToHash(e)
+ this.cells[t] && (delete this.cells[t], this.numCells--)
+ },
+ dispose: function () {
+ ;(this.cells = null),
+ (this.numCells = 0),
+ (this.cellShape = null),
+ this.cellGeo.dispose(),
+ (this.cellGeo = null),
+ this.cellShapeGeo.dispose(),
+ (this.cellShapeGeo = null),
+ (this._list = null),
+ (this._vec3 = null),
+ (this._conversionVec = null),
+ (this._geoCache = null),
+ (this._matCache = null)
+ },
+ load: function (e, t, r) {
+ var i = this
+ n.Tools.getJSON({
+ url: e,
+ callback: function (e) {
+ i.fromJSON(e), t.call(r || null, e)
+ },
+ cache: !1,
+ scope: i,
+ })
+ },
+ fromJSON: function (e) {
+ var t,
+ r,
+ i = e.cells
+ for (
+ this.cells = {},
+ this.numCells = 0,
+ this.size = e.size,
+ this.cellSize = e.cellSize,
+ this._cellWidth = 2 * this.cellSize,
+ this._cellLength = 0.5 * n.SQRT3 * this._cellWidth,
+ this.extrudeSettings = e.extrudeSettings,
+ this.autogenerated = e.autogenerated,
+ t = 0;
+ t < i.length;
+ t++
+ )
+ (r = new n.Cell()).copy(i[t]), this.add(r)
+ },
+ toJSON: function () {
+ var e,
+ t,
+ n = {
+ size: this.size,
+ cellSize: this.cellSize,
+ extrudeSettings: this.extrudeSettings,
+ autogenerated: this.autogenerated,
+ },
+ r = []
+ for (t in this.cells)
+ (e = this.cells[t]),
+ r.push({
+ q: e.q,
+ r: e.r,
+ s: e.s,
+ h: e.h,
+ walkable: e.walkable,
+ userData: e.userData,
+ })
+ return (n.cells = r), n
+ },
+ _createVertex: function (e) {
+ var t = (n.TAU / 6) * e
+ return new THREE.Vector3(this.cellSize * Math.cos(t), this.cellSize * Math.sin(t), 0)
+ },
+ _cubeRound: function (e) {
+ var t = Math.round(e.q),
+ n = Math.round(e.r),
+ r = Math.round(e.s),
+ i = Math.abs(t - e.q),
+ o = Math.abs(n - e.r),
+ a = Math.abs(r - e.s)
+ return (
+ i > o && i > a ? (t = -n - r) : o > a ? (n = -t - r) : (r = -t - n),
+ this._cel.set(t, n, r)
+ )
+ },
+ }),
+ (n.HexGrid.prototype.constructor = n.HexGrid),
+ (n.SqrGrid = function (e) {
+ ;(e = e || {}),
+ (this.type = n.SQR),
+ (this.size = 5),
+ (this.cellSize = 'undefined' == typeof e.cellSize ? 10 : e.cellSize),
+ (this.cells = {}),
+ (this.numCells = 0),
+ (this.extrudeSettings = null),
+ (this.autogenerated = !1)
+ var t = []
+ t.push(new THREE.Vector3()),
+ t.push(new THREE.Vector3(-this.cellSize, this.cellSize)),
+ t.push(new THREE.Vector3(this.cellSize, this.cellSize)),
+ t.push(new THREE.Vector3(this.cellSize, -this.cellSize)),
+ (this.cellShape = new THREE.Shape()),
+ this.cellShape.moveTo(-this.cellSize, -this.cellSize),
+ this.cellShape.lineTo(-this.cellSize, this.cellSize),
+ this.cellShape.lineTo(this.cellSize, this.cellSize),
+ this.cellShape.lineTo(this.cellSize, -this.cellSize),
+ this.cellShape.lineTo(-this.cellSize, -this.cellSize),
+ (this.cellGeo = new THREE.Geometry()),
+ (this.cellGeo.vertices = t),
+ (this.cellGeo.verticesNeedUpdate = !0),
+ (this.cellShapeGeo = new THREE.ShapeGeometry(this.cellShape)),
+ (this._fullCellSize = 2 * this.cellSize),
+ (this._hashDelimeter = '.'),
+ (this._directions = [
+ new n.Cell(1, 0, 0),
+ new n.Cell(0, -1, 0),
+ new n.Cell(-1, 0, 0),
+ new n.Cell(0, 1, 0),
+ ]),
+ (this._diagonals = [
+ new n.Cell(-1, -1, 0),
+ new n.Cell(-1, 1, 0),
+ new n.Cell(1, 1, 0),
+ new n.Cell(1, -1, 0),
+ ]),
+ (this._list = []),
+ (this._vec3 = new THREE.Vector3()),
+ (this._cel = new n.Cell()),
+ (this._conversionVec = new THREE.Vector3()),
+ (this._geoCache = []),
+ (this._matCache = [])
+ }),
+ (n.SqrGrid.prototype = {
+ cellToPixel: function (e) {
+ return (
+ (this._vec3.x = e.q * this._fullCellSize),
+ (this._vec3.y = e.h),
+ (this._vec3.z = e.r * this._fullCellSize),
+ this._vec3
+ )
+ },
+ pixelToCell: function (e) {
+ var t = Math.round(e.x / this._fullCellSize),
+ n = Math.round(e.z / this._fullCellSize)
+ return this._cel.set(t, n, 0)
+ },
+ getCellAt: function (e) {
+ var t = Math.round(e.x / this._fullCellSize),
+ n = Math.round(e.z / this._fullCellSize)
+ return this._cel.set(t, n), this.cells[this.cellToHash(this._cel)]
+ },
+ getNeighbors: function (e, t, n) {
+ var r,
+ i,
+ o = this._directions.length
+ for (this._list.length = 0, r = 0; o > r; r++)
+ this._cel.copy(e),
+ this._cel.add(this._directions[r]),
+ !(i = this.cells[this.cellToHash(this._cel)]) ||
+ (n && !n(e, i)) ||
+ this._list.push(i)
+ if (t)
+ for (r = 0; o > r; r++)
+ this._cel.copy(e),
+ this._cel.add(this._diagonals[r]),
+ !(i = this.cells[this.cellToHash(this._cel)]) ||
+ (n && !n(e, i)) ||
+ this._list.push(i)
+ return this._list
+ },
+ getRandomCell: function () {
+ var e,
+ t = 0,
+ r = n.Tools.randomInt(0, this.numCells)
+ for (e in this.cells) {
+ if (t === r) return this.cells[e]
+ t++
+ }
+ return this.cells[e]
+ },
+ cellToHash: function (e) {
+ return e.q + this._hashDelimeter + e.r
+ },
+ distance: function (e, t) {
+ return Math.max(Math.abs(e.q - t.q), Math.abs(e.r - t.r)) + (t.h - e.h)
+ },
+ clearPath: function () {
+ var e, t
+ for (e in this.cells)
+ ((t = this.cells[e])._calcCost = 0),
+ (t._priority = 0),
+ (t._parent = null),
+ (t._visited = !1)
+ },
+ traverse: function (e) {
+ var t
+ for (t in this.cells) e(this.cells[t])
+ },
+ generateTile: function (e, t, r) {
+ var i = Math.abs(e.h)
+ 1 > i && (i = 1)
+ var o = this._geoCache[i]
+ o ||
+ ((this.extrudeSettings.amount = i),
+ (o = new THREE.ExtrudeGeometry(this.cellShape, this.extrudeSettings)),
+ (this._geoCache[i] = o))
+ var a = new n.Tile({ size: this.cellSize, scale: t, cell: e, geometry: o, material: r })
+ return (e.tile = a), a
+ },
+ generateTiles: function (e) {
+ e = e || {}
+ var t,
+ r,
+ i,
+ o = [],
+ a = {
+ tileScale: 0.95,
+ cellSize: this.cellSize,
+ material: null,
+ extrudeSettings: {
+ amount: 1,
+ bevelEnabled: !0,
+ bevelSegments: 1,
+ steps: 1,
+ bevelSize: 0.5,
+ bevelThickness: 0.5,
+ },
+ }
+ for (t in ((a = n.Tools.merge(a, e)),
+ (this.cellSize = a.cellSize),
+ (this._fullCellSize = 2 * this.cellSize),
+ (this.autogenerated = !0),
+ (this.extrudeSettings = a.extrudeSettings),
+ this.cells))
+ (i = this.cells[t]),
+ (r = this.generateTile(i, a.tileScale, a.material)).position.copy(
+ this.cellToPixel(i),
+ ),
+ (r.position.y = 0),
+ o.push(r)
+ return o
+ },
+ generateTilePoly: function (e) {
+ e || (e = new THREE.MeshBasicMaterial({ color: 2405631 }))
+ var t = new THREE.Mesh(this.cellShapeGeo, e)
+ return this._vec3.set(1, 0, 0), t.rotateOnAxis(this._vec3, n.PI / 2), t
+ },
+ generate: function (e) {
+ ;(e = e || {}), (this.size = 'undefined' == typeof e.size ? this.size : e.size)
+ var t,
+ r,
+ i,
+ o = Math.ceil(this.size / 2)
+ for (t = -o; o > t; t++)
+ for (r = -o; o > r; r++) (i = new n.Cell(t, r + 1)), this.add(i)
+ },
+ generateOverlay: function (e, t, r) {
+ var i,
+ o,
+ a = Math.ceil(e / 2)
+ for (i = -a; a > i; i++)
+ for (o = -a; a > o; o++) {
+ this._cel.set(i, o)
+ var s = new THREE.Line(this.cellGeo, r)
+ s.position.copy(this.cellToPixel(this._cel)),
+ (s.rotation.x = 90 * n.DEG_TO_RAD),
+ t.add(s)
+ }
+ },
+ add: function (e) {
+ var t = this.cellToHash(e)
+ if (!this.cells[t]) return (this.cells[t] = e), this.numCells++, e
+ },
+ remove: function (e) {
+ var t = this.cellToHash(e)
+ this.cells[t] && (delete this.cells[t], this.numCells--)
+ },
+ dispose: function () {
+ ;(this.cells = null),
+ (this.numCells = 0),
+ (this.cellShape = null),
+ this.cellGeo.dispose(),
+ (this.cellGeo = null),
+ this.cellShapeGeo.dispose(),
+ (this.cellShapeGeo = null),
+ (this._list = null),
+ (this._vec3 = null),
+ (this._conversionVec = null),
+ (this._geoCache = null),
+ (this._matCache = null)
+ },
+ load: function (e, t, r) {
+ n.Tools.getJSON({
+ url: e,
+ callback: function (e) {
+ this.fromJSON(e), t.call(r || null, e)
+ },
+ cache: !1,
+ scope: this,
+ })
+ },
+ fromJSON: function (e) {
+ var t,
+ r,
+ i = e.cells
+ for (
+ this.cells = {},
+ this.numCells = 0,
+ this.size = e.size,
+ this.cellSize = e.cellSize,
+ this._fullCellSize = 2 * this.cellSize,
+ this.extrudeSettings = e.extrudeSettings,
+ this.autogenerated = e.autogenerated,
+ t = 0;
+ t < i.length;
+ t++
+ )
+ (r = new n.Cell()).copy(i[t]), this.add(r)
+ },
+ toJSON: function () {
+ var e,
+ t,
+ n = {
+ size: this.size,
+ cellSize: this.cellSize,
+ extrudeSettings: this.extrudeSettings,
+ autogenerated: this.autogenerated,
+ },
+ r = []
+ for (t in this.cells)
+ (e = this.cells[t]),
+ r.push({
+ q: e.q,
+ r: e.r,
+ s: e.s,
+ h: e.h,
+ walkable: e.walkable,
+ userData: e.userData,
+ })
+ return (n.cells = r), n
+ },
+ }),
+ (n.SqrGrid.prototype.constructor = n.SqrGrid),
+ (n.Tile = function (e) {
+ e = e || {}
+ var t = { cell: null, geometry: null, material: null }
+ if (!(t = n.Tools.merge(t, e)).cell || !t.geometry)
+ throw new Error('Missing vg.Tile configuration')
+ ;(this.cell = t.cell),
+ this.cell.tile && this.cell.tile !== this && this.cell.tile.dispose(),
+ (this.cell.tile = this),
+ (this.uniqueID = n.Tools.generateID()),
+ (this.geometry = t.geometry),
+ (this.material = t.material),
+ this.material ||
+ (this.material = new THREE.MeshPhongMaterial({
+ color: n.Tools.randomizeRGB('30, 30, 30', 13),
+ })),
+ (this.objectType = n.TILE),
+ (this.entity = null),
+ (this.userData = {}),
+ (this.selected = !1),
+ (this.highlight = '0x0084cc'),
+ (this.mesh = new THREE.Mesh(this.geometry, this.material)),
+ (this.mesh.userData.structure = this),
+ (this.position = this.mesh.position),
+ (this.rotation = this.mesh.rotation),
+ (this.rotation.x = -90 * n.DEG_TO_RAD),
+ this.mesh.scale.set(t.scale, t.scale, 1),
+ this.material.emissive
+ ? (this._emissive = this.material.emissive.getHex())
+ : (this._emissive = null)
+ }),
+ (n.Tile.prototype = {
+ select: function () {
+ return (
+ this.material.emissive && this.material.emissive.setHex(this.highlight),
+ (this.selected = !0),
+ this
+ )
+ },
+ deselect: function () {
+ return (
+ null !== this._emissive &&
+ this.material.emissive &&
+ this.material.emissive.setHex(this._emissive),
+ (this.selected = !1),
+ this
+ )
+ },
+ toggle: function () {
+ return this.selected ? this.deselect() : this.select(), this
+ },
+ dispose: function () {
+ this.cell && this.cell.tile && (this.cell.tile = null),
+ (this.cell = null),
+ (this.position = null),
+ (this.rotation = null),
+ this.mesh.parent && this.mesh.parent.remove(this.mesh),
+ (this.mesh.userData.structure = null),
+ (this.mesh = null),
+ (this.material = null),
+ (this.userData = null),
+ (this.entity = null),
+ (this.geometry = null),
+ (this._emissive = null)
+ },
+ }),
+ (n.Tile.prototype.constructor = n.Tile),
+ (function () {
+ var e = function () {
+ ;(this.obj = null), (this.next = null), (this.prev = null), (this.free = !0)
+ },
+ t = function () {
+ ;(this.first = null),
+ (this.last = null),
+ (this.length = 0),
+ (this.objToNodeMap = {}),
+ (this.uniqueID = Date.now() + '' + Math.floor(1e3 * Math.random())),
+ (this.sortArray = [])
+ }
+ ;(t.generateID = function () {
+ return Math.random().toString(36).slice(2) + Date.now()
+ }),
+ ((t.prototype = {
+ getNode: function (e) {
+ return this.objToNodeMap[e.uniqueID]
+ },
+ addNode: function (n) {
+ var r = new e()
+ if (!n.uniqueID)
+ try {
+ n.uniqueID = t.generateID()
+ } catch (i) {
+ return (
+ console.error(
+ '[LinkedList.addNode] obj passed is immutable: cannot attach necessary identifier',
+ ),
+ null
+ )
+ }
+ return (r.obj = n), (r.free = !1), (this.objToNodeMap[n.uniqueID] = r), r
+ },
+ swapObjects: function (e, t) {
+ ;(this.objToNodeMap[e.obj.uniqueID] = null),
+ (this.objToNodeMap[t.uniqueID] = e),
+ (e.obj = t)
+ },
+ add: function (e) {
+ var t = this.objToNodeMap[e.uniqueID]
+ if (t) {
+ if (!1 === t.free) return
+ ;(t.obj = e), (t.free = !1), (t.next = null), (t.prev = null)
+ } else t = this.addNode(e)
+ if (this.first) {
+ if (!this.last)
+ throw new Error(
+ "[LinkedList.add] No last in the list -- that shouldn't happen here",
+ )
+ ;(this.last.next = t), (t.prev = this.last), (this.last = t), (t.next = null)
+ } else (this.first = t), (this.last = t), (t.next = null), (t.prev = null)
+ this.length++, this.showDebug && this.dump('after add')
+ },
+ has: function (e) {
+ return !!this.objToNodeMap[e.uniqueID]
+ },
+ moveUp: function (e) {
+ this.dump('before move up')
+ var t = this.getNode(e)
+ if (!t) throw "Oops, trying to move an object that isn't in the list"
+ if (t.prev) {
+ var n = t.prev,
+ r = n.prev
+ t == this.last && (this.last = n)
+ var i = t.next
+ r && (r.next = t),
+ (t.next = n),
+ (t.prev = n.prev),
+ (n.next = i),
+ (n.prev = t),
+ this.first == n && (this.first = t)
+ }
+ },
+ moveDown: function (e) {
+ var t = this.getNode(e)
+ if (!t) throw "Oops, trying to move an object that isn't in the list"
+ if (t.next) {
+ var n = t.next
+ this.moveUp(n.obj), this.last == n && (this.last = t)
+ }
+ },
+ sort: function (e) {
+ var t,
+ n,
+ r = this.sortArray,
+ i = this.first
+ for (r.length = 0; i; ) r.push(i.obj), (i = i.next)
+ for (this.clear(), r.sort(e), n = r.length, t = 0; n > t; t++) this.add(r[t])
+ },
+ remove: function (e) {
+ var t = this.getNode(e)
+ return (
+ !(!t || t.free) &&
+ (t.prev && (t.prev.next = t.next),
+ t.next && (t.next.prev = t.prev),
+ t.prev || (this.first = t.next),
+ t.next || (this.last = t.prev),
+ (t.free = !0),
+ (t.prev = null),
+ (t.next = null),
+ this.length--,
+ !0)
+ )
+ },
+ shift: function () {
+ var e = this.first
+ return 0 === this.length
+ ? null
+ : (e.prev && (e.prev.next = e.next),
+ e.next && (e.next.prev = e.prev),
+ (this.first = e.next),
+ e.next || (this.last = null),
+ (e.free = !0),
+ (e.prev = null),
+ (e.next = null),
+ this.length--,
+ e.obj)
+ },
+ pop: function () {
+ var e = this.last
+ return 0 === this.length
+ ? null
+ : (e.prev && (e.prev.next = e.next),
+ e.next && (e.next.prev = e.prev),
+ (this.last = e.prev),
+ e.prev || (this.first = null),
+ (e.free = !0),
+ (e.prev = null),
+ (e.next = null),
+ this.length--,
+ e.obj)
+ },
+ concat: function (e) {
+ for (var t = e.first; t; ) this.add(t.obj), (t = t.next)
+ },
+ clear: function () {
+ for (var e = this.first; e; ) (e.free = !0), (e = e.next)
+ ;(this.first = null), (this.length = 0)
+ },
+ dispose: function () {
+ for (var e = this.first; e; ) (e.obj = null), (e = e.next)
+ ;(this.first = null), (this.objToNodeMap = null)
+ },
+ dump: function (e) {
+ console.log('====================' + e + '=====================')
+ for (var t = this.first; t; )
+ console.log(
+ '{' + t.obj.toString() + '} previous=' + (t.prev ? t.prev.obj : 'NULL'),
+ ),
+ (t = t.next())
+ console.log('==================================='),
+ console.log(
+ 'Last: {' +
+ (this.last ? this.last.obj : 'NULL') +
+ '} First: {' +
+ (this.first ? this.first.obj : 'NULL') +
+ '}',
+ )
+ },
+ }).constructor = t),
+ (n.LinkedList = t)
+ })(),
+ (function () {
+ var e = function (e, t, n, r, i) {
+ ;(this._listener = t),
+ (this.isOnce = n),
+ (this.context = r),
+ (this.signal = e),
+ (this._priority = i || 0)
+ }
+ ;(e.prototype = {
+ active: !0,
+ params: null,
+ execute: function (e) {
+ var t, n
+ return (
+ this.active &&
+ this._listener &&
+ ((n = this.params ? this.params.concat(e) : e),
+ (t = this._listener.apply(this.context, n)),
+ this.isOnce && this.detach()),
+ t
+ )
+ },
+ detach: function () {
+ return this.isBound() ? this.signal.remove(this._listener, this.context) : null
+ },
+ isBound: function () {
+ return !!this.signal && !!this._listener
+ },
+ _destroy: function () {
+ delete this.signal, delete this._listener, delete this.context
+ },
+ toString: function () {
+ return (
+ '[SignalBinding isOnce:' +
+ this.isOnce +
+ ', isBound:' +
+ this.isBound() +
+ ', active:' +
+ this.active +
+ ']'
+ )
+ },
+ }).constructor = e
+ var t = function () {
+ ;(this._bindings = []), (this._prevParams = null)
+ var e = this
+ this.dispatch = function () {
+ t.prototype.dispatch.apply(e, arguments)
+ }
+ }
+ ;(t.prototype = {
+ memorize: !1,
+ _shouldPropagate: !0,
+ active: !0,
+ validateListener: function (e, t) {
+ if ('function' != typeof e)
+ throw new Error(
+ 'Signal: listener is a required param of {fn}() and should be a Function.'.replace(
+ '{fn}',
+ t,
+ ),
+ )
+ },
+ _registerListener: function (t, n, r, i) {
+ var o,
+ a = this._indexOfListener(t, r)
+ if (-1 !== a) {
+ if ((o = this._bindings[a]).isOnce !== n)
+ throw new Error(
+ 'You cannot add' +
+ (n ? '' : 'Once') +
+ '() then add' +
+ (n ? 'Once' : '') +
+ '() the same listener without removing the relationship first.',
+ )
+ } else (o = new e(this, t, n, r, i)), this._addBinding(o)
+ return this.memorize && this._prevParams && o.execute(this._prevParams), o
+ },
+ _addBinding: function (e) {
+ var t = this._bindings.length
+ do {
+ t--
+ } while (this._bindings[t] && e._priority <= this._bindings[t]._priority)
+ this._bindings.splice(t + 1, 0, e)
+ },
+ _indexOfListener: function (e, t) {
+ for (var n, r = this._bindings.length; r--; )
+ if ((n = this._bindings[r])._listener === e && n.context === t) return r
+ return -1
+ },
+ has: function (e, t) {
+ return -1 !== this._indexOfListener(e, t)
+ },
+ add: function (e, t, n) {
+ return this.validateListener(e, 'add'), this._registerListener(e, !1, t, n)
+ },
+ addOnce: function (e, t, n) {
+ return this.validateListener(e, 'addOnce'), this._registerListener(e, !0, t, n)
+ },
+ remove: function (e, t) {
+ this.validateListener(e, 'remove')
+ var n = this._indexOfListener(e, t)
+ return -1 !== n && (this._bindings[n]._destroy(), this._bindings.splice(n, 1)), e
+ },
+ removeAll: function (e) {
+ 'undefined' == typeof e && (e = null)
+ for (var t = this._bindings.length; t--; )
+ e
+ ? this._bindings[t].context === e &&
+ (this._bindings[t]._destroy(), this._bindings.splice(t, 1))
+ : this._bindings[t]._destroy()
+ e || (this._bindings.length = 0)
+ },
+ getNumListeners: function () {
+ return this._bindings.length
+ },
+ halt: function () {
+ this._shouldPropagate = !1
+ },
+ dispatch: function () {
+ if (this.active) {
+ var e,
+ t = Array.prototype.slice.call(arguments),
+ n = this._bindings.length
+ if ((this.memorize && (this._prevParams = t), n)) {
+ ;(e = this._bindings.slice()), (this._shouldPropagate = !0)
+ do {
+ n--
+ } while (e[n] && this._shouldPropagate && !1 !== e[n].execute(t))
+ }
+ }
+ },
+ forget: function () {
+ this._prevParams = null
+ },
+ dispose: function () {
+ this.removeAll(), delete this._bindings, delete this._prevParams
+ },
+ toString: function () {
+ return (
+ '[Signal active:' + this.active + ' numListeners:' + this.getNumListeners() + ']'
+ )
+ },
+ }),
+ (t.prototype.constructor = t),
+ (n.Signal = t)
+ })(),
+ (n.AStarFinder = function (e) {
+ e = e || {}
+ var t = { allowDiagonal: !1, heuristicFilter: null }
+ ;(t = n.Tools.merge(t, e)),
+ (this.allowDiagonal = t.allowDiagonal),
+ (this.heuristicFilter = t.heuristicFilter),
+ (this.list = new n.LinkedList())
+ }),
+ (n.AStarFinder.prototype = {
+ findPath: function (e, t, r, i) {
+ var o, a, s, l, u, c
+ for (
+ r = r || this.heuristicFilter, i.clearPath(), this.list.clear(), this.list.add(e);
+ this.list.length > 0;
+
+ ) {
+ if ((this.list.sort(this.compare), ((o = this.list.shift())._visited = !0), o === t))
+ return n.PathUtil.backtrace(t)
+ for (u = 0, c = (s = i.getNeighbors(o, this.allowDiagonal, r)).length; c > u; u++)
+ if (
+ (l = s[u]).walkable &&
+ ((a = o._calcCost + i.distance(o, l)), !l._visited || a < l._calcCost)
+ ) {
+ if (
+ ((l._visited = !0),
+ (l._parent = o),
+ (l._calcCost = a),
+ (l._priority = a + i.distance(t, l)),
+ l === t)
+ )
+ return n.PathUtil.backtrace(t)
+ this.list.add(l)
+ }
+ }
+ return null
+ },
+ compare: function (e, t) {
+ return e._priority - t._priority
+ },
+ }),
+ (n.AStarFinder.prototype.constructor = n.AStarFinder),
+ (n.PathUtil = {
+ backtrace: function (e) {
+ for (var t = [e]; e._parent; ) (e = e._parent), t.push(e)
+ return t.reverse()
+ },
+ biBacktrace: function (e, t) {
+ var n = this.backtrace(e),
+ r = this.backtrace(t)
+ return n.concat(r.reverse())
+ },
+ pathLength: function (e) {
+ var t,
+ n,
+ r,
+ i,
+ o,
+ a = 0
+ for (t = 1; t < e.length; ++t)
+ (n = e[t - 1]),
+ (r = e[t]),
+ (i = n[0] - r[0]),
+ (o = n[1] - r[1]),
+ (a += Math.sqrt(i * i + o * o))
+ return a
+ },
+ interpolate: function (e, t, n, r) {
+ var i,
+ o,
+ a,
+ s,
+ l,
+ u,
+ c = Math.abs,
+ d = []
+ for (
+ i = n > e ? 1 : -1, o = r > t ? 1 : -1, l = (a = c(n - e)) - (s = c(r - t));
+ e !== n || t !== r;
+
+ )
+ d.push([e, t]),
+ (u = 2 * l) > -s && ((l -= s), (e += i)),
+ a > u && ((l += a), (t += o))
+ return d
+ },
+ expandPath: function (e) {
+ var t,
+ n,
+ r,
+ i,
+ o,
+ a,
+ s = [],
+ l = e.length
+ if (2 > l) return s
+ for (o = 0; l - 1 > o; ++o)
+ for (
+ t = e[o],
+ n = e[o + 1],
+ i = (r = this.interpolate(t[0], t[1], n[0], n[1])).length,
+ a = 0;
+ i - 1 > a;
+ ++a
+ )
+ s.push(r[a])
+ return s.push(e[l - 1]), s
+ },
+ smoothenPath: function (e, t) {
+ var n,
+ r,
+ i,
+ o,
+ a,
+ s,
+ l,
+ u,
+ c,
+ d,
+ f,
+ h,
+ p = t.length,
+ v = t[0][0],
+ m = t[0][1],
+ g = t[p - 1][0],
+ y = t[p - 1][1]
+ for (a = [[(n = v), (r = m)]], l = 2; p > l; ++l) {
+ for (
+ i = (c = t[l])[0], o = c[1], d = this.interpolate(n, r, i, o), h = !1, u = 1;
+ u < d.length;
+ ++u
+ )
+ if (((f = d[u]), !e.isWalkableAt(f[0], f[1]))) {
+ h = !0
+ break
+ }
+ h && ((s = t[l - 1]), a.push(s), (n = s[0]), (r = s[1]))
+ }
+ return a.push([g, y]), a
+ },
+ compressPath: function (e) {
+ if (e.length < 3) return e
+ var t,
+ n,
+ r,
+ i,
+ o,
+ a,
+ s = [],
+ l = e[0][0],
+ u = e[0][1],
+ c = e[1][0],
+ d = e[1][1],
+ f = c - l,
+ h = d - u
+ for (
+ f /= o = Math.sqrt(f * f + h * h), h /= o, s.push([l, u]), a = 2;
+ a < e.length;
+ a++
+ )
+ (t = c),
+ (n = d),
+ (r = f),
+ (i = h),
+ (f = (c = e[a][0]) - t),
+ (h = (d = e[a][1]) - n),
+ (h /= o = Math.sqrt(f * f + h * h)),
+ ((f /= o) !== r || h !== i) && s.push([t, n])
+ return s.push([c, d]), s
+ },
+ }),
+ (n.Loader = {
+ manager: null,
+ imageLoader: null,
+ crossOrigin: !1,
+ init: function (e) {
+ ;(this.crossOrigin = e || !1),
+ (this.manager = new THREE.LoadingManager(
+ function () {},
+ function () {},
+ function () {
+ console.warn('Error loading images')
+ },
+ )),
+ (this.imageLoader = new THREE.ImageLoader(this.manager)),
+ (this.imageLoader.crossOrigin = e)
+ },
+ loadTexture: function (e, t, n, r) {
+ var i = new THREE.Texture(null, t)
+ return (
+ this.imageLoader.load(
+ e,
+ function (e) {
+ ;(i.image = e), (i.needsUpdate = !0), n && n(i)
+ },
+ null,
+ function (e) {
+ r && r(e)
+ },
+ ),
+ (i.sourceFile = e),
+ i
+ )
+ },
+ }),
+ (n.MouseCaster = function (e, t, r) {
+ ;(this.down = !1),
+ (this.rightDown = !1),
+ (this.pickedObject = null),
+ (this.selectedObject = null),
+ (this.allHits = null),
+ (this.active = !0),
+ (this.shift = !1),
+ (this.ctrl = !1),
+ (this.wheel = 0),
+ (this.position = new THREE.Vector3()),
+ (this.screenPosition = new THREE.Vector2()),
+ (this.signal = new n.Signal()),
+ (this.group = e),
+ (this._camera = t),
+ (this._raycaster = new THREE.Raycaster()),
+ (this._preventDefault = !1),
+ (r = r || document).addEventListener(
+ 'mousemove',
+ this._onDocumentMouseMove.bind(this),
+ !1,
+ ),
+ r.addEventListener('mousedown', this._onDocumentMouseDown.bind(this), !1),
+ r.addEventListener('mouseup', this._onDocumentMouseUp.bind(this), !1),
+ r.addEventListener('mousewheel', this._onMouseWheel.bind(this), !1),
+ r.addEventListener('DOMMouseScroll', this._onMouseWheel.bind(this), !1)
+ }),
+ (n.MouseCaster.OVER = 'over'),
+ (n.MouseCaster.OUT = 'out'),
+ (n.MouseCaster.DOWN = 'down'),
+ (n.MouseCaster.UP = 'up'),
+ (n.MouseCaster.CLICK = 'click'),
+ (n.MouseCaster.WHEEL = 'wheel'),
+ (n.MouseCaster.prototype = {
+ update: function () {
+ if (this.active) {
+ this._raycaster.setFromCamera(this.screenPosition, this._camera)
+ var e,
+ t,
+ r = this._raycaster.intersectObject(this.group, !0)
+ r.length > 0
+ ? ((t = (e = r[0]).object.userData.structure),
+ this.pickedObject != t &&
+ (this.pickedObject &&
+ this.signal.dispatch(n.MouseCaster.OUT, this.pickedObject),
+ (this.pickedObject = t),
+ (this.selectedObject = null),
+ this.signal.dispatch(n.MouseCaster.OVER, this.pickedObject)),
+ this.position.copy(e.point),
+ (this.screenPosition.z = e.distance))
+ : (this.pickedObject && this.signal.dispatch(n.MouseCaster.OUT, this.pickedObject),
+ (this.pickedObject = null),
+ (this.selectedObject = null)),
+ (this.allHits = r)
+ }
+ },
+ preventDefault: function () {
+ this._preventDefault = !0
+ },
+ _onDocumentMouseDown: function (e) {
+ return (
+ (e = e || window.event).preventDefault(),
+ this._preventDefault
+ ? ((this._preventDefault = !1), !1)
+ : (this.pickedObject && (this.selectedObject = this.pickedObject),
+ (this.shift = e.shiftKey),
+ (this.ctrl = e.ctrlKey),
+ (this.down = 1 === e.which),
+ (this.rightDown = 3 === e.which),
+ void this.signal.dispatch(n.MouseCaster.DOWN, this.pickedObject))
+ )
+ },
+ _onDocumentMouseUp: function (e) {
+ return (
+ e.preventDefault(),
+ this._preventDefault
+ ? ((this._preventDefault = !1), !1)
+ : ((this.shift = e.shiftKey),
+ (this.ctrl = e.ctrlKey),
+ this.signal.dispatch(n.MouseCaster.UP, this.pickedObject),
+ this.selectedObject &&
+ this.pickedObject &&
+ this.selectedObject.uniqueID === this.pickedObject.uniqueID &&
+ this.signal.dispatch(n.MouseCaster.CLICK, this.pickedObject),
+ (this.down = 1 !== e.which && this.down),
+ void (this.rightDown = 3 !== e.which && this.rightDown))
+ )
+ },
+ _onDocumentMouseMove: function (e) {
+ e.preventDefault(),
+ (this.screenPosition.x = (e.clientX / window.innerWidth) * 2 - 1),
+ (this.screenPosition.y = (-e.clientY / window.innerHeight) * 2 + 1)
+ },
+ _onMouseWheel: function (e) {
+ if (this.active) {
+ e.preventDefault(), e.stopPropagation()
+ var t = 0
+ void 0 !== e.wheelDelta ? (t = e.wheelDelta) : void 0 !== e.detail && (t = -e.detail),
+ t > 0 ? this.wheel++ : this.wheel--,
+ this.signal.dispatch(n.MouseCaster.WHEEL, this.wheel)
+ }
+ },
+ }),
+ (n.MouseCaster.prototype.constructor = n.MouseCaster),
+ (n.Scene = function (e, t) {
+ var r = {
+ element: document.body,
+ alpha: !0,
+ antialias: !0,
+ clearColor: '#fff',
+ sortObjects: !1,
+ fog: null,
+ light: new THREE.DirectionalLight(16777215),
+ lightPosition: null,
+ cameraType: 'PerspectiveCamera',
+ cameraPosition: null,
+ orthoZoom: 4,
+ },
+ i = { minDistance: 100, maxDistance: 1e3, zoomSpeed: 2, noZoom: !1 }
+ if (
+ ((r = n.Tools.merge(r, e)),
+ 'boolean' != typeof t && (i = n.Tools.merge(i, t)),
+ (this.renderer = new THREE.WebGLRenderer({ alpha: r.alpha, antialias: r.antialias })),
+ this.renderer.setClearColor(r.clearColor, 0),
+ (this.renderer.sortObjects = r.sortObjects),
+ (this.width = window.innerWidth),
+ (this.height = window.innerHeight),
+ (this.orthoZoom = r.orthoZoom),
+ (this.container = new THREE.Scene()),
+ (this.container.fog = r.fog),
+ this.container.add(new THREE.AmbientLight(14540253)),
+ r.lightPosition || r.light.position.set(-1, 1, -1).normalize(),
+ this.container.add(r.light),
+ 'OrthographicCamera' === r.cameraType)
+ ) {
+ var o = window.innerWidth / this.orthoZoom,
+ a = window.innerHeight / this.orthoZoom
+ this.camera = new THREE.OrthographicCamera(o / -2, o / 2, a / 2, a / -2, 1, 5e3)
+ } else this.camera = new THREE.PerspectiveCamera(50, this.width / this.height, 1, 5e3)
+ ;(this.contolled = !!t),
+ this.contolled &&
+ ((this.controls = new THREE.OrbitControls(this.camera, this.renderer.domElement)),
+ (this.controls.minDistance = i.minDistance),
+ (this.controls.maxDistance = i.maxDistance),
+ (this.controls.zoomSpeed = i.zoomSpeed),
+ (this.controls.noZoom = i.noZoom)),
+ r.cameraPosition && this.camera.position.copy(r.cameraPosition),
+ window.addEventListener(
+ 'resize',
+ function () {
+ if (
+ ((this.width = window.innerWidth),
+ (this.height = window.innerHeight),
+ 'OrthographicCamera' === this.camera.type)
+ ) {
+ var e = this.width / this.orthoZoom,
+ t = this.height / this.orthoZoom
+ ;(this.camera.left = e / -2),
+ (this.camera.right = e / 2),
+ (this.camera.top = t / 2),
+ (this.camera.bottom = t / -2)
+ } else this.camera.aspect = this.width / this.height
+ this.camera.updateProjectionMatrix(), this.renderer.setSize(this.width, this.height)
+ }.bind(this),
+ !1,
+ ),
+ this.attachTo(r.element)
+ }),
+ (n.Scene.prototype = {
+ attachTo: function (e) {
+ ;(e.style.width = this.width + 'px'),
+ (e.style.height = this.height + 'px'),
+ this.renderer.setPixelRatio(window.devicePixelRatio),
+ this.renderer.setSize(this.width, this.height),
+ e.appendChild(this.renderer.domElement)
+ },
+ add: function (e) {
+ this.container.add(e)
+ },
+ remove: function (e) {
+ this.container.remove(e)
+ },
+ render: function () {
+ this.contolled && this.controls.update(),
+ this.renderer.render(this.container, this.camera)
+ },
+ updateOrthoZoom: function () {
+ if (this.orthoZoom <= 0) this.orthoZoom = 0
+ else {
+ var e = this.width / this.orthoZoom,
+ t = this.height / this.orthoZoom
+ ;(this.camera.left = e / -2),
+ (this.camera.right = e / 2),
+ (this.camera.top = t / 2),
+ (this.camera.bottom = t / -2),
+ this.camera.updateProjectionMatrix()
+ }
+ },
+ focusOn: function (e) {
+ this.camera.lookAt(e.position)
+ },
+ }),
+ (n.Scene.prototype.constructor = n.Scene),
+ (n.SelectionManager = function (e) {
+ ;(this.mouse = e),
+ (this.onSelect = new n.Signal()),
+ (this.onDeselect = new n.Signal()),
+ (this.selected = null),
+ (this.toggleSelection = !1),
+ this.mouse.signal.add(this.onMouse, this)
+ }),
+ (n.SelectionManager.prototype = {
+ select: function (e, t) {
+ e &&
+ ((t = t || !0),
+ this.selected !== e && this.clearSelection(t),
+ e.selected
+ ? this.toggleSelection && (t && this.onDeselect.dispatch(e), e.deselect())
+ : e.select(),
+ (this.selected = e),
+ t && this.onSelect.dispatch(e))
+ },
+ clearSelection: function (e) {
+ ;(e = e || !0),
+ this.selected &&
+ (e && this.onDeselect.dispatch(this.selected), this.selected.deselect()),
+ (this.selected = null)
+ },
+ onMouse: function (e, t) {
+ switch (e) {
+ case n.MouseCaster.DOWN:
+ t || this.clearSelection()
+ break
+ case n.MouseCaster.CLICK:
+ this.select(t)
+ }
+ },
+ }),
+ (n.SelectionManager.prototype.constructor = n.SelectionManager),
+ (n.Tools = {
+ clamp: function (e, t, n) {
+ return Math.max(t, Math.min(n, e))
+ },
+ sign: function (e) {
+ return e && e / Math.abs(e)
+ },
+ random: function (e, t) {
+ return 1 === arguments.length
+ ? Math.random() * e - 0.5 * e
+ : Math.random() * (t - e) + e
+ },
+ randomInt: function (e, t) {
+ return 1 === arguments.length
+ ? (Math.random() * e - 0.5 * e) | 0
+ : (Math.random() * (t - e + 1) + e) | 0
+ },
+ normalize: function (e, t, n) {
+ return (e - t) / (n - t)
+ },
+ getShortRotation: function (e) {
+ return (e %= this.TAU) > this.PI ? (e -= this.TAU) : e < -this.PI && (e += this.TAU), e
+ },
+ generateID: function () {
+ return Math.random().toString(36).slice(2) + Date.now()
+ },
+ isPlainObject: function (e) {
+ if ('object' != typeof e || e.nodeType || e === e.window) return !1
+ try {
+ if (
+ e.constructor &&
+ !Object.prototype.hasOwnProperty.call(e.constructor.prototype, 'isPrototypeOf')
+ )
+ return !1
+ } catch (t) {
+ return !1
+ }
+ return !0
+ },
+ merge: function (e, t) {
+ var n = this,
+ r = Array.isArray(t),
+ i = (r && []) || {}
+ return r
+ ? ((e = e || []),
+ (i = i.concat(e)),
+ t.forEach(function (t, r) {
+ 'undefined' == typeof i[r]
+ ? (i[r] = t)
+ : n.isPlainObject(t)
+ ? (i[r] = n.merge(e[r], t))
+ : -1 === e.indexOf(t) && i.push(t)
+ }),
+ i)
+ : (e &&
+ n.isPlainObject(e) &&
+ Object.keys(e).forEach(function (t) {
+ i[t] = e[t]
+ }),
+ Object.keys(t).forEach(function (r) {
+ t[r] && n.isPlainObject(t[r]) && e[r]
+ ? (i[r] = n.merge(e[r], t[r]))
+ : (i[r] = t[r])
+ }),
+ i)
+ },
+ now: function () {
+ return window.nwf ? window.nwf.system.Performance.elapsedTime : window.performance.now()
+ },
+ empty: function (e) {
+ for (; e.lastChild; ) e.removeChild(e.lastChild)
+ },
+ radixSort: function (e, t, n, r) {
+ if (((r = r || 31), !((t = t || 0) >= (n = n || e.length) - 1 || 0 > r))) {
+ for (var i = t, o = n, a = 1 << r; o > i; )
+ if (e[i] & a) {
+ --o
+ var s = e[i]
+ ;(e[i] = e[o]), (e[o] = s)
+ } else ++i
+ this.radixSort(e, t, o, r - 1), this.radixSort(e, o, n, r - 1)
+ }
+ },
+ randomizeRGB: function (e, t) {
+ var n,
+ r,
+ i = e.split(','),
+ o = 'rgb('
+ for (t = this.randomInt(t), n = 0; 3 > n; n++)
+ 0 > (r = parseInt(i[n]) + t) ? (r = 0) : r > 255 && (r = 255), (o += r + ',')
+ return (o = o.substring(0, o.length - 1)) + ')'
+ },
+ getJSON: function (e) {
+ var t = new XMLHttpRequest(),
+ n =
+ 'undefined' != typeof e.cache && e.cache
+ ? e.url
+ : e.url + '?t=' + Math.floor(1e4 * Math.random()) + Date.now()
+ ;(t.onreadystatechange = function () {
+ if (200 !== this.status)
+ 0 !== this.status &&
+ console.warn(
+ '[Tools.getJSON] Error: ' +
+ this.status +
+ ' (' +
+ this.statusText +
+ ') :: ' +
+ e.url,
+ )
+ else {
+ var t = null
+ try {
+ t = JSON.parse(this.responseText)
+ } catch (n) {
+ return
+ }
+ e.callback.call(e.scope || null, t)
+ }
+ }),
+ t.open('GET', n, !0),
+ t.setRequestHeader('Accept', 'application/json'),
+ t.setRequestHeader('Content-Type', 'application/json'),
+ t.send('')
+ },
+ })
+ },
+ 7454: function () {
+ !(function (e) {
+ var t = 'KeyboardEvent' in e
+ t ||
+ (e.KeyboardEvent = function () {
+ throw TypeError('Illegal constructor')
+ }),
+ 'DOM_KEY_LOCATION_STANDARD' in e.KeyboardEvent ||
+ (e.KeyboardEvent.DOM_KEY_LOCATION_STANDARD = 0),
+ 'DOM_KEY_LOCATION_LEFT' in e.KeyboardEvent || (e.KeyboardEvent.DOM_KEY_LOCATION_LEFT = 1),
+ 'DOM_KEY_LOCATION_RIGHT' in e.KeyboardEvent ||
+ (e.KeyboardEvent.DOM_KEY_LOCATION_RIGHT = 2),
+ 'DOM_KEY_LOCATION_NUMPAD' in e.KeyboardEvent ||
+ (e.KeyboardEvent.DOM_KEY_LOCATION_NUMPAD = 3)
+ var n = window.KeyboardEvent.DOM_KEY_LOCATION_STANDARD,
+ r = window.KeyboardEvent.DOM_KEY_LOCATION_LEFT,
+ i = window.KeyboardEvent.DOM_KEY_LOCATION_RIGHT,
+ o = window.KeyboardEvent.DOM_KEY_LOCATION_NUMPAD
+ function a(e, t) {
+ return -1 !== String(e).indexOf(t)
+ }
+ var s = a(navigator.platform, 'Win')
+ ? 'win'
+ : a(navigator.platform, 'Mac')
+ ? 'mac'
+ : a(navigator.platform, 'CrOS')
+ ? 'cros'
+ : a(navigator.platform, 'Linux')
+ ? 'linux'
+ : a(navigator.userAgent, 'iPad') ||
+ a(navigator.platform, 'iPod') ||
+ a(navigator.platform, 'iPhone')
+ ? 'ios'
+ : '',
+ l = a(navigator.userAgent, 'Chrome/')
+ ? 'chrome'
+ : a(navigator.vendor, 'Apple')
+ ? 'safari'
+ : a(navigator.userAgent, 'MSIE')
+ ? 'ie'
+ : a(navigator.userAgent, 'Gecko/')
+ ? 'moz'
+ : a(navigator.userAgent, 'Opera/')
+ ? 'opera'
+ : '',
+ u = l + '-' + s
+ function c(e, t, n) {
+ ;(u !== t && l !== t && s !== t) ||
+ Object.keys(n).forEach(function (t) {
+ e[t] = n[t]
+ })
+ }
+ var d = {
+ 3: { code: 'Cancel' },
+ 6: { code: 'Help' },
+ 8: { code: 'Backspace' },
+ 9: { code: 'Tab' },
+ 12: { code: 'Clear' },
+ 13: { code: 'Enter' },
+ 16: { code: 'Shift' },
+ 17: { code: 'Control' },
+ 18: { code: 'Alt' },
+ 19: { code: 'Pause' },
+ 20: { code: 'CapsLock' },
+ 21: { code: 'KanaMode' },
+ 22: { code: 'HangulMode' },
+ 23: { code: 'JunjaMode' },
+ 24: { code: 'FinalMode' },
+ 25: { code: 'KanjiMode' },
+ 27: { code: 'Escape' },
+ 28: { code: 'Convert' },
+ 29: { code: 'NonConvert' },
+ 30: { code: 'Accept' },
+ 31: { code: 'ModeChange' },
+ 32: { code: 'Space' },
+ 33: { code: 'PageUp' },
+ 34: { code: 'PageDown' },
+ 35: { code: 'End' },
+ 36: { code: 'Home' },
+ 37: { code: 'ArrowLeft' },
+ 38: { code: 'ArrowUp' },
+ 39: { code: 'ArrowRight' },
+ 40: { code: 'ArrowDown' },
+ 41: { code: 'Select' },
+ 42: { code: 'Print' },
+ 43: { code: 'Execute' },
+ 44: { code: 'PrintScreen' },
+ 45: { code: 'Insert' },
+ 46: { code: 'Delete' },
+ 47: { code: 'Help' },
+ 48: { code: 'Digit0', keyCap: '0' },
+ 49: { code: 'Digit1', keyCap: '1' },
+ 50: { code: 'Digit2', keyCap: '2' },
+ 51: { code: 'Digit3', keyCap: '3' },
+ 52: { code: 'Digit4', keyCap: '4' },
+ 53: { code: 'Digit5', keyCap: '5' },
+ 54: { code: 'Digit6', keyCap: '6' },
+ 55: { code: 'Digit7', keyCap: '7' },
+ 56: { code: 'Digit8', keyCap: '8' },
+ 57: { code: 'Digit9', keyCap: '9' },
+ 65: { code: 'KeyA', keyCap: 'a' },
+ 66: { code: 'KeyB', keyCap: 'b' },
+ 67: { code: 'KeyC', keyCap: 'c' },
+ 68: { code: 'KeyD', keyCap: 'd' },
+ 69: { code: 'KeyE', keyCap: 'e' },
+ 70: { code: 'KeyF', keyCap: 'f' },
+ 71: { code: 'KeyG', keyCap: 'g' },
+ 72: { code: 'KeyH', keyCap: 'h' },
+ 73: { code: 'KeyI', keyCap: 'i' },
+ 74: { code: 'KeyJ', keyCap: 'j' },
+ 75: { code: 'KeyK', keyCap: 'k' },
+ 76: { code: 'KeyL', keyCap: 'l' },
+ 77: { code: 'KeyM', keyCap: 'm' },
+ 78: { code: 'KeyN', keyCap: 'n' },
+ 79: { code: 'KeyO', keyCap: 'o' },
+ 80: { code: 'KeyP', keyCap: 'p' },
+ 81: { code: 'KeyQ', keyCap: 'q' },
+ 82: { code: 'KeyR', keyCap: 'r' },
+ 83: { code: 'KeyS', keyCap: 's' },
+ 84: { code: 'KeyT', keyCap: 't' },
+ 85: { code: 'KeyU', keyCap: 'u' },
+ 86: { code: 'KeyV', keyCap: 'v' },
+ 87: { code: 'KeyW', keyCap: 'w' },
+ 88: { code: 'KeyX', keyCap: 'x' },
+ 89: { code: 'KeyY', keyCap: 'y' },
+ 90: { code: 'KeyZ', keyCap: 'z' },
+ 91: { code: 'OSLeft', location: r },
+ 92: { code: 'OSRight', location: i },
+ 93: { code: 'ContextMenu' },
+ 95: { code: 'Standby' },
+ 96: { code: 'Numpad0', keyCap: '0', location: o },
+ 97: { code: 'Numpad1', keyCap: '1', location: o },
+ 98: { code: 'Numpad2', keyCap: '2', location: o },
+ 99: { code: 'Numpad3', keyCap: '3', location: o },
+ 100: { code: 'Numpad4', keyCap: '4', location: o },
+ 101: { code: 'Numpad5', keyCap: '5', location: o },
+ 102: { code: 'Numpad6', keyCap: '6', location: o },
+ 103: { code: 'Numpad7', keyCap: '7', location: o },
+ 104: { code: 'Numpad8', keyCap: '8', location: o },
+ 105: { code: 'Numpad9', keyCap: '9', location: o },
+ 106: { code: 'NumpadMultiply', keyCap: '*', location: o },
+ 107: { code: 'NumpadAdd', keyCap: '+', location: o },
+ 108: { code: 'NumpadComma', keyCap: ',', location: o },
+ 109: { code: 'NumpadSubtract', keyCap: '-', location: o },
+ 110: { code: 'NumpadDecimal', keyCap: '.', location: o },
+ 111: { code: 'NumpadDivide', keyCap: '/', location: o },
+ 112: { code: 'F1' },
+ 113: { code: 'F2' },
+ 114: { code: 'F3' },
+ 115: { code: 'F4' },
+ 116: { code: 'F5' },
+ 117: { code: 'F6' },
+ 118: { code: 'F7' },
+ 119: { code: 'F8' },
+ 120: { code: 'F9' },
+ 121: { code: 'F10' },
+ 122: { code: 'F11' },
+ 123: { code: 'F12' },
+ 124: { code: 'F13' },
+ 125: { code: 'F14' },
+ 126: { code: 'F15' },
+ 127: { code: 'F16' },
+ 128: { code: 'F17' },
+ 129: { code: 'F18' },
+ 130: { code: 'F19' },
+ 131: { code: 'F20' },
+ 132: { code: 'F21' },
+ 133: { code: 'F22' },
+ 134: { code: 'F23' },
+ 135: { code: 'F24' },
+ 144: { code: 'NumLock', location: o },
+ 145: { code: 'ScrollLock' },
+ 160: { code: 'ShiftLeft', location: r },
+ 161: { code: 'ShiftRight', location: i },
+ 162: { code: 'ControlLeft', location: r },
+ 163: { code: 'ControlRight', location: i },
+ 164: { code: 'AltLeft', location: r },
+ 165: { code: 'AltRight', location: i },
+ 166: { code: 'BrowserBack' },
+ 167: { code: 'BrowserForward' },
+ 168: { code: 'BrowserRefresh' },
+ 169: { code: 'BrowserStop' },
+ 170: { code: 'BrowserSearch' },
+ 171: { code: 'BrowserFavorites' },
+ 172: { code: 'BrowserHome' },
+ 173: { code: 'VolumeMute' },
+ 174: { code: 'VolumeDown' },
+ 175: { code: 'VolumeUp' },
+ 176: { code: 'MediaTrackNext' },
+ 177: { code: 'MediaTrackPrevious' },
+ 178: { code: 'MediaStop' },
+ 179: { code: 'MediaPlayPause' },
+ 180: { code: 'LaunchMail' },
+ 181: { code: 'MediaSelect' },
+ 182: { code: 'LaunchApp1' },
+ 183: { code: 'LaunchApp2' },
+ 186: { code: 'Semicolon', keyCap: ';' },
+ 187: { code: 'Equal', keyCap: '=' },
+ 188: { code: 'Comma', keyCap: ',' },
+ 189: { code: 'Minus', keyCap: '-' },
+ 190: { code: 'Period', keyCap: '.' },
+ 191: { code: 'Slash', keyCap: '/' },
+ 192: { code: 'Backquote', keyCap: '`' },
+ 219: { code: 'BracketLeft', keyCap: '[' },
+ 220: { code: 'Backslash', keyCap: '\\' },
+ 221: { code: 'BracketRight', keyCap: ']' },
+ 222: { code: 'Quote', keyCap: "'" },
+ 226: { code: 'IntlBackslash', keyCap: '\\' },
+ 229: { code: 'Process' },
+ 246: { code: 'Attn' },
+ 247: { code: 'CrSel' },
+ 248: { code: 'ExSel' },
+ 249: { code: 'EraseEof' },
+ 250: { code: 'Play' },
+ 251: { code: 'ZoomToggle' },
+ 254: { code: 'Clear' },
+ }
+ c(d, 'moz', {
+ 59: { code: 'Semicolon', keyCap: ';' },
+ 61: { code: 'Equal', keyCap: '=' },
+ 107: { code: 'Equal', keyCap: '=' },
+ 109: { code: 'Minus', keyCap: '-' },
+ 187: { code: 'NumpadAdd', keyCap: '+', location: o },
+ 189: { code: 'NumpadSubtract', keyCap: '-', location: o },
+ }),
+ c(d, 'moz-mac', {
+ 12: { code: 'NumLock', location: o },
+ 173: { code: 'Minus', keyCap: '-' },
+ }),
+ c(d, 'moz-win', { 173: { code: 'Minus', keyCap: '-' } }),
+ c(d, 'chrome-mac', { 93: { code: 'OSRight', location: i } }),
+ c(d, 'safari', { 3: { code: 'Enter' }, 25: { code: 'Tab' } }),
+ c(d, 'ios', { 10: { code: 'Enter', location: n } }),
+ c(d, 'safari-mac', {
+ 91: { code: 'OSLeft', location: r },
+ 93: { code: 'OSRight', location: i },
+ 229: { code: 'KeyQ', keyCap: 'Q' },
+ })
+ var f = {}
+ 'cros' === s &&
+ ((f['U+00A0'] = { code: 'ShiftLeft', location: r }),
+ (f['U+00A1'] = { code: 'ShiftRight', location: i }),
+ (f['U+00A2'] = { code: 'ControlLeft', location: r }),
+ (f['U+00A3'] = { code: 'ControlRight', location: i }),
+ (f['U+00A4'] = { code: 'AltLeft', location: r }),
+ (f['U+00A5'] = { code: 'AltRight', location: i })),
+ 'chrome-mac' === u && (f['U+0010'] = { code: 'ContextMenu' }),
+ 'safari-mac' === u && (f['U+0010'] = { code: 'ContextMenu' }),
+ 'ios' === s &&
+ ((f['U+0010'] = { code: 'Function' }),
+ (f['U+001C'] = { code: 'ArrowLeft' }),
+ (f['U+001D'] = { code: 'ArrowRight' }),
+ (f['U+001E'] = { code: 'ArrowUp' }),
+ (f['U+001F'] = { code: 'ArrowDown' }),
+ (f['U+0001'] = { code: 'Home' }),
+ (f['U+0004'] = { code: 'End' }),
+ (f['U+000B'] = { code: 'PageUp' }),
+ (f['U+000C'] = { code: 'PageDown' }))
+ var h = []
+ ;(h[r] = {
+ 16: { code: 'ShiftLeft', location: r },
+ 17: { code: 'ControlLeft', location: r },
+ 18: { code: 'AltLeft', location: r },
+ }),
+ (h[i] = {
+ 16: { code: 'ShiftRight', location: i },
+ 17: { code: 'ControlRight', location: i },
+ 18: { code: 'AltRight', location: i },
+ }),
+ (h[o] = { 13: { code: 'NumpadEnter', location: o } }),
+ c(h[o], 'moz', {
+ 109: { code: 'NumpadSubtract', location: o },
+ 107: { code: 'NumpadAdd', location: o },
+ }),
+ c(h[r], 'moz-mac', { 224: { code: 'OSLeft', location: r } }),
+ c(h[i], 'moz-mac', { 224: { code: 'OSRight', location: i } }),
+ c(h[i], 'moz-win', { 91: { code: 'OSRight', location: i } }),
+ c(h[i], 'mac', { 93: { code: 'OSRight', location: i } }),
+ c(h[o], 'chrome-mac', { 12: { code: 'NumLock', location: o } }),
+ c(h[o], 'safari-mac', {
+ 12: { code: 'NumLock', location: o },
+ 187: { code: 'NumpadAdd', location: o },
+ 189: { code: 'NumpadSubtract', location: o },
+ 190: { code: 'NumpadDecimal', location: o },
+ 191: { code: 'NumpadDivide', location: o },
+ })
+ var p = {
+ ShiftLeft: { key: 'Shift' },
+ ShiftRight: { key: 'Shift' },
+ ControlLeft: { key: 'Control' },
+ ControlRight: { key: 'Control' },
+ AltLeft: { key: 'Alt' },
+ AltRight: { key: 'Alt' },
+ OSLeft: { key: 'OS' },
+ OSRight: { key: 'OS' },
+ NumpadEnter: { key: 'Enter' },
+ Space: { key: ' ' },
+ Digit0: { key: '0', shiftKey: ')' },
+ Digit1: { key: '1', shiftKey: '!' },
+ Digit2: { key: '2', shiftKey: '@' },
+ Digit3: { key: '3', shiftKey: '#' },
+ Digit4: { key: '4', shiftKey: '$' },
+ Digit5: { key: '5', shiftKey: '%' },
+ Digit6: { key: '6', shiftKey: '^' },
+ Digit7: { key: '7', shiftKey: '&' },
+ Digit8: { key: '8', shiftKey: '*' },
+ Digit9: { key: '9', shiftKey: '(' },
+ KeyA: { key: 'a', shiftKey: 'A' },
+ KeyB: { key: 'b', shiftKey: 'B' },
+ KeyC: { key: 'c', shiftKey: 'C' },
+ KeyD: { key: 'd', shiftKey: 'D' },
+ KeyE: { key: 'e', shiftKey: 'E' },
+ KeyF: { key: 'f', shiftKey: 'F' },
+ KeyG: { key: 'g', shiftKey: 'G' },
+ KeyH: { key: 'h', shiftKey: 'H' },
+ KeyI: { key: 'i', shiftKey: 'I' },
+ KeyJ: { key: 'j', shiftKey: 'J' },
+ KeyK: { key: 'k', shiftKey: 'K' },
+ KeyL: { key: 'l', shiftKey: 'L' },
+ KeyM: { key: 'm', shiftKey: 'M' },
+ KeyN: { key: 'n', shiftKey: 'N' },
+ KeyO: { key: 'o', shiftKey: 'O' },
+ KeyP: { key: 'p', shiftKey: 'P' },
+ KeyQ: { key: 'q', shiftKey: 'Q' },
+ KeyR: { key: 'r', shiftKey: 'R' },
+ KeyS: { key: 's', shiftKey: 'S' },
+ KeyT: { key: 't', shiftKey: 'T' },
+ KeyU: { key: 'u', shiftKey: 'U' },
+ KeyV: { key: 'v', shiftKey: 'V' },
+ KeyW: { key: 'w', shiftKey: 'W' },
+ KeyX: { key: 'x', shiftKey: 'X' },
+ KeyY: { key: 'y', shiftKey: 'Y' },
+ KeyZ: { key: 'z', shiftKey: 'Z' },
+ Numpad0: { key: '0' },
+ Numpad1: { key: '1' },
+ Numpad2: { key: '2' },
+ Numpad3: { key: '3' },
+ Numpad4: { key: '4' },
+ Numpad5: { key: '5' },
+ Numpad6: { key: '6' },
+ Numpad7: { key: '7' },
+ Numpad8: { key: '8' },
+ Numpad9: { key: '9' },
+ NumpadMultiply: { key: '*' },
+ NumpadAdd: { key: '+' },
+ NumpadComma: { key: ',' },
+ NumpadSubtract: { key: '-' },
+ NumpadDecimal: { key: '.' },
+ NumpadDivide: { key: '/' },
+ Semicolon: { key: ';', shiftKey: ':' },
+ Equal: { key: '=', shiftKey: '+' },
+ Comma: { key: ',', shiftKey: '<' },
+ Minus: { key: '-', shiftKey: '_' },
+ Period: { key: '.', shiftKey: '>' },
+ Slash: { key: '/', shiftKey: '?' },
+ Backquote: { key: '`', shiftKey: '~' },
+ BracketLeft: { key: '[', shiftKey: '{' },
+ Backslash: { key: '\\', shiftKey: '|' },
+ BracketRight: { key: ']', shiftKey: '}' },
+ Quote: { key: "'", shiftKey: '"' },
+ IntlBackslash: { key: '\\', shiftKey: '|' },
+ }
+ c(p, 'mac', { OSLeft: { key: 'Meta' }, OSRight: { key: 'Meta' } })
+ var v = {
+ Esc: 'Escape',
+ Nonconvert: 'NonConvert',
+ Left: 'ArrowLeft',
+ Up: 'ArrowUp',
+ Right: 'ArrowRight',
+ Down: 'ArrowDown',
+ Del: 'Delete',
+ Menu: 'ContextMenu',
+ MediaNextTrack: 'MediaTrackNext',
+ MediaPreviousTrack: 'MediaTrackPrevious',
+ SelectMedia: 'MediaSelect',
+ HalfWidth: 'Hankaku',
+ FullWidth: 'Zenkaku',
+ RomanCharacters: 'Romaji',
+ Crsel: 'CrSel',
+ Exsel: 'ExSel',
+ Zoom: 'ZoomToggle',
+ },
+ m = (function (e, t) {
+ var n = {}
+ return (
+ Object.keys(e).forEach(function (r) {
+ var i = e[r]
+ t in i && (n[i[t]] = i)
+ }),
+ n
+ )
+ })(d, 'code')
+ try {
+ var g = t && 'location' in new KeyboardEvent('')
+ } catch (b) {}
+ function y(e) {
+ var t = 'keyCode' in e ? e.keyCode : 'which' in e ? e.which : 0,
+ n = (function () {
+ if (g || 'keyLocation' in e) {
+ var n = g ? e.location : e.keyLocation
+ if (n && t in h[n]) return h[n][t]
+ }
+ return 'keyIdentifier' in e && e.keyIdentifier in f
+ ? f[e.keyIdentifier]
+ : t in d
+ ? d[t]
+ : null
+ })()
+ if (!n) return null
+ var r = (function () {
+ var t = p[n.code]
+ return t ? (e.shiftKey && 'shiftKey' in t ? t.shiftKey : t.key) : n.code
+ })()
+ return { code: n.code, key: r, location: n.location, keyCap: n.keyCap }
+ }
+ 'KeyboardEvent' in e &&
+ 'defineProperty' in Object &&
+ (function () {
+ function e(e, t, n) {
+ t in e || Object.defineProperty(e, t, n)
+ }
+ if (
+ (e(KeyboardEvent.prototype, 'code', {
+ get: function () {
+ var e = y(this)
+ return e ? e.code : ''
+ },
+ }),
+ 'key' in KeyboardEvent.prototype)
+ ) {
+ var t = Object.getOwnPropertyDescriptor(KeyboardEvent.prototype, 'key')
+ Object.defineProperty(KeyboardEvent.prototype, 'key', {
+ get: function () {
+ var e = t.get.call(this)
+ return v.hasOwnProperty(e) ? v[e] : e
+ },
+ })
+ }
+ e(KeyboardEvent.prototype, 'key', {
+ get: function () {
+ var e = y(this)
+ return e && 'key' in e ? e.key : 'Unidentified'
+ },
+ }),
+ e(KeyboardEvent.prototype, 'location', {
+ get: function () {
+ var e = y(this)
+ return e && 'location' in e ? e.location : n
+ },
+ }),
+ e(KeyboardEvent.prototype, 'locale', {
+ get: function () {
+ return ''
+ },
+ })
+ })(),
+ 'queryKeyCap' in e.KeyboardEvent ||
+ (e.KeyboardEvent.queryKeyCap = function (e, t) {
+ if (((e = String(e)), !m.hasOwnProperty(e))) return 'Undefined'
+ if (t && 'en-us' !== String(t).toLowerCase()) throw Error('Unsupported locale')
+ var n = m[e]
+ return n.keyCap || n.code || 'Undefined'
+ }),
+ (e.identifyKey = function (e) {
+ if (!('code' in e)) {
+ var t = y(e)
+ ;(e.code = t ? t.code : ''),
+ (e.key = t && 'key' in t ? t.key : 'Unidentified'),
+ (e.location =
+ 'location' in e
+ ? e.location
+ : 'keyLocation' in e
+ ? e.keyLocation
+ : t && 'location' in t
+ ? t.location
+ : n),
+ (e.locale = '')
+ }
+ })
+ })(window)
+ },
+ 3386: function (e) {
+ e.exports = AFRAME.registerComponent('checkpoint-controls', {
+ schema: {
+ enabled: { default: !0 },
+ mode: { default: 'teleport', oneOf: ['teleport', 'animate'] },
+ animateSpeed: { default: 3 },
+ },
+ init: function () {
+ ;(this.active = !0),
+ (this.checkpoint = null),
+ (this.isNavMeshConstrained = !1),
+ (this.offset = new THREE.Vector3()),
+ (this.position = new THREE.Vector3()),
+ (this.targetPosition = new THREE.Vector3())
+ },
+ play: function () {
+ this.active = !0
+ },
+ pause: function () {
+ this.active = !1
+ },
+ setCheckpoint: function (e) {
+ const t = this.el
+ this.active &&
+ this.checkpoint !== e &&
+ (this.checkpoint && t.emit('navigation-end', { checkpoint: this.checkpoint }),
+ (this.checkpoint = e),
+ this.sync(),
+ this.position.distanceTo(this.targetPosition) < 0.1
+ ? (this.checkpoint = null)
+ : (t.emit('navigation-start', { checkpoint: e }),
+ 'teleport' === this.data.mode &&
+ (this.el.setAttribute('position', this.targetPosition),
+ (this.checkpoint = null),
+ t.emit('navigation-end', { checkpoint: e }),
+ t.components['movement-controls'].updateNavLocation())))
+ },
+ isVelocityActive: function () {
+ return !(!this.active || !this.checkpoint)
+ },
+ getVelocity: function () {
+ if (!this.active) return
+ const e = this.data,
+ t = this.offset,
+ n = this.position,
+ r = this.targetPosition,
+ i = this.checkpoint
+ return (
+ this.sync(),
+ n.distanceTo(r) < 0.1
+ ? ((this.checkpoint = null),
+ this.el.emit('navigation-end', { checkpoint: i }),
+ t.set(0, 0, 0))
+ : (t.setLength(e.animateSpeed), t)
+ )
+ },
+ sync: function () {
+ const e = this.offset,
+ t = this.position,
+ n = this.targetPosition
+ t.copy(this.el.getAttribute('position')),
+ this.checkpoint.object3D.getWorldPosition(n),
+ n.add(this.checkpoint.components.checkpoint.getOffset()),
+ e.copy(n).sub(t)
+ },
+ })
+ },
+ 5062: function (e, t, n) {
+ const r = n(6453),
+ i = n(4379),
+ o = 0.2,
+ a = 'left',
+ s = 'right',
+ l = 1,
+ u = 2
+ e.exports = AFRAME.registerComponent('gamepad-controls', {
+ GamepadButton: r,
+ schema: {
+ enabled: { default: !0 },
+ camera: { default: '[camera]', type: 'selector' },
+ rotationSensitivity: { default: 2 },
+ },
+ init: function () {
+ const e = this.el.sceneEl
+ ;(this.system = e.systems['tracked-controls-webxr'] || { controllers: [] }),
+ (this.prevTime = window.performance.now()),
+ (this.buttons = {})
+ const t = this.el.object3D.rotation
+ ;(this.pitch = new THREE.Object3D()),
+ (this.pitch.rotation.x = THREE.Math.degToRad(t.x)),
+ (this.yaw = new THREE.Object3D()),
+ (this.yaw.position.y = 10),
+ (this.yaw.rotation.y = THREE.Math.degToRad(t.y)),
+ this.yaw.add(this.pitch),
+ (this._lookVector = new THREE.Vector2()),
+ (this._moveVector = new THREE.Vector2()),
+ (this._dpadVector = new THREE.Vector2()),
+ e.addBehavior(this)
+ },
+ update: function () {
+ this.tick()
+ },
+ tick: function (e, t) {
+ this.updateButtonState(), this.updateRotation(t)
+ },
+ remove: function () {},
+ isVelocityActive: function () {
+ if (!this.data.enabled || !this.isConnected()) return !1
+ const e = this._dpadVector,
+ t = this._moveVector
+ this.getDpad(e), this.getJoystick(l, t)
+ const n = e.x || t.x,
+ r = e.y || t.y
+ return Math.abs(n) > o || Math.abs(r) > o
+ },
+ getVelocityDelta: function () {
+ const e = this._dpadVector,
+ t = this._moveVector
+ this.getDpad(e), this.getJoystick(l, t)
+ const n = e.x || t.x,
+ r = e.y || t.y,
+ i = new THREE.Vector3()
+ return Math.abs(n) > o && (i.x += n), Math.abs(r) > o && (i.z += r), i
+ },
+ isRotationActive: function () {
+ if (!this.data.enabled || !this.isConnected()) return !1
+ const e = this._lookVector
+ return this.getJoystick(u, e), Math.abs(e.x) > o || Math.abs(e.y) > o
+ },
+ updateRotation: function (e) {
+ if (!this.isRotationActive()) return
+ const t = this.data,
+ n = this.yaw,
+ r = this.pitch,
+ i = t.camera.components['look-controls'],
+ a = i && i.pitchObject && i.yawObject
+ a && (r.rotation.copy(i.pitchObject.rotation), n.rotation.copy(i.yawObject.rotation))
+ const s = this._lookVector
+ this.getJoystick(u, s),
+ Math.abs(s.x) <= o && (s.x = 0),
+ Math.abs(s.y) <= o && (s.y = 0),
+ s.multiplyScalar((t.rotationSensitivity * e) / 1e3),
+ (n.rotation.y -= s.x),
+ (r.rotation.x -= s.y),
+ (r.rotation.x = Math.max(-Math.PI / 2, Math.min(Math.PI / 2, r.rotation.x))),
+ t.camera.object3D.rotation.set(r.rotation.x, n.rotation.y, 0),
+ a && (i.pitchObject.rotation.copy(r.rotation), i.yawObject.rotation.copy(n.rotation))
+ },
+ updateButtonState: function () {
+ const e = this.getGamepad(s)
+ if (this.data.enabled && e)
+ for (var t = 0; t < e.buttons.length; t++)
+ e.buttons[t].pressed && !this.buttons[t]
+ ? this.emit(new i('gamepadbuttondown', t, e.buttons[t]))
+ : !e.buttons[t].pressed &&
+ this.buttons[t] &&
+ this.emit(new i('gamepadbuttonup', t, e.buttons[t])),
+ (this.buttons[t] = e.buttons[t].pressed)
+ else Object.keys(this.buttons) && (this.buttons = {})
+ },
+ emit: function (e) {
+ this.el.emit(e.type, e), this.el.emit(e.type + ':' + e.index, new i(e.type, e.index, e))
+ },
+ getGamepad: (function () {
+ const e = [],
+ t = []
+ return function (n) {
+ const r = this.el.sceneEl.components['proxy-controls'],
+ i = r && r.isConnected() && r.getGamepad(0)
+ if (i) return i
+ e.length = 0
+ for (let t = 0; t < this.system.controllers.length; t++) {
+ const r = this.system.controllers[t],
+ i = r ? r.gamepad : null
+ if ((e.push(i), i && i.handedness === n)) return i
+ }
+ const o = navigator.getGamepads ? navigator.getGamepads() : t
+ for (let e = 0; e < o.length; e++) {
+ const t = o[e]
+ if (t && t.hand === n) return t
+ }
+ return e[0] || o[0]
+ }
+ })(),
+ getButton: function (e) {
+ return this.getGamepad(s).buttons[e]
+ },
+ getAxis: function (e) {
+ return this.getGamepad(e > 1 ? s : a).axes[e]
+ },
+ getJoystick: function (e, t) {
+ const n = this.getGamepad(e === l ? a : s)
+ if ('xr-standard' === n.mapping)
+ switch (e) {
+ case l:
+ return t.set(n.axes[2], n.axes[3])
+ case u:
+ return t.set(n.axes[0], n.axes[1])
+ }
+ else
+ switch (e) {
+ case l:
+ return t.set(n.axes[0], n.axes[1])
+ case u:
+ return t.set(n.axes[2], n.axes[3])
+ }
+ throw new Error('Unexpected joystick index "%d".', e)
+ },
+ getDpad: function (e) {
+ const t = this.getGamepad(a)
+ return t.buttons[r.DPAD_RIGHT]
+ ? e.set(
+ (t.buttons[r.DPAD_RIGHT].pressed ? 1 : 0) +
+ (t.buttons[r.DPAD_LEFT].pressed ? -1 : 0),
+ (t.buttons[r.DPAD_UP].pressed ? -1 : 0) + (t.buttons[r.DPAD_DOWN].pressed ? 1 : 0),
+ )
+ : e.set(0, 0)
+ },
+ isConnected: function () {
+ const e = this.getGamepad(a)
+ return !(!e || !e.connected)
+ },
+ getID: function () {
+ return this.getGamepad(a).id
+ },
+ })
+ },
+ 2406: function (e, t, n) {
+ n(3386), n(5062), n(2250), n(9048), n(3819), n(9893)
+ },
+ 2250: function (e, t, n) {
+ n(7454)
+ const r = window.KeyboardEvent
+ e.exports = AFRAME.registerComponent('keyboard-controls', {
+ schema: { enabled: { default: !0 }, debug: { default: !1 } },
+ init: function () {
+ ;(this.dVelocity = new THREE.Vector3()),
+ (this.localKeys = {}),
+ (this.listeners = {
+ keydown: this.onKeyDown.bind(this),
+ keyup: this.onKeyUp.bind(this),
+ blur: this.onBlur.bind(this),
+ }),
+ this.attachEventListeners()
+ },
+ isVelocityActive: function () {
+ return this.data.enabled && !!Object.keys(this.getKeys()).length
+ },
+ getVelocityDelta: function () {
+ const e = this.data,
+ t = this.getKeys()
+ return (
+ this.dVelocity.set(0, 0, 0),
+ e.enabled &&
+ ((t.KeyW || t.ArrowUp) && (this.dVelocity.z -= 1),
+ (t.KeyA || t.ArrowLeft) && (this.dVelocity.x -= 1),
+ (t.KeyS || t.ArrowDown) && (this.dVelocity.z += 1),
+ (t.KeyD || t.ArrowRight) && (this.dVelocity.x += 1)),
+ this.dVelocity.clone()
+ )
+ },
+ play: function () {
+ this.attachEventListeners()
+ },
+ pause: function () {
+ this.removeEventListeners()
+ },
+ remove: function () {
+ this.pause()
+ },
+ attachEventListeners: function () {
+ window.addEventListener('keydown', this.listeners.keydown, !1),
+ window.addEventListener('keyup', this.listeners.keyup, !1),
+ window.addEventListener('blur', this.listeners.blur, !1)
+ },
+ removeEventListeners: function () {
+ window.removeEventListener('keydown', this.listeners.keydown),
+ window.removeEventListener('keyup', this.listeners.keyup),
+ window.removeEventListener('blur', this.listeners.blur)
+ },
+ onKeyDown: function (e) {
+ AFRAME.utils.shouldCaptureKeyEvent(e) && ((this.localKeys[e.code] = !0), this.emit(e))
+ },
+ onKeyUp: function (e) {
+ AFRAME.utils.shouldCaptureKeyEvent(e) && (delete this.localKeys[e.code], this.emit(e))
+ },
+ onBlur: function () {
+ for (let e in this.localKeys) this.localKeys.hasOwnProperty(e) && delete this.localKeys[e]
+ },
+ emit: function (e) {
+ '__keyboard-controls-proxy' in e && this.el.emit(e.type, e),
+ this.el.emit(e.type + ':' + e.code, new r(e.type, e)),
+ this.data.debug && console.log(e.type + ':' + e.code)
+ },
+ isPressed: function (e) {
+ return e in this.getKeys()
+ },
+ getKeys: function () {
+ return this.isProxied()
+ ? this.el.sceneEl.components['proxy-controls'].getKeyboard()
+ : this.localKeys
+ },
+ isProxied: function () {
+ const e = this.el.sceneEl.components['proxy-controls']
+ return e && e.isConnected()
+ },
+ })
+ },
+ 3819: function (e) {
+ const t = '-controls'
+ e.exports = AFRAME.registerComponent('movement-controls', {
+ dependencies: ['rotation'],
+ schema: {
+ enabled: { default: !0 },
+ controls: { default: ['gamepad', 'trackpad', 'keyboard', 'touch'] },
+ speed: { default: 0.3, min: 0 },
+ fly: { default: !1 },
+ constrainToNavMesh: { default: !1 },
+ camera: { default: '[movement-controls] [camera]', type: 'selector' },
+ },
+ init: function () {
+ const e = this.el
+ ;(this.velocityCtrl = null),
+ (this.velocity = new THREE.Vector3()),
+ (this.heading = new THREE.Quaternion()),
+ (this.navGroup = null),
+ (this.navNode = null),
+ e.sceneEl.hasLoaded
+ ? this.injectControls()
+ : e.sceneEl.addEventListener('loaded', this.injectControls.bind(this))
+ },
+ update: function (e) {
+ const t = this.el,
+ n = this.data,
+ r = t.sceneEl.systems.nav
+ t.sceneEl.hasLoaded && this.injectControls(),
+ r &&
+ n.constrainToNavMesh !== e.constrainToNavMesh &&
+ (n.constrainToNavMesh ? r.addAgent(this) : r.removeAgent(this))
+ },
+ injectControls: function () {
+ const e = this.data
+ var n
+ for (let r = 0; r < e.controls.length; r++)
+ (n = e.controls[r] + t), this.el.components[n] || this.el.setAttribute(n, '')
+ },
+ updateNavLocation: function () {
+ ;(this.navGroup = null), (this.navNode = null)
+ },
+ tick: (function () {
+ const e = new THREE.Vector3(),
+ t = new THREE.Vector3(),
+ n = new THREE.Vector3()
+ return function (r, i) {
+ if (!i) return
+ const o = this.el,
+ a = this.data
+ if (!a.enabled) return
+ this.updateVelocityCtrl()
+ const s = this.velocityCtrl,
+ l = this.velocity
+ if (s)
+ if (
+ (i / 1e3 > 0.2 ? l.set(0, 0, 0) : this.updateVelocity(i),
+ a.constrainToNavMesh && !1 !== s.isNavMeshConstrained)
+ ) {
+ if (l.lengthSq() < 1e-5) return
+ e.copy(o.object3D.position),
+ t
+ .copy(l)
+ .multiplyScalar(i / 1e3)
+ .add(e)
+ const r = o.sceneEl.systems.nav
+ ;(this.navGroup = null === this.navGroup ? r.getGroup(e) : this.navGroup),
+ (this.navNode = this.navNode || r.getNode(e, this.navGroup)),
+ (this.navNode = r.clampStep(e, t, this.navGroup, this.navNode, n)),
+ o.object3D.position.copy(n)
+ } else
+ o.hasAttribute('velocity')
+ ? o.setAttribute('velocity', l)
+ : ((o.object3D.position.x += (l.x * i) / 1e3),
+ (o.object3D.position.y += (l.y * i) / 1e3),
+ (o.object3D.position.z += (l.z * i) / 1e3))
+ }
+ })(),
+ updateVelocityCtrl: function () {
+ const e = this.data
+ if (e.enabled) {
+ for (let n = 0, r = e.controls.length; n < r; n++) {
+ const r = this.el.components[e.controls[n] + t]
+ if (r && r.isVelocityActive()) return void (this.velocityCtrl = r)
+ }
+ this.velocityCtrl = null
+ }
+ },
+ updateVelocity: (function () {
+ const e = new THREE.Vector2(),
+ t = new THREE.Quaternion()
+ return function (n) {
+ let r
+ const i = this.el,
+ o = this.velocityCtrl,
+ a = this.velocity,
+ s = this.data
+ if (o) {
+ if (!o.getVelocityDelta) {
+ if (o.getVelocity) return void a.copy(o.getVelocity())
+ if (o.getPositionDelta)
+ return void a.copy(o.getPositionDelta(n).multiplyScalar(1e3 / n))
+ throw new Error('Incompatible movement controls: ', o)
+ }
+ r = o.getVelocityDelta(n)
+ }
+ if (
+ (i.hasAttribute('velocity') &&
+ !s.constrainToNavMesh &&
+ a.copy(this.el.getAttribute('velocity')),
+ r && s.enabled)
+ ) {
+ const n = s.camera
+ t.copy(n.object3D.quaternion),
+ t.premultiply(i.object3D.quaternion),
+ r.applyQuaternion(t)
+ const o = r.length()
+ s.fly
+ ? (a.copy(r), a.multiplyScalar(16.66667 * this.data.speed))
+ : (e.set(r.x, r.z),
+ e.setLength(o * this.data.speed * 16.66667),
+ (a.x = e.x),
+ (a.z = e.y))
+ }
+ }
+ })(),
+ })
+ },
+ 9048: function (e) {
+ e.exports = AFRAME.registerComponent('touch-controls', {
+ schema: { enabled: { default: !0 }, reverseEnabled: { default: !0 } },
+ init: function () {
+ ;(this.dVelocity = new THREE.Vector3()), this.bindMethods(), (this.direction = 0)
+ },
+ play: function () {
+ this.addEventListeners()
+ },
+ pause: function () {
+ this.removeEventListeners(), this.dVelocity.set(0, 0, 0)
+ },
+ remove: function () {
+ this.pause()
+ },
+ addEventListeners: function () {
+ const e = this.el.sceneEl,
+ t = e.canvas
+ t
+ ? (t.addEventListener('touchstart', this.onTouchStart),
+ t.addEventListener('touchend', this.onTouchEnd))
+ : e.addEventListener('render-target-loaded', this.addEventListeners.bind(this))
+ },
+ removeEventListeners: function () {
+ const e = this.el.sceneEl && this.el.sceneEl.canvas
+ e &&
+ (e.removeEventListener('touchstart', this.onTouchStart),
+ e.removeEventListener('touchend', this.onTouchEnd))
+ },
+ isVelocityActive: function () {
+ return this.data.enabled && !!this.direction
+ },
+ getVelocityDelta: function () {
+ return (this.dVelocity.z = this.direction), this.dVelocity.clone()
+ },
+ bindMethods: function () {
+ ;(this.onTouchStart = this.onTouchStart.bind(this)),
+ (this.onTouchEnd = this.onTouchEnd.bind(this))
+ },
+ onTouchStart: function (e) {
+ ;(this.direction = -1),
+ this.data.reverseEnabled && 2 === e.touches.length && (this.direction = 1),
+ e.preventDefault()
+ },
+ onTouchEnd: function (e) {
+ ;(this.direction = 0), e.preventDefault()
+ },
+ })
+ },
+ 9893: function (e) {
+ e.exports = AFRAME.registerComponent('trackpad-controls', {
+ schema: {
+ enabled: { default: !0 },
+ enableNegX: { default: !0 },
+ enablePosX: { default: !0 },
+ enableNegZ: { default: !0 },
+ enablePosZ: { default: !0 },
+ mode: { default: 'touch', oneOf: ['swipe', 'touch', 'press'] },
+ },
+ init: function () {
+ ;(this.dVelocity = new THREE.Vector3()),
+ (this.zVel = 0),
+ (this.xVel = 0),
+ this.bindMethods()
+ },
+ play: function () {
+ this.addEventListeners()
+ },
+ pause: function () {
+ this.removeEventListeners(), this.dVelocity.set(0, 0, 0)
+ },
+ remove: function () {
+ this.pause()
+ },
+ addEventListeners: function () {
+ const e = this.data,
+ t = this.el.sceneEl
+ switch ((t.addEventListener('axismove', this.onAxisMove), e.mode)) {
+ case 'swipe':
+ case 'touch':
+ t.addEventListener('trackpadtouchstart', this.onTouchStart),
+ t.addEventListener('trackpadtouchend', this.onTouchEnd)
+ break
+ case 'press':
+ t.addEventListener('trackpaddown', this.onTouchStart),
+ t.addEventListener('trackpadup', this.onTouchEnd)
+ }
+ },
+ removeEventListeners: function () {
+ const e = this.el.sceneEl
+ e.removeEventListener('axismove', this.onAxisMove),
+ e.removeEventListener('trackpadtouchstart', this.onTouchStart),
+ e.removeEventListener('trackpadtouchend', this.onTouchEnd),
+ e.removeEventListener('trackpaddown', this.onTouchStart),
+ e.removeEventListener('trackpadup', this.onTouchEnd)
+ },
+ isVelocityActive: function () {
+ return this.data.enabled && this.isMoving
+ },
+ getVelocityDelta: function () {
+ return (
+ (this.dVelocity.z = this.isMoving ? -this.zVel : 1),
+ (this.dVelocity.x = this.isMoving ? this.xVel : 1),
+ this.dVelocity.clone()
+ )
+ },
+ bindMethods: function () {
+ ;(this.onTouchStart = this.onTouchStart.bind(this)),
+ (this.onTouchEnd = this.onTouchEnd.bind(this)),
+ (this.onAxisMove = this.onAxisMove.bind(this))
+ },
+ onTouchStart: function (e) {
+ switch (this.data.mode) {
+ case 'swipe':
+ ;(this.canRecordAxis = !0), (this.startingAxisData = [])
+ break
+ case 'touch':
+ case 'press':
+ this.isMoving = !0
+ }
+ e.preventDefault()
+ },
+ onTouchEnd: function (e) {
+ 'swipe' == this.data.mode && (this.startingAxisData = []),
+ (this.isMoving = !1),
+ e.preventDefault()
+ },
+ onAxisMove: function (e) {
+ switch (this.data.mode) {
+ case 'swipe':
+ return this.handleSwipeAxis(e)
+ case 'touch':
+ case 'press':
+ return this.handleTouchAxis(e)
+ }
+ },
+ handleSwipeAxis: function (e) {
+ const t = this.data,
+ n = e.detail.axis
+ if (
+ (0 === this.startingAxisData.length &&
+ this.canRecordAxis &&
+ ((this.canRecordAxis = !1),
+ (this.startingAxisData[0] = n[0]),
+ (this.startingAxisData[1] = n[1])),
+ this.startingAxisData.length > 0)
+ ) {
+ let e = 0,
+ r = 0
+ t.enableNegX && n[0] < this.startingAxisData[0] && (e = -1),
+ t.enablePosX && n[0] > this.startingAxisData[0] && (e = 1),
+ t.enablePosZ && n[1] > this.startingAxisData[1] && (r = -1),
+ t.enableNegZ && n[1] < this.startingAxisData[1] && (r = 1)
+ const i = Math.abs(this.startingAxisData[1] - n[1])
+ Math.abs(this.startingAxisData[0] - n[0]) > i
+ ? ((this.zVel = 0), (this.xVel = e), (this.isMoving = !0))
+ : ((this.xVel = 0), (this.zVel = r), (this.isMoving = !0))
+ }
+ },
+ handleTouchAxis: function (e) {
+ const t = this.data,
+ n = e.detail.axis
+ let r = 0,
+ i = 0
+ t.enableNegX && n[0] < 0 && (r = -1),
+ t.enablePosX && n[0] > 0 && (r = 1),
+ t.enablePosZ && n[1] > 0 && (i = -1),
+ t.enableNegZ && n[1] < 0 && (i = 1),
+ Math.abs(n[0]) > Math.abs(n[1])
+ ? ((this.zVel = 0), (this.xVel = r))
+ : ((this.xVel = 0), (this.zVel = i))
+ },
+ })
+ },
+ 6591: function (e) {
+ const t = { once: THREE.LoopOnce, repeat: THREE.LoopRepeat, pingpong: THREE.LoopPingPong }
+ function n(e) {
+ return e.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&')
+ }
+ e.exports = AFRAME.registerComponent('animation-mixer', {
+ schema: {
+ clip: { default: '*' },
+ duration: { default: 0 },
+ clampWhenFinished: { default: !1, type: 'boolean' },
+ crossFadeDuration: { default: 0 },
+ loop: { default: 'repeat', oneOf: Object.keys(t) },
+ repetitions: { default: 1 / 0, min: 0 },
+ timeScale: { default: 1 },
+ },
+ init: function () {
+ ;(this.model = null), (this.mixer = null), (this.activeActions = [])
+ const e = this.el.getObject3D('mesh')
+ e
+ ? this.load(e)
+ : this.el.addEventListener('model-loaded', (e) => {
+ this.load(e.detail.model)
+ })
+ },
+ load: function (e) {
+ const t = this.el
+ ;(this.model = e),
+ (this.mixer = new THREE.AnimationMixer(e)),
+ this.mixer.addEventListener('loop', (e) => {
+ t.emit('animation-loop', { action: e.action, loopDelta: e.loopDelta })
+ }),
+ this.mixer.addEventListener('finished', (e) => {
+ t.emit('animation-finished', { action: e.action, direction: e.direction })
+ }),
+ this.data.clip && this.update({})
+ },
+ remove: function () {
+ this.mixer && this.mixer.stopAllAction()
+ },
+ update: function (e) {
+ if (!e) return
+ const n = this.data,
+ r = AFRAME.utils.diff(n, e)
+ if ('clip' in r) return this.stopAction(), void (n.clip && this.playAction())
+ this.activeActions.forEach((e) => {
+ 'duration' in r && n.duration && e.setDuration(n.duration),
+ 'clampWhenFinished' in r && (e.clampWhenFinished = n.clampWhenFinished),
+ ('loop' in r || 'repetitions' in r) && e.setLoop(t[n.loop], n.repetitions),
+ 'timeScale' in r && e.setEffectiveTimeScale(n.timeScale)
+ })
+ },
+ stopAction: function () {
+ const e = this.data
+ for (let t = 0; t < this.activeActions.length; t++)
+ e.crossFadeDuration
+ ? this.activeActions[t].fadeOut(e.crossFadeDuration)
+ : this.activeActions[t].stop()
+ this.activeActions.length = 0
+ },
+ playAction: function () {
+ if (!this.mixer) return
+ const e = this.model,
+ r = this.data,
+ i = e.animations || (e.geometry || {}).animations || []
+ if (!i.length) return
+ const o = ((a = r.clip), new RegExp('^' + a.split(/\*+/).map(n).join('.*') + '$'))
+ var a
+ for (let n, s = 0; (n = i[s]); s++)
+ if (n.name.match(o)) {
+ const i = this.mixer.clipAction(n, e)
+ ;(i.enabled = !0),
+ (i.clampWhenFinished = r.clampWhenFinished),
+ r.duration && i.setDuration(r.duration),
+ 1 !== r.timeScale && i.setEffectiveTimeScale(r.timeScale),
+ i.setLoop(t[r.loop], r.repetitions).fadeIn(r.crossFadeDuration).play(),
+ this.activeActions.push(i)
+ }
+ },
+ tick: function (e, t) {
+ this.mixer && !isNaN(t) && this.mixer.update(t / 1e3)
+ },
+ })
+ },
+ 2290: function (e, t, n) {
+ ;(THREE.ColladaLoader = n(203)),
+ (e.exports.Component = AFRAME.registerComponent('collada-model-legacy', {
+ schema: { type: 'asset' },
+ init: function () {
+ ;(this.model = null), (this.loader = new THREE.ColladaLoader())
+ },
+ update: function () {
+ var e = this,
+ t = this.el,
+ n = this.data,
+ r = this.el.sceneEl.systems.renderer
+ n &&
+ (this.remove(),
+ this.loader.load(n, function (n) {
+ ;(e.model = n.scene),
+ e.model.traverse(function (e) {
+ if (e.isMesh) {
+ var t = e.material
+ t.color && r.applyColorCorrection(t.color),
+ t.map && r.applyColorCorrection(t.map),
+ t.emissive && r.applyColorCorrection(t.emissive),
+ t.emissiveMap && r.applyColorCorrection(t.emissiveMap)
+ }
+ }),
+ t.setObject3D('mesh', e.model),
+ t.emit('model-loaded', { format: 'collada', model: e.model })
+ }))
+ },
+ remove: function () {
+ this.model && this.el.removeObject3D('mesh')
+ },
+ }))
+ },
+ 5310: function (e, t, n) {
+ ;(THREE.FBXLoader = n(9434)),
+ (e.exports = AFRAME.registerComponent('fbx-model', {
+ schema: { src: { type: 'asset' }, crossorigin: { default: '' } },
+ init: function () {
+ this.model = null
+ },
+ update: function () {
+ const e = this.data
+ if (!e.src) return
+ this.remove()
+ const t = new THREE.FBXLoader()
+ e.crossorigin && t.setCrossOrigin(e.crossorigin), t.load(e.src, this.load.bind(this))
+ },
+ load: function (e) {
+ ;(this.model = e),
+ this.el.setObject3D('mesh', e),
+ this.el.emit('model-loaded', { format: 'fbx', model: e })
+ },
+ remove: function () {
+ this.model && this.el.removeObject3D('mesh')
+ },
+ }))
+ },
+ 8837: function (e, t, n) {
+ const r = n(4657)(),
+ i = (function () {
+ let e
+ return function () {
+ return (
+ (e =
+ e ||
+ r(
+ 'https://cdn.jsdelivr.net/gh/mrdoob/three.js@r86/examples/js/loaders/GLTFLoader.js',
+ )),
+ e
+ )
+ }
+ })()
+ e.exports = AFRAME.registerComponent('gltf-model-legacy', {
+ schema: { type: 'model' },
+ init: function () {
+ ;(this.model = null),
+ (this.loader = null),
+ (this.loaderPromise = i().then(() => {
+ ;(this.loader = new THREE.GLTFLoader()), this.loader.setCrossOrigin('Anonymous')
+ }))
+ },
+ update: function () {
+ const e = this,
+ t = this.el,
+ n = this.data
+ n &&
+ (this.remove(),
+ this.loaderPromise.then(() => {
+ this.loader.load(n, function (n) {
+ ;(e.model = n.scene),
+ (e.model.animations = n.animations),
+ t.setObject3D('mesh', e.model),
+ t.emit('model-loaded', { format: 'gltf', model: e.model })
+ })
+ }))
+ },
+ remove: function () {
+ this.model && this.el.removeObject3D('mesh')
+ },
+ })
+ },
+ 9874: function (e, t, n) {
+ n(6591), n(2290), n(5310), n(8837), n(171)
+ },
+ 171: function (e) {
+ e.exports = AFRAME.registerComponent('object-model', {
+ schema: { src: { type: 'asset' }, crossorigin: { default: '' } },
+ init: function () {
+ this.model = null
+ },
+ update: function () {
+ let e
+ const t = this.data
+ t.src &&
+ (this.remove(),
+ (e = new THREE.ObjectLoader()),
+ t.crossorigin && e.setCrossOrigin(t.crossorigin),
+ e.load(t.src, (e) => {
+ e.traverse((e) => {
+ e instanceof THREE.SkinnedMesh &&
+ e.material &&
+ (e.material.skinning = !!((e.geometry && e.geometry.bones) || []).length)
+ }),
+ this.load(e)
+ }))
+ },
+ load: function (e) {
+ ;(this.model = e),
+ this.el.setObject3D('mesh', e),
+ this.el.emit('model-loaded', { format: 'json', model: e })
+ },
+ remove: function () {
+ this.model && this.el.removeObject3D('mesh')
+ },
+ })
+ },
+ 7642: function (e) {
+ e.exports = AFRAME.registerComponent('checkpoint', {
+ schema: { offset: { default: { x: 0, y: 0, z: 0 }, type: 'vec3' } },
+ init: function () {
+ ;(this.active = !1),
+ (this.targetEl = null),
+ (this.fire = this.fire.bind(this)),
+ (this.offset = new THREE.Vector3())
+ },
+ update: function () {
+ this.offset.copy(this.data.offset)
+ },
+ play: function () {
+ this.el.addEventListener('click', this.fire)
+ },
+ pause: function () {
+ this.el.removeEventListener('click', this.fire)
+ },
+ remove: function () {
+ this.pause()
+ },
+ fire: function () {
+ const e = this.el.sceneEl.querySelector('[checkpoint-controls]')
+ if (!e) throw new Error('No `checkpoint-controls` component found.')
+ e.components['checkpoint-controls'].setCheckpoint(this.el)
+ },
+ getOffset: function () {
+ return this.offset.copy(this.data.offset)
+ },
+ })
+ },
+ 4795: function (e) {
+ function t(e, t, n, r) {
+ e &&
+ ((t = t || []),
+ e.traverse((e) => {
+ if (!e.isMesh) return
+ var i
+ ;((i = e.material)
+ ? Array.isArray(i)
+ ? i
+ : i.materials
+ ? i.materials
+ : [i]
+ : []
+ ).forEach((e) => {
+ ;(e && !('envMap' in e)) ||
+ (t.length && -1 === t.indexOf(e.name)) ||
+ ((e.envMap = n), (e.reflectivity = r), (e.needsUpdate = !0))
+ })
+ }))
+ }
+ e.exports = AFRAME.registerComponent('cube-env-map', {
+ multiple: !0,
+ schema: {
+ path: { default: '' },
+ extension: { default: 'jpg', oneOf: ['jpg', 'png'] },
+ format: { default: 'RGBFormat', oneOf: ['RGBFormat', 'RGBAFormat'] },
+ enableBackground: { default: !1 },
+ reflectivity: { default: 1, min: 0, max: 1 },
+ materials: { default: [] },
+ },
+ init: function () {
+ const e = this.data
+ ;(this.texture = new THREE.CubeTextureLoader().load([
+ e.path + 'posx.' + e.extension,
+ e.path + 'negx.' + e.extension,
+ e.path + 'posy.' + e.extension,
+ e.path + 'negy.' + e.extension,
+ e.path + 'posz.' + e.extension,
+ e.path + 'negz.' + e.extension,
+ ])),
+ (this.texture.format = THREE[e.format]),
+ (this.object3dsetHandler = () => {
+ const e = this.el.getObject3D('mesh'),
+ n = this.data
+ t(e, n.materials, this.texture, n.reflectivity)
+ }),
+ this.el.addEventListener('object3dset', this.object3dsetHandler)
+ },
+ update: function (e) {
+ const n = this.data,
+ r = this.el.getObject3D('mesh')
+ let i = [],
+ o = []
+ if (
+ (n.materials.length &&
+ (e.materials
+ ? ((i = n.materials.filter((t) => !e.materials.includes(t))),
+ (o = e.materials.filter((e) => !n.materials.includes(e))))
+ : (i = n.materials)),
+ i.length && t(r, i, this.texture, n.reflectivity),
+ o.length && t(r, o, null, 1),
+ e.materials && n.reflectivity !== e.reflectivity)
+ ) {
+ const i = n.materials.filter((t) => e.materials.includes(t))
+ i.length && t(r, i, this.texture, n.reflectivity)
+ }
+ this.data.enableBackground && !e.enableBackground
+ ? this.setBackground(this.texture)
+ : !this.data.enableBackground && e.enableBackground && this.setBackground(null)
+ },
+ remove: function () {
+ this.el.removeEventListener('object3dset', this.object3dsetHandler)
+ const e = this.el.getObject3D('mesh'),
+ n = this.data
+ t(e, n.materials, null, 1), n.enableBackground && this.setBackground(null)
+ },
+ setBackground: function (e) {
+ this.el.sceneEl.object3D.background = e
+ },
+ })
+ },
+ 9511: function (e) {
+ e.exports = AFRAME.registerComponent('grab', {
+ init: function () {
+ ;(this.system = this.el.sceneEl.systems.physics),
+ (this.GRABBED_STATE = 'grabbed'),
+ (this.grabbing = !1),
+ (this.hitEl = null),
+ (this.physics = this.el.sceneEl.systems.physics),
+ (this.constraint = null),
+ (this.onHit = this.onHit.bind(this)),
+ (this.onGripOpen = this.onGripOpen.bind(this)),
+ (this.onGripClose = this.onGripClose.bind(this))
+ },
+ play: function () {
+ const e = this.el
+ e.addEventListener('hit', this.onHit),
+ e.addEventListener('gripdown', this.onGripClose),
+ e.addEventListener('gripup', this.onGripOpen),
+ e.addEventListener('trackpaddown', this.onGripClose),
+ e.addEventListener('trackpadup', this.onGripOpen),
+ e.addEventListener('triggerdown', this.onGripClose),
+ e.addEventListener('triggerup', this.onGripOpen)
+ },
+ pause: function () {
+ const e = this.el
+ e.removeEventListener('hit', this.onHit),
+ e.removeEventListener('gripdown', this.onGripClose),
+ e.removeEventListener('gripup', this.onGripOpen),
+ e.removeEventListener('trackpaddown', this.onGripClose),
+ e.removeEventListener('trackpadup', this.onGripOpen),
+ e.removeEventListener('triggerdown', this.onGripClose),
+ e.removeEventListener('triggerup', this.onGripOpen)
+ },
+ onGripClose: function () {
+ this.grabbing = !0
+ },
+ onGripOpen: function () {
+ const e = this.hitEl
+ ;(this.grabbing = !1),
+ e &&
+ (e.removeState(this.GRABBED_STATE),
+ (this.hitEl = void 0),
+ this.system.removeConstraint(this.constraint),
+ (this.constraint = null))
+ },
+ onHit: function (e) {
+ const t = e.detail.el
+ t &&
+ !t.is(this.GRABBED_STATE) &&
+ this.grabbing &&
+ !this.hitEl &&
+ (t.addState(this.GRABBED_STATE),
+ (this.hitEl = t),
+ (this.constraint = new CANNON.LockConstraint(this.el.body, t.body)),
+ this.system.addConstraint(this.constraint))
+ },
+ })
+ },
+ 9236: function (e, t, n) {
+ n(7642), n(4795), n(9511), n(765), n(837), n(8310), n(8240), n(1790)
+ },
+ 765: function (e) {
+ e.exports = AFRAME.registerComponent('jump-ability', {
+ dependencies: ['velocity'],
+ schema: {
+ on: { default: 'keydown:Space gamepadbuttondown:0' },
+ playerHeight: { default: 1.764 },
+ maxJumps: { default: 1 },
+ distance: { default: 5 },
+ debug: { default: !1 },
+ },
+ init: function () {
+ ;(this.velocity = 0), (this.numJumps = 0)
+ const e = this.beginJump.bind(this),
+ t = this.data.on.split(' ')
+ this.bindings = {}
+ for (let n = 0; n < t.length; n++)
+ (this.bindings[t[n]] = e), this.el.addEventListener(t[n], e)
+ ;(this.bindings.collide = this.onCollide.bind(this)),
+ this.el.addEventListener('collide', this.bindings.collide)
+ },
+ remove: function () {
+ for (var e in this.bindings)
+ this.bindings.hasOwnProperty(e) &&
+ (this.el.removeEventListener(e, this.bindings[e]), delete this.bindings[e])
+ this.el.removeEventListener('collide', this.bindings.collide),
+ delete this.bindings.collide
+ },
+ beginJump: function () {
+ if (this.numJumps < this.data.maxJumps) {
+ const e = this.data,
+ t = Math.sqrt(-2 * e.distance * -24.8),
+ n = this.el.getAttribute('velocity')
+ this.el.setAttribute('velocity', { x: n.x, y: t, z: n.z }),
+ this.numJumps++,
+ this.el.emit('jumpstart')
+ }
+ },
+ onCollide: function () {
+ this.numJumps > 0 && this.el.emit('jumpend'), (this.numJumps = 0)
+ },
+ })
+ },
+ 837: function (e) {
+ const t = 1e-6
+ e.exports = AFRAME.registerComponent('kinematic-body', {
+ dependencies: ['velocity'],
+ schema: {
+ mass: { default: 5 },
+ radius: { default: 1.3 },
+ linearDamping: { default: 0.05 },
+ enableSlopes: { default: !0 },
+ enableJumps: { default: !1 },
+ },
+ init: function () {
+ ;(this.system = this.el.sceneEl.systems.physics), this.system.addComponent(this)
+ const e = this.el,
+ t = this.data,
+ n = new CANNON.Vec3().copy(e.object3D.getWorldPosition(new THREE.Vector3()))
+ ;(this.body = new CANNON.Body({
+ material: this.system.getMaterial('staticMaterial'),
+ position: n,
+ mass: t.mass,
+ linearDamping: t.linearDamping,
+ fixedRotation: !0,
+ })),
+ this.body.addShape(new CANNON.Sphere(t.radius), new CANNON.Vec3(0, t.radius, 0)),
+ (this.body.el = this.el),
+ (this.el.body = this.body),
+ this.system.addBody(this.body),
+ e.hasAttribute('wasd-controls') &&
+ console.warn(
+ '[kinematic-body] Not compatible with wasd-controls, use movement-controls.',
+ )
+ },
+ remove: function () {
+ this.system.removeBody(this.body), this.system.removeComponent(this), delete this.el.body
+ },
+ beforeStep: function (e, t) {
+ if (!t) return
+ const n = this.el,
+ r = this.data,
+ i = this.body
+ r.enableJumps || i.velocity.set(0, 0, 0), i.position.copy(n.getAttribute('position'))
+ },
+ step: (function () {
+ const e = new THREE.Vector3(),
+ n = new THREE.Vector3(),
+ r = new THREE.Vector3(),
+ i = new THREE.Vector3()
+ return function (o, a) {
+ if (!a) return
+ let s,
+ l,
+ u = this.body,
+ c = this.data,
+ d = !1,
+ f = -1 / 0,
+ h = this.system.getContacts()
+ ;(a = Math.min(a, 1e3 * this.system.data.maxInterval)),
+ i.set(0, 0, 0),
+ e.copy(this.el.getAttribute('velocity')),
+ u.velocity.copy(e)
+ for (var p, v = 0; (p = h[v]); v++)
+ if (p.enabled) {
+ if (u.id === p.bi.id) p.ni.negate(r)
+ else {
+ if (u.id !== p.bj.id) continue
+ r.copy(p.ni)
+ }
+ ;(d = u.velocity.dot(r) < -t),
+ d && r.y <= 0.5
+ ? e.projectOnPlane(r)
+ : r.y > 0.5 &&
+ ((s =
+ u.id === p.bi.id
+ ? Math.abs(p.rj.y + p.bj.position.y)
+ : Math.abs(p.ri.y + p.bi.position.y)),
+ s > f && ((f = s), i.copy(r), (l = u.id === p.bi.id ? p.bj : p.bi)))
+ }
+ n.copy(e).normalize(),
+ l && (!c.enableJumps || n.y < 0.5)
+ ? (c.enableSlopes
+ ? i.y < 1 - t && i.copy(this.raycastToGround(l, i))
+ : i.set(0, 1, 0),
+ e.projectOnPlane(i))
+ : this.system.driver.world &&
+ e.add(this.system.driver.world.gravity.scale((4 * a) / 1e3)),
+ u.velocity.copy(e),
+ this.el.setAttribute('velocity', u.velocity),
+ this.el.setAttribute('position', u.position)
+ }
+ })(),
+ raycastToGround: function (e, t) {
+ let n,
+ r,
+ i = this.body.position,
+ o = this.body.position.clone()
+ return (
+ (n = new CANNON.Ray(i, o)),
+ n._updateDirection(),
+ n.intersectBody(e),
+ n.hasHit ? ((r = n.result.hitNormalWorld), Math.abs(r.y) > Math.abs(t.y) ? r : t) : t
+ )
+ },
+ })
+ },
+ 8310: function (e) {
+ e.exports = AFRAME.registerComponent('mesh-smooth', {
+ init: function () {
+ this.el.addEventListener('model-loaded', (e) => {
+ e.detail.model.traverse((e) => {
+ e.isMesh && e.geometry.computeVertexNormals()
+ })
+ })
+ },
+ })
+ },
+ 8240: function (e) {
+ e.exports = AFRAME.registerComponent('normal-material', {
+ init: function () {
+ ;(this.material = new THREE.MeshNormalMaterial({ flatShading: !0 })),
+ (this.applyMaterial = this.applyMaterial.bind(this)),
+ this.el.addEventListener('object3dset', this.applyMaterial)
+ },
+ remove: function () {
+ this.el.removeEventListener('object3dset', this.applyMaterial)
+ },
+ applyMaterial: function () {
+ this.el.object3D.traverse((e) => {
+ e.isMesh && (e.material = this.material)
+ })
+ },
+ })
+ },
+ 1790: function (e) {
+ e.exports = AFRAME.registerComponent('sphere-collider', {
+ schema: {
+ objects: { default: '' },
+ state: { default: 'collided' },
+ radius: { default: 0.05 },
+ watch: { default: !0 },
+ },
+ init: function () {
+ ;(this.observer = null),
+ (this.els = []),
+ (this.collisions = []),
+ (this.handleHit = this.handleHit.bind(this)),
+ (this.handleHitEnd = this.handleHitEnd.bind(this))
+ },
+ remove: function () {
+ this.pause()
+ },
+ play: function () {
+ const e = this.el.sceneEl
+ this.data.watch &&
+ ((this.observer = new MutationObserver(this.update.bind(this, null))),
+ this.observer.observe(e, { childList: !0, subtree: !0 }))
+ },
+ pause: function () {
+ this.observer && (this.observer.disconnect(), (this.observer = null))
+ },
+ update: function () {
+ const e = this.data
+ let t
+ ;(t = e.objects ? this.el.sceneEl.querySelectorAll(e.objects) : this.el.sceneEl.children),
+ (this.els = Array.prototype.slice.call(t))
+ },
+ tick: (function () {
+ const e = new THREE.Vector3(),
+ t = new THREE.Vector3(),
+ n = new THREE.Vector3(),
+ r = new THREE.Vector3(),
+ i = new THREE.Box3(),
+ o = new Map()
+ return function () {
+ const a = this.el,
+ s = this.data,
+ l = a.getObject3D('mesh'),
+ u = []
+ let c
+ var d
+ l &&
+ (o.clear(),
+ a.object3D.getWorldPosition(e),
+ a.object3D.getWorldScale(n),
+ (c = s.radius * ((d = n), Math.max.apply(null, d.toArray()))),
+ this.els.forEach(function (n) {
+ let a, s, l, d
+ if (!n.isEntity) return
+ if (((s = n.getObject3D('mesh')), !s)) return
+ if (
+ (i.setFromObject(s).getSize(r),
+ (d = Math.max(r.x, r.y, r.z) / 2),
+ (a = Math.sqrt(2 * d * d)),
+ i.getCenter(t),
+ !a)
+ )
+ return
+ ;(l = e.distanceTo(t)), l < a + c && (u.push(n), o.set(n, l))
+ }),
+ u.sort((e, t) => (o.get(e) > o.get(t) ? 1 : -1)).forEach(this.handleHit),
+ 0 === u.length && a.emit('hit', { el: null }),
+ this.collisions.filter((e) => !o.has(e)).forEach(this.handleHitEnd),
+ (this.collisions = u))
+ }
+ })(),
+ handleHit: function (e) {
+ e.emit('hit'), e.addState(this.data.state), this.el.emit('hit', { el: e })
+ },
+ handleHitEnd: function (e) {
+ e.emit('hitend'), e.removeState(this.data.state), this.el.emit('hitend', { el: e })
+ },
+ })
+ },
+ 2578: function (e, t, n) {
+ n(8453), n(1250), n(1465)
+ },
+ 1250: function (e) {
+ e.exports = AFRAME.registerComponent('nav-agent', {
+ schema: { destination: { type: 'vec3' }, active: { default: !1 }, speed: { default: 2 } },
+ init: function () {
+ ;(this.system = this.el.sceneEl.systems.nav),
+ this.system.addAgent(this),
+ (this.group = null),
+ (this.path = []),
+ (this.raycaster = new THREE.Raycaster())
+ },
+ remove: function () {
+ this.system.removeAgent(this)
+ },
+ update: function () {
+ this.path.length = 0
+ },
+ updateNavLocation: function () {
+ ;(this.group = null), (this.path = [])
+ },
+ tick: (function () {
+ const e = new THREE.Vector3(),
+ t = new THREE.Vector3(),
+ n = new THREE.Vector3()
+ return function (r, i) {
+ const o = this.el,
+ a = this.data,
+ s = this.raycaster,
+ l = (a.speed * i) / 1e3
+ if (!a.active) return
+ if (!this.path.length) {
+ const t = this.el.object3D.position
+ ;(this.group = this.group || this.system.getGroup(t)),
+ (this.path = this.system.getPath(t, e.copy(a.destination), this.group) || []),
+ o.emit('navigation-start')
+ }
+ if (!this.path.length)
+ return (
+ console.warn('[nav] Unable to find path to %o.', a.destination),
+ this.el.setAttribute('nav-agent', { active: !1 }),
+ void o.emit('navigation-end')
+ )
+ const u = o.object3D.position,
+ c = this.path[0]
+ t.subVectors(c, u)
+ let d
+ if (t.length() < l) {
+ if ((this.path.shift(), !this.path.length))
+ return (
+ this.el.setAttribute('nav-agent', { active: !1 }), void o.emit('navigation-end')
+ )
+ n.copy(u), (d = this.path[0])
+ } else n.copy(t.setLength(l)).add(u), (d = c)
+ ;(d.y = u.y),
+ o.object3D.lookAt(d),
+ s.ray.origin.copy(n),
+ (s.ray.origin.y += 1.5),
+ (s.ray.direction.y = -1)
+ const f = s.intersectObject(this.system.getNavMesh())
+ f.length ? (t.subVectors(f[0].point, u), u.add(t.setLength(l))) : u.copy(n)
+ }
+ })(),
+ })
+ },
+ 8453: function (e) {
+ e.exports = AFRAME.registerComponent('nav-mesh', {
+ init: function () {
+ ;(this.system = this.el.sceneEl.systems.nav),
+ (this.hasLoadedNavMesh = !1),
+ this.el.addEventListener('object3dset', this.loadNavMesh.bind(this))
+ },
+ play: function () {
+ this.hasLoadedNavMesh || this.loadNavMesh()
+ },
+ loadNavMesh: function () {
+ const e = this.el.getObject3D('mesh'),
+ t = this.el.sceneEl.object3D
+ if (!e) return
+ let n
+ if (
+ (e.traverse((e) => {
+ e.isMesh && (n = e)
+ }),
+ !n)
+ )
+ return
+ const r = n.geometry.isBufferGeometry
+ ? new THREE.Geometry().fromBufferGeometry(n.geometry)
+ : n.geometry.clone()
+ t.updateMatrixWorld(),
+ r.applyMatrix(n.matrixWorld),
+ this.system.setNavMeshGeometry(r),
+ (this.hasLoadedNavMesh = !0)
+ },
+ })
+ },
+ 1465: function (e, t, n) {
+ const { Pathfinding: r } = n(6594),
+ i = new r(),
+ o = 'level'
+ e.exports = AFRAME.registerSystem('nav', {
+ init: function () {
+ ;(this.navMesh = null), (this.agents = new Set())
+ },
+ setNavMeshGeometry: function (e) {
+ ;(this.navMesh = new THREE.Mesh(e)),
+ i.setZoneData(o, r.createZone(e)),
+ Array.from(this.agents).forEach((e) => e.updateNavLocation())
+ },
+ getNavMesh: function () {
+ return this.navMesh
+ },
+ addAgent: function (e) {
+ this.agents.add(e)
+ },
+ removeAgent: function (e) {
+ this.agents.delete(e)
+ },
+ getPath: function (e, t, n) {
+ return this.navMesh ? i.findPath(e, t, o, n) : null
+ },
+ getGroup: function (e) {
+ return this.navMesh ? i.getGroup(o, e) : null
+ },
+ getNode: function (e, t) {
+ return this.navMesh ? i.getClosestNode(e, o, t, !0) : null
+ },
+ clampStep: function (e, t, n, r, a) {
+ return this.navMesh
+ ? r
+ ? i.clampStep(e, t, r, o, n, a)
+ : (a.copy(t), this.getNode(t, n))
+ : (a.copy(t), null)
+ },
+ })
+ },
+ 386: function (e) {
+ e.exports = AFRAME.registerPrimitive('a-grid', {
+ defaultComponents: {
+ geometry: { primitive: 'plane', width: 75, height: 75 },
+ rotation: { x: -90, y: 0, z: 0 },
+ material: {
+ src: 'url(https://cdn.jsdelivr.net/gh/donmccurdy/[email protected]/assets/grid.png)',
+ repeat: '75 75',
+ },
+ },
+ mappings: { width: 'geometry.width', height: 'geometry.height', src: 'material.src' },
+ })
+ },
+ 3535: function (e, t, n) {
+ const r = n(3471),
+ i = n(2667)
+ ;(e.exports.Primitive = AFRAME.registerPrimitive('a-hexgrid', {
+ defaultComponents: { hexgrid: {} },
+ mappings: { src: 'hexgrid.src' },
+ })),
+ (e.exports.Component = AFRAME.registerComponent('hexgrid', {
+ dependencies: ['material'],
+ schema: { src: { type: 'asset' } },
+ init: function () {
+ const e = this.data
+ e.src
+ ? fetch(e.src)
+ .then((e) => e.json())
+ .then((e) => this.addMesh(e))
+ : this.addMesh(i)
+ },
+ addMesh: function (e) {
+ const t = new r.HexGrid()
+ t.fromJSON(e)
+ const n = new r.Board(t)
+ n.generateTilemap(), this.el.setObject3D('mesh', n.group), this.addMaterial()
+ },
+ addMaterial: function () {
+ const e = (this.el.components.material || {}).material
+ e &&
+ this.el.object3D.traverse((t) => {
+ t.isMesh && (t.material = e)
+ })
+ },
+ remove: function () {
+ this.el.removeObject3D('mesh')
+ },
+ }))
+ },
+ 9307: function (e) {
+ ;(e.exports.Primitive = AFRAME.registerPrimitive('a-ocean', {
+ defaultComponents: { ocean: {}, rotation: { x: -90, y: 0, z: 0 } },
+ mappings: {
+ width: 'ocean.width',
+ depth: 'ocean.depth',
+ density: 'ocean.density',
+ amplitude: 'ocean.amplitude',
+ amplitudeVariance: 'ocean.amplitudeVariance',
+ speed: 'ocean.speed',
+ speedVariance: 'ocean.speedVariance',
+ color: 'ocean.color',
+ opacity: 'ocean.opacity',
+ },
+ })),
+ (e.exports.Component = AFRAME.registerComponent('ocean', {
+ schema: {
+ width: { default: 10, min: 0 },
+ depth: { default: 10, min: 0 },
+ density: { default: 10 },
+ amplitude: { default: 0.1 },
+ amplitudeVariance: { default: 0.3 },
+ speed: { default: 1 },
+ speedVariance: { default: 2 },
+ color: { default: '#7AD2F7', type: 'color' },
+ opacity: { default: 0.8 },
+ },
+ play: function () {
+ const e = this.el,
+ t = this.data
+ let n = e.components.material
+ const r = new THREE.PlaneGeometry(t.width, t.depth, t.density, t.density)
+ r.mergeVertices(), (this.waves = [])
+ for (let i, o = 0, a = r.vertices.length; o < a; o++)
+ (i = r.vertices[o]),
+ this.waves.push({
+ z: i.z,
+ ang: Math.random() * Math.PI * 2,
+ amp: t.amplitude + Math.random() * t.amplitudeVariance,
+ speed: (t.speed + Math.random() * t.speedVariance) / 1e3,
+ })
+ n ||
+ ((n = {}),
+ (n.material = new THREE.MeshPhongMaterial({
+ color: t.color,
+ transparent: t.opacity < 1,
+ opacity: t.opacity,
+ shading: THREE.FlatShading,
+ }))),
+ (this.mesh = new THREE.Mesh(r, n.material)),
+ e.setObject3D('mesh', this.mesh)
+ },
+ remove: function () {
+ this.el.removeObject3D('mesh')
+ },
+ tick: function (e, t) {
+ if (!t) return
+ const n = this.mesh.geometry.vertices
+ for (let r, i, o = 0; (r = n[o]); o++)
+ (i = this.waves[o]), (r.z = i.z + Math.sin(i.ang) * i.amp), (i.ang += i.speed * t)
+ this.mesh.geometry.verticesNeedUpdate = !0
+ },
+ }))
+ },
+ 699: function (e) {
+ ;(e.exports.Primitive = AFRAME.registerPrimitive('a-tube', {
+ defaultComponents: { tube: {} },
+ mappings: {
+ path: 'tube.path',
+ segments: 'tube.segments',
+ radius: 'tube.radius',
+ 'radial-segments': 'tube.radialSegments',
+ closed: 'tube.closed',
+ },
+ })),
+ (e.exports.Component = AFRAME.registerComponent('tube', {
+ schema: {
+ path: { default: [] },
+ segments: { default: 64 },
+ radius: { default: 1 },
+ radialSegments: { default: 8 },
+ closed: { default: !1 },
+ },
+ init: function () {
+ const e = this.el,
+ t = this.data
+ let n = e.components.material
+ if (!t.path.length)
+ return void console.error('[a-tube] `path` property expected but not found.')
+ const r = new THREE.CatmullRomCurve3(
+ t.path.map(function (e) {
+ return (
+ (e = e.split(' ')), new THREE.Vector3(Number(e[0]), Number(e[1]), Number(e[2]))
+ )
+ }),
+ ),
+ i = new THREE.TubeGeometry(r, t.segments, t.radius, t.radialSegments, t.closed)
+ n || ((n = {}), (n.material = new THREE.MeshPhongMaterial())),
+ (this.mesh = new THREE.Mesh(i, n.material)),
+ this.el.setObject3D('mesh', this.mesh)
+ },
+ update: function (e) {
+ Object.keys(e).length && (this.remove(), this.init())
+ },
+ remove: function () {
+ this.mesh && this.el.removeObject3D('mesh')
+ },
+ }))
+ },
+ 6699: function (e, t, n) {
+ n(386), n(3535), n(9307), n(699)
+ },
+ 1359: function (e, t, n) {
+ if ('undefined' === typeof AFRAME)
+ throw new Error('Component attempted to register before AFRAME was available.')
+ let r = n(2539)
+ 'default' in r && (r = r.default)
+ let i = n(1398)
+ 'default' in i && (i = i.default)
+ const o = function (e) {
+ return 'string' === typeof e ? JSON.parse(e) : e
+ },
+ a = function (e) {
+ if ('function' === typeof e) return e
+ const t = eval
+ try {
+ return t('(' + e + ')')
+ } catch (n) {}
+ return null
+ },
+ s = function (e) {
+ return isNaN(parseFloat(e)) ? (a(e) ? a(e) : e) : parseFloat(e)
+ }
+ AFRAME.registerComponent('forcegraph', {
+ schema: {
+ jsonUrl: { type: 'string', default: '' },
+ nodes: { parse: o, default: [] },
+ links: { parse: o, default: [] },
+ numDimensions: { type: 'number', default: 3 },
+ dagMode: { type: 'string', default: '' },
+ dagLevelDistance: { type: 'number', default: 0 },
+ dagNodeFilter: { parse: a, function: () => !0 },
+ onDagError: { parse: a, default: void 0 },
+ nodeRelSize: { type: 'number', default: 4 },
+ nodeId: { type: 'string', default: 'id' },
+ nodeVal: { parse: s, default: 'val' },
+ nodeResolution: { type: 'number', default: 8 },
+ nodeVisibility: { parse: s, default: !0 },
+ nodeColor: { parse: s, default: 'color' },
+ nodeAutoColorBy: { parse: s, default: '' },
+ nodeOpacity: { type: 'number', default: 0.75 },
+ nodeThreeObject: { parse: s, default: null },
+ nodeThreeObjectExtend: { parse: s, default: !1 },
+ linkSource: { type: 'string', default: 'source' },
+ linkTarget: { type: 'string', default: 'target' },
+ linkVisibility: { parse: s, default: !0 },
+ linkColor: { parse: s, default: 'color' },
+ linkAutoColorBy: { parse: s, default: '' },
+ linkOpacity: { type: 'number', default: 0.2 },
+ linkWidth: { parse: s, default: 0 },
+ linkResolution: { type: 'number', default: 6 },
+ linkCurvature: { parse: s, default: 0 },
+ linkCurveRotation: { parse: s, default: 0 },
+ linkMaterial: { parse: s, default: null },
+ linkThreeObject: { parse: s, default: null },
+ linkThreeObjectExtend: { parse: s, default: !1 },
+ linkPositionUpdate: { parse: a, default: null },
+ linkDirectionalArrowLength: { parse: s, default: 0 },
+ linkDirectionalArrowColor: { parse: s, default: null },
+ linkDirectionalArrowRelPos: { parse: s, default: 0.5 },
+ linkDirectionalArrowResolution: { type: 'number', default: 8 },
+ linkDirectionalParticles: { parse: s, default: 0 },
+ linkDirectionalParticleSpeed: { parse: s, default: 0.01 },
+ linkDirectionalParticleWidth: { parse: s, default: 0.5 },
+ linkDirectionalParticleColor: { parse: s, default: null },
+ linkDirectionalParticleResolution: { type: 'number', default: 4 },
+ onNodeHover: { parse: a, default: () => {} },
+ onLinkHover: { parse: a, default: () => {} },
+ onNodeClick: { parse: a, default: () => {} },
+ onLinkClick: { parse: a, default: () => {} },
+ forceEngine: { type: 'string', default: 'd3' },
+ d3AlphaMin: { type: 'number', default: 0 },
+ d3AlphaDecay: { type: 'number', default: 0.0228 },
+ d3VelocityDecay: { type: 'number', default: 0.4 },
+ ngraphPhysics: { parse: o, default: null },
+ warmupTicks: { type: 'int', default: 0 },
+ cooldownTicks: { type: 'int', default: 1e18 },
+ cooldownTime: { type: 'int', default: 15e3 },
+ onEngineTick: { parse: a, default: function () {} },
+ onEngineStop: { parse: a, default: function () {} },
+ },
+ getGraphBbox: function () {
+ return this.forceGraph || (this.forceGraph = new i()), this.forceGraph.getGraphBbox()
+ },
+ emitParticle: function () {
+ this.forceGraph || (this.forceGraph = new i())
+ const e = this.forceGraph,
+ t = e.emitParticle.apply(e, arguments)
+ return t === e ? this : t
+ },
+ d3Force: function () {
+ this.forceGraph || (this.forceGraph = new i())
+ const e = this.forceGraph,
+ t = e.d3Force.apply(e, arguments)
+ return t === e ? this : t
+ },
+ d3ReheatSimulation: function () {
+ return this.forceGraph && this.forceGraph.d3ReheatSimulation(), this
+ },
+ refresh: function () {
+ return this.forceGraph && this.forceGraph.refresh(), this
+ },
+ init: function () {
+ const e = (this.state = {})
+ ;(e.infoEl = document.createElement('a-text')),
+ e.infoEl.setAttribute('position', '0 -0.1 -1'),
+ e.infoEl.setAttribute('width', 1),
+ e.infoEl.setAttribute('align', 'center'),
+ e.infoEl.setAttribute('color', 'lavender')
+ const t = document.querySelector('a-entity[camera], a-camera')
+ t.appendChild(e.infoEl),
+ (e.cameraObj = t.object3D.children.filter(function (e) {
+ return 'PerspectiveCamera' === e.type
+ })[0]),
+ this.el.sceneEl.addEventListener('camera-set-active', function (t) {
+ e.cameraObj = t.detail.cameraEl.components.camera.camera
+ }),
+ this.forceGraph || (this.forceGraph = new i()),
+ this.forceGraph
+ .onFinishUpdate(() => this.el.setObject3D('forcegraphGroup', this.forceGraph))
+ .onLoading(() => e.infoEl.setAttribute('value', 'Loading...'))
+ .onFinishLoading(() => e.infoEl.setAttribute('value', '')),
+ this.el.addEventListener('raycaster-intersected', (t) => (e.hoverDetail = t.detail)),
+ this.el.addEventListener(
+ 'raycaster-intersected-cleared',
+ (t) => (e.hoverDetail = t.detail),
+ ),
+ this.el.addEventListener(
+ 'click',
+ () =>
+ e.hoverObj &&
+ this.data[
+ 'on' + ('node' === e.hoverObj.__graphObjType ? 'Node' : 'Link') + 'Click'
+ ](e.hoverObj.__data),
+ )
+ },
+ remove: function () {
+ this.state.infoEl.remove(), this.el.removeObject3D('forcegraphGroup')
+ },
+ update: function (e) {
+ const t = this,
+ n = this.data,
+ r = AFRAME.utils.diff(n, e)
+ ;[
+ 'jsonUrl',
+ 'numDimensions',
+ 'dagMode',
+ 'dagLevelDistance',
+ 'dagNodeFilter',
+ 'onDagError',
+ 'nodeRelSize',
+ 'nodeId',
+ 'nodeVal',
+ 'nodeResolution',
+ 'nodeVisibility',
+ 'nodeColor',
+ 'nodeAutoColorBy',
+ 'nodeOpacity',
+ 'nodeThreeObject',
+ 'nodeThreeObjectExtend',
+ 'linkSource',
+ 'linkTarget',
+ 'linkVisibility',
+ 'linkColor',
+ 'linkAutoColorBy',
+ 'linkOpacity',
+ 'linkWidth',
+ 'linkResolution',
+ 'linkCurvature',
+ 'linkCurveRotation',
+ 'linkMaterial',
+ 'linkThreeObject',
+ 'linkThreeObjectExtend',
+ 'linkPositionUpdate',
+ 'linkDirectionalArrowLength',
+ 'linkDirectionalArrowColor',
+ 'linkDirectionalArrowRelPos',
+ 'linkDirectionalArrowResolution',
+ 'linkDirectionalParticles',
+ 'linkDirectionalParticleSpeed',
+ 'linkDirectionalParticleWidth',
+ 'linkDirectionalParticleColor',
+ 'linkDirectionalParticleResolution',
+ 'forceEngine',
+ 'd3AlphaMin',
+ 'd3AphaDecay',
+ 'd3VelocityDecay',
+ 'ngraphPhysics',
+ 'warmupTicks',
+ 'cooldownTicks',
+ 'cooldownTime',
+ 'onEngineTick',
+ 'onEngineStop',
+ ]
+ .filter(function (e) {
+ return e in r
+ })
+ .forEach(function (e) {
+ t.forceGraph[e]('' !== n[e] ? n[e] : null)
+ }),
+ ('nodes' in r || 'links' in r) &&
+ t.forceGraph.graphData({ nodes: n.nodes, links: n.links })
+ },
+ tick: function (e, t) {
+ const n = this.state,
+ r = this.data,
+ i = n.hoverDetail
+ ? n.hoverDetail.getIntersection
+ ? n.hoverDetail.getIntersection(this.el)
+ : n.hoverDetail.intersection || void 0
+ : void 0
+ let o = i ? i.object : void 0
+ for (; o && !o.hasOwnProperty('__graphObjType'); ) o = o.parent
+ if (o !== n.hoverObj) {
+ const e = n.hoverObj ? n.hoverObj.__graphObjType : null,
+ t = n.hoverObj ? n.hoverObj.__data : null,
+ i = o ? o.__graphObjType : null,
+ a = o ? o.__data : null
+ e && e !== i && r['on' + ('node' === e ? 'Node' : 'Link') + 'Hover'](null, t),
+ i && r['on' + ('node' === i ? 'Node' : 'Link') + 'Hover'](a, e === i ? t : null),
+ (n.hoverObj = o)
+ }
+ this.forceGraph.tickFrame()
+ },
+ })
+ },
+ 296: function (e) {
+ function t(e, t, n) {
+ var r, i, o, a, s
+ function l() {
+ var u = Date.now() - a
+ u < t && u >= 0
+ ? (r = setTimeout(l, t - u))
+ : ((r = null), n || ((s = e.apply(o, i)), (o = i = null)))
+ }
+ null == t && (t = 100)
+ var u = function () {
+ ;(o = this), (i = arguments), (a = Date.now())
+ var u = n && !r
+ return r || (r = setTimeout(l, t)), u && ((s = e.apply(o, i)), (o = i = null)), s
+ }
+ return (
+ (u.clear = function () {
+ r && (clearTimeout(r), (r = null))
+ }),
+ (u.flush = function () {
+ r && ((s = e.apply(o, i)), (o = i = null), clearTimeout(r), (r = null))
+ }),
+ u
+ )
+ }
+ ;(t.debounce = t), (e.exports = t)
+ },
+ 3879: function (e, t, n) {
+ var r = n(7236),
+ i = n(6189),
+ o = { float: 'cssFloat' },
+ a = n(3379)
+ function s(e, t, n) {
+ var s = o[t]
+ if (
+ ('undefined' === typeof s &&
+ (s = (function (e) {
+ var t = i(e),
+ n = r(t)
+ return (o[t] = o[e] = o[n] = n), n
+ })(t)),
+ s)
+ ) {
+ if (void 0 === n) return e.style[s]
+ e.style[s] = a(s, n)
+ }
+ }
+ function l(e, t) {
+ for (var n in t) t.hasOwnProperty(n) && s(e, n, t[n])
+ }
+ function u() {
+ 2 === arguments.length
+ ? 'string' === typeof arguments[1]
+ ? (arguments[0].style.cssText = arguments[1])
+ : l(arguments[0], arguments[1])
+ : s(arguments[0], arguments[1], arguments[2])
+ }
+ ;(e.exports = u),
+ (e.exports.set = u),
+ (e.exports.get = function (e, t) {
+ return Array.isArray(t)
+ ? t.reduce(function (t, n) {
+ return (t[n] = s(e, n || '')), t
+ }, {})
+ : s(e, t || '')
+ })
+ },
+ 3869: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ M: function () {
+ return p
+ },
+ })
+ var r = n(1439),
+ i = n(7294),
+ o = n(6717)
+ var a = n(8626),
+ s = n(5930),
+ l = 0
+ function u() {
+ var e = l
+ return l++, e
+ }
+ var c = function (e) {
+ var t = e.children,
+ n = e.initial,
+ r = e.isPresent,
+ o = e.onExitComplete,
+ l = e.custom,
+ c = e.presenceAffectsLayout,
+ f = (0, s.h)(d),
+ h = (0, s.h)(u),
+ p = (0, i.useMemo)(
+ function () {
+ return {
+ id: h,
+ initial: n,
+ isPresent: r,
+ custom: l,
+ onExitComplete: function (e) {
+ f.set(e, !0)
+ var t = !0
+ f.forEach(function (e) {
+ e || (t = !1)
+ }),
+ t && (null === o || void 0 === o || o())
+ },
+ register: function (e) {
+ return (
+ f.set(e, !1),
+ function () {
+ return f.delete(e)
+ }
+ )
+ },
+ }
+ },
+ c ? void 0 : [r],
+ )
+ return (
+ (0, i.useMemo)(
+ function () {
+ f.forEach(function (e, t) {
+ return f.set(t, !1)
+ })
+ },
+ [r],
+ ),
+ i.useEffect(
+ function () {
+ !r && !f.size && (null === o || void 0 === o || o())
+ },
+ [r],
+ ),
+ i.createElement(a.O.Provider, { value: p }, t)
+ )
+ }
+ function d() {
+ return new Map()
+ }
+ var f = n(9870)
+ function h(e) {
+ return e.key || ''
+ }
+ var p = function (e) {
+ var t = e.children,
+ n = e.custom,
+ a = e.initial,
+ s = void 0 === a || a,
+ l = e.onExitComplete,
+ u = e.exitBeforeEnter,
+ d = e.presenceAffectsLayout,
+ p = void 0 === d || d,
+ v = (function () {
+ var e = (0, i.useRef)(!1),
+ t = (0, r.CR)((0, i.useState)(0), 2),
+ n = t[0],
+ a = t[1]
+ return (
+ (0, o.z)(function () {
+ return (e.current = !0)
+ }),
+ (0, i.useCallback)(
+ function () {
+ !e.current && a(n + 1)
+ },
+ [n],
+ )
+ )
+ })(),
+ m = (0, i.useContext)(f.WH)
+ ;(0, f.Md)(m) && (v = m.forceUpdate)
+ var g = (0, i.useRef)(!0),
+ y = (function (e) {
+ var t = []
+ return (
+ i.Children.forEach(e, function (e) {
+ ;(0, i.isValidElement)(e) && t.push(e)
+ }),
+ t
+ )
+ })(t),
+ b = (0, i.useRef)(y),
+ w = (0, i.useRef)(new Map()).current,
+ x = (0, i.useRef)(new Set()).current
+ if (
+ ((function (e, t) {
+ e.forEach(function (e) {
+ var n = h(e)
+ t.set(n, e)
+ })
+ })(y, w),
+ g.current)
+ )
+ return (
+ (g.current = !1),
+ i.createElement(
+ i.Fragment,
+ null,
+ y.map(function (e) {
+ return i.createElement(
+ c,
+ { key: h(e), isPresent: !0, initial: !!s && void 0, presenceAffectsLayout: p },
+ e,
+ )
+ }),
+ )
+ )
+ for (
+ var E = (0, r.ev)([], (0, r.CR)(y)),
+ k = b.current.map(h),
+ T = y.map(h),
+ _ = k.length,
+ O = 0;
+ O < _;
+ O++
+ ) {
+ var C = k[O]
+ ;-1 === T.indexOf(C) ? x.add(C) : x.delete(C)
+ }
+ return (
+ u && x.size && (E = []),
+ x.forEach(function (e) {
+ if (-1 === T.indexOf(e)) {
+ var t = w.get(e)
+ if (t) {
+ var r = k.indexOf(e)
+ E.splice(
+ r,
+ 0,
+ i.createElement(
+ c,
+ {
+ key: h(t),
+ isPresent: !1,
+ onExitComplete: function () {
+ w.delete(e), x.delete(e)
+ var t = b.current.findIndex(function (t) {
+ return t.key === e
+ })
+ b.current.splice(t, 1), x.size || ((b.current = y), v(), l && l())
+ },
+ custom: n,
+ presenceAffectsLayout: p,
+ },
+ t,
+ ),
+ )
+ }
+ }
+ }),
+ (E = E.map(function (e) {
+ var t = e.key
+ return x.has(t)
+ ? e
+ : i.createElement(c, { key: h(e), isPresent: !0, presenceAffectsLayout: p }, e)
+ })),
+ (b.current = E),
+ i.createElement(
+ i.Fragment,
+ null,
+ x.size
+ ? E
+ : E.map(function (e) {
+ return (0, i.cloneElement)(e)
+ }),
+ )
+ )
+ }
+ },
+ 1053: function (e, t, n) {
+ 'use strict'
+ var r, i
+ n.d(t, {
+ z: function () {
+ return r
+ },
+ c: function () {
+ return i
+ },
+ }),
+ (function (e) {
+ ;(e[(e.Entering = 0)] = 'Entering'),
+ (e[(e.Present = 1)] = 'Present'),
+ (e[(e.Exiting = 2)] = 'Exiting')
+ })(r || (r = {})),
+ (function (e) {
+ ;(e[(e.Hide = 0)] = 'Hide'), (e[(e.Show = 1)] = 'Show')
+ })(i || (i = {}))
+ },
+ 8626: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ O: function () {
+ return r
+ },
+ })
+ var r = (0, n(7294).createContext)(null)
+ },
+ 9870: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ bg: function () {
+ return p
+ },
+ WH: function () {
+ return h
+ },
+ Md: function () {
+ return v
+ },
+ })
+ var r = n(7294),
+ i = n(1439),
+ o = n(9839),
+ a = n(8839),
+ s = n(7565),
+ l = n(519),
+ u = n(1053),
+ c = {
+ layoutReady: function (e) {
+ return e.notifyLayoutReady()
+ },
+ }
+ function d() {
+ var e = new Set()
+ return {
+ add: function (t) {
+ return e.add(t)
+ },
+ flush: function (t) {
+ var n = void 0 === t ? c : t,
+ r = n.layoutReady,
+ d = n.parent
+ ;(0, s.U)(function (t, n) {
+ var s = Array.from(e).sort(l._),
+ c = d ? (0, a.kv)(d) : []
+ n(function () {
+ ;(0, i.ev)((0, i.ev)([], (0, i.CR)(c)), (0, i.CR)(s)).forEach(function (e) {
+ return e.resetTransform()
+ })
+ }),
+ t(function () {
+ s.forEach(a.de)
+ }),
+ n(function () {
+ c.forEach(function (e) {
+ return e.restoreTransform()
+ }),
+ s.forEach(r)
+ }),
+ t(function () {
+ s.forEach(function (e) {
+ e.isPresent && (e.presence = u.z.Present)
+ })
+ }),
+ n(function () {
+ o.iW.preRender(), o.iW.render()
+ }),
+ t(function () {
+ o.ZP.postRender(function () {
+ return s.forEach(f)
+ }),
+ e.clear()
+ })
+ }),
+ (0, s.R)()
+ },
+ }
+ }
+ function f(e) {
+ e.prevViewportBox = e.projection.target
+ }
+ var h = (0, r.createContext)(d()),
+ p = (0, r.createContext)(d())
+ function v(e) {
+ return !!e.forceUpdate
+ }
+ },
+ 7554: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ E: function () {
+ return Oo
+ },
+ })
+ var r = n(1439),
+ i = n(7294),
+ o = function (e) {
+ return {
+ isEnabled: function (t) {
+ return e.some(function (e) {
+ return !!t[e]
+ })
+ },
+ }
+ },
+ a = {
+ measureLayout: o(['layout', 'layoutId', 'drag', '_layoutResetTransform']),
+ animation: o([
+ 'animate',
+ 'exit',
+ 'variants',
+ 'whileHover',
+ 'whileTap',
+ 'whileFocus',
+ 'whileDrag',
+ ]),
+ exit: o(['exit']),
+ drag: o(['drag', 'dragControls']),
+ focus: o(['whileFocus']),
+ hover: o(['whileHover', 'onHoverStart', 'onHoverEnd']),
+ tap: o(['whileTap', 'onTap', 'onTapStart', 'onTapCancel']),
+ pan: o(['onPan', 'onPanStart', 'onPanSessionStart', 'onPanEnd']),
+ layoutAnimation: o(['layout', 'layoutId']),
+ }
+ var s = (0, i.createContext)({ strict: !1 }),
+ l = Object.keys(a),
+ u = l.length
+ var c = (0, i.createContext)({
+ transformPagePoint: function (e) {
+ return e
+ },
+ isStatic: !1,
+ }),
+ d = (0, i.createContext)({})
+ var f = n(8626),
+ h = n(5930)
+ function p() {
+ var e = (0, i.useContext)(f.O)
+ if (null === e) return [!0, null]
+ var t = e.isPresent,
+ n = e.onExitComplete,
+ r = e.register,
+ o = y()
+ ;(0, i.useEffect)(function () {
+ return r(o)
+ }, [])
+ return !t && n
+ ? [
+ !1,
+ function () {
+ return null === n || void 0 === n ? void 0 : n(o)
+ },
+ ]
+ : [!0]
+ }
+ function v(e) {
+ return null === e || e.isPresent
+ }
+ var m = 0,
+ g = function () {
+ return m++
+ },
+ y = function () {
+ return (0, h.h)(g)
+ },
+ b = (0, i.createContext)(null),
+ w = 'undefined' !== typeof window,
+ x = w ? i.useLayoutEffect : i.useEffect
+ function E(e, t, n, o) {
+ var a = (0, i.useContext)(c),
+ l = (0, i.useContext)(s),
+ u = (0, i.useContext)(d).visualElement,
+ h = (0, i.useContext)(f.O),
+ p = (function (e) {
+ var t = e.layoutId,
+ n = (0, i.useContext)(b)
+ return n && void 0 !== t ? n + '-' + t : t
+ })(n),
+ m = (0, i.useRef)(void 0)
+ o || (o = l.renderer),
+ !m.current &&
+ o &&
+ (m.current = o(e, {
+ visualState: t,
+ parent: u,
+ props: (0, r.pi)((0, r.pi)({}, n), { layoutId: p }),
+ presenceId: null === h || void 0 === h ? void 0 : h.id,
+ blockInitialAnimation: !1 === (null === h || void 0 === h ? void 0 : h.initial),
+ }))
+ var g = m.current
+ return (
+ x(function () {
+ g &&
+ (g.setProps((0, r.pi)((0, r.pi)((0, r.pi)({}, a), n), { layoutId: p })),
+ (g.isPresent = v(h)),
+ (g.isPresenceRoot =
+ !u || u.presenceId !== (null === h || void 0 === h ? void 0 : h.id)),
+ g.syncRender())
+ }),
+ (0, i.useEffect)(function () {
+ var e
+ g && (null === (e = g.animationState) || void 0 === e || e.animateChanges())
+ }),
+ x(function () {
+ return function () {
+ return null === g || void 0 === g ? void 0 : g.notifyUnmount()
+ }
+ }, []),
+ g
+ )
+ }
+ function k(e) {
+ return 'object' === typeof e && Object.prototype.hasOwnProperty.call(e, 'current')
+ }
+ function T(e) {
+ return Array.isArray(e)
+ }
+ function _(e) {
+ return 'string' === typeof e || T(e)
+ }
+ function O(e, t, n, r, i) {
+ var o
+ return (
+ void 0 === r && (r = {}),
+ void 0 === i && (i = {}),
+ 'string' === typeof t && (t = null === (o = e.variants) || void 0 === o ? void 0 : o[t]),
+ 'function' === typeof t ? t(null !== n && void 0 !== n ? n : e.custom, r, i) : t
+ )
+ }
+ function C(e, t, n) {
+ var r = e.getProps()
+ return O(
+ r,
+ t,
+ null !== n && void 0 !== n ? n : r.custom,
+ (function (e) {
+ var t = {}
+ return (
+ e.forEachValue(function (e, n) {
+ return (t[n] = e.get())
+ }),
+ t
+ )
+ })(e),
+ (function (e) {
+ var t = {}
+ return (
+ e.forEachValue(function (e, n) {
+ return (t[n] = e.getVelocity())
+ }),
+ t
+ )
+ })(e),
+ )
+ }
+ function A(e) {
+ var t
+ return (
+ 'function' === typeof (null === (t = e.animate) || void 0 === t ? void 0 : t.start) ||
+ _(e.initial) ||
+ _(e.animate) ||
+ _(e.whileHover) ||
+ _(e.whileDrag) ||
+ _(e.whileTap) ||
+ _(e.whileFocus) ||
+ _(e.exit)
+ )
+ }
+ function S(e) {
+ return Boolean(A(e) || e.variants)
+ }
+ function P(e, t) {
+ var n = (function (e, t) {
+ if (A(e)) {
+ var n = e.initial,
+ r = e.animate
+ return { initial: !1 === n || _(n) ? n : void 0, animate: _(r) ? r : void 0 }
+ }
+ return !1 !== e.inherit ? t : {}
+ })(e, (0, i.useContext)(d)),
+ r = n.initial,
+ o = n.animate
+ return (0, i.useMemo)(
+ function () {
+ return { initial: r, animate: o }
+ },
+ t ? [M(r), M(o)] : [],
+ )
+ }
+ function M(e) {
+ return Array.isArray(e) ? e.join(' ') : e
+ }
+ function R(e) {
+ var t = e.preloadedFeatures,
+ n = e.createVisualElement,
+ o = e.useRender,
+ f = e.useVisualState,
+ h = e.Component
+ return (
+ t &&
+ (function (e) {
+ for (var t in e) {
+ var n = e[t]
+ null !== n && (a[t].Component = n)
+ }
+ })(t),
+ (0, i.forwardRef)(function (e, t) {
+ var p = (0, i.useContext)(c).isStatic,
+ v = null,
+ m = P(e, p),
+ g = f(e, p)
+ return (
+ !p &&
+ w &&
+ ((m.visualElement = E(h, g, e, n)),
+ (v = (function (e, t, n) {
+ var o = []
+ if (((0, i.useContext)(s), !t)) return null
+ for (var c = 0; c < u; c++) {
+ var d = l[c],
+ f = a[d],
+ h = f.isEnabled,
+ p = f.Component
+ h(e) &&
+ p &&
+ o.push(i.createElement(p, (0, r.pi)({ key: d }, e, { visualElement: t })))
+ }
+ return o
+ })(e, m.visualElement))),
+ i.createElement(
+ i.Fragment,
+ null,
+ i.createElement(
+ d.Provider,
+ { value: m },
+ o(
+ h,
+ e,
+ (function (e, t, n) {
+ return (0, i.useCallback)(
+ function (r) {
+ var i
+ r && (null === (i = e.mount) || void 0 === i || i.call(e, r)),
+ t && (r ? t.mount(r) : t.unmount()),
+ n && ('function' === typeof n ? n(r) : k(n) && (n.current = r))
+ },
+ [t],
+ )
+ })(g, m.visualElement, t),
+ g,
+ p,
+ ),
+ ),
+ v,
+ )
+ )
+ })
+ )
+ }
+ function j(e) {
+ function t(t, n) {
+ return void 0 === n && (n = {}), R(e(t, n))
+ }
+ var n = new Map()
+ return new Proxy(t, {
+ get: function (e, r) {
+ return n.has(r) || n.set(r, t(r)), n.get(r)
+ },
+ })
+ }
+ var D = [
+ 'animate',
+ 'circle',
+ 'defs',
+ 'desc',
+ 'ellipse',
+ 'g',
+ 'image',
+ 'line',
+ 'filter',
+ 'marker',
+ 'mask',
+ 'metadata',
+ 'path',
+ 'pattern',
+ 'polygon',
+ 'polyline',
+ 'rect',
+ 'stop',
+ 'svg',
+ 'switch',
+ 'symbol',
+ 'text',
+ 'tspan',
+ 'use',
+ 'view',
+ ]
+ function L(e) {
+ return 'string' === typeof e && !e.includes('-') && !!(D.indexOf(e) > -1 || /[A-Z]/.test(e))
+ }
+ var N = {}
+ var I = ['', 'X', 'Y', 'Z'],
+ z = ['transformPerspective', 'x', 'y', 'z']
+ function H(e, t) {
+ return z.indexOf(e) - z.indexOf(t)
+ }
+ ;['translate', 'scale', 'rotate', 'skew'].forEach(function (e) {
+ return I.forEach(function (t) {
+ return z.push(e + t)
+ })
+ })
+ var B = new Set(z)
+ function F(e) {
+ return B.has(e)
+ }
+ var V = new Set(['originX', 'originY', 'originZ'])
+ function U(e) {
+ return V.has(e)
+ }
+ function G(e, t) {
+ var n = t.layout,
+ r = t.layoutId
+ return F(e) || U(e) || ((n || void 0 !== r) && (!!N[e] || 'opacity' === e))
+ }
+ var q = function (e) {
+ return null !== e && 'object' === typeof e && e.getVelocity
+ },
+ W = {
+ x: 'translateX',
+ y: 'translateY',
+ z: 'translateZ',
+ transformPerspective: 'perspective',
+ }
+ function K(e) {
+ return e.startsWith('--')
+ }
+ var Z = function (e, t) {
+ return t && 'number' === typeof e ? t.transform(e) : e
+ }
+ var $ = function () {
+ return ($ =
+ Object.assign ||
+ function (e) {
+ for (var t, n = 1, r = arguments.length; n < r; n++)
+ for (var i in (t = arguments[n]))
+ Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i])
+ return e
+ }).apply(this, arguments)
+ }
+ Object.create
+ Object.create
+ var X = function (e, t) {
+ return function (n) {
+ return Math.max(Math.min(n, t), e)
+ }
+ },
+ Y = function (e) {
+ return e % 1 ? Number(e.toFixed(5)) : e
+ },
+ Q = /(-)?([\d]*\.?[\d])+/g,
+ J =
+ /(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))/gi,
+ ee =
+ /^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i
+ function te(e) {
+ return 'string' === typeof e
+ }
+ var ne = function (e) {
+ return {
+ test: function (t) {
+ return te(t) && t.endsWith(e) && 1 === t.split(' ').length
+ },
+ parse: parseFloat,
+ transform: function (t) {
+ return '' + t + e
+ },
+ }
+ },
+ re = ne('deg'),
+ ie = ne('%'),
+ oe = ne('px'),
+ ae = ne('vh'),
+ se = ne('vw'),
+ le = $($({}, ie), {
+ parse: function (e) {
+ return ie.parse(e) / 100
+ },
+ transform: function (e) {
+ return ie.transform(100 * e)
+ },
+ }),
+ ue = {
+ test: function (e) {
+ return 'number' === typeof e
+ },
+ parse: parseFloat,
+ transform: function (e) {
+ return e
+ },
+ },
+ ce = $($({}, ue), { transform: X(0, 1) }),
+ de = $($({}, ue), { default: 1 }),
+ fe = (0, r.pi)((0, r.pi)({}, ue), { transform: Math.round }),
+ he = {
+ borderWidth: oe,
+ borderTopWidth: oe,
+ borderRightWidth: oe,
+ borderBottomWidth: oe,
+ borderLeftWidth: oe,
+ borderRadius: oe,
+ radius: oe,
+ borderTopLeftRadius: oe,
+ borderTopRightRadius: oe,
+ borderBottomRightRadius: oe,
+ borderBottomLeftRadius: oe,
+ width: oe,
+ maxWidth: oe,
+ height: oe,
+ maxHeight: oe,
+ size: oe,
+ top: oe,
+ right: oe,
+ bottom: oe,
+ left: oe,
+ padding: oe,
+ paddingTop: oe,
+ paddingRight: oe,
+ paddingBottom: oe,
+ paddingLeft: oe,
+ margin: oe,
+ marginTop: oe,
+ marginRight: oe,
+ marginBottom: oe,
+ marginLeft: oe,
+ rotate: re,
+ rotateX: re,
+ rotateY: re,
+ rotateZ: re,
+ scale: de,
+ scaleX: de,
+ scaleY: de,
+ scaleZ: de,
+ skew: re,
+ skewX: re,
+ skewY: re,
+ distance: oe,
+ translateX: oe,
+ translateY: oe,
+ translateZ: oe,
+ x: oe,
+ y: oe,
+ z: oe,
+ perspective: oe,
+ transformPerspective: oe,
+ opacity: ce,
+ originX: le,
+ originY: le,
+ originZ: oe,
+ zIndex: fe,
+ fillOpacity: ce,
+ strokeOpacity: ce,
+ numOctaves: fe,
+ }
+ function pe(e, t, n, r, i, o, a, s) {
+ var l,
+ u = e.style,
+ c = e.vars,
+ d = e.transform,
+ f = e.transformKeys,
+ h = e.transformOrigin
+ f.length = 0
+ var p = !1,
+ v = !1,
+ m = !0
+ for (var g in t) {
+ var y = t[g]
+ if (K(g)) c[g] = y
+ else {
+ var b = he[g],
+ w = Z(y, b)
+ if (F(g)) {
+ if (((p = !0), (d[g] = w), f.push(g), !m)) continue
+ y !== (null !== (l = b.default) && void 0 !== l ? l : 0) && (m = !1)
+ } else if (U(g)) (h[g] = w), (v = !0)
+ else if (
+ (null === n || void 0 === n ? void 0 : n.isHydrated) &&
+ (null === r || void 0 === r ? void 0 : r.isHydrated) &&
+ N[g]
+ ) {
+ var x = N[g].process(y, r, n),
+ E = N[g].applyTo
+ if (E) for (var k = E.length, T = 0; T < k; T++) u[E[T]] = x
+ else u[g] = x
+ } else u[g] = w
+ }
+ }
+ r && n && a && s
+ ? ((u.transform = a(r.deltaFinal, r.treeScale, p ? d : void 0)),
+ o && (u.transform = o(d, u.transform)),
+ (u.transformOrigin = s(r)))
+ : (p &&
+ (u.transform = (function (e, t, n, r) {
+ var i = e.transform,
+ o = e.transformKeys,
+ a = t.enableHardwareAcceleration,
+ s = void 0 === a || a,
+ l = t.allowTransformNone,
+ u = void 0 === l || l,
+ c = ''
+ o.sort(H)
+ for (var d = !1, f = o.length, h = 0; h < f; h++) {
+ var p = o[h]
+ ;(c += (W[p] || p) + '(' + i[p] + ') '), 'z' === p && (d = !0)
+ }
+ return (
+ !d && s ? (c += 'translateZ(0)') : (c = c.trim()),
+ r ? (c = r(i, n ? '' : c)) : u && n && (c = 'none'),
+ c
+ )
+ })(e, i, m, o)),
+ v &&
+ (u.transformOrigin = (function (e) {
+ var t = e.originX,
+ n = void 0 === t ? '50%' : t,
+ r = e.originY,
+ i = void 0 === r ? '50%' : r,
+ o = e.originZ
+ return n + ' ' + i + ' ' + (void 0 === o ? 0 : o)
+ })(h)))
+ }
+ var ve = function () {
+ return { style: {}, transform: {}, transformKeys: [], transformOrigin: {}, vars: {} }
+ }
+ function me(e, t, n) {
+ for (var r in t) q(t[r]) || G(r, n) || (e[r] = t[r])
+ }
+ function ge(e, t, n) {
+ var o = {}
+ return (
+ me(o, e.style || {}, e),
+ Object.assign(
+ o,
+ (function (e, t, n) {
+ var o = e.transformTemplate
+ return (0, i.useMemo)(
+ function () {
+ var e = {
+ style: {},
+ transform: {},
+ transformKeys: [],
+ transformOrigin: {},
+ vars: {},
+ }
+ pe(e, t, void 0, void 0, { enableHardwareAcceleration: !n }, o)
+ var i = e.vars,
+ a = e.style
+ return (0, r.pi)((0, r.pi)({}, i), a)
+ },
+ [t],
+ )
+ })(e, t, n),
+ ),
+ e.transformValues && (o = e.transformValues(o)),
+ o
+ )
+ }
+ function ye(e, t, n) {
+ var r = {},
+ i = ge(e, t, n)
+ return (
+ Boolean(e.drag) &&
+ ((r.draggable = !1),
+ (i.userSelect = i.WebkitUserSelect = i.WebkitTouchCallout = 'none'),
+ (i.touchAction = !0 === e.drag ? 'none' : 'pan-' + ('x' === e.drag ? 'y' : 'x'))),
+ (r.style = i),
+ r
+ )
+ }
+ var be = new Set([
+ 'initial',
+ 'animate',
+ 'exit',
+ 'style',
+ 'variants',
+ 'transition',
+ 'transformTemplate',
+ 'transformValues',
+ 'custom',
+ 'inherit',
+ 'layout',
+ 'layoutId',
+ '_layoutResetTransform',
+ 'onLayoutAnimationComplete',
+ 'onViewportBoxUpdate',
+ 'onLayoutMeasure',
+ 'onBeforeLayoutMeasure',
+ 'onAnimationStart',
+ 'onAnimationComplete',
+ 'onUpdate',
+ 'onDragStart',
+ 'onDrag',
+ 'onDragEnd',
+ 'onMeasureDragConstraints',
+ 'onDirectionLock',
+ 'onDragTransitionEnd',
+ 'drag',
+ 'dragControls',
+ 'dragListener',
+ 'dragConstraints',
+ 'dragDirectionLock',
+ '_dragX',
+ '_dragY',
+ 'dragElastic',
+ 'dragMomentum',
+ 'dragPropagation',
+ 'dragTransition',
+ 'whileDrag',
+ 'onPan',
+ 'onPanStart',
+ 'onPanEnd',
+ 'onPanSessionStart',
+ 'onTap',
+ 'onTapStart',
+ 'onTapCancel',
+ 'onHoverStart',
+ 'onHoverEnd',
+ 'whileFocus',
+ 'whileTap',
+ 'whileHover',
+ ])
+ function we(e) {
+ return be.has(e)
+ }
+ var xe = function (e) {
+ return !we(e)
+ }
+ try {
+ var Ee = n(4910).Z
+ xe = function (e) {
+ return e.startsWith('on') ? !we(e) : Ee(e)
+ }
+ } catch (Co) {}
+ function ke(e, t, n) {
+ return 'string' === typeof e ? e : oe.transform(t + n * e)
+ }
+ var Te = function (e, t) {
+ return oe.transform(e * t)
+ },
+ _e = { offset: 'stroke-dashoffset', array: 'stroke-dasharray' },
+ Oe = { offset: 'strokeDashoffset', array: 'strokeDasharray' }
+ function Ce(e, t, n, i, o, a, s, l) {
+ var u = t.attrX,
+ c = t.attrY,
+ d = t.originX,
+ f = t.originY,
+ h = t.pathLength,
+ p = t.pathSpacing,
+ v = void 0 === p ? 1 : p,
+ m = t.pathOffset,
+ g = void 0 === m ? 0 : m
+ pe(
+ e,
+ (0, r._T)(t, [
+ 'attrX',
+ 'attrY',
+ 'originX',
+ 'originY',
+ 'pathLength',
+ 'pathSpacing',
+ 'pathOffset',
+ ]),
+ n,
+ i,
+ o,
+ a,
+ s,
+ l,
+ ),
+ (e.attrs = e.style),
+ (e.style = {})
+ var y = e.attrs,
+ b = e.style,
+ w = e.dimensions,
+ x = e.totalPathLength
+ y.transform && (w && (b.transform = y.transform), delete y.transform),
+ w &&
+ (void 0 !== d || void 0 !== f || b.transform) &&
+ (b.transformOrigin = (function (e, t, n) {
+ return ke(t, e.x, e.width) + ' ' + ke(n, e.y, e.height)
+ })(w, void 0 !== d ? d : 0.5, void 0 !== f ? f : 0.5)),
+ void 0 !== u && (y.x = u),
+ void 0 !== c && (y.y = c),
+ void 0 !== x &&
+ void 0 !== h &&
+ (function (e, t, n, r, i, o) {
+ void 0 === r && (r = 1), void 0 === i && (i = 0), void 0 === o && (o = !0)
+ var a = o ? _e : Oe
+ e[a.offset] = Te(-i, t)
+ var s = Te(n, t),
+ l = Te(r, t)
+ e[a.array] = s + ' ' + l
+ })(y, x, h, v, g, !1)
+ }
+ var Ae = function () {
+ return (0, r.pi)(
+ (0, r.pi)(
+ {},
+ { style: {}, transform: {}, transformKeys: [], transformOrigin: {}, vars: {} },
+ ),
+ { attrs: {} },
+ )
+ }
+ function Se(e, t) {
+ var n = (0, i.useMemo)(
+ function () {
+ var n = Ae()
+ return (
+ Ce(n, t, void 0, void 0, { enableHardwareAcceleration: !1 }, e.transformTemplate),
+ (0, r.pi)((0, r.pi)({}, n.attrs), { style: (0, r.pi)({}, n.style) })
+ )
+ },
+ [t],
+ )
+ if (e.style) {
+ var o = {}
+ me(o, e.style, e), (n.style = (0, r.pi)((0, r.pi)({}, o), n.style))
+ }
+ return n
+ }
+ function Pe(e) {
+ void 0 === e && (e = !1)
+ return function (t, n, o, a, s) {
+ var l = a.latestValues,
+ u = (L(t) ? Se : ye)(n, l, s),
+ c = (function (e, t, n) {
+ var r = {}
+ for (var i in e) (xe(i) || (!0 === n && we(i)) || (!t && !we(i))) && (r[i] = e[i])
+ return r
+ })(n, 'string' === typeof t, e),
+ d = (0, r.pi)((0, r.pi)((0, r.pi)({}, c), u), { ref: o })
+ return (0, i.createElement)(t, d)
+ }
+ }
+ var Me = /([a-z])([A-Z])/g,
+ Re = function (e) {
+ return e.replace(Me, '$1-$2').toLowerCase()
+ }
+ function je(e, t) {
+ var n = t.style,
+ r = t.vars
+ for (var i in (Object.assign(e.style, n), r)) e.style.setProperty(i, r[i])
+ }
+ var De = new Set([
+ 'baseFrequency',
+ 'diffuseConstant',
+ 'kernelMatrix',
+ 'kernelUnitLength',
+ 'keySplines',
+ 'keyTimes',
+ 'limitingConeAngle',
+ 'markerHeight',
+ 'markerWidth',
+ 'numOctaves',
+ 'targetX',
+ 'targetY',
+ 'surfaceScale',
+ 'specularConstant',
+ 'specularExponent',
+ 'stdDeviation',
+ 'tableValues',
+ 'viewBox',
+ 'gradientTransform',
+ ])
+ function Le(e, t) {
+ for (var n in (je(e, t), t.attrs)) e.setAttribute(De.has(n) ? n : Re(n), t.attrs[n])
+ }
+ function Ne(e) {
+ var t = e.style,
+ n = {}
+ for (var r in t) (q(t[r]) || G(r, e)) && (n[r] = t[r])
+ return n
+ }
+ function Ie(e) {
+ var t = Ne(e)
+ for (var n in e) {
+ if (q(e[n])) t['x' === n || 'y' === n ? 'attr' + n.toUpperCase() : n] = e[n]
+ }
+ return t
+ }
+ function ze(e) {
+ return 'object' === typeof e && 'function' === typeof e.start
+ }
+ var He = function (e) {
+ return Array.isArray(e)
+ }
+ function Be(e) {
+ var t,
+ n = q(e) ? e.get() : e
+ return (t = n), Boolean(t && 'object' === typeof t && t.mix && t.toValue) ? n.toValue() : n
+ }
+ function Fe(e, t, n, r) {
+ var i = e.scrapeMotionValuesFromProps,
+ o = e.createRenderState,
+ a = e.onMount,
+ s = { latestValues: Ue(t, n, r, i), renderState: o() }
+ return (
+ a &&
+ (s.mount = function (e) {
+ return a(t, e, s)
+ }),
+ s
+ )
+ }
+ var Ve = function (e) {
+ return function (t, n) {
+ var r = (0, i.useContext)(d),
+ o = (0, i.useContext)(f.O)
+ return n
+ ? Fe(e, t, r, o)
+ : (0, h.h)(function () {
+ return Fe(e, t, r, o)
+ })
+ }
+ }
+ function Ue(e, t, n, i) {
+ var o = {},
+ a = !1 === (null === n || void 0 === n ? void 0 : n.initial),
+ s = i(e)
+ for (var l in s) o[l] = Be(s[l])
+ var u = e.initial,
+ c = e.animate,
+ d = A(e),
+ f = S(e)
+ t &&
+ f &&
+ !d &&
+ !1 !== e.inherit &&
+ ((null !== u && void 0 !== u) || (u = t.initial),
+ (null !== c && void 0 !== c) || (c = t.animate))
+ var h = a || !1 === u ? c : u
+ h &&
+ 'boolean' !== typeof h &&
+ !ze(h) &&
+ (Array.isArray(h) ? h : [h]).forEach(function (t) {
+ var n = O(e, t)
+ if (n) {
+ var i = n.transitionEnd
+ n.transition
+ var a = (0, r._T)(n, ['transitionEnd', 'transition'])
+ for (var s in a) o[s] = a[s]
+ for (var s in i) o[s] = i[s]
+ }
+ })
+ return o
+ }
+ var Ge = {
+ useVisualState: Ve({
+ scrapeMotionValuesFromProps: Ie,
+ createRenderState: Ae,
+ onMount: function (e, t, n) {
+ var r = n.renderState,
+ i = n.latestValues
+ try {
+ r.dimensions =
+ 'function' === typeof t.getBBox ? t.getBBox() : t.getBoundingClientRect()
+ } catch (o) {
+ r.dimensions = { x: 0, y: 0, width: 0, height: 0 }
+ }
+ 'path' === t.tagName && (r.totalPathLength = t.getTotalLength()),
+ Ce(r, i, void 0, void 0, { enableHardwareAcceleration: !1 }, e.transformTemplate),
+ Le(t, r)
+ },
+ }),
+ }
+ var qe,
+ We = { useVisualState: Ve({ scrapeMotionValuesFromProps: Ne, createRenderState: ve }) }
+ function Ke(e, t, n, r) {
+ return (
+ e.addEventListener(t, n, r),
+ function () {
+ return e.removeEventListener(t, n, r)
+ }
+ )
+ }
+ function Ze(e, t, n, r) {
+ ;(0, i.useEffect)(
+ function () {
+ var i = e.current
+ if (n && i) return Ke(i, t, n, r)
+ },
+ [e, t, n, r],
+ )
+ }
+ function $e(e) {
+ return 'undefined' !== typeof PointerEvent && e instanceof PointerEvent
+ ? !('mouse' !== e.pointerType)
+ : e instanceof MouseEvent
+ }
+ function Xe(e) {
+ return !!e.touches
+ }
+ !(function (e) {
+ ;(e.Animate = 'animate'),
+ (e.Hover = 'whileHover'),
+ (e.Tap = 'whileTap'),
+ (e.Drag = 'whileDrag'),
+ (e.Focus = 'whileFocus'),
+ (e.Exit = 'exit')
+ })(qe || (qe = {}))
+ var Ye = { pageX: 0, pageY: 0 }
+ function Qe(e, t) {
+ void 0 === t && (t = 'page')
+ var n = e.touches[0] || e.changedTouches[0] || Ye
+ return { x: n[t + 'X'], y: n[t + 'Y'] }
+ }
+ function Je(e, t) {
+ return void 0 === t && (t = 'page'), { x: e[t + 'X'], y: e[t + 'Y'] }
+ }
+ function et(e, t) {
+ return void 0 === t && (t = 'page'), { point: Xe(e) ? Qe(e, t) : Je(e, t) }
+ }
+ var tt = function (e, t) {
+ void 0 === t && (t = !1)
+ var n,
+ r = function (t) {
+ return e(t, et(t))
+ }
+ return t
+ ? ((n = r),
+ function (e) {
+ var t = e instanceof MouseEvent
+ ;(!t || (t && 0 === e.button)) && n(e)
+ })
+ : r
+ },
+ nt = {
+ pointerdown: 'mousedown',
+ pointermove: 'mousemove',
+ pointerup: 'mouseup',
+ pointercancel: 'mousecancel',
+ pointerover: 'mouseover',
+ pointerout: 'mouseout',
+ pointerenter: 'mouseenter',
+ pointerleave: 'mouseleave',
+ },
+ rt = {
+ pointerdown: 'touchstart',
+ pointermove: 'touchmove',
+ pointerup: 'touchend',
+ pointercancel: 'touchcancel',
+ }
+ function it(e) {
+ return w && null === window.onpointerdown
+ ? e
+ : w && null === window.ontouchstart
+ ? rt[e]
+ : w && null === window.onmousedown
+ ? nt[e]
+ : e
+ }
+ function ot(e, t, n, r) {
+ return Ke(e, it(t), tt(n, 'pointerdown' === t), r)
+ }
+ function at(e, t, n, r) {
+ return Ze(e, it(t), n && tt(n, 'pointerdown' === t), r)
+ }
+ function st(e) {
+ var t = null
+ return function () {
+ return (
+ null === t &&
+ ((t = e),
+ function () {
+ t = null
+ })
+ )
+ }
+ }
+ var lt = st('dragHorizontal'),
+ ut = st('dragVertical')
+ function ct(e) {
+ var t = !1
+ if ('y' === e) t = ut()
+ else if ('x' === e) t = lt()
+ else {
+ var n = lt(),
+ r = ut()
+ n && r
+ ? (t = function () {
+ n(), r()
+ })
+ : (n && n(), r && r())
+ }
+ return t
+ }
+ function dt() {
+ var e = ct(!0)
+ return !e || (e(), !1)
+ }
+ function ft(e, t, n) {
+ return function (r, i) {
+ var o
+ $e(r) &&
+ !dt() &&
+ (null === n || void 0 === n || n(r, i),
+ null === (o = e.animationState) || void 0 === o || o.setActive(qe.Hover, t))
+ }
+ }
+ var ht = function (e, t) {
+ return !!t && (e === t || ht(e, t.parentElement))
+ },
+ pt = n(6717),
+ vt = function (e, t) {
+ return function (n) {
+ return t(e(n))
+ }
+ },
+ mt = function () {
+ for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t]
+ return e.reduce(vt)
+ }
+ var gt = function (e) {
+ return function (t) {
+ return e(t), null
+ }
+ },
+ yt = {
+ tap: gt(function (e) {
+ var t = e.onTap,
+ n = e.onTapStart,
+ r = e.onTapCancel,
+ o = e.whileTap,
+ a = e.visualElement,
+ s = t || n || r || o,
+ l = (0, i.useRef)(!1),
+ u = (0, i.useRef)(null)
+ function c() {
+ var e
+ null === (e = u.current) || void 0 === e || e.call(u), (u.current = null)
+ }
+ function d() {
+ var e
+ return (
+ c(),
+ (l.current = !1),
+ null === (e = a.animationState) || void 0 === e || e.setActive(qe.Tap, !1),
+ !dt()
+ )
+ }
+ function f(e, n) {
+ d() &&
+ (ht(a.getInstance(), e.target)
+ ? null === t || void 0 === t || t(e, n)
+ : null === r || void 0 === r || r(e, n))
+ }
+ function h(e, t) {
+ d() && (null === r || void 0 === r || r(e, t))
+ }
+ at(
+ a,
+ 'pointerdown',
+ s
+ ? function (e, t) {
+ var r
+ c(),
+ l.current ||
+ ((l.current = !0),
+ (u.current = mt(
+ ot(window, 'pointerup', f),
+ ot(window, 'pointercancel', h),
+ )),
+ null === n || void 0 === n || n(e, t),
+ null === (r = a.animationState) || void 0 === r || r.setActive(qe.Tap, !0))
+ }
+ : void 0,
+ ),
+ (0, pt.z)(c)
+ }),
+ focus: gt(function (e) {
+ var t = e.whileFocus,
+ n = e.visualElement
+ Ze(
+ n,
+ 'focus',
+ t
+ ? function () {
+ var e
+ null === (e = n.animationState) || void 0 === e || e.setActive(qe.Focus, !0)
+ }
+ : void 0,
+ ),
+ Ze(
+ n,
+ 'blur',
+ t
+ ? function () {
+ var e
+ null === (e = n.animationState) || void 0 === e || e.setActive(qe.Focus, !1)
+ }
+ : void 0,
+ )
+ }),
+ hover: gt(function (e) {
+ var t = e.onHoverStart,
+ n = e.onHoverEnd,
+ r = e.whileHover,
+ i = e.visualElement
+ at(i, 'pointerenter', t || r ? ft(i, !0, t) : void 0),
+ at(i, 'pointerleave', n || r ? ft(i, !1, n) : void 0)
+ }),
+ }
+ function bt(e, t) {
+ if (!Array.isArray(t)) return !1
+ var n = t.length
+ if (n !== e.length) return !1
+ for (var r = 0; r < n; r++) if (t[r] !== e[r]) return !1
+ return !0
+ }
+ var wt = function () {
+ return (wt =
+ Object.assign ||
+ function (e) {
+ for (var t, n = 1, r = arguments.length; n < r; n++)
+ for (var i in (t = arguments[n]))
+ Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i])
+ return e
+ }).apply(this, arguments)
+ }
+ function xt(e, t) {
+ var n = {}
+ for (var r in e)
+ Object.prototype.hasOwnProperty.call(e, r) && t.indexOf(r) < 0 && (n[r] = e[r])
+ if (null != e && 'function' === typeof Object.getOwnPropertySymbols) {
+ var i = 0
+ for (r = Object.getOwnPropertySymbols(e); i < r.length; i++)
+ t.indexOf(r[i]) < 0 &&
+ Object.prototype.propertyIsEnumerable.call(e, r[i]) &&
+ (n[r[i]] = e[r[i]])
+ }
+ return n
+ }
+ Object.create
+ Object.create
+ var Et = function (e, t, n) {
+ return Math.min(Math.max(n, e), t)
+ },
+ kt = 0.001
+ function Tt(e) {
+ var t,
+ n,
+ r = e.duration,
+ i = void 0 === r ? 800 : r,
+ o = e.bounce,
+ a = void 0 === o ? 0.25 : o,
+ s = e.velocity,
+ l = void 0 === s ? 0 : s,
+ u = e.mass,
+ c = void 0 === u ? 1 : u,
+ d = 1 - a
+ ;(d = Et(0.05, 1, d)),
+ (i = Et(0.01, 10, i / 1e3)),
+ d < 1
+ ? ((t = function (e) {
+ var t = e * d,
+ n = t * i,
+ r = t - l,
+ o = _t(e, d),
+ a = Math.exp(-n)
+ return kt - (r / o) * a
+ }),
+ (n = function (e) {
+ var n = e * d * i,
+ r = n * l + l,
+ o = Math.pow(d, 2) * Math.pow(e, 2) * i,
+ a = Math.exp(-n),
+ s = _t(Math.pow(e, 2), d)
+ return ((-t(e) + kt > 0 ? -1 : 1) * ((r - o) * a)) / s
+ }))
+ : ((t = function (e) {
+ return Math.exp(-e * i) * ((e - l) * i + 1) - 0.001
+ }),
+ (n = function (e) {
+ return Math.exp(-e * i) * (i * i * (l - e))
+ }))
+ var f = (function (e, t, n) {
+ for (var r = n, i = 1; i < 12; i++) r -= e(r) / t(r)
+ return r
+ })(t, n, 5 / i)
+ if (((i *= 1e3), isNaN(f))) return { stiffness: 100, damping: 10, duration: i }
+ var h = Math.pow(f, 2) * c
+ return { stiffness: h, damping: 2 * d * Math.sqrt(c * h), duration: i }
+ }
+ function _t(e, t) {
+ return e * Math.sqrt(1 - t * t)
+ }
+ var Ot = ['duration', 'bounce'],
+ Ct = ['stiffness', 'damping', 'mass']
+ function At(e, t) {
+ return t.some(function (t) {
+ return void 0 !== e[t]
+ })
+ }
+ function St(e) {
+ var t = e.from,
+ n = void 0 === t ? 0 : t,
+ r = e.to,
+ i = void 0 === r ? 1 : r,
+ o = e.restSpeed,
+ a = void 0 === o ? 2 : o,
+ s = e.restDelta,
+ l = xt(e, ['from', 'to', 'restSpeed', 'restDelta']),
+ u = { done: !1, value: n },
+ c = (function (e) {
+ var t = wt(
+ { velocity: 0, stiffness: 100, damping: 10, mass: 1, isResolvedFromDuration: !1 },
+ e,
+ )
+ if (!At(e, Ct) && At(e, Ot)) {
+ var n = Tt(e)
+ ;(t = wt(wt(wt({}, t), n), { velocity: 0, mass: 1 })).isResolvedFromDuration = !0
+ }
+ return t
+ })(l),
+ d = c.stiffness,
+ f = c.damping,
+ h = c.mass,
+ p = c.velocity,
+ v = c.duration,
+ m = c.isResolvedFromDuration,
+ g = Pt,
+ y = Pt
+ function b() {
+ var e = p ? -p / 1e3 : 0,
+ t = i - n,
+ r = f / (2 * Math.sqrt(d * h)),
+ o = Math.sqrt(d / h) / 1e3
+ if (((null !== s && void 0 !== s) || (s = Math.abs(i - n) <= 1 ? 0.01 : 0.4), r < 1)) {
+ var a = _t(o, r)
+ ;(g = function (n) {
+ var s = Math.exp(-r * o * n)
+ return i - s * (((e + r * o * t) / a) * Math.sin(a * n) + t * Math.cos(a * n))
+ }),
+ (y = function (n) {
+ var i = Math.exp(-r * o * n)
+ return (
+ r * o * i * ((Math.sin(a * n) * (e + r * o * t)) / a + t * Math.cos(a * n)) -
+ i * (Math.cos(a * n) * (e + r * o * t) - a * t * Math.sin(a * n))
+ )
+ })
+ } else if (1 === r)
+ g = function (n) {
+ return i - Math.exp(-o * n) * (t + (e + o * t) * n)
+ }
+ else {
+ var l = o * Math.sqrt(r * r - 1)
+ g = function (n) {
+ var a = Math.exp(-r * o * n),
+ s = Math.min(l * n, 300)
+ return i - (a * ((e + r * o * t) * Math.sinh(s) + l * t * Math.cosh(s))) / l
+ }
+ }
+ }
+ return (
+ b(),
+ {
+ next: function (e) {
+ var t = g(e)
+ if (m) u.done = e >= v
+ else {
+ var n = 1e3 * y(e),
+ r = Math.abs(n) <= a,
+ o = Math.abs(i - t) <= s
+ u.done = r && o
+ }
+ return (u.value = u.done ? i : t), u
+ },
+ flipTarget: function () {
+ var e
+ ;(p = -p), (n = (e = [i, n])[0]), (i = e[1]), b()
+ },
+ }
+ )
+ }
+ St.needsInterpolation = function (e, t) {
+ return 'string' === typeof e || 'string' === typeof t
+ }
+ var Pt = function (e) {
+ return 0
+ },
+ Mt = function (e, t, n) {
+ var r = t - e
+ return 0 === r ? 1 : (n - e) / r
+ },
+ Rt = function (e, t, n) {
+ return -n * e + n * t + e
+ },
+ jt = function (e, t) {
+ return function (n) {
+ return Boolean(
+ (te(n) && ee.test(n) && n.startsWith(e)) ||
+ (t && Object.prototype.hasOwnProperty.call(n, t)),
+ )
+ }
+ },
+ Dt = function (e, t, n) {
+ return function (r) {
+ var i
+ if (!te(r)) return r
+ var o = r.match(Q),
+ a = o[0],
+ s = o[1],
+ l = o[2],
+ u = o[3]
+ return (
+ ((i = {})[e] = parseFloat(a)),
+ (i[t] = parseFloat(s)),
+ (i[n] = parseFloat(l)),
+ (i.alpha = void 0 !== u ? parseFloat(u) : 1),
+ i
+ )
+ }
+ },
+ Lt = X(0, 255),
+ Nt = $($({}, ue), {
+ transform: function (e) {
+ return Math.round(Lt(e))
+ },
+ }),
+ It = {
+ test: jt('rgb', 'red'),
+ parse: Dt('red', 'green', 'blue'),
+ transform: function (e) {
+ var t = e.red,
+ n = e.green,
+ r = e.blue,
+ i = e.alpha,
+ o = void 0 === i ? 1 : i
+ return (
+ 'rgba(' +
+ Nt.transform(t) +
+ ', ' +
+ Nt.transform(n) +
+ ', ' +
+ Nt.transform(r) +
+ ', ' +
+ Y(ce.transform(o)) +
+ ')'
+ )
+ },
+ }
+ var zt = {
+ test: jt('#'),
+ parse: function (e) {
+ var t = '',
+ n = '',
+ r = '',
+ i = ''
+ return (
+ e.length > 5
+ ? ((t = e.substr(1, 2)),
+ (n = e.substr(3, 2)),
+ (r = e.substr(5, 2)),
+ (i = e.substr(7, 2)))
+ : ((t = e.substr(1, 1)),
+ (n = e.substr(2, 1)),
+ (r = e.substr(3, 1)),
+ (i = e.substr(4, 1)),
+ (t += t),
+ (n += n),
+ (r += r),
+ (i += i)),
+ {
+ red: parseInt(t, 16),
+ green: parseInt(n, 16),
+ blue: parseInt(r, 16),
+ alpha: i ? parseInt(i, 16) / 255 : 1,
+ }
+ )
+ },
+ transform: It.transform,
+ },
+ Ht = {
+ test: jt('hsl', 'hue'),
+ parse: Dt('hue', 'saturation', 'lightness'),
+ transform: function (e) {
+ var t = e.hue,
+ n = e.saturation,
+ r = e.lightness,
+ i = e.alpha,
+ o = void 0 === i ? 1 : i
+ return (
+ 'hsla(' +
+ Math.round(t) +
+ ', ' +
+ ie.transform(Y(n)) +
+ ', ' +
+ ie.transform(Y(r)) +
+ ', ' +
+ Y(ce.transform(o)) +
+ ')'
+ )
+ },
+ },
+ Bt = function (e, t, n) {
+ var r = e * e,
+ i = t * t
+ return Math.sqrt(Math.max(0, n * (i - r) + r))
+ },
+ Ft = [zt, It, Ht],
+ Vt = function (e) {
+ return Ft.find(function (t) {
+ return t.test(e)
+ })
+ },
+ Ut = function (e) {
+ return "'" + e + "' is not an animatable color. Use the equivalent color code instead."
+ },
+ Gt = function (e, t) {
+ var n = Vt(e),
+ r = Vt(t)
+ Ut(e), Ut(t), n.transform, r.transform
+ var i = n.parse(e),
+ o = r.parse(t),
+ a = wt({}, i),
+ s = n === Ht ? Rt : Bt
+ return function (e) {
+ for (var t in a) 'alpha' !== t && (a[t] = s(i[t], o[t], e))
+ return (a.alpha = Rt(i.alpha, o.alpha, e)), n.transform(a)
+ }
+ },
+ qt = {
+ test: function (e) {
+ return It.test(e) || zt.test(e) || Ht.test(e)
+ },
+ parse: function (e) {
+ return It.test(e) ? It.parse(e) : Ht.test(e) ? Ht.parse(e) : zt.parse(e)
+ },
+ transform: function (e) {
+ return te(e) ? e : e.hasOwnProperty('red') ? It.transform(e) : Ht.transform(e)
+ },
+ },
+ Wt = '${c}',
+ Kt = '${n}'
+ function Zt(e) {
+ var t = [],
+ n = 0,
+ r = e.match(J)
+ r && ((n = r.length), (e = e.replace(J, Wt)), t.push.apply(t, r.map(qt.parse)))
+ var i = e.match(Q)
+ return (
+ i && ((e = e.replace(Q, Kt)), t.push.apply(t, i.map(ue.parse))),
+ { values: t, numColors: n, tokenised: e }
+ )
+ }
+ function $t(e) {
+ return Zt(e).values
+ }
+ function Xt(e) {
+ var t = Zt(e),
+ n = t.values,
+ r = t.numColors,
+ i = t.tokenised,
+ o = n.length
+ return function (e) {
+ for (var t = i, n = 0; n < o; n++)
+ t = t.replace(n < r ? Wt : Kt, n < r ? qt.transform(e[n]) : Y(e[n]))
+ return t
+ }
+ }
+ var Yt = function (e) {
+ return 'number' === typeof e ? 0 : e
+ }
+ var Qt = {
+ test: function (e) {
+ var t, n, r, i
+ return (
+ isNaN(e) &&
+ te(e) &&
+ (null !== (n = null === (t = e.match(Q)) || void 0 === t ? void 0 : t.length) &&
+ void 0 !== n
+ ? n
+ : 0) +
+ (null !== (i = null === (r = e.match(J)) || void 0 === r ? void 0 : r.length) &&
+ void 0 !== i
+ ? i
+ : 0) >
+ 0
+ )
+ },
+ parse: $t,
+ createTransformer: Xt,
+ getAnimatableNone: function (e) {
+ var t = $t(e)
+ return Xt(e)(t.map(Yt))
+ },
+ },
+ Jt = function (e) {
+ return 'number' === typeof e
+ }
+ function en(e, t) {
+ return Jt(e)
+ ? function (n) {
+ return Rt(e, t, n)
+ }
+ : qt.test(e)
+ ? Gt(e, t)
+ : on(e, t)
+ }
+ var tn = function (e, t) {
+ var n = (function (e, t, n) {
+ if (n || 2 === arguments.length)
+ for (var r, i = 0, o = t.length; i < o; i++)
+ (!r && i in t) || (r || (r = Array.prototype.slice.call(t, 0, i)), (r[i] = t[i]))
+ return e.concat(r || t)
+ })([], e),
+ r = n.length,
+ i = e.map(function (e, n) {
+ return en(e, t[n])
+ })
+ return function (e) {
+ for (var t = 0; t < r; t++) n[t] = i[t](e)
+ return n
+ }
+ },
+ nn = function (e, t) {
+ var n = wt(wt({}, e), t),
+ r = {}
+ for (var i in n) void 0 !== e[i] && void 0 !== t[i] && (r[i] = en(e[i], t[i]))
+ return function (e) {
+ for (var t in r) n[t] = r[t](e)
+ return n
+ }
+ }
+ function rn(e) {
+ for (var t = Qt.parse(e), n = t.length, r = 0, i = 0, o = 0, a = 0; a < n; a++)
+ r || 'number' === typeof t[a] ? r++ : void 0 !== t[a].hue ? o++ : i++
+ return { parsed: t, numNumbers: r, numRGB: i, numHSL: o }
+ }
+ var on = function (e, t) {
+ var n = Qt.createTransformer(t),
+ r = rn(e),
+ i = rn(t)
+ return (
+ r.numHSL === i.numHSL && r.numRGB === i.numRGB && (r.numNumbers, i.numNumbers),
+ mt(tn(r.parsed, i.parsed), n)
+ )
+ },
+ an = function (e, t) {
+ return function (n) {
+ return Rt(e, t, n)
+ }
+ }
+ function sn(e, t, n) {
+ for (
+ var r,
+ i = [],
+ o =
+ n ||
+ ('number' === typeof (r = e[0])
+ ? an
+ : 'string' === typeof r
+ ? qt.test(r)
+ ? Gt
+ : on
+ : Array.isArray(r)
+ ? tn
+ : 'object' === typeof r
+ ? nn
+ : void 0),
+ a = e.length - 1,
+ s = 0;
+ s < a;
+ s++
+ ) {
+ var l = o(e[s], e[s + 1])
+ if (t) {
+ var u = Array.isArray(t) ? t[s] : t
+ l = mt(u, l)
+ }
+ i.push(l)
+ }
+ return i
+ }
+ function ln(e, t, n) {
+ var r = void 0 === n ? {} : n,
+ i = r.clamp,
+ o = void 0 === i || i,
+ a = r.ease,
+ s = r.mixer,
+ l = e.length
+ t.length,
+ !a || !Array.isArray(a) || a.length,
+ e[0] > e[l - 1] && ((e = [].concat(e)), (t = [].concat(t)), e.reverse(), t.reverse())
+ var u = sn(t, a, s),
+ c =
+ 2 === l
+ ? (function (e, t) {
+ var n = e[0],
+ r = e[1],
+ i = t[0]
+ return function (e) {
+ return i(Mt(n, r, e))
+ }
+ })(e, u)
+ : (function (e, t) {
+ var n = e.length,
+ r = n - 1
+ return function (i) {
+ var o = 0,
+ a = !1
+ if ((i <= e[0] ? (a = !0) : i >= e[r] && ((o = r - 1), (a = !0)), !a)) {
+ for (var s = 1; s < n && !(e[s] > i || s === r); s++);
+ o = s - 1
+ }
+ var l = Mt(e[o], e[o + 1], i)
+ return t[o](l)
+ }
+ })(e, u)
+ return o
+ ? function (t) {
+ return c(Et(e[0], e[l - 1], t))
+ }
+ : c
+ }
+ var un,
+ cn = function (e) {
+ return function (t) {
+ return 1 - e(1 - t)
+ }
+ },
+ dn = function (e) {
+ return function (t) {
+ return t <= 0.5 ? e(2 * t) / 2 : (2 - e(2 * (1 - t))) / 2
+ }
+ },
+ fn = function (e) {
+ return function (t) {
+ return t * t * ((e + 1) * t - e)
+ }
+ },
+ hn = function (e) {
+ return e
+ },
+ pn =
+ ((un = 2),
+ function (e) {
+ return Math.pow(e, un)
+ }),
+ vn = cn(pn),
+ mn = dn(pn),
+ gn = function (e) {
+ return 1 - Math.sin(Math.acos(e))
+ },
+ yn = cn(gn),
+ bn = dn(yn),
+ wn = fn(1.525),
+ xn = cn(wn),
+ En = dn(wn),
+ kn = (function (e) {
+ var t = fn(e)
+ return function (e) {
+ return (e *= 2) < 1 ? 0.5 * t(e) : 0.5 * (2 - Math.pow(2, -10 * (e - 1)))
+ }
+ })(1.525),
+ Tn = function (e) {
+ if (1 === e || 0 === e) return e
+ var t = e * e
+ return e < 0.36363636363636365
+ ? 7.5625 * t
+ : e < 0.7272727272727273
+ ? 9.075 * t - 9.9 * e + 3.4
+ : e < 0.9
+ ? 12.066481994459833 * t - 19.63545706371191 * e + 8.898060941828255
+ : 10.8 * e * e - 20.52 * e + 10.72
+ },
+ _n = cn(Tn)
+ function On(e, t) {
+ return e
+ .map(function () {
+ return t || mn
+ })
+ .splice(0, e.length - 1)
+ }
+ function Cn(e) {
+ var t = e.from,
+ n = void 0 === t ? 0 : t,
+ r = e.to,
+ i = void 0 === r ? 1 : r,
+ o = e.ease,
+ a = e.offset,
+ s = e.duration,
+ l = void 0 === s ? 300 : s,
+ u = { done: !1, value: n },
+ c = Array.isArray(i) ? i : [n, i],
+ d = (function (e, t) {
+ return e.map(function (e) {
+ return e * t
+ })
+ })(
+ a && a.length === c.length
+ ? a
+ : (function (e) {
+ var t = e.length
+ return e.map(function (e, n) {
+ return 0 !== n ? n / (t - 1) : 0
+ })
+ })(c),
+ l,
+ )
+ function f() {
+ return ln(d, c, { ease: Array.isArray(o) ? o : On(c, o) })
+ }
+ var h = f()
+ return {
+ next: function (e) {
+ return (u.value = h(e)), (u.done = e >= l), u
+ },
+ flipTarget: function () {
+ c.reverse(), (h = f())
+ },
+ }
+ }
+ var An = {
+ keyframes: Cn,
+ spring: St,
+ decay: function (e) {
+ var t = e.velocity,
+ n = void 0 === t ? 0 : t,
+ r = e.from,
+ i = void 0 === r ? 0 : r,
+ o = e.power,
+ a = void 0 === o ? 0.8 : o,
+ s = e.timeConstant,
+ l = void 0 === s ? 350 : s,
+ u = e.restDelta,
+ c = void 0 === u ? 0.5 : u,
+ d = e.modifyTarget,
+ f = { done: !1, value: i },
+ h = a * n,
+ p = i + h,
+ v = void 0 === d ? p : d(p)
+ return (
+ v !== p && (h = v - i),
+ {
+ next: function (e) {
+ var t = -h * Math.exp(-e / l)
+ return (f.done = !(t > c || t < -c)), (f.value = f.done ? v : v + t), f
+ },
+ flipTarget: function () {},
+ }
+ )
+ },
+ }
+ var Sn = n(9839)
+ function Pn(e, t, n) {
+ return void 0 === n && (n = 0), e - t - n
+ }
+ var Mn = function (e) {
+ var t = function (t) {
+ var n = t.delta
+ return e(n)
+ }
+ return {
+ start: function () {
+ return Sn.ZP.update(t, !0)
+ },
+ stop: function () {
+ return Sn.qY.update(t)
+ },
+ }
+ }
+ function Rn(e) {
+ var t,
+ n,
+ r,
+ i,
+ o,
+ a = e.from,
+ s = e.autoplay,
+ l = void 0 === s || s,
+ u = e.driver,
+ c = void 0 === u ? Mn : u,
+ d = e.elapsed,
+ f = void 0 === d ? 0 : d,
+ h = e.repeat,
+ p = void 0 === h ? 0 : h,
+ v = e.repeatType,
+ m = void 0 === v ? 'loop' : v,
+ g = e.repeatDelay,
+ y = void 0 === g ? 0 : g,
+ b = e.onPlay,
+ w = e.onStop,
+ x = e.onComplete,
+ E = e.onRepeat,
+ k = e.onUpdate,
+ T = xt(e, [
+ 'from',
+ 'autoplay',
+ 'driver',
+ 'elapsed',
+ 'repeat',
+ 'repeatType',
+ 'repeatDelay',
+ 'onPlay',
+ 'onStop',
+ 'onComplete',
+ 'onRepeat',
+ 'onUpdate',
+ ]),
+ _ = T.to,
+ O = 0,
+ C = T.duration,
+ A = !1,
+ S = !0,
+ P = (function (e) {
+ if (Array.isArray(e.to)) return Cn
+ if (An[e.type]) return An[e.type]
+ var t = new Set(Object.keys(e))
+ return t.has('ease') || (t.has('duration') && !t.has('dampingRatio'))
+ ? Cn
+ : t.has('dampingRatio') ||
+ t.has('stiffness') ||
+ t.has('mass') ||
+ t.has('damping') ||
+ t.has('restSpeed') ||
+ t.has('restDelta')
+ ? St
+ : Cn
+ })(T)
+ ;(null === (n = (t = P).needsInterpolation) || void 0 === n ? void 0 : n.call(t, a, _)) &&
+ ((o = ln([0, 100], [a, _], { clamp: !1 })), (a = 0), (_ = 100))
+ var M = P(wt(wt({}, T), { from: a, to: _ }))
+ function R() {
+ O++,
+ 'reverse' === m
+ ? (f = (function (e, t, n, r) {
+ return (
+ void 0 === n && (n = 0),
+ void 0 === r && (r = !0),
+ r ? Pn(t + -e, t, n) : t - (e - t) + n
+ )
+ })(f, C, y, (S = O % 2 === 0)))
+ : ((f = Pn(f, C, y)), 'mirror' === m && M.flipTarget()),
+ (A = !1),
+ E && E()
+ }
+ function j(e) {
+ if ((S || (e = -e), (f += e), !A)) {
+ var t = M.next(Math.max(0, f))
+ ;(i = t.value), o && (i = o(i)), (A = S ? t.done : f <= 0)
+ }
+ null === k || void 0 === k || k(i),
+ A &&
+ (0 === O && ((null !== C && void 0 !== C) || (C = f)),
+ O < p
+ ? (function (e, t, n, r) {
+ return r ? e >= t + n : e <= -n
+ })(f, C, y, S) && R()
+ : (r.stop(), x && x()))
+ }
+ return (
+ l && (null === b || void 0 === b || b(), (r = c(j)).start()),
+ {
+ stop: function () {
+ null === w || void 0 === w || w(), r.stop()
+ },
+ }
+ )
+ }
+ function jn(e, t) {
+ return t ? e * (1e3 / t) : 0
+ }
+ var Dn = function (e) {
+ return 1e3 * e
+ },
+ Ln = function (e, t) {
+ return 1 - 3 * t + 3 * e
+ },
+ Nn = function (e, t) {
+ return 3 * t - 6 * e
+ },
+ In = function (e) {
+ return 3 * e
+ },
+ zn = function (e, t, n) {
+ return ((Ln(t, n) * e + Nn(t, n)) * e + In(t)) * e
+ },
+ Hn = function (e, t, n) {
+ return 3 * Ln(t, n) * e * e + 2 * Nn(t, n) * e + In(t)
+ }
+ var Bn = 0.1
+ function Fn(e, t, n, r) {
+ if (e === t && n === r) return hn
+ for (var i = new Float32Array(11), o = 0; o < 11; ++o) i[o] = zn(o * Bn, e, n)
+ function a(t) {
+ for (var r = 0, o = 1; 10 !== o && i[o] <= t; ++o) r += Bn
+ --o
+ var a = r + ((t - i[o]) / (i[o + 1] - i[o])) * Bn,
+ s = Hn(a, e, n)
+ return s >= 0.001
+ ? (function (e, t, n, r) {
+ for (var i = 0; i < 8; ++i) {
+ var o = Hn(t, n, r)
+ if (0 === o) return t
+ t -= (zn(t, n, r) - e) / o
+ }
+ return t
+ })(t, a, e, n)
+ : 0 === s
+ ? a
+ : (function (e, t, n, r, i) {
+ var o,
+ a,
+ s = 0
+ do {
+ ;(o = zn((a = t + (n - t) / 2), r, i) - e) > 0 ? (n = a) : (t = a)
+ } while (Math.abs(o) > 1e-7 && ++s < 10)
+ return a
+ })(t, r, r + Bn, e, n)
+ }
+ return function (e) {
+ return 0 === e || 1 === e ? e : zn(a(e), t, r)
+ }
+ }
+ var Vn = {
+ linear: hn,
+ easeIn: pn,
+ easeInOut: mn,
+ easeOut: vn,
+ circIn: gn,
+ circInOut: bn,
+ circOut: yn,
+ backIn: wn,
+ backInOut: En,
+ backOut: xn,
+ anticipate: kn,
+ bounceIn: _n,
+ bounceInOut: function (e) {
+ return e < 0.5 ? 0.5 * (1 - Tn(1 - 2 * e)) : 0.5 * Tn(2 * e - 1) + 0.5
+ },
+ bounceOut: Tn,
+ },
+ Un = function (e) {
+ if (Array.isArray(e)) {
+ e.length
+ var t = (0, r.CR)(e, 4)
+ return Fn(t[0], t[1], t[2], t[3])
+ }
+ return 'string' === typeof e ? Vn[e] : e
+ },
+ Gn = function (e, t) {
+ return (
+ 'zIndex' !== e &&
+ (!('number' !== typeof t && !Array.isArray(t)) ||
+ !('string' !== typeof t || !Qt.test(t) || t.startsWith('url(')))
+ )
+ },
+ qn = function () {
+ return { type: 'spring', stiffness: 500, damping: 25, restDelta: 0.5, restSpeed: 10 }
+ },
+ Wn = function (e) {
+ return {
+ type: 'spring',
+ stiffness: 550,
+ damping: 0 === e ? 2 * Math.sqrt(550) : 30,
+ restDelta: 0.01,
+ restSpeed: 10,
+ }
+ },
+ Kn = function () {
+ return { type: 'keyframes', ease: 'linear', duration: 0.3 }
+ },
+ Zn = function (e) {
+ return { type: 'keyframes', duration: 0.8, values: e }
+ },
+ $n = {
+ x: qn,
+ y: qn,
+ z: qn,
+ rotate: qn,
+ rotateX: qn,
+ rotateY: qn,
+ rotateZ: qn,
+ scaleX: Wn,
+ scaleY: Wn,
+ scale: Wn,
+ opacity: Kn,
+ backgroundColor: Kn,
+ color: Kn,
+ default: Wn,
+ },
+ Xn = new Set(['brightness', 'contrast', 'saturate', 'opacity'])
+ function Yn(e) {
+ var t = e.slice(0, -1).split('('),
+ n = t[0],
+ r = t[1]
+ if ('drop-shadow' === n) return e
+ var i = (r.match(Q) || [])[0]
+ if (!i) return e
+ var o = r.replace(i, ''),
+ a = Xn.has(n) ? 1 : 0
+ return i !== r && (a *= 100), n + '(' + a + o + ')'
+ }
+ var Qn = /([a-z-]*)\(.*?\)/g,
+ Jn = $($({}, Qt), {
+ getAnimatableNone: function (e) {
+ var t = e.match(Qn)
+ return t ? t.map(Yn).join(' ') : e
+ },
+ }),
+ er = (0, r.pi)((0, r.pi)({}, he), {
+ color: qt,
+ backgroundColor: qt,
+ outlineColor: qt,
+ fill: qt,
+ stroke: qt,
+ borderColor: qt,
+ borderTopColor: qt,
+ borderRightColor: qt,
+ borderBottomColor: qt,
+ borderLeftColor: qt,
+ filter: Jn,
+ WebkitFilter: Jn,
+ }),
+ tr = function (e) {
+ return er[e]
+ }
+ function nr(e, t) {
+ var n,
+ r = tr(e)
+ return (
+ r !== Jn && (r = Qt),
+ null === (n = r.getAnimatableNone) || void 0 === n ? void 0 : n.call(r, t)
+ )
+ }
+ function rr(e) {
+ var t = e.ease,
+ n = e.times,
+ i = e.yoyo,
+ o = e.flip,
+ a = e.loop,
+ s = (0, r._T)(e, ['ease', 'times', 'yoyo', 'flip', 'loop']),
+ l = (0, r.pi)({}, s)
+ return (
+ n && (l.offset = n),
+ s.duration && (l.duration = Dn(s.duration)),
+ s.repeatDelay && (l.repeatDelay = Dn(s.repeatDelay)),
+ t &&
+ (l.ease = (function (e) {
+ return Array.isArray(e) && 'number' !== typeof e[0]
+ })(t)
+ ? t.map(Un)
+ : Un(t)),
+ 'tween' === s.type && (l.type = 'keyframes'),
+ (i || a || o) &&
+ (!0,
+ i
+ ? (l.repeatType = 'reverse')
+ : a
+ ? (l.repeatType = 'loop')
+ : o && (l.repeatType = 'mirror'),
+ (l.repeat = a || i || o || s.repeat)),
+ 'spring' !== s.type && (l.type = 'keyframes'),
+ l
+ )
+ }
+ function ir(e, t, n) {
+ var i
+ return (
+ Array.isArray(t.to) &&
+ ((null !== (i = e.duration) && void 0 !== i) || (e.duration = 0.8)),
+ (function (e) {
+ Array.isArray(e.to) &&
+ null === e.to[0] &&
+ ((e.to = (0, r.ev)([], (0, r.CR)(e.to))), (e.to[0] = e.from))
+ })(t),
+ (function (e) {
+ e.when,
+ e.delay,
+ e.delayChildren,
+ e.staggerChildren,
+ e.staggerDirection,
+ e.repeat,
+ e.repeatType,
+ e.repeatDelay,
+ e.from
+ var t = (0, r._T)(e, [
+ 'when',
+ 'delay',
+ 'delayChildren',
+ 'staggerChildren',
+ 'staggerDirection',
+ 'repeat',
+ 'repeatType',
+ 'repeatDelay',
+ 'from',
+ ])
+ return !!Object.keys(t).length
+ })(e) ||
+ (e = (0, r.pi)(
+ (0, r.pi)({}, e),
+ (function (e, t) {
+ var n
+ return (n = He(t) ? Zn : $n[e] || $n.default), (0, r.pi)({ to: t }, n(t))
+ })(n, t.to),
+ )),
+ (0, r.pi)((0, r.pi)({}, t), rr(e))
+ )
+ }
+ function or(e, t, n, i, o) {
+ var a,
+ s = lr(i, e),
+ l = null !== (a = s.from) && void 0 !== a ? a : t.get(),
+ u = Gn(e, n)
+ 'none' === l && u && 'string' === typeof n
+ ? (l = nr(e, n))
+ : ar(l) && 'string' === typeof n
+ ? (l = sr(n))
+ : !Array.isArray(n) && ar(n) && 'string' === typeof l && (n = sr(l))
+ var c = Gn(e, l)
+ return c && u && !1 !== s.type
+ ? function () {
+ var i = {
+ from: l,
+ to: n,
+ velocity: t.getVelocity(),
+ onComplete: o,
+ onUpdate: function (e) {
+ return t.set(e)
+ },
+ }
+ return 'inertia' === s.type || 'decay' === s.type
+ ? (function (e) {
+ var t,
+ n = e.from,
+ r = void 0 === n ? 0 : n,
+ i = e.velocity,
+ o = void 0 === i ? 0 : i,
+ a = e.min,
+ s = e.max,
+ l = e.power,
+ u = void 0 === l ? 0.8 : l,
+ c = e.timeConstant,
+ d = void 0 === c ? 750 : c,
+ f = e.bounceStiffness,
+ h = void 0 === f ? 500 : f,
+ p = e.bounceDamping,
+ v = void 0 === p ? 10 : p,
+ m = e.restDelta,
+ g = void 0 === m ? 1 : m,
+ y = e.modifyTarget,
+ b = e.driver,
+ w = e.onUpdate,
+ x = e.onComplete
+ function E(e) {
+ return (void 0 !== a && e < a) || (void 0 !== s && e > s)
+ }
+ function k(e) {
+ return void 0 === a
+ ? s
+ : void 0 === s || Math.abs(a - e) < Math.abs(s - e)
+ ? a
+ : s
+ }
+ function T(e) {
+ null === t || void 0 === t || t.stop(),
+ (t = Rn(
+ wt(wt({}, e), {
+ driver: b,
+ onUpdate: function (t) {
+ var n
+ null === w || void 0 === w || w(t),
+ null === (n = e.onUpdate) || void 0 === n || n.call(e, t)
+ },
+ onComplete: x,
+ }),
+ ))
+ }
+ function _(e) {
+ T(wt({ type: 'spring', stiffness: h, damping: v, restDelta: g }, e))
+ }
+ if (E(r)) _({ from: r, velocity: o, to: k(r) })
+ else {
+ var O = u * o + r
+ 'undefined' !== typeof y && (O = y(O))
+ var C,
+ A,
+ S = k(O),
+ P = S === a ? -1 : 1
+ T({
+ type: 'decay',
+ from: r,
+ velocity: o,
+ timeConstant: d,
+ power: u,
+ restDelta: g,
+ modifyTarget: y,
+ onUpdate: E(O)
+ ? function (e) {
+ ;(C = A),
+ (A = e),
+ (o = jn(e - C, (0, Sn.$B)().delta)),
+ ((1 === P && e > S) || (-1 === P && e < S)) &&
+ _({ from: e, to: S, velocity: o })
+ }
+ : void 0,
+ })
+ }
+ return {
+ stop: function () {
+ return null === t || void 0 === t ? void 0 : t.stop()
+ },
+ }
+ })((0, r.pi)((0, r.pi)({}, i), s))
+ : Rn(
+ (0, r.pi)((0, r.pi)({}, ir(s, i, e)), {
+ onUpdate: function (e) {
+ var t
+ i.onUpdate(e), null === (t = s.onUpdate) || void 0 === t || t.call(s, e)
+ },
+ onComplete: function () {
+ var e
+ i.onComplete(), null === (e = s.onComplete) || void 0 === e || e.call(s)
+ },
+ }),
+ )
+ }
+ : function () {
+ var e
+ return (
+ t.set(n),
+ o(),
+ null === (e = null === s || void 0 === s ? void 0 : s.onComplete) ||
+ void 0 === e ||
+ e.call(s),
+ { stop: function () {} }
+ )
+ }
+ }
+ function ar(e) {
+ return 0 === e || ('string' === typeof e && 0 === parseFloat(e) && -1 === e.indexOf(' '))
+ }
+ function sr(e) {
+ return 'number' === typeof e ? 0 : nr('', e)
+ }
+ function lr(e, t) {
+ return e[t] || e.default || e
+ }
+ function ur(e, t, n, r) {
+ return (
+ void 0 === r && (r = {}),
+ t.start(function (i) {
+ var o,
+ a,
+ s = or(e, t, n, r, i),
+ l = (function (e, t) {
+ var n
+ return null !== (n = (lr(e, t) || {}).delay) && void 0 !== n ? n : 0
+ })(r, e),
+ u = function () {
+ return (a = s())
+ }
+ return (
+ l ? (o = setTimeout(u, Dn(l))) : u(),
+ function () {
+ clearTimeout(o), null === a || void 0 === a || a.stop()
+ }
+ )
+ })
+ )
+ }
+ function cr(e, t) {
+ ;-1 === e.indexOf(t) && e.push(t)
+ }
+ function dr(e, t) {
+ var n = e.indexOf(t)
+ n > -1 && e.splice(n, 1)
+ }
+ var fr = (function () {
+ function e() {
+ this.subscriptions = []
+ }
+ return (
+ (e.prototype.add = function (e) {
+ var t = this
+ return (
+ cr(this.subscriptions, e),
+ function () {
+ return dr(t.subscriptions, e)
+ }
+ )
+ }),
+ (e.prototype.notify = function (e, t, n) {
+ var r = this.subscriptions.length
+ if (r)
+ if (1 === r) this.subscriptions[0](e, t, n)
+ else
+ for (var i = 0; i < r; i++) {
+ var o = this.subscriptions[i]
+ o && o(e, t, n)
+ }
+ }),
+ (e.prototype.getSize = function () {
+ return this.subscriptions.length
+ }),
+ (e.prototype.clear = function () {
+ this.subscriptions.length = 0
+ }),
+ e
+ )
+ })(),
+ hr = (function () {
+ function e(e) {
+ var t,
+ n = this
+ ;(this.timeDelta = 0),
+ (this.lastUpdated = 0),
+ (this.updateSubscribers = new fr()),
+ (this.velocityUpdateSubscribers = new fr()),
+ (this.renderSubscribers = new fr()),
+ (this.canTrackVelocity = !1),
+ (this.updateAndNotify = function (e, t) {
+ void 0 === t && (t = !0), (n.prev = n.current), (n.current = e)
+ var r = (0, Sn.$B)(),
+ i = r.delta,
+ o = r.timestamp
+ n.lastUpdated !== o &&
+ ((n.timeDelta = i),
+ (n.lastUpdated = o),
+ Sn.ZP.postRender(n.scheduleVelocityCheck)),
+ n.prev !== n.current && n.updateSubscribers.notify(n.current),
+ n.velocityUpdateSubscribers.getSize() &&
+ n.velocityUpdateSubscribers.notify(n.getVelocity()),
+ t && n.renderSubscribers.notify(n.current)
+ }),
+ (this.scheduleVelocityCheck = function () {
+ return Sn.ZP.postRender(n.velocityCheck)
+ }),
+ (this.velocityCheck = function (e) {
+ e.timestamp !== n.lastUpdated &&
+ ((n.prev = n.current), n.velocityUpdateSubscribers.notify(n.getVelocity()))
+ }),
+ (this.hasAnimated = !1),
+ (this.prev = this.current = e),
+ (this.canTrackVelocity = ((t = this.current), !isNaN(parseFloat(t))))
+ }
+ return (
+ (e.prototype.onChange = function (e) {
+ return this.updateSubscribers.add(e)
+ }),
+ (e.prototype.clearListeners = function () {
+ this.updateSubscribers.clear()
+ }),
+ (e.prototype.onRenderRequest = function (e) {
+ return e(this.get()), this.renderSubscribers.add(e)
+ }),
+ (e.prototype.attach = function (e) {
+ this.passiveEffect = e
+ }),
+ (e.prototype.set = function (e, t) {
+ void 0 === t && (t = !0),
+ t && this.passiveEffect
+ ? this.passiveEffect(e, this.updateAndNotify)
+ : this.updateAndNotify(e, t)
+ }),
+ (e.prototype.get = function () {
+ return this.current
+ }),
+ (e.prototype.getPrevious = function () {
+ return this.prev
+ }),
+ (e.prototype.getVelocity = function () {
+ return this.canTrackVelocity
+ ? jn(parseFloat(this.current) - parseFloat(this.prev), this.timeDelta)
+ : 0
+ }),
+ (e.prototype.start = function (e) {
+ var t = this
+ return (
+ this.stop(),
+ new Promise(function (n) {
+ ;(t.hasAnimated = !0), (t.stopAnimation = e(n))
+ }).then(function () {
+ return t.clearAnimation()
+ })
+ )
+ }),
+ (e.prototype.stop = function () {
+ this.stopAnimation && this.stopAnimation(), this.clearAnimation()
+ }),
+ (e.prototype.isAnimating = function () {
+ return !!this.stopAnimation
+ }),
+ (e.prototype.clearAnimation = function () {
+ this.stopAnimation = null
+ }),
+ (e.prototype.destroy = function () {
+ this.updateSubscribers.clear(), this.renderSubscribers.clear(), this.stop()
+ }),
+ e
+ )
+ })()
+ function pr(e) {
+ return new hr(e)
+ }
+ var vr = function (e) {
+ return function (t) {
+ return t.test(e)
+ }
+ },
+ mr = [
+ ue,
+ oe,
+ ie,
+ re,
+ se,
+ ae,
+ {
+ test: function (e) {
+ return 'auto' === e
+ },
+ parse: function (e) {
+ return e
+ },
+ },
+ ],
+ gr = function (e) {
+ return mr.find(vr(e))
+ },
+ yr = (0, r.ev)((0, r.ev)([], (0, r.CR)(mr)), [qt, Qt]),
+ br = function (e) {
+ return yr.find(vr(e))
+ }
+ function wr(e, t, n) {
+ e.hasValue(t) ? e.getValue(t).set(n) : e.addValue(t, pr(n))
+ }
+ function xr(e, t) {
+ var n = C(e, t),
+ i = n ? e.makeTargetAnimatable(n, !1) : {},
+ o = i.transitionEnd,
+ a = void 0 === o ? {} : o
+ i.transition
+ var s,
+ l = (0, r._T)(i, ['transitionEnd', 'transition'])
+ for (var u in (l = (0, r.pi)((0, r.pi)({}, l), a))) {
+ wr(e, u, ((s = l[u]), He(s) ? s[s.length - 1] || 0 : s))
+ }
+ }
+ function Er(e, t) {
+ if (t) return (t[e] || t.default || t).from
+ }
+ function kr(e, t, n) {
+ var i
+ void 0 === n && (n = {})
+ var o = C(e, t, n.custom),
+ a = (o || {}).transition,
+ s = void 0 === a ? e.getDefaultTransition() || {} : a
+ n.transitionOverride && (s = n.transitionOverride)
+ var l = o
+ ? function () {
+ return Tr(e, o, n)
+ }
+ : function () {
+ return Promise.resolve()
+ },
+ u = (null === (i = e.variantChildren) || void 0 === i ? void 0 : i.size)
+ ? function (i) {
+ void 0 === i && (i = 0)
+ var o = s.delayChildren,
+ a = void 0 === o ? 0 : o,
+ l = s.staggerChildren,
+ u = s.staggerDirection
+ return (function (e, t, n, i, o, a) {
+ void 0 === n && (n = 0)
+ void 0 === i && (i = 0)
+ void 0 === o && (o = 1)
+ var s = [],
+ l = (e.variantChildren.size - 1) * i,
+ u =
+ 1 === o
+ ? function (e) {
+ return void 0 === e && (e = 0), e * i
+ }
+ : function (e) {
+ return void 0 === e && (e = 0), l - e * i
+ }
+ return (
+ Array.from(e.variantChildren)
+ .sort(_r)
+ .forEach(function (e, i) {
+ s.push(
+ kr(e, t, (0, r.pi)((0, r.pi)({}, a), { delay: n + u(i) })).then(
+ function () {
+ return e.notifyAnimationComplete(t)
+ },
+ ),
+ )
+ }),
+ Promise.all(s)
+ )
+ })(e, t, a + i, l, u, n)
+ }
+ : function () {
+ return Promise.resolve()
+ },
+ c = s.when
+ if (c) {
+ var d = (0, r.CR)('beforeChildren' === c ? [l, u] : [u, l], 2),
+ f = d[0],
+ h = d[1]
+ return f().then(h)
+ }
+ return Promise.all([l(), u(n.delay)])
+ }
+ function Tr(e, t, n) {
+ var i,
+ o = void 0 === n ? {} : n,
+ a = o.delay,
+ s = void 0 === a ? 0 : a,
+ l = o.transitionOverride,
+ u = o.type,
+ c = e.makeTargetAnimatable(t),
+ d = c.transition,
+ f = void 0 === d ? e.getDefaultTransition() : d,
+ h = c.transitionEnd,
+ p = (0, r._T)(c, ['transition', 'transitionEnd'])
+ l && (f = l)
+ var v = [],
+ m = u && (null === (i = e.animationState) || void 0 === i ? void 0 : i.getState()[u])
+ for (var g in p) {
+ var y = e.getValue(g),
+ b = p[g]
+ if (!(!y || void 0 === b || (m && Or(m, g)))) {
+ var w = ur(g, y, b, (0, r.pi)({ delay: s }, f))
+ v.push(w)
+ }
+ }
+ return Promise.all(v).then(function () {
+ h && xr(e, h)
+ })
+ }
+ function _r(e, t) {
+ return e.sortNodePosition(t)
+ }
+ function Or(e, t) {
+ var n = e.protectedKeys,
+ r = e.needsAnimating,
+ i = n.hasOwnProperty(t) && !0 !== r[t]
+ return (r[t] = !1), i
+ }
+ var Cr = [qe.Animate, qe.Hover, qe.Tap, qe.Drag, qe.Focus, qe.Exit],
+ Ar = (0, r.ev)([], (0, r.CR)(Cr)).reverse(),
+ Sr = Cr.length
+ function Pr(e) {
+ return function (t) {
+ return Promise.all(
+ t.map(function (t) {
+ var n = t.animation,
+ r = t.options
+ return (function (e, t, n) {
+ var r
+ if ((void 0 === n && (n = {}), e.notifyAnimationStart(), Array.isArray(t))) {
+ var i = t.map(function (t) {
+ return kr(e, t, n)
+ })
+ r = Promise.all(i)
+ } else if ('string' === typeof t) r = kr(e, t, n)
+ else {
+ var o = 'function' === typeof t ? C(e, t, n.custom) : t
+ r = Tr(e, o, n)
+ }
+ return r.then(function () {
+ return e.notifyAnimationComplete(t)
+ })
+ })(e, n, r)
+ }),
+ )
+ }
+ }
+ function Mr(e) {
+ var t = Pr(e),
+ n = (function () {
+ var e
+ return (
+ ((e = {})[qe.Animate] = Rr(!0)),
+ (e[qe.Hover] = Rr()),
+ (e[qe.Tap] = Rr()),
+ (e[qe.Drag] = Rr()),
+ (e[qe.Focus] = Rr()),
+ (e[qe.Exit] = Rr()),
+ e
+ )
+ })(),
+ i = {},
+ o = !0,
+ a = function (t, n) {
+ var i = C(e, n)
+ if (i) {
+ i.transition
+ var o = i.transitionEnd,
+ a = (0, r._T)(i, ['transition', 'transitionEnd'])
+ t = (0, r.pi)((0, r.pi)((0, r.pi)({}, t), a), o)
+ }
+ return t
+ }
+ function s(s, l) {
+ for (
+ var u,
+ c = e.getProps(),
+ d = e.getVariantContext(!0) || {},
+ f = [],
+ h = new Set(),
+ p = {},
+ v = 1 / 0,
+ m = function (t) {
+ var i = Ar[t],
+ m = n[i],
+ g = null !== (u = c[i]) && void 0 !== u ? u : d[i],
+ y = _(g),
+ b = i === l ? m.isActive : null
+ !1 === b && (v = t)
+ var w = g === d[i] && g !== c[i] && y
+ if (
+ (w && o && e.manuallyAnimateOnMount && (w = !1),
+ (m.protectedKeys = (0, r.pi)({}, p)),
+ (!m.isActive && null === b) ||
+ (!g && !m.prevProp) ||
+ ze(g) ||
+ 'boolean' === typeof g)
+ )
+ return 'continue'
+ var x =
+ (function (e, t) {
+ if ('string' === typeof t) return t !== e
+ if (T(t)) return !bt(t, e)
+ return !1
+ })(m.prevProp, g) ||
+ (i === l && m.isActive && !w && y) ||
+ (t > v && y),
+ E = Array.isArray(g) ? g : [g],
+ k = E.reduce(a, {})
+ !1 === b && (k = {})
+ var O = m.prevResolvedValues,
+ C = void 0 === O ? {} : O,
+ A = (0, r.pi)((0, r.pi)({}, C), k),
+ S = function (e) {
+ ;(x = !0), h.delete(e), (m.needsAnimating[e] = !0)
+ }
+ for (var P in A) {
+ var M = k[P],
+ R = C[P]
+ p.hasOwnProperty(P) ||
+ (M !== R
+ ? He(M) && He(R)
+ ? bt(M, R)
+ ? (m.protectedKeys[P] = !0)
+ : S(P)
+ : void 0 !== M
+ ? S(P)
+ : h.add(P)
+ : void 0 !== M && h.has(P)
+ ? S(P)
+ : (m.protectedKeys[P] = !0))
+ }
+ ;(m.prevProp = g),
+ (m.prevResolvedValues = k),
+ m.isActive && (p = (0, r.pi)((0, r.pi)({}, p), k)),
+ o && e.blockInitialAnimation && (x = !1),
+ x &&
+ !w &&
+ f.push.apply(
+ f,
+ (0, r.ev)(
+ [],
+ (0, r.CR)(
+ E.map(function (e) {
+ return { animation: e, options: (0, r.pi)({ type: i }, s) }
+ }),
+ ),
+ ),
+ )
+ },
+ g = 0;
+ g < Sr;
+ g++
+ )
+ m(g)
+ if (((i = (0, r.pi)({}, p)), h.size)) {
+ var y = {}
+ h.forEach(function (t) {
+ var n = e.getBaseTarget(t)
+ void 0 !== n && (y[t] = n)
+ }),
+ f.push({ animation: y })
+ }
+ var b = Boolean(f.length)
+ return (
+ o && !1 === c.initial && !e.manuallyAnimateOnMount && (b = !1),
+ (o = !1),
+ b ? t(f) : Promise.resolve()
+ )
+ }
+ return {
+ isAnimated: function (e) {
+ return void 0 !== i[e]
+ },
+ animateChanges: s,
+ setActive: function (t, r, i) {
+ var o
+ return n[t].isActive === r
+ ? Promise.resolve()
+ : (null === (o = e.variantChildren) ||
+ void 0 === o ||
+ o.forEach(function (e) {
+ var n
+ return null === (n = e.animationState) || void 0 === n
+ ? void 0
+ : n.setActive(t, r)
+ }),
+ (n[t].isActive = r),
+ s(i, t))
+ },
+ setAnimateFunction: function (n) {
+ t = n(e)
+ },
+ getState: function () {
+ return n
+ },
+ }
+ }
+ function Rr(e) {
+ return (
+ void 0 === e && (e = !1),
+ { isActive: e, protectedKeys: {}, needsAnimating: {}, prevResolvedValues: {} }
+ )
+ }
+ var jr = {
+ animation: gt(function (e) {
+ var t = e.visualElement,
+ n = e.animate
+ t.animationState || (t.animationState = Mr(t)),
+ ze(n) &&
+ (0, i.useEffect)(
+ function () {
+ return n.subscribe(t)
+ },
+ [n],
+ )
+ }),
+ exit: gt(function (e) {
+ var t = e.custom,
+ n = e.visualElement,
+ o = (0, r.CR)(p(), 2),
+ a = o[0],
+ s = o[1],
+ l = (0, i.useContext)(f.O)
+ ;(0, i.useEffect)(
+ function () {
+ var e,
+ r,
+ i =
+ null === (e = n.animationState) || void 0 === e
+ ? void 0
+ : e.setActive(qe.Exit, !a, {
+ custom:
+ null !== (r = null === l || void 0 === l ? void 0 : l.custom) &&
+ void 0 !== r
+ ? r
+ : t,
+ })
+ !a && (null === i || void 0 === i || i.then(s))
+ },
+ [a],
+ )
+ }),
+ },
+ Dr = function (e) {
+ return e.hasOwnProperty('x') && e.hasOwnProperty('y')
+ },
+ Lr = function (e) {
+ return Dr(e) && e.hasOwnProperty('z')
+ },
+ Nr = function (e, t) {
+ return Math.abs(e - t)
+ }
+ function Ir(e, t) {
+ if (Jt(e) && Jt(t)) return Nr(e, t)
+ if (Dr(e) && Dr(t)) {
+ var n = Nr(e.x, t.x),
+ r = Nr(e.y, t.y),
+ i = Lr(e) && Lr(t) ? Nr(e.z, t.z) : 0
+ return Math.sqrt(Math.pow(n, 2) + Math.pow(r, 2) + Math.pow(i, 2))
+ }
+ }
+ var zr = (function () {
+ function e(e, t, n) {
+ var i = this,
+ o = (void 0 === n ? {} : n).transformPagePoint
+ if (
+ ((this.startEvent = null),
+ (this.lastMoveEvent = null),
+ (this.lastMoveEventInfo = null),
+ (this.handlers = {}),
+ (this.updatePoint = function () {
+ if (i.lastMoveEvent && i.lastMoveEventInfo) {
+ var e = Fr(i.lastMoveEventInfo, i.history),
+ t = null !== i.startEvent,
+ n = Ir(e.offset, { x: 0, y: 0 }) >= 3
+ if (t || n) {
+ var o = e.point,
+ a = (0, Sn.$B)().timestamp
+ i.history.push((0, r.pi)((0, r.pi)({}, o), { timestamp: a }))
+ var s = i.handlers,
+ l = s.onStart,
+ u = s.onMove
+ t || (l && l(i.lastMoveEvent, e), (i.startEvent = i.lastMoveEvent)),
+ u && u(i.lastMoveEvent, e)
+ }
+ }
+ }),
+ (this.handlePointerMove = function (e, t) {
+ ;(i.lastMoveEvent = e),
+ (i.lastMoveEventInfo = Hr(t, i.transformPagePoint)),
+ $e(e) && 0 === e.buttons ? i.handlePointerUp(e, t) : Sn.ZP.update(i.updatePoint, !0)
+ }),
+ (this.handlePointerUp = function (e, t) {
+ i.end()
+ var n = i.handlers,
+ r = n.onEnd,
+ o = n.onSessionEnd,
+ a = Fr(Hr(t, i.transformPagePoint), i.history)
+ i.startEvent && r && r(e, a), o && o(e, a)
+ }),
+ !(Xe(e) && e.touches.length > 1))
+ ) {
+ ;(this.handlers = t), (this.transformPagePoint = o)
+ var a = Hr(et(e), this.transformPagePoint),
+ s = a.point,
+ l = (0, Sn.$B)().timestamp
+ this.history = [(0, r.pi)((0, r.pi)({}, s), { timestamp: l })]
+ var u = t.onSessionStart
+ u && u(e, Fr(a, this.history)),
+ (this.removeListeners = mt(
+ ot(window, 'pointermove', this.handlePointerMove),
+ ot(window, 'pointerup', this.handlePointerUp),
+ ot(window, 'pointercancel', this.handlePointerUp),
+ ))
+ }
+ }
+ return (
+ (e.prototype.updateHandlers = function (e) {
+ this.handlers = e
+ }),
+ (e.prototype.end = function () {
+ this.removeListeners && this.removeListeners(), Sn.qY.update(this.updatePoint)
+ }),
+ e
+ )
+ })()
+ function Hr(e, t) {
+ return t ? { point: t(e.point) } : e
+ }
+ function Br(e, t) {
+ return { x: e.x - t.x, y: e.y - t.y }
+ }
+ function Fr(e, t) {
+ var n = e.point
+ return { point: n, delta: Br(n, Ur(t)), offset: Br(n, Vr(t)), velocity: Gr(t, 0.1) }
+ }
+ function Vr(e) {
+ return e[0]
+ }
+ function Ur(e) {
+ return e[e.length - 1]
+ }
+ function Gr(e, t) {
+ if (e.length < 2) return { x: 0, y: 0 }
+ for (
+ var n = e.length - 1, r = null, i = Ur(e);
+ n >= 0 && ((r = e[n]), !(i.timestamp - r.timestamp > Dn(t)));
+
+ )
+ n--
+ if (!r) return { x: 0, y: 0 }
+ var o = (i.timestamp - r.timestamp) / 1e3
+ if (0 === o) return { x: 0, y: 0 }
+ var a = { x: (i.x - r.x) / o, y: (i.y - r.y) / o }
+ return a.x === 1 / 0 && (a.x = 0), a.y === 1 / 0 && (a.y = 0), a
+ }
+ var qr = n(3327)
+ function Wr(e) {
+ return [e('x'), e('y')]
+ }
+ function Kr(e, t, n) {
+ var r = t.min,
+ i = t.max
+ return (
+ void 0 !== r && e < r
+ ? (e = n ? Rt(r, e, n.min) : Math.max(e, r))
+ : void 0 !== i && e > i && (e = n ? Rt(i, e, n.max) : Math.min(e, i)),
+ e
+ )
+ }
+ function Zr(e, t, n) {
+ return {
+ min: void 0 !== t ? e.min + t : void 0,
+ max: void 0 !== n ? e.max + n - (e.max - e.min) : void 0,
+ }
+ }
+ function $r(e, t) {
+ var n,
+ i = t.min - e.min,
+ o = t.max - e.max
+ return (
+ t.max - t.min < e.max - e.min && ((i = (n = (0, r.CR)([o, i], 2))[0]), (o = n[1])),
+ { min: e.min + i, max: e.min + o }
+ )
+ }
+ function Xr(e, t, n) {
+ return { min: Yr(e, t), max: Yr(e, n) }
+ }
+ function Yr(e, t) {
+ var n
+ return 'number' === typeof e ? e : null !== (n = e[t]) && void 0 !== n ? n : 0
+ }
+ function Qr(e, t) {
+ var n = e.getBoundingClientRect()
+ return (0, qr.RX)((0, qr.dV)(n, t))
+ }
+ function Jr(e, t, n) {
+ return void 0 === t && (t = 0), void 0 === n && (n = 0.01), Ir(e, t) < n
+ }
+ function ei(e) {
+ return e.max - e.min
+ }
+ function ti(e, t) {
+ var n = 0.5,
+ r = ei(e),
+ i = ei(t)
+ return (
+ i > r ? (n = Mt(t.min, t.max - r, e.min)) : r > i && (n = Mt(e.min, e.max - i, t.min)),
+ Et(0, 1, n)
+ )
+ }
+ function ni(e, t, n, r) {
+ void 0 === r && (r = 0.5),
+ (e.origin = r),
+ (e.originPoint = Rt(t.min, t.max, e.origin)),
+ (e.scale = ei(n) / ei(t)),
+ Jr(e.scale, 1, 1e-4) && (e.scale = 1),
+ (e.translate = Rt(n.min, n.max, e.origin) - e.originPoint),
+ Jr(e.translate) && (e.translate = 0)
+ }
+ function ri(e, t, n, r) {
+ ni(e.x, t.x, n.x, ii(r.originX)), ni(e.y, t.y, n.y, ii(r.originY))
+ }
+ function ii(e) {
+ return 'number' === typeof e ? e : 0.5
+ }
+ function oi(e, t, n) {
+ ;(e.min = n.min + t.min), (e.max = e.min + ei(t))
+ }
+ var ai = n(8839)
+ function si(e, t) {
+ return { min: t.min - e.min, max: t.max - e.min }
+ }
+ function li(e, t) {
+ return { x: si(e.x, t.x), y: si(e.y, t.y) }
+ }
+ function ui(e, t) {
+ var n = e.getLayoutId(),
+ r = t.getLayoutId()
+ return n !== r || (void 0 === r && e !== t)
+ }
+ function ci(e) {
+ var t = e.getProps(),
+ n = t.drag,
+ r = t._dragX
+ return n && !r
+ }
+ function di(e, t) {
+ ;(e.min = t.min), (e.max = t.max)
+ }
+ function fi(e, t, n) {
+ return n + t * (e - n)
+ }
+ function hi(e, t, n, r, i) {
+ return void 0 !== i && (e = fi(e, i, r)), fi(e, n, r) + t
+ }
+ function pi(e, t, n, r, i) {
+ void 0 === t && (t = 0),
+ void 0 === n && (n = 1),
+ (e.min = hi(e.min, t, n, r, i)),
+ (e.max = hi(e.max, t, n, r, i))
+ }
+ function vi(e, t) {
+ var n = t.x,
+ r = t.y
+ pi(e.x, n.translate, n.scale, n.originPoint), pi(e.y, r.translate, r.scale, r.originPoint)
+ }
+ function mi(e, t, n, i) {
+ var o = (0, r.CR)(i, 3),
+ a = o[0],
+ s = o[1],
+ l = o[2]
+ ;(e.min = t.min), (e.max = t.max)
+ var u = void 0 !== n[l] ? n[l] : 0.5,
+ c = Rt(t.min, t.max, u)
+ pi(e, n[a], n[s], c, n.scale)
+ }
+ var gi = ['x', 'scaleX', 'originX'],
+ yi = ['y', 'scaleY', 'originY']
+ function bi(e, t, n) {
+ mi(e.x, t.x, n, gi), mi(e.y, t.y, n, yi)
+ }
+ function wi(e, t, n, r, i) {
+ return (e = fi((e -= t), 1 / n, r)), void 0 !== i && (e = fi(e, 1 / i, r)), e
+ }
+ function xi(e, t, n) {
+ var i = (0, r.CR)(n, 3),
+ o = i[0],
+ a = i[1],
+ s = i[2]
+ !(function (e, t, n, r, i) {
+ void 0 === t && (t = 0), void 0 === n && (n = 1), void 0 === r && (r = 0.5)
+ var o = Rt(e.min, e.max, r) - t
+ ;(e.min = wi(e.min, t, n, o, i)), (e.max = wi(e.max, t, n, o, i))
+ })(e, t[o], t[a], t[s], t.scale)
+ }
+ function Ei(e, t) {
+ xi(e.x, t, gi), xi(e.y, t, yi)
+ }
+ var ki,
+ Ti = n(7565),
+ _i = new WeakMap(),
+ Oi = (function () {
+ function e(e) {
+ var t = e.visualElement
+ ;(this.isDragging = !1),
+ (this.currentDirection = null),
+ (this.constraints = !1),
+ (this.elastic = (0, qr.VZ)()),
+ (this.props = {}),
+ (this.hasMutatedConstraints = !1),
+ (this.cursorProgress = { x: 0.5, y: 0.5 }),
+ (this.originPoint = {}),
+ (this.openGlobalLock = null),
+ (this.panSession = null),
+ (this.visualElement = t),
+ this.visualElement.enableLayoutProjection(),
+ _i.set(t, this)
+ }
+ return (
+ (e.prototype.start = function (e, t) {
+ var n = this,
+ i = void 0 === t ? {} : t,
+ o = i.snapToCursor,
+ a = void 0 !== o && o,
+ s = i.cursorProgress,
+ l = this.props.transformPagePoint
+ this.panSession = new zr(
+ e,
+ {
+ onSessionStart: function (e) {
+ var t
+ n.stopMotion()
+ var i = (function (e) {
+ return et(e, 'client')
+ })(e).point
+ null === (t = n.cancelLayout) || void 0 === t || t.call(n),
+ (n.cancelLayout = (0, Ti.U)(function (e, t) {
+ var o = (0, ai.kv)(n.visualElement),
+ l = (0, ai.e3)(n.visualElement),
+ u = (0, r.ev)((0, r.ev)([], (0, r.CR)(o)), (0, r.CR)(l)),
+ c = !1
+ n.isLayoutDrag() && n.visualElement.lockProjectionTarget(),
+ t(function () {
+ u.forEach(function (e) {
+ return e.resetTransform()
+ })
+ }),
+ e(function () {
+ ;(0, ai.de)(n.visualElement), l.forEach(ai.de)
+ }),
+ t(function () {
+ u.forEach(function (e) {
+ return e.restoreTransform()
+ }),
+ a && (c = n.snapToCursor(i))
+ }),
+ e(function () {
+ Boolean(n.getAxisMotionValue('x') && !n.isExternalDrag()) ||
+ n.visualElement.rebaseProjectionTarget(
+ !0,
+ n.visualElement.measureViewportBox(!1),
+ ),
+ n.visualElement.scheduleUpdateLayoutProjection()
+ var e = n.visualElement.projection
+ Wr(function (t) {
+ if (!c) {
+ var r = e.target[t],
+ o = r.min,
+ a = r.max
+ n.cursorProgress[t] = s ? s[t] : Mt(o, a, i[t])
+ }
+ var l = n.getAxisMotionValue(t)
+ l && (n.originPoint[t] = l.get())
+ })
+ }),
+ t(function () {
+ Sn.iW.update(), Sn.iW.preRender(), Sn.iW.render(), Sn.iW.postRender()
+ }),
+ e(function () {
+ return n.resolveDragConstraints()
+ })
+ }))
+ },
+ onStart: function (e, t) {
+ var r,
+ i,
+ o,
+ a = n.props,
+ s = a.drag,
+ l = a.dragPropagation
+ ;(!s ||
+ l ||
+ (n.openGlobalLock && n.openGlobalLock(),
+ (n.openGlobalLock = ct(s)),
+ n.openGlobalLock)) &&
+ ((0, Ti.R)(),
+ (n.isDragging = !0),
+ (n.currentDirection = null),
+ null === (i = (r = n.props).onDragStart) || void 0 === i || i.call(r, e, t),
+ null === (o = n.visualElement.animationState) ||
+ void 0 === o ||
+ o.setActive(qe.Drag, !0))
+ },
+ onMove: function (e, t) {
+ var r,
+ i,
+ o,
+ a,
+ s = n.props,
+ l = s.dragPropagation,
+ u = s.dragDirectionLock
+ if (l || n.openGlobalLock) {
+ var c = t.offset
+ if (u && null === n.currentDirection)
+ return (
+ (n.currentDirection = (function (e, t) {
+ void 0 === t && (t = 10)
+ var n = null
+ Math.abs(e.y) > t ? (n = 'y') : Math.abs(e.x) > t && (n = 'x')
+ return n
+ })(c)),
+ void (
+ null !== n.currentDirection &&
+ (null === (i = (r = n.props).onDirectionLock) ||
+ void 0 === i ||
+ i.call(r, n.currentDirection))
+ )
+ )
+ n.updateAxis('x', t.point, c),
+ n.updateAxis('y', t.point, c),
+ null === (a = (o = n.props).onDrag) || void 0 === a || a.call(o, e, t),
+ (ki = e)
+ }
+ },
+ onSessionEnd: function (e, t) {
+ return n.stop(e, t)
+ },
+ },
+ { transformPagePoint: l },
+ )
+ }),
+ (e.prototype.resolveDragConstraints = function () {
+ var e = this,
+ t = this.props,
+ n = t.dragConstraints,
+ r = t.dragElastic,
+ i = this.visualElement.getLayoutState().layoutCorrected
+ ;(this.constraints =
+ !!n &&
+ (k(n)
+ ? this.resolveRefConstraints(i, n)
+ : (function (e, t) {
+ var n = t.top,
+ r = t.left,
+ i = t.bottom,
+ o = t.right
+ return { x: Zr(e.x, r, o), y: Zr(e.y, n, i) }
+ })(i, n))),
+ (this.elastic = (function (e) {
+ return (
+ !1 === e ? (e = 0) : !0 === e && (e = 0.35),
+ { x: Xr(e, 'left', 'right'), y: Xr(e, 'top', 'bottom') }
+ )
+ })(r)),
+ this.constraints &&
+ !this.hasMutatedConstraints &&
+ Wr(function (t) {
+ e.getAxisMotionValue(t) &&
+ (e.constraints[t] = (function (e, t) {
+ var n = {}
+ return (
+ void 0 !== t.min && (n.min = t.min - e.min),
+ void 0 !== t.max && (n.max = t.max - e.min),
+ n
+ )
+ })(i[t], e.constraints[t]))
+ })
+ }),
+ (e.prototype.resolveRefConstraints = function (e, t) {
+ var n = this.props,
+ r = n.onMeasureDragConstraints,
+ i = n.transformPagePoint,
+ o = t.current
+ this.constraintsBox = Qr(o, i)
+ var a = (function (e, t) {
+ return { x: $r(e.x, t.x), y: $r(e.y, t.y) }
+ })(e, this.constraintsBox)
+ if (r) {
+ var s = r((0, qr._6)(a))
+ ;(this.hasMutatedConstraints = !!s), s && (a = (0, qr.RX)(s))
+ }
+ return a
+ }),
+ (e.prototype.cancelDrag = function () {
+ var e, t
+ this.visualElement.unlockProjectionTarget(),
+ null === (e = this.cancelLayout) || void 0 === e || e.call(this),
+ (this.isDragging = !1),
+ this.panSession && this.panSession.end(),
+ (this.panSession = null),
+ !this.props.dragPropagation &&
+ this.openGlobalLock &&
+ (this.openGlobalLock(), (this.openGlobalLock = null)),
+ null === (t = this.visualElement.animationState) ||
+ void 0 === t ||
+ t.setActive(qe.Drag, !1)
+ }),
+ (e.prototype.stop = function (e, t) {
+ var n, r, i
+ null === (n = this.panSession) || void 0 === n || n.end(), (this.panSession = null)
+ var o = this.isDragging
+ if ((this.cancelDrag(), o)) {
+ var a = t.velocity
+ this.animateDragEnd(a),
+ null === (i = (r = this.props).onDragEnd) || void 0 === i || i.call(r, e, t)
+ }
+ }),
+ (e.prototype.snapToCursor = function (e) {
+ var t = this
+ return Wr(function (n) {
+ if (Ci(n, t.props.drag, t.currentDirection)) {
+ var r = t.getAxisMotionValue(n)
+ if (!r) return (t.cursorProgress[n] = 0.5), !0
+ var i = t.visualElement.getLayoutState().layout,
+ o = i[n].max - i[n].min,
+ a = i[n].min + o / 2,
+ s = e[n] - a
+ ;(t.originPoint[n] = e[n]), r.set(s)
+ }
+ }).includes(!0)
+ }),
+ (e.prototype.updateAxis = function (e, t, n) {
+ if (Ci(e, this.props.drag, this.currentDirection))
+ return this.getAxisMotionValue(e)
+ ? this.updateAxisMotionValue(e, n)
+ : this.updateVisualElementAxis(e, t)
+ }),
+ (e.prototype.updateAxisMotionValue = function (e, t) {
+ var n = this.getAxisMotionValue(e)
+ if (t && n) {
+ var r = this.originPoint[e] + t[e],
+ i = this.constraints ? Kr(r, this.constraints[e], this.elastic[e]) : r
+ n.set(i)
+ }
+ }),
+ (e.prototype.updateVisualElementAxis = function (e, t) {
+ var n,
+ r = this.visualElement.getLayoutState().layout[e],
+ i = r.max - r.min,
+ o = this.cursorProgress[e],
+ a = (function (e, t, n, r, i) {
+ var o = e - t * n
+ return r ? Kr(o, r, i) : o
+ })(
+ t[e],
+ i,
+ o,
+ null === (n = this.constraints) || void 0 === n ? void 0 : n[e],
+ this.elastic[e],
+ )
+ this.visualElement.setProjectionTargetAxis(e, a, a + i)
+ }),
+ (e.prototype.setProps = function (e) {
+ var t = e.drag,
+ n = void 0 !== t && t,
+ i = e.dragDirectionLock,
+ o = void 0 !== i && i,
+ a = e.dragPropagation,
+ s = void 0 !== a && a,
+ l = e.dragConstraints,
+ u = void 0 !== l && l,
+ c = e.dragElastic,
+ d = void 0 === c ? 0.35 : c,
+ f = e.dragMomentum,
+ h = void 0 === f || f,
+ p = (0, r._T)(e, [
+ 'drag',
+ 'dragDirectionLock',
+ 'dragPropagation',
+ 'dragConstraints',
+ 'dragElastic',
+ 'dragMomentum',
+ ])
+ this.props = (0, r.pi)(
+ {
+ drag: n,
+ dragDirectionLock: o,
+ dragPropagation: s,
+ dragConstraints: u,
+ dragElastic: d,
+ dragMomentum: h,
+ },
+ p,
+ )
+ }),
+ (e.prototype.getAxisMotionValue = function (e) {
+ var t = this.props,
+ n = t.layout,
+ r = t.layoutId,
+ i = '_drag' + e.toUpperCase()
+ return this.props[i]
+ ? this.props[i]
+ : n || void 0 !== r
+ ? void 0
+ : this.visualElement.getValue(e, 0)
+ }),
+ (e.prototype.isLayoutDrag = function () {
+ return !this.getAxisMotionValue('x')
+ }),
+ (e.prototype.isExternalDrag = function () {
+ var e = this.props,
+ t = e._dragX,
+ n = e._dragY
+ return t || n
+ }),
+ (e.prototype.animateDragEnd = function (e) {
+ var t = this,
+ n = this.props,
+ i = n.drag,
+ o = n.dragMomentum,
+ a = n.dragElastic,
+ s = n.dragTransition,
+ l = (function (e, t) {
+ void 0 === t && (t = !0)
+ var n,
+ r = e.getProjectionParent()
+ return (
+ !!r &&
+ (t
+ ? Ei((n = li(r.projection.target, e.projection.target)), r.getLatestValues())
+ : (n = li(r.getLayoutState().layout, e.getLayoutState().layout)),
+ Wr(function (t) {
+ return e.setProjectionTargetAxis(t, n[t].min, n[t].max, !0)
+ }),
+ !0)
+ )
+ })(this.visualElement, this.isLayoutDrag() && !this.isExternalDrag()),
+ u = this.constraints || {}
+ if (l && Object.keys(u).length && this.isLayoutDrag()) {
+ var c = this.visualElement.getProjectionParent()
+ if (c) {
+ var d = li(c.projection.targetFinal, u)
+ Wr(function (e) {
+ var t = d[e],
+ n = t.min,
+ r = t.max
+ u[e] = { min: isNaN(n) ? void 0 : n, max: isNaN(r) ? void 0 : r }
+ })
+ }
+ }
+ var f = Wr(function (n) {
+ var c
+ if (Ci(n, i, t.currentDirection)) {
+ var d =
+ null !== (c = null === u || void 0 === u ? void 0 : u[n]) && void 0 !== c
+ ? c
+ : {},
+ f = a ? 200 : 1e6,
+ h = a ? 40 : 1e7,
+ p = (0, r.pi)(
+ (0, r.pi)(
+ {
+ type: 'inertia',
+ velocity: o ? e[n] : 0,
+ bounceStiffness: f,
+ bounceDamping: h,
+ timeConstant: 750,
+ restDelta: 1,
+ restSpeed: 10,
+ },
+ s,
+ ),
+ d,
+ )
+ return t.getAxisMotionValue(n)
+ ? t.startAxisValueAnimation(n, p)
+ : t.visualElement.startLayoutAnimation(n, p, l)
+ }
+ })
+ return Promise.all(f).then(function () {
+ var e, n
+ null === (n = (e = t.props).onDragTransitionEnd) || void 0 === n || n.call(e)
+ })
+ }),
+ (e.prototype.stopMotion = function () {
+ var e = this
+ Wr(function (t) {
+ var n = e.getAxisMotionValue(t)
+ n ? n.stop() : e.visualElement.stopLayoutAnimation()
+ })
+ }),
+ (e.prototype.startAxisValueAnimation = function (e, t) {
+ var n = this.getAxisMotionValue(e)
+ if (n) {
+ var r = n.get()
+ return n.set(r), n.set(r), ur(e, n, 0, t)
+ }
+ }),
+ (e.prototype.scalePoint = function () {
+ var e = this,
+ t = this.props,
+ n = t.drag
+ if (k(t.dragConstraints) && this.constraintsBox) {
+ this.stopMotion()
+ var r = { x: 0, y: 0 }
+ Wr(function (t) {
+ r[t] = ti(e.visualElement.projection.target[t], e.constraintsBox[t])
+ }),
+ this.updateConstraints(function () {
+ Wr(function (t) {
+ if (Ci(t, n, null)) {
+ var i = (function (e, t, n) {
+ var r = e.max - e.min,
+ i = Rt(t.min, t.max - r, n)
+ return { min: i, max: i + r }
+ })(e.visualElement.projection.target[t], e.constraintsBox[t], r[t]),
+ o = i.min,
+ a = i.max
+ e.visualElement.setProjectionTargetAxis(t, o, a)
+ }
+ })
+ }),
+ setTimeout(Ti.R, 1)
+ }
+ }),
+ (e.prototype.updateConstraints = function (e) {
+ var t = this
+ this.cancelLayout = (0, Ti.U)(function (n, r) {
+ var i = (0, ai.kv)(t.visualElement)
+ r(function () {
+ return i.forEach(function (e) {
+ return e.resetTransform()
+ })
+ }),
+ n(function () {
+ return (0, ai.de)(t.visualElement)
+ }),
+ r(function () {
+ return i.forEach(function (e) {
+ return e.restoreTransform()
+ })
+ }),
+ n(function () {
+ t.resolveDragConstraints()
+ }),
+ e && r(e)
+ })
+ }),
+ (e.prototype.mount = function (e) {
+ var t = this,
+ n = ot(e.getInstance(), 'pointerdown', function (e) {
+ var n = t.props,
+ r = n.drag,
+ i = n.dragListener
+ r && (void 0 === i || i) && t.start(e)
+ }),
+ r = Ke(window, 'resize', function () {
+ t.scalePoint()
+ }),
+ i = e.onLayoutUpdate(function () {
+ t.isDragging && t.resolveDragConstraints()
+ }),
+ o = e.prevDragCursor
+ return (
+ o && this.start(ki, { cursorProgress: o }),
+ function () {
+ null === n || void 0 === n || n(),
+ null === r || void 0 === r || r(),
+ null === i || void 0 === i || i(),
+ t.cancelDrag()
+ }
+ )
+ }),
+ e
+ )
+ })()
+ function Ci(e, t, n) {
+ return (!0 === t || t === e) && (null === n || n === e)
+ }
+ var Ai = {
+ pan: gt(function (e) {
+ var t = e.onPan,
+ n = e.onPanStart,
+ r = e.onPanEnd,
+ o = e.onPanSessionStart,
+ a = e.visualElement,
+ s = t || n || r || o,
+ l = (0, i.useRef)(null),
+ u = (0, i.useContext)(c).transformPagePoint,
+ d = {
+ onSessionStart: o,
+ onStart: n,
+ onMove: t,
+ onEnd: function (e, t) {
+ ;(l.current = null), r && r(e, t)
+ },
+ }
+ ;(0, i.useEffect)(function () {
+ null !== l.current && l.current.updateHandlers(d)
+ }),
+ at(
+ a,
+ 'pointerdown',
+ s &&
+ function (e) {
+ l.current = new zr(e, d, { transformPagePoint: u })
+ },
+ ),
+ (0, pt.z)(function () {
+ return l.current && l.current.end()
+ })
+ }),
+ drag: gt(function (e) {
+ var t = e.dragControls,
+ n = e.visualElement,
+ o = (0, i.useContext)(c).transformPagePoint,
+ a = (0, h.h)(function () {
+ return new Oi({ visualElement: n })
+ })
+ a.setProps((0, r.pi)((0, r.pi)({}, e), { transformPagePoint: o })),
+ (0, i.useEffect)(
+ function () {
+ return t && t.subscribe(a)
+ },
+ [a],
+ ),
+ (0, i.useEffect)(function () {
+ return a.mount(n)
+ }, [])
+ }),
+ },
+ Si = n(1053)
+ function Pi(e) {
+ return 'string' === typeof e && e.startsWith('var(--')
+ }
+ var Mi = /var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/
+ function Ri(e, t, n) {
+ void 0 === n && (n = 1)
+ var i = (0, r.CR)(
+ (function (e) {
+ var t = Mi.exec(e)
+ if (!t) return [,]
+ var n = (0, r.CR)(t, 3)
+ return [n[1], n[2]]
+ })(e),
+ 2,
+ ),
+ o = i[0],
+ a = i[1]
+ if (o) {
+ var s = window.getComputedStyle(t).getPropertyValue(o)
+ return s ? s.trim() : Pi(a) ? Ri(a, t, n + 1) : a
+ }
+ }
+ function ji(e, t) {
+ return (e / (t.max - t.min)) * 100
+ }
+ var Di = '_$css'
+ var Li = {
+ process: function (e, t, n) {
+ var r = n.target
+ if ('string' === typeof e) {
+ if (!oe.test(e)) return e
+ e = parseFloat(e)
+ }
+ return ji(e, r.x) + '% ' + ji(e, r.y) + '%'
+ },
+ },
+ Ni = {
+ borderRadius: (0, r.pi)((0, r.pi)({}, Li), {
+ applyTo: [
+ 'borderTopLeftRadius',
+ 'borderTopRightRadius',
+ 'borderBottomLeftRadius',
+ 'borderBottomRightRadius',
+ ],
+ }),
+ borderTopLeftRadius: Li,
+ borderTopRightRadius: Li,
+ borderBottomLeftRadius: Li,
+ borderBottomRightRadius: Li,
+ boxShadow: {
+ process: function (e, t) {
+ var n = t.delta,
+ r = t.treeScale,
+ i = e,
+ o = e.includes('var('),
+ a = []
+ o &&
+ (e = e.replace(Mi, function (e) {
+ return a.push(e), Di
+ }))
+ var s = Qt.parse(e)
+ if (s.length > 5) return i
+ var l = Qt.createTransformer(e),
+ u = 'number' !== typeof s[0] ? 1 : 0,
+ c = n.x.scale * r.x,
+ d = n.y.scale * r.y
+ ;(s[0 + u] /= c), (s[1 + u] /= d)
+ var f = Rt(c, d, 0.5)
+ 'number' === typeof s[2 + u] && (s[2 + u] /= f),
+ 'number' === typeof s[3 + u] && (s[3 + u] /= f)
+ var h = l(s)
+ if (o) {
+ var p = 0
+ h = h.replace(Di, function () {
+ var e = a[p]
+ return p++, e
+ })
+ }
+ return h
+ },
+ },
+ },
+ Ii = (function (e) {
+ function t() {
+ var t = (null !== e && e.apply(this, arguments)) || this
+ return (
+ (t.frameTarget = (0, qr.VZ)()),
+ (t.currentAnimationTarget = (0, qr.VZ)()),
+ (t.isAnimating = { x: !1, y: !1 }),
+ (t.stopAxisAnimation = { x: void 0, y: void 0 }),
+ (t.isAnimatingTree = !1),
+ (t.animate = function (e, n, i) {
+ void 0 === i && (i = {})
+ var o = i.originBox,
+ a = i.targetBox,
+ s = i.visibilityAction,
+ l = i.shouldStackAnimate,
+ u = i.onComplete,
+ c = i.prevParent,
+ d = (0, r._T)(i, [
+ 'originBox',
+ 'targetBox',
+ 'visibilityAction',
+ 'shouldStackAnimate',
+ 'onComplete',
+ 'prevParent',
+ ]),
+ f = t.props,
+ h = f.visualElement,
+ p = f.layout
+ if (!1 === l) return (t.isAnimatingTree = !1), t.safeToRemove()
+ if (!t.isAnimatingTree || !0 === l) {
+ l && (t.isAnimatingTree = !0), (n = o || n), (e = a || e)
+ var v = !1,
+ m = h.getProjectionParent()
+ if (m) {
+ var g = m.prevViewportBox,
+ y = m.getLayoutState().layout
+ c &&
+ (a && (y = c.getLayoutState().layout),
+ o && !ui(c, m) && c.prevViewportBox && (g = c.prevViewportBox)),
+ g && Ui(c, o, a) && ((v = !0), (n = li(g, n)), (e = li(y, e)))
+ }
+ var b = zi(n, e),
+ w = Wr(function (i) {
+ var o, a
+ if ('position' === p) {
+ var l = e[i].max - e[i].min
+ n[i].max = n[i].min + l
+ }
+ if (!h.projection.isTargetLocked)
+ return void 0 === s
+ ? b
+ ? t.animateAxis(
+ i,
+ e[i],
+ n[i],
+ (0, r.pi)((0, r.pi)({}, d), { isRelative: v }),
+ )
+ : (null === (a = (o = t.stopAxisAnimation)[i]) ||
+ void 0 === a ||
+ a.call(o),
+ h.setProjectionTargetAxis(i, e[i].min, e[i].max, v))
+ : void h.setVisibility(s === Si.c.Show)
+ })
+ return (
+ h.syncRender(),
+ Promise.all(w).then(function () {
+ ;(t.isAnimatingTree = !1), u && u(), h.notifyLayoutAnimationComplete()
+ })
+ )
+ }
+ }),
+ t
+ )
+ }
+ return (
+ (0, r.ZT)(t, e),
+ (t.prototype.componentDidMount = function () {
+ var e = this,
+ t = this.props.visualElement
+ ;(t.animateMotionValue = ur),
+ t.enableLayoutProjection(),
+ (this.unsubLayoutReady = t.onLayoutUpdate(this.animate)),
+ (t.layoutSafeToRemove = function () {
+ return e.safeToRemove()
+ }),
+ (function (e) {
+ for (var t in e) N[t] = e[t]
+ })(Ni)
+ }),
+ (t.prototype.componentWillUnmount = function () {
+ var e = this
+ this.unsubLayoutReady(),
+ Wr(function (t) {
+ var n, r
+ return null === (r = (n = e.stopAxisAnimation)[t]) || void 0 === r
+ ? void 0
+ : r.call(n)
+ })
+ }),
+ (t.prototype.animateAxis = function (e, t, n, r) {
+ var i,
+ o,
+ a = this,
+ s = void 0 === r ? {} : r,
+ l = s.transition,
+ u = s.isRelative
+ if (!this.isAnimating[e] || !Fi(t, this.currentAnimationTarget[e])) {
+ null === (o = (i = this.stopAxisAnimation)[e]) || void 0 === o || o.call(i),
+ (this.isAnimating[e] = !0)
+ var c = this.props.visualElement,
+ d = this.frameTarget[e],
+ f = c.getProjectionAnimationProgress()[e]
+ f.clearListeners(), f.set(0), f.set(0)
+ var h = function () {
+ var r = f.get() / 1e3
+ !(function (e, t, n, r) {
+ ;(e.min = Rt(t.min, n.min, r)), (e.max = Rt(t.max, n.max, r))
+ })(d, n, t, r),
+ c.setProjectionTargetAxis(e, d.min, d.max, u)
+ }
+ h()
+ var p = f.onChange(h)
+ ;(this.stopAxisAnimation[e] = function () {
+ ;(a.isAnimating[e] = !1), f.stop(), p()
+ }),
+ (this.currentAnimationTarget[e] = t)
+ var v = l || c.getDefaultTransition() || Vi
+ return ur('x' === e ? 'layoutX' : 'layoutY', f, 1e3, v && lr(v, 'layout')).then(
+ this.stopAxisAnimation[e],
+ )
+ }
+ }),
+ (t.prototype.safeToRemove = function () {
+ var e, t
+ null === (t = (e = this.props).safeToRemove) || void 0 === t || t.call(e)
+ }),
+ (t.prototype.render = function () {
+ return null
+ }),
+ t
+ )
+ })(i.Component)
+ function zi(e, t) {
+ return !Bi(e) && !Bi(t) && (!Fi(e.x, t.x) || !Fi(e.y, t.y))
+ }
+ var Hi = { min: 0, max: 0 }
+ function Bi(e) {
+ return Fi(e.x, Hi) && Fi(e.y, Hi)
+ }
+ function Fi(e, t) {
+ return e.min === t.min && e.max === t.max
+ }
+ var Vi = { duration: 0.45, ease: [0.4, 0, 0.1, 1] }
+ function Ui(e, t, n) {
+ return e || (!e && !(t || n))
+ }
+ var Gi = n(9870),
+ qi = (function (e) {
+ function t() {
+ return (null !== e && e.apply(this, arguments)) || this
+ }
+ return (
+ (0, r.ZT)(t, e),
+ (t.prototype.componentDidMount = function () {
+ var e = this.props,
+ t = e.syncLayout,
+ n = e.framerSyncLayout,
+ r = e.visualElement
+ ;(0, Gi.Md)(t) && t.register(r),
+ (0, Gi.Md)(n) && n.register(r),
+ r.onUnmount(function () {
+ ;(0, Gi.Md)(t) && t.remove(r), (0, Gi.Md)(n) && n.remove(r)
+ })
+ }),
+ (t.prototype.getSnapshotBeforeUpdate = function () {
+ var e = this.props,
+ t = e.syncLayout,
+ n = e.visualElement
+ return (0, Gi.Md)(t) ? t.syncUpdate() : ((0, ai.x7)(n), t.add(n)), null
+ }),
+ (t.prototype.componentDidUpdate = function () {
+ var e = this.props.syncLayout
+ ;(0, Gi.Md)(e) || e.flush()
+ }),
+ (t.prototype.render = function () {
+ return null
+ }),
+ t
+ )
+ })(i.Component)
+ var Wi = {
+ measureLayout: function (e) {
+ var t = (0, i.useContext)(Gi.WH),
+ n = (0, i.useContext)(Gi.bg)
+ return i.createElement(qi, (0, r.pi)({}, e, { syncLayout: t, framerSyncLayout: n }))
+ },
+ layoutAnimation: function (e) {
+ var t = (0, r.CR)(p(), 2)[1]
+ return i.createElement(Ii, (0, r.pi)({}, e, { safeToRemove: t }))
+ },
+ }
+ function Ki() {
+ return {
+ isHydrated: !1,
+ layout: (0, qr.VZ)(),
+ layoutCorrected: (0, qr.VZ)(),
+ treeScale: { x: 1, y: 1 },
+ delta: (0, qr.pY)(),
+ deltaFinal: (0, qr.pY)(),
+ deltaTransform: '',
+ }
+ }
+ var Zi = Ki()
+ function $i(e, t, n) {
+ var r = e.x,
+ i = e.y,
+ o = 'translate3d(' + r.translate / t.x + 'px, ' + i.translate / t.y + 'px, 0) '
+ if (n) {
+ var a = n.rotate,
+ s = n.rotateX,
+ l = n.rotateY
+ a && (o += 'rotate(' + a + ') '),
+ s && (o += 'rotateX(' + s + ') '),
+ l && (o += 'rotateY(' + l + ') ')
+ }
+ return (o += 'scale(' + r.scale + ', ' + i.scale + ')'), n || o !== Yi ? o : ''
+ }
+ function Xi(e) {
+ var t = e.deltaFinal
+ return 100 * t.x.origin + '% ' + 100 * t.y.origin + '% 0'
+ }
+ var Yi = $i(Zi.delta, Zi.treeScale, { x: 1, y: 1 }),
+ Qi = [
+ 'LayoutMeasure',
+ 'BeforeLayoutMeasure',
+ 'LayoutUpdate',
+ 'ViewportBoxUpdate',
+ 'Update',
+ 'Render',
+ 'AnimationComplete',
+ 'LayoutAnimationComplete',
+ 'AnimationStart',
+ 'SetAxisTarget',
+ 'Unmount',
+ ]
+ function Ji(e, t, n, r) {
+ var i,
+ o,
+ a = e.delta,
+ s = e.layout,
+ l = e.layoutCorrected,
+ u = e.treeScale,
+ c = t.target
+ ;(o = s),
+ di((i = l).x, o.x),
+ di(i.y, o.y),
+ (function (e, t, n) {
+ var r = n.length
+ if (r) {
+ var i, o
+ t.x = t.y = 1
+ for (var a = 0; a < r; a++)
+ (o = (i = n[a]).getLayoutState().delta),
+ (t.x *= o.x.scale),
+ (t.y *= o.y.scale),
+ vi(e, o),
+ ci(i) && bi(e, e, i.getLatestValues())
+ }
+ })(l, u, n),
+ ri(a, l, c, r)
+ }
+ var eo = n(519),
+ to = (function () {
+ function e() {
+ ;(this.children = []), (this.isDirty = !1)
+ }
+ return (
+ (e.prototype.add = function (e) {
+ cr(this.children, e), (this.isDirty = !0)
+ }),
+ (e.prototype.remove = function (e) {
+ dr(this.children, e), (this.isDirty = !0)
+ }),
+ (e.prototype.forEach = function (e) {
+ this.isDirty && this.children.sort(eo._),
+ (this.isDirty = !1),
+ this.children.forEach(e)
+ }),
+ e
+ )
+ })()
+ var no = function (e) {
+ var t = e.treeType,
+ n = void 0 === t ? '' : t,
+ i = e.build,
+ o = e.getBaseTarget,
+ a = e.makeTargetAnimatable,
+ s = e.measureViewportBox,
+ l = e.render,
+ u = e.readValueFromInstance,
+ c = e.resetTransform,
+ d = e.restoreTransform,
+ f = e.removeValueFromRenderState,
+ h = e.sortNodePosition,
+ p = e.scrapeMotionValuesFromProps
+ return function (e, t) {
+ var v = e.parent,
+ m = e.props,
+ g = e.presenceId,
+ y = e.blockInitialAnimation,
+ b = e.visualState
+ void 0 === t && (t = {})
+ var w,
+ x,
+ E,
+ k,
+ T,
+ O,
+ C = b.latestValues,
+ P = b.renderState,
+ M = (function () {
+ var e = Qi.map(function () {
+ return new fr()
+ }),
+ t = {},
+ n = {
+ clearAllListeners: function () {
+ return e.forEach(function (e) {
+ return e.clear()
+ })
+ },
+ updatePropListeners: function (e) {
+ return Qi.forEach(function (r) {
+ var i
+ null === (i = t[r]) || void 0 === i || i.call(t)
+ var o = 'on' + r,
+ a = e[o]
+ a && (t[r] = n[o](a))
+ })
+ },
+ }
+ return (
+ e.forEach(function (e, t) {
+ ;(n['on' + Qi[t]] = function (t) {
+ return e.add(t)
+ }),
+ (n['notify' + Qi[t]] = function () {
+ for (var t = [], n = 0; n < arguments.length; n++) t[n] = arguments[n]
+ return e.notify.apply(e, (0, r.ev)([], (0, r.CR)(t)))
+ })
+ }),
+ n
+ )
+ })(),
+ R = {
+ isEnabled: !1,
+ isHydrated: !1,
+ isTargetLocked: !1,
+ target: (0, qr.VZ)(),
+ targetFinal: (0, qr.VZ)(),
+ },
+ j = R,
+ D = C,
+ L = Ki(),
+ N = !1,
+ I = new Map(),
+ z = new Map(),
+ H = {},
+ B = (0, r.pi)({}, C)
+ function F() {
+ w &&
+ (Y.isProjectionReady() &&
+ (bi(j.targetFinal, j.target, D),
+ ri(L.deltaFinal, L.layoutCorrected, j.targetFinal, C)),
+ V(),
+ l(w, P))
+ }
+ function V() {
+ var e = C
+ if (k && k.isActive()) {
+ var n = k.getCrossfadeState(Y)
+ n && (e = n)
+ }
+ i(Y, P, e, j, L, t, m)
+ }
+ function U() {
+ M.notifyUpdate(C)
+ }
+ function G() {
+ Y.layoutTree.forEach(io)
+ }
+ var W = p(m)
+ for (var K in W) {
+ var Z = W[K]
+ void 0 !== C[K] && q(Z) && Z.set(C[K], !1)
+ }
+ var $ = A(m),
+ X = S(m),
+ Y = (0, r.pi)(
+ (0, r.pi)(
+ {
+ treeType: n,
+ current: null,
+ depth: v ? v.depth + 1 : 0,
+ parent: v,
+ children: new Set(),
+ path: v ? (0, r.ev)((0, r.ev)([], (0, r.CR)(v.path)), [v]) : [],
+ layoutTree: v ? v.layoutTree : new to(),
+ presenceId: g,
+ projection: R,
+ variantChildren: X ? new Set() : void 0,
+ isVisible: void 0,
+ manuallyAnimateOnMount: Boolean(
+ null === v || void 0 === v ? void 0 : v.isMounted(),
+ ),
+ blockInitialAnimation: y,
+ isMounted: function () {
+ return Boolean(w)
+ },
+ mount: function (e) {
+ ;(w = Y.current = e),
+ Y.pointTo(Y),
+ X &&
+ v &&
+ !$ &&
+ (O = null === v || void 0 === v ? void 0 : v.addVariantChild(Y)),
+ null === v || void 0 === v || v.children.add(Y)
+ },
+ unmount: function () {
+ Sn.qY.update(U),
+ Sn.qY.render(F),
+ Sn.qY.preRender(Y.updateLayoutProjection),
+ z.forEach(function (e) {
+ return e()
+ }),
+ Y.stopLayoutAnimation(),
+ Y.layoutTree.remove(Y),
+ null === O || void 0 === O || O(),
+ null === v || void 0 === v || v.children.delete(Y),
+ null === E || void 0 === E || E(),
+ M.clearAllListeners()
+ },
+ addVariantChild: function (e) {
+ var t,
+ n = Y.getClosestVariantNode()
+ if (n)
+ return (
+ null === (t = n.variantChildren) || void 0 === t || t.add(e),
+ function () {
+ return n.variantChildren.delete(e)
+ }
+ )
+ },
+ sortNodePosition: function (e) {
+ return h && n === e.treeType ? h(Y.getInstance(), e.getInstance()) : 0
+ },
+ getClosestVariantNode: function () {
+ return X ? Y : null === v || void 0 === v ? void 0 : v.getClosestVariantNode()
+ },
+ scheduleUpdateLayoutProjection: v
+ ? v.scheduleUpdateLayoutProjection
+ : function () {
+ return Sn.ZP.preRender(Y.updateTreeLayoutProjection, !1, !0)
+ },
+ getLayoutId: function () {
+ return m.layoutId
+ },
+ getInstance: function () {
+ return w
+ },
+ getStaticValue: function (e) {
+ return C[e]
+ },
+ setStaticValue: function (e, t) {
+ return (C[e] = t)
+ },
+ getLatestValues: function () {
+ return C
+ },
+ setVisibility: function (e) {
+ Y.isVisible !== e && ((Y.isVisible = e), Y.scheduleRender())
+ },
+ makeTargetAnimatable: function (e, t) {
+ return void 0 === t && (t = !0), a(Y, e, m, t)
+ },
+ addValue: function (e, t) {
+ Y.hasValue(e) && Y.removeValue(e),
+ I.set(e, t),
+ (C[e] = t.get()),
+ (function (e, t) {
+ var n = t.onChange(function (t) {
+ ;(C[e] = t), m.onUpdate && Sn.ZP.update(U, !1, !0)
+ }),
+ r = t.onRenderRequest(Y.scheduleRender)
+ z.set(e, function () {
+ n(), r()
+ })
+ })(e, t)
+ },
+ removeValue: function (e) {
+ var t
+ I.delete(e),
+ null === (t = z.get(e)) || void 0 === t || t(),
+ z.delete(e),
+ delete C[e],
+ f(e, P)
+ },
+ hasValue: function (e) {
+ return I.has(e)
+ },
+ getValue: function (e, t) {
+ var n = I.get(e)
+ return void 0 === n && void 0 !== t && ((n = pr(t)), Y.addValue(e, n)), n
+ },
+ forEachValue: function (e) {
+ return I.forEach(e)
+ },
+ readValue: function (e) {
+ var n
+ return null !== (n = C[e]) && void 0 !== n ? n : u(w, e, t)
+ },
+ setBaseTarget: function (e, t) {
+ B[e] = t
+ },
+ getBaseTarget: function (e) {
+ if (o) {
+ var t = o(m, e)
+ if (void 0 !== t && !q(t)) return t
+ }
+ return B[e]
+ },
+ },
+ M,
+ ),
+ {
+ build: function () {
+ return V(), P
+ },
+ scheduleRender: function () {
+ Sn.ZP.render(F, !1, !0)
+ },
+ syncRender: F,
+ setProps: function (e) {
+ ;(m = e),
+ M.updatePropListeners(e),
+ (H = (function (e, t, n) {
+ var r
+ for (var i in t) {
+ var o = t[i],
+ a = n[i]
+ if (q(o)) e.addValue(i, o)
+ else if (q(a)) e.addValue(i, pr(o))
+ else if (a !== o)
+ if (e.hasValue(i)) {
+ var s = e.getValue(i)
+ !s.hasAnimated && s.set(o)
+ } else
+ e.addValue(
+ i,
+ pr(null !== (r = e.getStaticValue(i)) && void 0 !== r ? r : o),
+ )
+ }
+ for (var i in n) void 0 === t[i] && e.removeValue(i)
+ return t
+ })(Y, p(m), H))
+ },
+ getProps: function () {
+ return m
+ },
+ getVariant: function (e) {
+ var t
+ return null === (t = m.variants) || void 0 === t ? void 0 : t[e]
+ },
+ getDefaultTransition: function () {
+ return m.transition
+ },
+ getVariantContext: function (e) {
+ if ((void 0 === e && (e = !1), e))
+ return null === v || void 0 === v ? void 0 : v.getVariantContext()
+ if (!$) {
+ var t = (null === v || void 0 === v ? void 0 : v.getVariantContext()) || {}
+ return void 0 !== m.initial && (t.initial = m.initial), t
+ }
+ for (var n = {}, r = 0; r < so; r++) {
+ var i = ao[r],
+ o = m[i]
+ ;(_(o) || !1 === o) && (n[i] = o)
+ }
+ return n
+ },
+ enableLayoutProjection: function () {
+ ;(R.isEnabled = !0), Y.layoutTree.add(Y)
+ },
+ lockProjectionTarget: function () {
+ R.isTargetLocked = !0
+ },
+ unlockProjectionTarget: function () {
+ Y.stopLayoutAnimation(), (R.isTargetLocked = !1)
+ },
+ getLayoutState: function () {
+ return L
+ },
+ setCrossfader: function (e) {
+ k = e
+ },
+ isProjectionReady: function () {
+ return R.isEnabled && R.isHydrated && L.isHydrated
+ },
+ startLayoutAnimation: function (e, t, n) {
+ void 0 === n && (n = !1)
+ var r = Y.getProjectionAnimationProgress()[e],
+ i = n ? R.relativeTarget[e] : R.target[e],
+ o = i.min,
+ a = i.max - o
+ return (
+ r.clearListeners(),
+ r.set(o),
+ r.set(o),
+ r.onChange(function (t) {
+ Y.setProjectionTargetAxis(e, t, t + a, n)
+ }),
+ Y.animateMotionValue(e, r, 0, t)
+ )
+ },
+ stopLayoutAnimation: function () {
+ Wr(function (e) {
+ return Y.getProjectionAnimationProgress()[e].stop()
+ })
+ },
+ measureViewportBox: function (e) {
+ void 0 === e && (e = !0)
+ var n = s(w, t)
+ return e || Ei(n, C), n
+ },
+ getProjectionAnimationProgress: function () {
+ return T || (T = { x: pr(0), y: pr(0) }), T
+ },
+ setProjectionTargetAxis: function (e, t, n, r) {
+ var i
+ void 0 === r && (r = !1),
+ r
+ ? (R.relativeTarget || (R.relativeTarget = (0, qr.VZ)()),
+ (i = R.relativeTarget[e]))
+ : ((R.relativeTarget = void 0), (i = R.target[e])),
+ (R.isHydrated = !0),
+ (i.min = t),
+ (i.max = n),
+ (N = !0),
+ M.notifySetAxisTarget()
+ },
+ rebaseProjectionTarget: function (e, t) {
+ void 0 === t && (t = L.layout)
+ var n = Y.getProjectionAnimationProgress(),
+ r = n.x,
+ i = n.y,
+ o =
+ !R.relativeTarget && !R.isTargetLocked && !r.isAnimating() && !i.isAnimating()
+ ;(e || o) &&
+ Wr(function (e) {
+ var n = t[e],
+ r = n.min,
+ i = n.max
+ Y.setProjectionTargetAxis(e, r, i)
+ })
+ },
+ notifyLayoutReady: function (e) {
+ !(function (e) {
+ var t = e.getProjectionParent()
+ if (t) {
+ var n = li(t.getLayoutState().layout, e.getLayoutState().layout)
+ Wr(function (t) {
+ e.setProjectionTargetAxis(t, n[t].min, n[t].max, !0)
+ })
+ } else e.rebaseProjectionTarget()
+ })(Y),
+ Y.notifyLayoutUpdate(L.layout, Y.prevViewportBox || L.layout, e)
+ },
+ resetTransform: function () {
+ return c(Y, w, m)
+ },
+ restoreTransform: function () {
+ return d(w, P)
+ },
+ updateLayoutProjection: function () {
+ if (Y.isProjectionReady()) {
+ var e = L.delta,
+ t = L.treeScale,
+ n = t.x,
+ r = t.y,
+ i = L.deltaTransform
+ Ji(L, j, Y.path, C), N && Y.notifyViewportBoxUpdate(j.target, e), (N = !1)
+ var o = $i(e, t)
+ ;(o === i && n === t.x && r === t.y) || Y.scheduleRender(),
+ (L.deltaTransform = o)
+ }
+ },
+ updateTreeLayoutProjection: function () {
+ Y.layoutTree.forEach(ro), Sn.ZP.preRender(G, !1, !0)
+ },
+ getProjectionParent: function () {
+ if (void 0 === x) {
+ for (var e = !1, t = Y.path.length - 1; t >= 0; t--) {
+ var n = Y.path[t]
+ if (n.projection.isEnabled) {
+ e = n
+ break
+ }
+ }
+ x = e
+ }
+ return x
+ },
+ resolveRelativeTargetBox: function () {
+ var e = Y.getProjectionParent()
+ if (
+ R.relativeTarget &&
+ e &&
+ ((function (e, t) {
+ oi(e.target.x, e.relativeTarget.x, t.target.x),
+ oi(e.target.y, e.relativeTarget.y, t.target.y)
+ })(R, e.projection),
+ ci(e))
+ ) {
+ var t = R.target
+ bi(t, t, e.getLatestValues())
+ }
+ },
+ shouldResetTransform: function () {
+ return Boolean(m._layoutResetTransform)
+ },
+ pointTo: function (e) {
+ ;(j = e.projection),
+ (D = e.getLatestValues()),
+ null === E || void 0 === E || E(),
+ (E = mt(
+ e.onSetAxisTarget(Y.scheduleUpdateLayoutProjection),
+ e.onLayoutAnimationComplete(function () {
+ var e
+ Y.isPresent
+ ? (Y.presence = Si.z.Present)
+ : null === (e = Y.layoutSafeToRemove) || void 0 === e || e.call(Y)
+ }),
+ ))
+ },
+ isPresent: !0,
+ presence: Si.z.Entering,
+ },
+ )
+ return Y
+ }
+ }
+ function ro(e) {
+ e.resolveRelativeTargetBox()
+ }
+ function io(e) {
+ e.updateLayoutProjection()
+ }
+ var oo,
+ ao = (0, r.ev)(['initial'], (0, r.CR)(Cr)),
+ so = ao.length,
+ lo = new Set(['width', 'height', 'top', 'left', 'right', 'bottom', 'x', 'y']),
+ uo = function (e) {
+ return lo.has(e)
+ },
+ co = function (e, t) {
+ e.set(t, !1), e.set(t)
+ },
+ fo = function (e) {
+ return e === ue || e === oe
+ }
+ !(function (e) {
+ ;(e.width = 'width'),
+ (e.height = 'height'),
+ (e.left = 'left'),
+ (e.right = 'right'),
+ (e.top = 'top'),
+ (e.bottom = 'bottom')
+ })(oo || (oo = {}))
+ var ho = function (e, t) {
+ return parseFloat(e.split(', ')[t])
+ },
+ po = function (e, t) {
+ return function (n, r) {
+ var i = r.transform
+ if ('none' === i || !i) return 0
+ var o = i.match(/^matrix3d\((.+)\)$/)
+ if (o) return ho(o[1], t)
+ var a = i.match(/^matrix\((.+)\)$/)
+ return a ? ho(a[1], e) : 0
+ }
+ },
+ vo = new Set(['x', 'y', 'z']),
+ mo = z.filter(function (e) {
+ return !vo.has(e)
+ })
+ var go = {
+ width: function (e) {
+ var t = e.x
+ return t.max - t.min
+ },
+ height: function (e) {
+ var t = e.y
+ return t.max - t.min
+ },
+ top: function (e, t) {
+ var n = t.top
+ return parseFloat(n)
+ },
+ left: function (e, t) {
+ var n = t.left
+ return parseFloat(n)
+ },
+ bottom: function (e, t) {
+ var n = e.y,
+ r = t.top
+ return parseFloat(r) + (n.max - n.min)
+ },
+ right: function (e, t) {
+ var n = e.x,
+ r = t.left
+ return parseFloat(r) + (n.max - n.min)
+ },
+ x: po(4, 13),
+ y: po(5, 14),
+ },
+ yo = function (e, t, n, i) {
+ void 0 === n && (n = {}),
+ void 0 === i && (i = {}),
+ (t = (0, r.pi)({}, t)),
+ (i = (0, r.pi)({}, i))
+ var o = Object.keys(t).filter(uo),
+ a = [],
+ s = !1,
+ l = []
+ if (
+ (o.forEach(function (r) {
+ var o = e.getValue(r)
+ if (e.hasValue(r)) {
+ var u,
+ c = n[r],
+ d = t[r],
+ f = gr(c)
+ if (He(d))
+ for (var h = d.length, p = null === d[0] ? 1 : 0; p < h; p++)
+ u ? gr(d[p]) : (u = gr(d[p])) === f || (fo(f) && fo(u))
+ else u = gr(d)
+ if (f !== u)
+ if (fo(f) && fo(u)) {
+ var v = o.get()
+ 'string' === typeof v && o.set(parseFloat(v)),
+ 'string' === typeof d
+ ? (t[r] = parseFloat(d))
+ : Array.isArray(d) && u === oe && (t[r] = d.map(parseFloat))
+ } else
+ (null === f || void 0 === f ? void 0 : f.transform) &&
+ (null === u || void 0 === u ? void 0 : u.transform) &&
+ (0 === c || 0 === d)
+ ? 0 === c
+ ? o.set(u.transform(c))
+ : (t[r] = f.transform(d))
+ : (s ||
+ ((a = (function (e) {
+ var t = []
+ return (
+ mo.forEach(function (n) {
+ var r = e.getValue(n)
+ void 0 !== r &&
+ (t.push([n, r.get()]), r.set(n.startsWith('scale') ? 1 : 0))
+ }),
+ t.length && e.syncRender(),
+ t
+ )
+ })(e)),
+ (s = !0)),
+ l.push(r),
+ (i[r] = void 0 !== i[r] ? i[r] : t[r]),
+ co(o, d))
+ }
+ }),
+ l.length)
+ ) {
+ var u = (function (e, t, n) {
+ var r = t.measureViewportBox(),
+ i = t.getInstance(),
+ o = getComputedStyle(i),
+ a = o.display,
+ s = {
+ top: o.top,
+ left: o.left,
+ bottom: o.bottom,
+ right: o.right,
+ transform: o.transform,
+ }
+ 'none' === a && t.setStaticValue('display', e.display || 'block'), t.syncRender()
+ var l = t.measureViewportBox()
+ return (
+ n.forEach(function (n) {
+ var i = t.getValue(n)
+ co(i, go[n](r, s)), (e[n] = go[n](l, o))
+ }),
+ e
+ )
+ })(t, e, l)
+ return (
+ a.length &&
+ a.forEach(function (t) {
+ var n = (0, r.CR)(t, 2),
+ i = n[0],
+ o = n[1]
+ e.getValue(i).set(o)
+ }),
+ e.syncRender(),
+ { target: u, transitionEnd: i }
+ )
+ }
+ return { target: t, transitionEnd: i }
+ }
+ function bo(e, t, n, r) {
+ return (function (e) {
+ return Object.keys(e).some(uo)
+ })(t)
+ ? yo(e, t, n, r)
+ : { target: t, transitionEnd: r }
+ }
+ var wo = function (e, t, n, i) {
+ var o = (function (e, t, n) {
+ var i,
+ o = (0, r._T)(t, []),
+ a = e.getInstance()
+ if (!(a instanceof HTMLElement)) return { target: o, transitionEnd: n }
+ for (var s in (n && (n = (0, r.pi)({}, n)),
+ e.forEachValue(function (e) {
+ var t = e.get()
+ if (Pi(t)) {
+ var n = Ri(t, a)
+ n && e.set(n)
+ }
+ }),
+ o)) {
+ var l = o[s]
+ if (Pi(l)) {
+ var u = Ri(l, a)
+ u && ((o[s] = u), n && ((null !== (i = n[s]) && void 0 !== i) || (n[s] = l)))
+ }
+ }
+ return { target: o, transitionEnd: n }
+ })(e, t, i)
+ return bo(e, (t = o.target), n, (i = o.transitionEnd))
+ }
+ var xo = {
+ treeType: 'dom',
+ readValueFromInstance: function (e, t) {
+ if (F(t)) {
+ var n = tr(t)
+ return (n && n.default) || 0
+ }
+ var r,
+ i = ((r = e), window.getComputedStyle(r))
+ return (K(t) ? i.getPropertyValue(t) : i[t]) || 0
+ },
+ sortNodePosition: function (e, t) {
+ return 2 & e.compareDocumentPosition(t) ? 1 : -1
+ },
+ getBaseTarget: function (e, t) {
+ var n
+ return null === (n = e.style) || void 0 === n ? void 0 : n[t]
+ },
+ measureViewportBox: function (e, t) {
+ return Qr(e, t.transformPagePoint)
+ },
+ resetTransform: function (e, t, n) {
+ var r = n.transformTemplate
+ ;(t.style.transform = r ? r({}, '') : 'none'), e.scheduleRender()
+ },
+ restoreTransform: function (e, t) {
+ e.style.transform = t.style.transform
+ },
+ removeValueFromRenderState: function (e, t) {
+ var n = t.vars,
+ r = t.style
+ delete n[e], delete r[e]
+ },
+ makeTargetAnimatable: function (e, t, n, i) {
+ var o = n.transformValues
+ void 0 === i && (i = !0)
+ var a = t.transition,
+ s = t.transitionEnd,
+ l = (0, r._T)(t, ['transition', 'transitionEnd']),
+ u = (function (e, t, n) {
+ var r,
+ i,
+ o = {}
+ for (var a in e)
+ o[a] =
+ null !== (r = Er(a, t)) && void 0 !== r
+ ? r
+ : null === (i = n.getValue(a)) || void 0 === i
+ ? void 0
+ : i.get()
+ return o
+ })(l, a || {}, e)
+ if ((o && (s && (s = o(s)), l && (l = o(l)), u && (u = o(u))), i)) {
+ !(function (e, t, n) {
+ var r,
+ i,
+ o,
+ a,
+ s = Object.keys(t).filter(function (t) {
+ return !e.hasValue(t)
+ }),
+ l = s.length
+ if (l)
+ for (var u = 0; u < l; u++) {
+ var c = s[u],
+ d = t[c],
+ f = null
+ Array.isArray(d) && (f = d[0]),
+ null === f &&
+ (f =
+ null !== (i = null !== (r = n[c]) && void 0 !== r ? r : e.readValue(c)) &&
+ void 0 !== i
+ ? i
+ : t[c]),
+ void 0 !== f &&
+ null !== f &&
+ ('string' === typeof f && /^\-?\d*\.?\d+$/.test(f)
+ ? (f = parseFloat(f))
+ : !br(f) && Qt.test(d) && (f = nr(c, d)),
+ e.addValue(c, pr(f)),
+ (null !== (o = (a = n)[c]) && void 0 !== o) || (a[c] = f),
+ e.setBaseTarget(c, f))
+ }
+ })(e, l, u)
+ var c = wo(e, l, u, s)
+ ;(s = c.transitionEnd), (l = c.target)
+ }
+ return (0, r.pi)({ transition: a, transitionEnd: s }, l)
+ },
+ scrapeMotionValuesFromProps: Ne,
+ build: function (e, t, n, r, i, o, a) {
+ void 0 !== e.isVisible && (t.style.visibility = e.isVisible ? 'visible' : 'hidden')
+ var s = r.isEnabled && i.isHydrated
+ pe(t, n, r, i, o, a.transformTemplate, s ? $i : void 0, s ? Xi : void 0)
+ },
+ render: je,
+ },
+ Eo = no(xo),
+ ko = no(
+ (0, r.pi)((0, r.pi)({}, xo), {
+ getBaseTarget: function (e, t) {
+ return e[t]
+ },
+ readValueFromInstance: function (e, t) {
+ var n
+ return F(t)
+ ? (null === (n = tr(t)) || void 0 === n ? void 0 : n.default) || 0
+ : ((t = De.has(t) ? t : Re(t)), e.getAttribute(t))
+ },
+ scrapeMotionValuesFromProps: Ie,
+ build: function (e, t, n, r, i, o, a) {
+ var s = r.isEnabled && i.isHydrated
+ Ce(t, n, r, i, o, a.transformTemplate, s ? $i : void 0, s ? Xi : void 0)
+ },
+ render: Le,
+ }),
+ ),
+ To = function (e, t) {
+ return L(e)
+ ? ko(t, { enableHardwareAcceleration: !1 })
+ : Eo(t, { enableHardwareAcceleration: !0 })
+ },
+ _o = (0, r.pi)((0, r.pi)((0, r.pi)((0, r.pi)({}, jr), yt), Ai), Wi),
+ Oo = j(function (e, t) {
+ return (function (e, t, n, i) {
+ var o = t.forwardMotionProps,
+ a = void 0 !== o && o,
+ s = L(e) ? Ge : We
+ return (0,
+ r.pi)((0, r.pi)({}, s), { preloadedFeatures: n, useRender: Pe(a), createVisualElement: i, Component: e })
+ })(e, t, _o, To)
+ })
+ },
+ 8839: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ kv: function () {
+ return s
+ },
+ e3: function () {
+ return l
+ },
+ x7: function () {
+ return c
+ },
+ de: function () {
+ return u
+ },
+ })
+ var r = n(9839),
+ i = n(3327),
+ o = n(519)
+ function a(e) {
+ return e.projection.isEnabled || e.shouldResetTransform()
+ }
+ function s(e, t) {
+ void 0 === t && (t = [])
+ var n = e.parent
+ return n && s(n, t), a(e) && t.push(e), t
+ }
+ function l(e) {
+ var t = [],
+ n = function (e) {
+ a(e) && t.push(e), e.children.forEach(n)
+ }
+ return e.children.forEach(n), t.sort(o._)
+ }
+ function u(e) {
+ if (!e.shouldResetTransform()) {
+ var t = e.getLayoutState()
+ e.notifyBeforeLayoutMeasure(t.layout),
+ (t.isHydrated = !0),
+ (t.layout = e.measureViewportBox()),
+ (t.layoutCorrected = (0, i.nP)(t.layout)),
+ e.notifyLayoutMeasure(t.layout, e.prevViewportBox || t.layout),
+ r.ZP.update(function () {
+ return e.rebaseProjectionTarget()
+ })
+ }
+ }
+ function c(e) {
+ e.shouldResetTransform() ||
+ ((e.prevViewportBox = e.measureViewportBox(!1)),
+ e.rebaseProjectionTarget(!1, e.prevViewportBox))
+ }
+ },
+ 7565: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ U: function () {
+ return o
+ },
+ R: function () {
+ return a
+ },
+ })
+ var r = new Set()
+ function i(e, t, n) {
+ e[n] || (e[n] = []), e[n].push(t)
+ }
+ function o(e) {
+ return (
+ r.add(e),
+ function () {
+ return r.delete(e)
+ }
+ )
+ }
+ function a() {
+ if (r.size) {
+ var e = 0,
+ t = [[]],
+ n = [],
+ o = function (n) {
+ return i(t, n, e)
+ },
+ a = function (t) {
+ i(n, t, e), e++
+ }
+ r.forEach(function (t) {
+ t(o, a), (e = 0)
+ }),
+ r.clear()
+ for (var l = n.length, u = 0; u <= l; u++)
+ t[u] && t[u].forEach(s), n[u] && n[u].forEach(s)
+ }
+ }
+ var s = function (e) {
+ return e()
+ }
+ },
+ 519: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ _: function () {
+ return r
+ },
+ })
+ var r = function (e, t) {
+ return e.depth - t.depth
+ }
+ },
+ 3327: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ VZ: function () {
+ return l
+ },
+ _6: function () {
+ return a
+ },
+ RX: function () {
+ return o
+ },
+ nP: function () {
+ return u
+ },
+ pY: function () {
+ return d
+ },
+ dV: function () {
+ return s
+ },
+ })
+ var r = n(1439)
+ function i(e) {
+ return e
+ }
+ function o(e) {
+ var t = e.top
+ return { x: { min: e.left, max: e.right }, y: { min: t, max: e.bottom } }
+ }
+ function a(e) {
+ var t = e.x,
+ n = e.y
+ return { top: n.min, bottom: n.max, left: t.min, right: t.max }
+ }
+ function s(e, t) {
+ var n = e.top,
+ r = e.left,
+ o = e.bottom,
+ a = e.right
+ void 0 === t && (t = i)
+ var s = t({ x: r, y: n }),
+ l = t({ x: a, y: o })
+ return { top: s.y, left: s.x, bottom: l.y, right: l.x }
+ }
+ function l() {
+ return { x: { min: 0, max: 1 }, y: { min: 0, max: 1 } }
+ }
+ function u(e) {
+ return { x: (0, r.pi)({}, e.x), y: (0, r.pi)({}, e.y) }
+ }
+ var c = { translate: 0, scale: 1, origin: 0, originPoint: 0 }
+ function d() {
+ return { x: (0, r.pi)({}, c), y: (0, r.pi)({}, c) }
+ }
+ },
+ 5930: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ h: function () {
+ return i
+ },
+ })
+ var r = n(7294)
+ function i(e) {
+ var t = (0, r.useRef)(null)
+ return null === t.current && (t.current = e()), t.current
+ }
+ },
+ 6717: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ z: function () {
+ return i
+ },
+ })
+ var r = n(7294)
+ function i(e) {
+ return (0, r.useEffect)(function () {
+ return function () {
+ return e()
+ }
+ }, [])
+ }
+ },
+ 4910: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ Z: function () {
+ return i
+ },
+ })
+ var r =
+ /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,
+ i = (function (e) {
+ var t = {}
+ return function (n) {
+ return void 0 === t[n] && (t[n] = e(n)), t[n]
+ }
+ })(function (e) {
+ return (
+ r.test(e) ||
+ (111 === e.charCodeAt(0) && 110 === e.charCodeAt(1) && e.charCodeAt(2) < 91)
+ )
+ })
+ },
+ 1439: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ ZT: function () {
+ return i
+ },
+ pi: function () {
+ return o
+ },
+ _T: function () {
+ return a
+ },
+ CR: function () {
+ return s
+ },
+ ev: function () {
+ return l
+ },
+ })
+ var r = function (e, t) {
+ return (r =
+ Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array &&
+ function (e, t) {
+ e.__proto__ = t
+ }) ||
+ function (e, t) {
+ for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n])
+ })(e, t)
+ }
+ function i(e, t) {
+ if ('function' !== typeof t && null !== t)
+ throw new TypeError('Class extends value ' + String(t) + ' is not a constructor or null')
+ function n() {
+ this.constructor = e
+ }
+ r(e, t),
+ (e.prototype = null === t ? Object.create(t) : ((n.prototype = t.prototype), new n()))
+ }
+ var o = function () {
+ return (o =
+ Object.assign ||
+ function (e) {
+ for (var t, n = 1, r = arguments.length; n < r; n++)
+ for (var i in (t = arguments[n]))
+ Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i])
+ return e
+ }).apply(this, arguments)
+ }
+ function a(e, t) {
+ var n = {}
+ for (var r in e)
+ Object.prototype.hasOwnProperty.call(e, r) && t.indexOf(r) < 0 && (n[r] = e[r])
+ if (null != e && 'function' === typeof Object.getOwnPropertySymbols) {
+ var i = 0
+ for (r = Object.getOwnPropertySymbols(e); i < r.length; i++)
+ t.indexOf(r[i]) < 0 &&
+ Object.prototype.propertyIsEnumerable.call(e, r[i]) &&
+ (n[r[i]] = e[r[i]])
+ }
+ return n
+ }
+ Object.create
+ function s(e, t) {
+ var n = 'function' === typeof Symbol && e[Symbol.iterator]
+ if (!n) return e
+ var r,
+ i,
+ o = n.call(e),
+ a = []
+ try {
+ for (; (void 0 === t || t-- > 0) && !(r = o.next()).done; ) a.push(r.value)
+ } catch (s) {
+ i = { error: s }
+ } finally {
+ try {
+ r && !r.done && (n = o.return) && n.call(o)
+ } finally {
+ if (i) throw i.error
+ }
+ }
+ return a
+ }
+ function l(e, t, n) {
+ if (n || 2 === arguments.length)
+ for (var r, i = 0, o = t.length; i < o; i++)
+ (!r && i in t) || (r || (r = Array.prototype.slice.call(t, 0, i)), (r[i] = t[i]))
+ return e.concat(r || t)
+ }
+ Object.create
+ },
+ 9839: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ qY: function () {
+ return h
+ },
+ ZP: function () {
+ return b
+ },
+ iW: function () {
+ return p
+ },
+ $B: function () {
+ return y
+ },
+ })
+ var r = (1 / 60) * 1e3,
+ i =
+ 'undefined' !== typeof performance
+ ? function () {
+ return performance.now()
+ }
+ : function () {
+ return Date.now()
+ },
+ o =
+ 'undefined' !== typeof window
+ ? function (e) {
+ return window.requestAnimationFrame(e)
+ }
+ : function (e) {
+ return setTimeout(function () {
+ return e(i())
+ }, r)
+ }
+ var a = !0,
+ s = !1,
+ l = !1,
+ u = { delta: 0, timestamp: 0 },
+ c = ['read', 'update', 'preRender', 'render', 'postRender'],
+ d = c.reduce(function (e, t) {
+ return (
+ (e[t] = (function (e) {
+ var t = [],
+ n = [],
+ r = 0,
+ i = !1,
+ o = new WeakSet(),
+ a = {
+ schedule: function (e, a, s) {
+ void 0 === a && (a = !1), void 0 === s && (s = !1)
+ var l = s && i,
+ u = l ? t : n
+ return (
+ a && o.add(e), -1 === u.indexOf(e) && (u.push(e), l && i && (r = t.length)), e
+ )
+ },
+ cancel: function (e) {
+ var t = n.indexOf(e)
+ ;-1 !== t && n.splice(t, 1), o.delete(e)
+ },
+ process: function (s) {
+ var l
+ if (((i = !0), (t = (l = [n, t])[0]), ((n = l[1]).length = 0), (r = t.length)))
+ for (var u = 0; u < r; u++) {
+ var c = t[u]
+ c(s), o.has(c) && (a.schedule(c), e())
+ }
+ i = !1
+ },
+ }
+ return a
+ })(function () {
+ return (s = !0)
+ })),
+ e
+ )
+ }, {}),
+ f = c.reduce(function (e, t) {
+ var n = d[t]
+ return (
+ (e[t] = function (e, t, r) {
+ return (
+ void 0 === t && (t = !1), void 0 === r && (r = !1), s || g(), n.schedule(e, t, r)
+ )
+ }),
+ e
+ )
+ }, {}),
+ h = c.reduce(function (e, t) {
+ return (e[t] = d[t].cancel), e
+ }, {}),
+ p = c.reduce(function (e, t) {
+ return (
+ (e[t] = function () {
+ return d[t].process(u)
+ }),
+ e
+ )
+ }, {}),
+ v = function (e) {
+ return d[e].process(u)
+ },
+ m = function (e) {
+ ;(s = !1),
+ (u.delta = a ? r : Math.max(Math.min(e - u.timestamp, 40), 1)),
+ (u.timestamp = e),
+ (l = !0),
+ c.forEach(v),
+ (l = !1),
+ s && ((a = !1), o(m))
+ },
+ g = function () {
+ ;(s = !0), (a = !0), l || o(m)
+ },
+ y = function () {
+ return u
+ },
+ b = f
+ },
+ 3405: function (e) {
+ e.exports = function (e) {
+ return [...e].reduce((e, [t, n]) => ((e[t] = n), e), {})
+ }
+ },
+ 1527: function (e, t) {
+ 'use strict'
+ function n(e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = (function (e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ })(e, t)
+ if (Object.getOwnPropertySymbols) {
+ var o = Object.getOwnPropertySymbols(e)
+ for (r = 0; r < o.length; r++)
+ (n = o[r]),
+ t.indexOf(n) >= 0 ||
+ (Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n]))
+ }
+ return i
+ }
+ function r(e, t) {
+ return (
+ (function (e) {
+ if (Array.isArray(e)) return e
+ })(e) ||
+ (function (e, t) {
+ var n = e && (('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator'])
+ if (null == n) return
+ var r,
+ i,
+ o = [],
+ a = !0,
+ s = !1
+ try {
+ for (
+ n = n.call(e);
+ !(a = (r = n.next()).done) && (o.push(r.value), !t || o.length !== t);
+ a = !0
+ );
+ } catch (l) {
+ ;(s = !0), (i = l)
+ } finally {
+ try {
+ a || null == n.return || n.return()
+ } finally {
+ if (s) throw i
+ }
+ }
+ return o
+ })(e, t) ||
+ o(e, t) ||
+ (function () {
+ throw new TypeError(
+ 'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ })()
+ )
+ }
+ function i(e) {
+ return (
+ (function (e) {
+ if (Array.isArray(e)) return a(e)
+ })(e) ||
+ (function (e) {
+ if (
+ ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) ||
+ null != e['@@iterator']
+ )
+ return Array.from(e)
+ })(e) ||
+ o(e) ||
+ (function () {
+ throw new TypeError(
+ 'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ })()
+ )
+ }
+ function o(e, t) {
+ if (e) {
+ if ('string' === typeof e) return a(e, t)
+ var n = Object.prototype.toString.call(e).slice(8, -1)
+ return (
+ 'Object' === n && e.constructor && (n = e.constructor.name),
+ 'Map' === n || 'Set' === n
+ ? Array.from(e)
+ : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
+ ? a(e, t)
+ : void 0
+ )
+ }
+ }
+ function a(e, t) {
+ ;(null == t || t > e.length) && (t = e.length)
+ for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
+ return r
+ }
+ function s(e) {
+ var t = (function (e, t) {
+ if ('object' !== typeof e || null === e) return e
+ var n = e[Symbol.toPrimitive]
+ if (void 0 !== n) {
+ var r = n.call(e, t || 'default')
+ if ('object' !== typeof r) return r
+ throw new TypeError('@@toPrimitive must return a primitive value.')
+ }
+ return ('string' === t ? String : Number)(e)
+ })(e, 'string')
+ return 'symbol' === typeof t ? t : String(t)
+ }
+ t.Z = function () {
+ var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [],
+ t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [],
+ o = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2],
+ a = arguments.length > 3 && void 0 !== arguments[3] && arguments[3],
+ l = (t instanceof Array ? (t.length ? t : [void 0]) : [t]).map(function (e) {
+ return { keyAccessor: e, isProp: !(e instanceof Function) }
+ }),
+ u = e.reduce(function (e, t) {
+ var r = e,
+ i = t
+ return (
+ l.forEach(function (e, t) {
+ var a,
+ u = e.keyAccessor
+ if (e.isProp) {
+ var c = i,
+ d = c[u],
+ f = n(c, [u].map(s))
+ ;(a = d), (i = f)
+ } else a = u(i, t)
+ t + 1 < l.length
+ ? (r.hasOwnProperty(a) || (r[a] = {}), (r = r[a]))
+ : o
+ ? (r.hasOwnProperty(a) || (r[a] = []), r[a].push(i))
+ : (r[a] = i)
+ }),
+ e
+ )
+ }, {})
+ o instanceof Function &&
+ (function e(t) {
+ var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1
+ n === l.length
+ ? Object.keys(t).forEach(function (e) {
+ return (t[e] = o(t[e]))
+ })
+ : Object.values(t).forEach(function (t) {
+ return e(t, n + 1)
+ })
+ })(u)
+ var c = u
+ return (
+ a &&
+ ((c = []),
+ (function e(t) {
+ var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : []
+ n.length === l.length
+ ? c.push({ keys: n, vals: t })
+ : Object.entries(t).forEach(function (t) {
+ var o = r(t, 2),
+ a = o[0],
+ s = o[1]
+ return e(s, [].concat(i(n), [a]))
+ })
+ })(u),
+ t instanceof Array && 0 === t.length && 1 === c.length && (c[0].keys = [])),
+ c
+ )
+ }
+ },
+ 4858: function (e, t, n) {
+ 'use strict'
+ var r = n(296),
+ i = n.n(r)
+ function o(e, t) {
+ return (
+ (function (e) {
+ if (Array.isArray(e)) return e
+ })(e) ||
+ (function (e, t) {
+ var n = e && (('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator'])
+ if (null == n) return
+ var r,
+ i,
+ o = [],
+ a = !0,
+ s = !1
+ try {
+ for (
+ n = n.call(e);
+ !(a = (r = n.next()).done) && (o.push(r.value), !t || o.length !== t);
+ a = !0
+ );
+ } catch (l) {
+ ;(s = !0), (i = l)
+ } finally {
+ try {
+ a || null == n.return || n.return()
+ } finally {
+ if (s) throw i
+ }
+ }
+ return o
+ })(e, t) ||
+ (function (e, t) {
+ if (!e) return
+ if ('string' === typeof e) return a(e, t)
+ var n = Object.prototype.toString.call(e).slice(8, -1)
+ 'Object' === n && e.constructor && (n = e.constructor.name)
+ if ('Map' === n || 'Set' === n) return Array.from(e)
+ if ('Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+ return a(e, t)
+ })(e, t) ||
+ (function () {
+ throw new TypeError(
+ 'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ })()
+ )
+ }
+ function a(e, t) {
+ ;(null == t || t > e.length) && (t = e.length)
+ for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
+ return r
+ }
+ var s = function e(t, n) {
+ var r = n.default,
+ i = void 0 === r ? null : r,
+ o = n.triggerUpdate,
+ a = void 0 === o || o,
+ s = n.onChange,
+ l = void 0 === s ? function (e, t) {} : s
+ !(function (e, t) {
+ if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function')
+ })(this, e),
+ (this.name = t),
+ (this.defaultVal = i),
+ (this.triggerUpdate = a),
+ (this.onChange = l)
+ }
+ t.Z = function (e) {
+ var t = e.stateInit,
+ n =
+ void 0 === t
+ ? function () {
+ return {}
+ }
+ : t,
+ r = e.props,
+ a = void 0 === r ? {} : r,
+ l = e.methods,
+ u = void 0 === l ? {} : l,
+ c = e.aliases,
+ d = void 0 === c ? {} : c,
+ f = e.init,
+ h = void 0 === f ? function () {} : f,
+ p = e.update,
+ v = void 0 === p ? function () {} : p,
+ m = Object.keys(a).map(function (e) {
+ return new s(e, a[e])
+ })
+ return function () {
+ var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
+ t = Object.assign({}, n instanceof Function ? n(e) : n, { initialised: !1 }),
+ r = {}
+ function a(t) {
+ return s(t, e), l(), a
+ }
+ var s = function (e, n) {
+ h.call(a, e, t, n), (t.initialised = !0)
+ },
+ l = i()(function () {
+ t.initialised && (v.call(a, t, r), (r = {}))
+ }, 1)
+ return (
+ m.forEach(function (e) {
+ a[e.name] = (function (e) {
+ var n = e.name,
+ i = e.triggerUpdate,
+ o = void 0 !== i && i,
+ s = e.onChange,
+ u = void 0 === s ? function (e, t) {} : s,
+ c = e.defaultVal,
+ d = void 0 === c ? null : c
+ return function (e) {
+ var i = t[n]
+ if (!arguments.length) return i
+ var s = void 0 === e ? d : e
+ return (
+ (t[n] = s), u.call(a, s, t, i), !r.hasOwnProperty(n) && (r[n] = i), o && l(), a
+ )
+ }
+ })(e)
+ }),
+ Object.keys(u).forEach(function (e) {
+ a[e] = function () {
+ for (var n, r = arguments.length, i = new Array(r), o = 0; o < r; o++)
+ i[o] = arguments[o]
+ return (n = u[e]).call.apply(n, [a, t].concat(i))
+ }
+ }),
+ Object.entries(d).forEach(function (e) {
+ var t = o(e, 2),
+ n = t[0],
+ r = t[1]
+ return (a[n] = a[r])
+ }),
+ (a.resetProps = function () {
+ return (
+ m.forEach(function (e) {
+ a[e.name](e.defaultVal)
+ }),
+ a
+ )
+ }),
+ a.resetProps(),
+ (t._rerender = l),
+ a
+ )
+ }
+ }
+ },
+ 3096: function (e, t, n) {
+ var r = 'Expected a function',
+ i = /^\s+|\s+$/g,
+ o = /^[-+]0x[0-9a-f]+$/i,
+ a = /^0b[01]+$/i,
+ s = /^0o[0-7]+$/i,
+ l = parseInt,
+ u = 'object' == typeof n.g && n.g && n.g.Object === Object && n.g,
+ c = 'object' == typeof self && self && self.Object === Object && self,
+ d = u || c || Function('return this')(),
+ f = Object.prototype.toString,
+ h = Math.max,
+ p = Math.min,
+ v = function () {
+ return d.Date.now()
+ }
+ function m(e, t, n) {
+ var i,
+ o,
+ a,
+ s,
+ l,
+ u,
+ c = 0,
+ d = !1,
+ f = !1,
+ m = !0
+ if ('function' != typeof e) throw new TypeError(r)
+ function b(t) {
+ var n = i,
+ r = o
+ return (i = o = void 0), (c = t), (s = e.apply(r, n))
+ }
+ function w(e) {
+ return (c = e), (l = setTimeout(E, t)), d ? b(e) : s
+ }
+ function x(e) {
+ var n = e - u
+ return void 0 === u || n >= t || n < 0 || (f && e - c >= a)
+ }
+ function E() {
+ var e = v()
+ if (x(e)) return k(e)
+ l = setTimeout(
+ E,
+ (function (e) {
+ var n = t - (e - u)
+ return f ? p(n, a - (e - c)) : n
+ })(e),
+ )
+ }
+ function k(e) {
+ return (l = void 0), m && i ? b(e) : ((i = o = void 0), s)
+ }
+ function T() {
+ var e = v(),
+ n = x(e)
+ if (((i = arguments), (o = this), (u = e), n)) {
+ if (void 0 === l) return w(u)
+ if (f) return (l = setTimeout(E, t)), b(u)
+ }
+ return void 0 === l && (l = setTimeout(E, t)), s
+ }
+ return (
+ (t = y(t) || 0),
+ g(n) &&
+ ((d = !!n.leading),
+ (a = (f = 'maxWait' in n) ? h(y(n.maxWait) || 0, t) : a),
+ (m = 'trailing' in n ? !!n.trailing : m)),
+ (T.cancel = function () {
+ void 0 !== l && clearTimeout(l), (c = 0), (i = u = o = l = void 0)
+ }),
+ (T.flush = function () {
+ return void 0 === l ? s : k(v())
+ }),
+ T
+ )
+ }
+ function g(e) {
+ var t = typeof e
+ return !!e && ('object' == t || 'function' == t)
+ }
+ function y(e) {
+ if ('number' == typeof e) return e
+ if (
+ (function (e) {
+ return (
+ 'symbol' == typeof e ||
+ ((function (e) {
+ return !!e && 'object' == typeof e
+ })(e) &&
+ '[object Symbol]' == f.call(e))
+ )
+ })(e)
+ )
+ return NaN
+ if (g(e)) {
+ var t = 'function' == typeof e.valueOf ? e.valueOf() : e
+ e = g(t) ? t + '' : t
+ }
+ if ('string' != typeof e) return 0 === e ? e : +e
+ e = e.replace(i, '')
+ var n = a.test(e)
+ return n || s.test(e) ? l(e.slice(2), n ? 2 : 8) : o.test(e) ? NaN : +e
+ }
+ e.exports = function (e, t, n) {
+ var i = !0,
+ o = !0
+ if ('function' != typeof e) throw new TypeError(r)
+ return (
+ g(n) &&
+ ((i = 'leading' in n ? !!n.leading : i), (o = 'trailing' in n ? !!n.trailing : o)),
+ m(e, t, { leading: i, maxWait: t, trailing: o })
+ )
+ }
+ },
+ 3752: function (e, t, n) {
+ 'use strict'
+ function r(e, t) {
+ var n
+ if ('undefined' === typeof Symbol || null == e[Symbol.iterator]) {
+ if (
+ Array.isArray(e) ||
+ (n = (function (e, t) {
+ if (!e) return
+ if ('string' === typeof e) return i(e, t)
+ var n = Object.prototype.toString.call(e).slice(8, -1)
+ 'Object' === n && e.constructor && (n = e.constructor.name)
+ if ('Map' === n || 'Set' === n) return Array.from(e)
+ if ('Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+ return i(e, t)
+ })(e)) ||
+ (t && e && 'number' === typeof e.length)
+ ) {
+ n && (e = n)
+ var r = 0,
+ o = function () {}
+ return {
+ s: o,
+ n: function () {
+ return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] }
+ },
+ e: function (e) {
+ throw e
+ },
+ f: o,
+ }
+ }
+ throw new TypeError(
+ 'Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ }
+ var a,
+ s = !0,
+ l = !1
+ return {
+ s: function () {
+ n = e[Symbol.iterator]()
+ },
+ n: function () {
+ var e = n.next()
+ return (s = e.done), e
+ },
+ e: function (e) {
+ ;(l = !0), (a = e)
+ },
+ f: function () {
+ try {
+ s || null == n.return || n.return()
+ } finally {
+ if (l) throw a
+ }
+ },
+ }
+ }
+ function i(e, t) {
+ ;(null == t || t > e.length) && (t = e.length)
+ for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
+ return r
+ }
+ function o(e, t) {
+ var n
+ if (void 0 === t) {
+ var i,
+ o = r(e)
+ try {
+ for (o.s(); !(i = o.n()).done; ) {
+ var a = i.value
+ null != a && (n < a || (void 0 === n && a >= a)) && (n = a)
+ }
+ } catch (d) {
+ o.e(d)
+ } finally {
+ o.f()
+ }
+ } else {
+ var s,
+ l = -1,
+ u = r(e)
+ try {
+ for (u.s(); !(s = u.n()).done; ) {
+ var c = s.value
+ null != (c = t(c, ++l, e)) && (n < c || (void 0 === n && c >= c)) && (n = c)
+ }
+ } catch (d) {
+ u.e(d)
+ } finally {
+ u.f()
+ }
+ }
+ return n
+ }
+ n.d(t, {
+ Z: function () {
+ return o
+ },
+ })
+ },
+ 6701: function (e, t, n) {
+ 'use strict'
+ function r(e, t) {
+ var n
+ if ('undefined' === typeof Symbol || null == e[Symbol.iterator]) {
+ if (
+ Array.isArray(e) ||
+ (n = (function (e, t) {
+ if (!e) return
+ if ('string' === typeof e) return i(e, t)
+ var n = Object.prototype.toString.call(e).slice(8, -1)
+ 'Object' === n && e.constructor && (n = e.constructor.name)
+ if ('Map' === n || 'Set' === n) return Array.from(e)
+ if ('Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+ return i(e, t)
+ })(e)) ||
+ (t && e && 'number' === typeof e.length)
+ ) {
+ n && (e = n)
+ var r = 0,
+ o = function () {}
+ return {
+ s: o,
+ n: function () {
+ return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] }
+ },
+ e: function (e) {
+ throw e
+ },
+ f: o,
+ }
+ }
+ throw new TypeError(
+ 'Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ }
+ var a,
+ s = !0,
+ l = !1
+ return {
+ s: function () {
+ n = e[Symbol.iterator]()
+ },
+ n: function () {
+ var e = n.next()
+ return (s = e.done), e
+ },
+ e: function (e) {
+ ;(l = !0), (a = e)
+ },
+ f: function () {
+ try {
+ s || null == n.return || n.return()
+ } finally {
+ if (l) throw a
+ }
+ },
+ }
+ }
+ function i(e, t) {
+ ;(null == t || t > e.length) && (t = e.length)
+ for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
+ return r
+ }
+ function o(e, t) {
+ var n
+ if (void 0 === t) {
+ var i,
+ o = r(e)
+ try {
+ for (o.s(); !(i = o.n()).done; ) {
+ var a = i.value
+ null != a && (n > a || (void 0 === n && a >= a)) && (n = a)
+ }
+ } catch (d) {
+ o.e(d)
+ } finally {
+ o.f()
+ }
+ } else {
+ var s,
+ l = -1,
+ u = r(e)
+ try {
+ for (u.s(); !(s = u.n()).done; ) {
+ var c = s.value
+ null != (c = t(c, ++l, e)) && (n > c || (void 0 === n && c >= c)) && (n = c)
+ }
+ } catch (d) {
+ u.e(d)
+ } finally {
+ u.f()
+ }
+ }
+ return n
+ }
+ n.d(t, {
+ Z: function () {
+ return o
+ },
+ })
+ },
+ 4275: function (e, t, n) {
+ 'use strict'
+ function r(e, t, n) {
+ if (isNaN(t)) return e
+ var r,
+ i,
+ o,
+ a,
+ s,
+ l,
+ u = e._root,
+ c = { data: n },
+ d = e._x0,
+ f = e._x1
+ if (!u) return (e._root = c), e
+ for (; u.length; )
+ if (((a = t >= (i = (d + f) / 2)) ? (d = i) : (f = i), (r = u), !(u = u[(s = +a)])))
+ return (r[s] = c), e
+ if (t === (o = +e._x.call(null, u.data)))
+ return (c.next = u), r ? (r[s] = c) : (e._root = c), e
+ do {
+ ;(r = r ? (r[s] = new Array(2)) : (e._root = new Array(2))),
+ (a = t >= (i = (d + f) / 2)) ? (d = i) : (f = i)
+ } while ((s = +a) === (l = +(o >= i)))
+ return (r[l] = u), (r[s] = c), e
+ }
+ function i(e, t, n) {
+ ;(this.node = e), (this.x0 = t), (this.x1 = n)
+ }
+ function o(e) {
+ return e[0]
+ }
+ function a(e, t) {
+ var n = new s(null == t ? o : t, NaN, NaN)
+ return null == e ? n : n.addAll(e)
+ }
+ function s(e, t, n) {
+ ;(this._x = e), (this._x0 = t), (this._x1 = n), (this._root = void 0)
+ }
+ function l(e) {
+ for (var t = { data: e.data }, n = t; (e = e.next); ) n = n.next = { data: e.data }
+ return t
+ }
+ n.d(t, {
+ Z: function () {
+ return a
+ },
+ })
+ var u = (a.prototype = s.prototype)
+ ;(u.copy = function () {
+ var e,
+ t,
+ n = new s(this._x, this._x0, this._x1),
+ r = this._root
+ if (!r) return n
+ if (!r.length) return (n._root = l(r)), n
+ for (e = [{ source: r, target: (n._root = new Array(2)) }]; (r = e.pop()); )
+ for (var i = 0; i < 2; ++i)
+ (t = r.source[i]) &&
+ (t.length
+ ? e.push({ source: t, target: (r.target[i] = new Array(2)) })
+ : (r.target[i] = l(t)))
+ return n
+ }),
+ (u.add = function (e) {
+ var t = +this._x.call(null, e)
+ return r(this.cover(t), t, e)
+ }),
+ (u.addAll = function (e) {
+ var t,
+ n,
+ i = e.length,
+ o = new Array(i),
+ a = 1 / 0,
+ s = -1 / 0
+ for (t = 0; t < i; ++t)
+ isNaN((n = +this._x.call(null, e[t]))) ||
+ ((o[t] = n), n < a && (a = n), n > s && (s = n))
+ if (a > s) return this
+ for (this.cover(a).cover(s), t = 0; t < i; ++t) r(this, o[t], e[t])
+ return this
+ }),
+ (u.cover = function (e) {
+ if (isNaN((e = +e))) return this
+ var t = this._x0,
+ n = this._x1
+ if (isNaN(t)) n = (t = Math.floor(e)) + 1
+ else {
+ for (var r, i, o = n - t || 1, a = this._root; t > e || e >= n; )
+ switch (((i = +(e < t)), ((r = new Array(2))[i] = a), (a = r), (o *= 2), i)) {
+ case 0:
+ n = t + o
+ break
+ case 1:
+ t = n - o
+ }
+ this._root && this._root.length && (this._root = a)
+ }
+ return (this._x0 = t), (this._x1 = n), this
+ }),
+ (u.data = function () {
+ var e = []
+ return (
+ this.visit(function (t) {
+ if (!t.length)
+ do {
+ e.push(t.data)
+ } while ((t = t.next))
+ }),
+ e
+ )
+ }),
+ (u.extent = function (e) {
+ return arguments.length
+ ? this.cover(+e[0][0]).cover(+e[1][0])
+ : isNaN(this._x0)
+ ? void 0
+ : [[this._x0], [this._x1]]
+ }),
+ (u.find = function (e, t) {
+ var n,
+ r,
+ o,
+ a,
+ s,
+ l = this._x0,
+ u = this._x1,
+ c = [],
+ d = this._root
+ for (
+ d && c.push(new i(d, l, u)), null == t ? (t = 1 / 0) : ((l = e - t), (u = e + t));
+ (a = c.pop());
+
+ )
+ if (!(!(d = a.node) || (r = a.x0) > u || (o = a.x1) < l))
+ if (d.length) {
+ var f = (r + o) / 2
+ c.push(new i(d[1], f, o), new i(d[0], r, f)),
+ (s = +(e >= f)) &&
+ ((a = c[c.length - 1]),
+ (c[c.length - 1] = c[c.length - 1 - s]),
+ (c[c.length - 1 - s] = a))
+ } else {
+ var h = Math.abs(e - +this._x.call(null, d.data))
+ h < t && ((t = h), (l = e - h), (u = e + h), (n = d.data))
+ }
+ return n
+ }),
+ (u.remove = function (e) {
+ if (isNaN((o = +this._x.call(null, e)))) return this
+ var t,
+ n,
+ r,
+ i,
+ o,
+ a,
+ s,
+ l,
+ u,
+ c = this._root,
+ d = this._x0,
+ f = this._x1
+ if (!c) return this
+ if (c.length)
+ for (;;) {
+ if (((s = o >= (a = (d + f) / 2)) ? (d = a) : (f = a), (t = c), !(c = c[(l = +s)])))
+ return this
+ if (!c.length) break
+ t[(l + 1) & 1] && ((n = t), (u = l))
+ }
+ for (; c.data !== e; ) if (((r = c), !(c = c.next))) return this
+ return (
+ (i = c.next) && delete c.next,
+ r
+ ? (i ? (r.next = i) : delete r.next, this)
+ : t
+ ? (i ? (t[l] = i) : delete t[l],
+ (c = t[0] || t[1]) &&
+ c === (t[1] || t[0]) &&
+ !c.length &&
+ (n ? (n[u] = c) : (this._root = c)),
+ this)
+ : ((this._root = i), this)
+ )
+ }),
+ (u.removeAll = function (e) {
+ for (var t = 0, n = e.length; t < n; ++t) this.remove(e[t])
+ return this
+ }),
+ (u.root = function () {
+ return this._root
+ }),
+ (u.size = function () {
+ var e = 0
+ return (
+ this.visit(function (t) {
+ if (!t.length)
+ do {
+ ++e
+ } while ((t = t.next))
+ }),
+ e
+ )
+ }),
+ (u.visit = function (e) {
+ var t,
+ n,
+ r,
+ o,
+ a = [],
+ s = this._root
+ for (s && a.push(new i(s, this._x0, this._x1)); (t = a.pop()); )
+ if (!e((s = t.node), (r = t.x0), (o = t.x1)) && s.length) {
+ var l = (r + o) / 2
+ ;(n = s[1]) && a.push(new i(n, l, o)), (n = s[0]) && a.push(new i(n, r, l))
+ }
+ return this
+ }),
+ (u.visitAfter = function (e) {
+ var t,
+ n = [],
+ r = []
+ for (this._root && n.push(new i(this._root, this._x0, this._x1)); (t = n.pop()); ) {
+ var o = t.node
+ if (o.length) {
+ var a,
+ s = t.x0,
+ l = t.x1,
+ u = (s + l) / 2
+ ;(a = o[0]) && n.push(new i(a, s, u)), (a = o[1]) && n.push(new i(a, u, l))
+ }
+ r.push(t)
+ }
+ for (; (t = r.pop()); ) e(t.node, t.x0, t.x1)
+ return this
+ }),
+ (u.x = function (e) {
+ return arguments.length ? ((this._x = e), this) : this._x
+ })
+ },
+ 7137: function (e, t) {
+ 'use strict'
+ var n = { value: function () {} }
+ function r() {
+ for (var e, t = 0, n = arguments.length, r = {}; t < n; ++t) {
+ if (!(e = arguments[t] + '') || e in r || /[\s.]/.test(e))
+ throw new Error('illegal type: ' + e)
+ r[e] = []
+ }
+ return new i(r)
+ }
+ function i(e) {
+ this._ = e
+ }
+ function o(e, t) {
+ return e
+ .trim()
+ .split(/^|\s+/)
+ .map(function (e) {
+ var n = '',
+ r = e.indexOf('.')
+ if ((r >= 0 && ((n = e.slice(r + 1)), (e = e.slice(0, r))), e && !t.hasOwnProperty(e)))
+ throw new Error('unknown type: ' + e)
+ return { type: e, name: n }
+ })
+ }
+ function a(e, t) {
+ for (var n, r = 0, i = e.length; r < i; ++r) if ((n = e[r]).name === t) return n.value
+ }
+ function s(e, t, r) {
+ for (var i = 0, o = e.length; i < o; ++i)
+ if (e[i].name === t) {
+ ;(e[i] = n), (e = e.slice(0, i).concat(e.slice(i + 1)))
+ break
+ }
+ return null != r && e.push({ name: t, value: r }), e
+ }
+ ;(i.prototype = r.prototype =
+ {
+ constructor: i,
+ on: function (e, t) {
+ var n,
+ r = this._,
+ i = o(e + '', r),
+ l = -1,
+ u = i.length
+ if (!(arguments.length < 2)) {
+ if (null != t && 'function' !== typeof t) throw new Error('invalid callback: ' + t)
+ for (; ++l < u; )
+ if ((n = (e = i[l]).type)) r[n] = s(r[n], e.name, t)
+ else if (null == t) for (n in r) r[n] = s(r[n], e.name, null)
+ return this
+ }
+ for (; ++l < u; ) if ((n = (e = i[l]).type) && (n = a(r[n], e.name))) return n
+ },
+ copy: function () {
+ var e = {},
+ t = this._
+ for (var n in t) e[n] = t[n].slice()
+ return new i(e)
+ },
+ call: function (e, t) {
+ if ((n = arguments.length - 2) > 0)
+ for (var n, r, i = new Array(n), o = 0; o < n; ++o) i[o] = arguments[o + 2]
+ if (!this._.hasOwnProperty(e)) throw new Error('unknown type: ' + e)
+ for (o = 0, n = (r = this._[e]).length; o < n; ++o) r[o].value.apply(t, i)
+ },
+ apply: function (e, t, n) {
+ if (!this._.hasOwnProperty(e)) throw new Error('unknown type: ' + e)
+ for (var r = this._[e], i = 0, o = r.length; i < o; ++i) r[i].value.apply(t, n)
+ },
+ }),
+ (t.Z = r)
+ },
+ 216: function (e, t, n) {
+ 'use strict'
+ function r(e, t, n) {
+ var r,
+ i = 1
+ function o() {
+ var o,
+ a,
+ s = r.length,
+ l = 0,
+ u = 0,
+ c = 0
+ for (o = 0; o < s; ++o) (l += (a = r[o]).x || 0), (u += a.y || 0), (c += a.z || 0)
+ for (l = (l / s - e) * i, u = (u / s - t) * i, c = (c / s - n) * i, o = 0; o < s; ++o)
+ (a = r[o]), l && (a.x -= l), u && (a.y -= u), c && (a.z -= c)
+ }
+ return (
+ null == e && (e = 0),
+ null == t && (t = 0),
+ null == n && (n = 0),
+ (o.initialize = function (e) {
+ r = e
+ }),
+ (o.x = function (t) {
+ return arguments.length ? ((e = +t), o) : e
+ }),
+ (o.y = function (e) {
+ return arguments.length ? ((t = +e), o) : t
+ }),
+ (o.z = function (e) {
+ return arguments.length ? ((n = +e), o) : n
+ }),
+ (o.strength = function (e) {
+ return arguments.length ? ((i = +e), o) : i
+ }),
+ o
+ )
+ }
+ n.d(t, {
+ Z: function () {
+ return r
+ },
+ })
+ },
+ 9437: function (e, t, n) {
+ 'use strict'
+ function r(e) {
+ return function () {
+ return e
+ }
+ }
+ n.d(t, {
+ Z: function () {
+ return r
+ },
+ })
+ },
+ 8246: function (e, t, n) {
+ 'use strict'
+ function r(e) {
+ return 1e-6 * (e() - 0.5)
+ }
+ n.d(t, {
+ Z: function () {
+ return r
+ },
+ })
+ },
+ 5560: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ Z: function () {
+ return s
+ },
+ })
+ var r = n(9437),
+ i = n(8246)
+ function o(e) {
+ return e.index
+ }
+ function a(e, t) {
+ var n = e.get(t)
+ if (!n) throw new Error('node not found: ' + t)
+ return n
+ }
+ function s(e) {
+ var t,
+ n,
+ s,
+ l,
+ u,
+ c,
+ d,
+ f = o,
+ h = function (e) {
+ return 1 / Math.min(u[e.source.index], u[e.target.index])
+ },
+ p = (0, r.Z)(30),
+ v = 1
+ function m(r) {
+ for (var o = 0, a = e.length; o < v; ++o)
+ for (var s, u, f, h, p, m = 0, g = 0, y = 0, b = 0; m < a; ++m)
+ (u = (s = e[m]).source),
+ (g = (f = s.target).x + f.vx - u.x - u.vx || (0, i.Z)(d)),
+ l > 1 && (y = f.y + f.vy - u.y - u.vy || (0, i.Z)(d)),
+ l > 2 && (b = f.z + f.vz - u.z - u.vz || (0, i.Z)(d)),
+ (g *= h = (((h = Math.sqrt(g * g + y * y + b * b)) - n[m]) / h) * r * t[m]),
+ (y *= h),
+ (b *= h),
+ (f.vx -= g * (p = c[m])),
+ l > 1 && (f.vy -= y * p),
+ l > 2 && (f.vz -= b * p),
+ (u.vx += g * (p = 1 - p)),
+ l > 1 && (u.vy += y * p),
+ l > 2 && (u.vz += b * p)
+ }
+ function g() {
+ if (s) {
+ var r,
+ i,
+ o = s.length,
+ l = e.length,
+ d = new Map(
+ s.map(function (e, t) {
+ return [f(e, t, s), e]
+ }),
+ )
+ for (r = 0, u = new Array(o); r < l; ++r)
+ ((i = e[r]).index = r),
+ 'object' !== typeof i.source && (i.source = a(d, i.source)),
+ 'object' !== typeof i.target && (i.target = a(d, i.target)),
+ (u[i.source.index] = (u[i.source.index] || 0) + 1),
+ (u[i.target.index] = (u[i.target.index] || 0) + 1)
+ for (r = 0, c = new Array(l); r < l; ++r)
+ (i = e[r]), (c[r] = u[i.source.index] / (u[i.source.index] + u[i.target.index]))
+ ;(t = new Array(l)), y(), (n = new Array(l)), b()
+ }
+ }
+ function y() {
+ if (s) for (var n = 0, r = e.length; n < r; ++n) t[n] = +h(e[n], n, e)
+ }
+ function b() {
+ if (s) for (var t = 0, r = e.length; t < r; ++t) n[t] = +p(e[t], t, e)
+ }
+ return (
+ null == e && (e = []),
+ (m.initialize = function (e) {
+ s = e
+ for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++)
+ n[r - 1] = arguments[r]
+ ;(d =
+ n.find(function (e) {
+ return 'function' === typeof e
+ }) || Math.random),
+ (l =
+ n.find(function (e) {
+ return [1, 2, 3].includes(e)
+ }) || 2),
+ g()
+ }),
+ (m.links = function (t) {
+ return arguments.length ? ((e = t), g(), m) : e
+ }),
+ (m.id = function (e) {
+ return arguments.length ? ((f = e), m) : f
+ }),
+ (m.iterations = function (e) {
+ return arguments.length ? ((v = +e), m) : v
+ }),
+ (m.strength = function (e) {
+ return arguments.length ? ((h = 'function' === typeof e ? e : (0, r.Z)(+e)), y(), m) : h
+ }),
+ (m.distance = function (e) {
+ return arguments.length ? ((p = 'function' === typeof e ? e : (0, r.Z)(+e)), b(), m) : p
+ }),
+ m
+ )
+ }
+ },
+ 2405: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ Z: function () {
+ return u
+ },
+ })
+ var r = n(4275),
+ i = n(54),
+ o = n(8357),
+ a = n(9437),
+ s = n(8246),
+ l = n(4505)
+ function u() {
+ var e,
+ t,
+ n,
+ u,
+ c,
+ d,
+ f = (0, a.Z)(-30),
+ h = 1,
+ p = 1 / 0,
+ v = 0.81
+ function m(a) {
+ var s,
+ u = e.length,
+ d = (
+ 1 === t
+ ? (0, r.Z)(e, l.x)
+ : 2 === t
+ ? (0, i.Z)(e, l.x, l.y)
+ : 3 === t
+ ? (0, o.Z)(e, l.x, l.y, l.z)
+ : null
+ ).visitAfter(y)
+ for (c = a, s = 0; s < u; ++s) (n = e[s]), d.visit(b)
+ }
+ function g() {
+ if (e) {
+ var t,
+ n,
+ r = e.length
+ for (d = new Array(r), t = 0; t < r; ++t) (n = e[t]), (d[n.index] = +f(n, t, e))
+ }
+ }
+ function y(e) {
+ var n,
+ r,
+ i,
+ o,
+ a,
+ s,
+ l = 0,
+ u = 0,
+ c = e.length
+ if (c) {
+ for (i = o = a = s = 0; s < c; ++s)
+ (n = e[s]) &&
+ (r = Math.abs(n.value)) &&
+ ((l += n.value),
+ (u += r),
+ (i += r * (n.x || 0)),
+ (o += r * (n.y || 0)),
+ (a += r * (n.z || 0)))
+ ;(l *= Math.sqrt(4 / c)), (e.x = i / u), t > 1 && (e.y = o / u), t > 2 && (e.z = a / u)
+ } else {
+ ;((n = e).x = n.data.x), t > 1 && (n.y = n.data.y), t > 2 && (n.z = n.data.z)
+ do {
+ l += d[n.data.index]
+ } while ((n = n.next))
+ }
+ e.value = l
+ }
+ function b(e, r, i, o, a) {
+ if (!e.value) return !0
+ var l = [i, o, a][t - 1],
+ f = e.x - n.x,
+ m = t > 1 ? e.y - n.y : 0,
+ g = t > 2 ? e.z - n.z : 0,
+ y = l - r,
+ b = f * f + m * m + g * g
+ if ((y * y) / v < b)
+ return (
+ b < p &&
+ (0 === f && (b += (f = (0, s.Z)(u)) * f),
+ t > 1 && 0 === m && (b += (m = (0, s.Z)(u)) * m),
+ t > 2 && 0 === g && (b += (g = (0, s.Z)(u)) * g),
+ b < h && (b = Math.sqrt(h * b)),
+ (n.vx += (f * e.value * c) / b),
+ t > 1 && (n.vy += (m * e.value * c) / b),
+ t > 2 && (n.vz += (g * e.value * c) / b)),
+ !0
+ )
+ if (!(e.length || b >= p)) {
+ ;(e.data !== n || e.next) &&
+ (0 === f && (b += (f = (0, s.Z)(u)) * f),
+ t > 1 && 0 === m && (b += (m = (0, s.Z)(u)) * m),
+ t > 2 && 0 === g && (b += (g = (0, s.Z)(u)) * g),
+ b < h && (b = Math.sqrt(h * b)))
+ do {
+ e.data !== n &&
+ ((y = (d[e.data.index] * c) / b),
+ (n.vx += f * y),
+ t > 1 && (n.vy += m * y),
+ t > 2 && (n.vz += g * y))
+ } while ((e = e.next))
+ }
+ }
+ return (
+ (m.initialize = function (n) {
+ e = n
+ for (var r = arguments.length, i = new Array(r > 1 ? r - 1 : 0), o = 1; o < r; o++)
+ i[o - 1] = arguments[o]
+ ;(u =
+ i.find(function (e) {
+ return 'function' === typeof e
+ }) || Math.random),
+ (t =
+ i.find(function (e) {
+ return [1, 2, 3].includes(e)
+ }) || 2),
+ g()
+ }),
+ (m.strength = function (e) {
+ return arguments.length ? ((f = 'function' === typeof e ? e : (0, a.Z)(+e)), g(), m) : f
+ }),
+ (m.distanceMin = function (e) {
+ return arguments.length ? ((h = e * e), m) : Math.sqrt(h)
+ }),
+ (m.distanceMax = function (e) {
+ return arguments.length ? ((p = e * e), m) : Math.sqrt(p)
+ }),
+ (m.theta = function (e) {
+ return arguments.length ? ((v = e * e), m) : Math.sqrt(v)
+ }),
+ m
+ )
+ }
+ },
+ 6917: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ Z: function () {
+ return i
+ },
+ })
+ var r = n(9437)
+ function i(e, t, n, i) {
+ var o,
+ a,
+ s,
+ l,
+ u = (0, r.Z)(0.1)
+ function c(e) {
+ for (var r = 0, u = o.length; r < u; ++r) {
+ var c = o[r],
+ d = c.x - t || 1e-6,
+ f = (c.y || 0) - n || 1e-6,
+ h = (c.z || 0) - i || 1e-6,
+ p = Math.sqrt(d * d + f * f + h * h),
+ v = ((l[r] - p) * s[r] * e) / p
+ ;(c.vx += d * v), a > 1 && (c.vy += f * v), a > 2 && (c.vz += h * v)
+ }
+ }
+ function d() {
+ if (o) {
+ var t,
+ n = o.length
+ for (s = new Array(n), l = new Array(n), t = 0; t < n; ++t)
+ (l[t] = +e(o[t], t, o)), (s[t] = isNaN(l[t]) ? 0 : +u(o[t], t, o))
+ }
+ }
+ return (
+ 'function' !== typeof e && (e = (0, r.Z)(+e)),
+ null == t && (t = 0),
+ null == n && (n = 0),
+ null == i && (i = 0),
+ (c.initialize = function (e) {
+ o = e
+ for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++)
+ n[r - 1] = arguments[r]
+ ;(a =
+ n.find(function (e) {
+ return [1, 2, 3].includes(e)
+ }) || 2),
+ d()
+ }),
+ (c.strength = function (e) {
+ return arguments.length ? ((u = 'function' === typeof e ? e : (0, r.Z)(+e)), d(), c) : u
+ }),
+ (c.radius = function (t) {
+ return arguments.length ? ((e = 'function' === typeof t ? t : (0, r.Z)(+t)), d(), c) : e
+ }),
+ (c.x = function (e) {
+ return arguments.length ? ((t = +e), c) : t
+ }),
+ (c.y = function (e) {
+ return arguments.length ? ((n = +e), c) : n
+ }),
+ (c.z = function (e) {
+ return arguments.length ? ((i = +e), c) : i
+ }),
+ c
+ )
+ }
+ },
+ 4505: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ Z: function () {
+ return d
+ },
+ x: function () {
+ return a
+ },
+ y: function () {
+ return s
+ },
+ z: function () {
+ return l
+ },
+ })
+ var r = n(7137),
+ i = n(513),
+ o = 4294967296
+ function a(e) {
+ return e.x
+ }
+ function s(e) {
+ return e.y
+ }
+ function l(e) {
+ return e.z
+ }
+ var u = Math.PI * (3 - Math.sqrt(5)),
+ c = (20 * Math.PI) / (9 + Math.sqrt(221))
+ function d(e, t) {
+ t = t || 2
+ var n,
+ a = Math.min(3, Math.max(1, Math.round(t))),
+ s = 1,
+ l = 0.001,
+ d = 1 - Math.pow(l, 1 / 300),
+ f = 0,
+ h = 0.6,
+ p = new Map(),
+ v = (0, i.HT)(y),
+ m = (0, r.Z)('tick', 'end'),
+ g = (function () {
+ var e = 1
+ return function () {
+ return (e = (1664525 * e + 1013904223) % o) / o
+ }
+ })()
+ function y() {
+ b(), m.call('tick', n), s < l && (v.stop(), m.call('end', n))
+ }
+ function b(t) {
+ var r,
+ i,
+ o = e.length
+ void 0 === t && (t = 1)
+ for (var l = 0; l < t; ++l)
+ for (
+ s += (f - s) * d,
+ p.forEach(function (e) {
+ e(s)
+ }),
+ r = 0;
+ r < o;
+ ++r
+ )
+ null == (i = e[r]).fx ? (i.x += i.vx *= h) : ((i.x = i.fx), (i.vx = 0)),
+ a > 1 && (null == i.fy ? (i.y += i.vy *= h) : ((i.y = i.fy), (i.vy = 0))),
+ a > 2 && (null == i.fz ? (i.z += i.vz *= h) : ((i.z = i.fz), (i.vz = 0)))
+ return n
+ }
+ function w() {
+ for (var t, n = 0, r = e.length; n < r; ++n) {
+ if (
+ (((t = e[n]).index = n),
+ null != t.fx && (t.x = t.fx),
+ null != t.fy && (t.y = t.fy),
+ null != t.fz && (t.z = t.fz),
+ isNaN(t.x) || (a > 1 && isNaN(t.y)) || (a > 2 && isNaN(t.z)))
+ ) {
+ var i = 10 * (a > 2 ? Math.cbrt(0.5 + n) : a > 1 ? Math.sqrt(0.5 + n) : n),
+ o = n * u,
+ s = n * c
+ 1 === a
+ ? (t.x = i)
+ : 2 === a
+ ? ((t.x = i * Math.cos(o)), (t.y = i * Math.sin(o)))
+ : ((t.x = i * Math.sin(o) * Math.cos(s)),
+ (t.y = i * Math.cos(o)),
+ (t.z = i * Math.sin(o) * Math.sin(s)))
+ }
+ ;(isNaN(t.vx) || (a > 1 && isNaN(t.vy)) || (a > 2 && isNaN(t.vz))) &&
+ ((t.vx = 0), a > 1 && (t.vy = 0), a > 2 && (t.vz = 0))
+ }
+ }
+ function x(t) {
+ return t.initialize && t.initialize(e, g, a), t
+ }
+ return (
+ null == e && (e = []),
+ w(),
+ (n = {
+ tick: b,
+ restart: function () {
+ return v.restart(y), n
+ },
+ stop: function () {
+ return v.stop(), n
+ },
+ numDimensions: function (e) {
+ return arguments.length
+ ? ((a = Math.min(3, Math.max(1, Math.round(e)))), p.forEach(x), n)
+ : a
+ },
+ nodes: function (t) {
+ return arguments.length ? ((e = t), w(), p.forEach(x), n) : e
+ },
+ alpha: function (e) {
+ return arguments.length ? ((s = +e), n) : s
+ },
+ alphaMin: function (e) {
+ return arguments.length ? ((l = +e), n) : l
+ },
+ alphaDecay: function (e) {
+ return arguments.length ? ((d = +e), n) : +d
+ },
+ alphaTarget: function (e) {
+ return arguments.length ? ((f = +e), n) : f
+ },
+ velocityDecay: function (e) {
+ return arguments.length ? ((h = 1 - e), n) : 1 - h
+ },
+ randomSource: function (e) {
+ return arguments.length ? ((g = e), p.forEach(x), n) : g
+ },
+ force: function (e, t) {
+ return arguments.length > 1 ? (null == t ? p.delete(e) : p.set(e, x(t)), n) : p.get(e)
+ },
+ find: function () {
+ var t,
+ n,
+ r,
+ i,
+ o,
+ s,
+ l = Array.prototype.slice.call(arguments),
+ u = l.shift() || 0,
+ c = (a > 1 ? l.shift() : null) || 0,
+ d = (a > 2 ? l.shift() : null) || 0,
+ f = l.shift() || 1 / 0,
+ h = 0,
+ p = e.length
+ for (f *= f, h = 0; h < p; ++h)
+ (i =
+ (t = u - (o = e[h]).x) * t +
+ (n = c - (o.y || 0)) * n +
+ (r = d - (o.z || 0)) * r) < f && ((s = o), (f = i))
+ return s
+ },
+ on: function (e, t) {
+ return arguments.length > 1 ? (m.on(e, t), n) : m.on(e)
+ },
+ })
+ )
+ }
+ },
+ 8357: function (e, t, n) {
+ 'use strict'
+ function r(e, t, n, r, i) {
+ if (isNaN(t) || isNaN(n) || isNaN(r)) return e
+ var o,
+ a,
+ s,
+ l,
+ u,
+ c,
+ d,
+ f,
+ h,
+ p,
+ v,
+ m,
+ g = e._root,
+ y = { data: i },
+ b = e._x0,
+ w = e._y0,
+ x = e._z0,
+ E = e._x1,
+ k = e._y1,
+ T = e._z1
+ if (!g) return (e._root = y), e
+ for (; g.length; )
+ if (
+ ((f = t >= (a = (b + E) / 2)) ? (b = a) : (E = a),
+ (h = n >= (s = (w + k) / 2)) ? (w = s) : (k = s),
+ (p = r >= (l = (x + T) / 2)) ? (x = l) : (T = l),
+ (o = g),
+ !(g = g[(v = (p << 2) | (h << 1) | f)]))
+ )
+ return (o[v] = y), e
+ if (
+ ((u = +e._x.call(null, g.data)),
+ (c = +e._y.call(null, g.data)),
+ (d = +e._z.call(null, g.data)),
+ t === u && n === c && r === d)
+ )
+ return (y.next = g), o ? (o[v] = y) : (e._root = y), e
+ do {
+ ;(o = o ? (o[v] = new Array(8)) : (e._root = new Array(8))),
+ (f = t >= (a = (b + E) / 2)) ? (b = a) : (E = a),
+ (h = n >= (s = (w + k) / 2)) ? (w = s) : (k = s),
+ (p = r >= (l = (x + T) / 2)) ? (x = l) : (T = l)
+ } while (
+ (v = (p << 2) | (h << 1) | f) === (m = ((d >= l) << 2) | ((c >= s) << 1) | (u >= a))
+ )
+ return (o[m] = g), (o[v] = y), e
+ }
+ function i(e, t, n, r, i, o, a) {
+ ;(this.node = e),
+ (this.x0 = t),
+ (this.y0 = n),
+ (this.z0 = r),
+ (this.x1 = i),
+ (this.y1 = o),
+ (this.z1 = a)
+ }
+ function o(e) {
+ return e[0]
+ }
+ function a(e) {
+ return e[1]
+ }
+ function s(e) {
+ return e[2]
+ }
+ function l(e, t, n, r) {
+ var i = new u(
+ null == t ? o : t,
+ null == n ? a : n,
+ null == r ? s : r,
+ NaN,
+ NaN,
+ NaN,
+ NaN,
+ NaN,
+ NaN,
+ )
+ return null == e ? i : i.addAll(e)
+ }
+ function u(e, t, n, r, i, o, a, s, l) {
+ ;(this._x = e),
+ (this._y = t),
+ (this._z = n),
+ (this._x0 = r),
+ (this._y0 = i),
+ (this._z0 = o),
+ (this._x1 = a),
+ (this._y1 = s),
+ (this._z1 = l),
+ (this._root = void 0)
+ }
+ function c(e) {
+ for (var t = { data: e.data }, n = t; (e = e.next); ) n = n.next = { data: e.data }
+ return t
+ }
+ n.d(t, {
+ Z: function () {
+ return l
+ },
+ })
+ var d = (l.prototype = u.prototype)
+ ;(d.copy = function () {
+ var e,
+ t,
+ n = new u(
+ this._x,
+ this._y,
+ this._z,
+ this._x0,
+ this._y0,
+ this._z0,
+ this._x1,
+ this._y1,
+ this._z1,
+ ),
+ r = this._root
+ if (!r) return n
+ if (!r.length) return (n._root = c(r)), n
+ for (e = [{ source: r, target: (n._root = new Array(8)) }]; (r = e.pop()); )
+ for (var i = 0; i < 8; ++i)
+ (t = r.source[i]) &&
+ (t.length
+ ? e.push({ source: t, target: (r.target[i] = new Array(8)) })
+ : (r.target[i] = c(t)))
+ return n
+ }),
+ (d.add = function (e) {
+ var t = +this._x.call(null, e),
+ n = +this._y.call(null, e),
+ i = +this._z.call(null, e)
+ return r(this.cover(t, n, i), t, n, i, e)
+ }),
+ (d.addAll = function (e) {
+ var t,
+ n,
+ i,
+ o,
+ a,
+ s = e.length,
+ l = new Array(s),
+ u = new Array(s),
+ c = new Array(s),
+ d = 1 / 0,
+ f = 1 / 0,
+ h = 1 / 0,
+ p = -1 / 0,
+ v = -1 / 0,
+ m = -1 / 0
+ for (n = 0; n < s; ++n)
+ isNaN((i = +this._x.call(null, (t = e[n])))) ||
+ isNaN((o = +this._y.call(null, t))) ||
+ isNaN((a = +this._z.call(null, t))) ||
+ ((l[n] = i),
+ (u[n] = o),
+ (c[n] = a),
+ i < d && (d = i),
+ i > p && (p = i),
+ o < f && (f = o),
+ o > v && (v = o),
+ a < h && (h = a),
+ a > m && (m = a))
+ if (d > p || f > v || h > m) return this
+ for (this.cover(d, f, h).cover(p, v, m), n = 0; n < s; ++n)
+ r(this, l[n], u[n], c[n], e[n])
+ return this
+ }),
+ (d.cover = function (e, t, n) {
+ if (isNaN((e = +e)) || isNaN((t = +t)) || isNaN((n = +n))) return this
+ var r = this._x0,
+ i = this._y0,
+ o = this._z0,
+ a = this._x1,
+ s = this._y1,
+ l = this._z1
+ if (isNaN(r))
+ (a = (r = Math.floor(e)) + 1),
+ (s = (i = Math.floor(t)) + 1),
+ (l = (o = Math.floor(n)) + 1)
+ else {
+ for (
+ var u, c, d = a - r || 1, f = this._root;
+ r > e || e >= a || i > t || t >= s || o > n || n >= l;
+
+ )
+ switch (
+ ((c = ((n < o) << 2) | ((t < i) << 1) | (e < r)),
+ ((u = new Array(8))[c] = f),
+ (f = u),
+ (d *= 2),
+ c)
+ ) {
+ case 0:
+ ;(a = r + d), (s = i + d), (l = o + d)
+ break
+ case 1:
+ ;(r = a - d), (s = i + d), (l = o + d)
+ break
+ case 2:
+ ;(a = r + d), (i = s - d), (l = o + d)
+ break
+ case 3:
+ ;(r = a - d), (i = s - d), (l = o + d)
+ break
+ case 4:
+ ;(a = r + d), (s = i + d), (o = l - d)
+ break
+ case 5:
+ ;(r = a - d), (s = i + d), (o = l - d)
+ break
+ case 6:
+ ;(a = r + d), (i = s - d), (o = l - d)
+ break
+ case 7:
+ ;(r = a - d), (i = s - d), (o = l - d)
+ }
+ this._root && this._root.length && (this._root = f)
+ }
+ return (
+ (this._x0 = r),
+ (this._y0 = i),
+ (this._z0 = o),
+ (this._x1 = a),
+ (this._y1 = s),
+ (this._z1 = l),
+ this
+ )
+ }),
+ (d.data = function () {
+ var e = []
+ return (
+ this.visit(function (t) {
+ if (!t.length)
+ do {
+ e.push(t.data)
+ } while ((t = t.next))
+ }),
+ e
+ )
+ }),
+ (d.extent = function (e) {
+ return arguments.length
+ ? this.cover(+e[0][0], +e[0][1], +e[0][2]).cover(+e[1][0], +e[1][1], +e[1][2])
+ : isNaN(this._x0)
+ ? void 0
+ : [
+ [this._x0, this._y0, this._z0],
+ [this._x1, this._y1, this._z1],
+ ]
+ }),
+ (d.find = function (e, t, n, r) {
+ var o,
+ a,
+ s,
+ l,
+ u,
+ c,
+ d,
+ f,
+ h,
+ p = this._x0,
+ v = this._y0,
+ m = this._z0,
+ g = this._x1,
+ y = this._y1,
+ b = this._z1,
+ w = [],
+ x = this._root
+ for (
+ x && w.push(new i(x, p, v, m, g, y, b)),
+ null == r
+ ? (r = 1 / 0)
+ : ((p = e - r),
+ (v = t - r),
+ (m = n - r),
+ (g = e + r),
+ (y = t + r),
+ (b = n + r),
+ (r *= r));
+ (f = w.pop());
+
+ )
+ if (
+ !(
+ !(x = f.node) ||
+ (a = f.x0) > g ||
+ (s = f.y0) > y ||
+ (l = f.z0) > b ||
+ (u = f.x1) < p ||
+ (c = f.y1) < v ||
+ (d = f.z1) < m
+ )
+ )
+ if (x.length) {
+ var E = (a + u) / 2,
+ k = (s + c) / 2,
+ T = (l + d) / 2
+ w.push(
+ new i(x[7], E, k, T, u, c, d),
+ new i(x[6], a, k, T, E, c, d),
+ new i(x[5], E, s, T, u, k, d),
+ new i(x[4], a, s, T, E, k, d),
+ new i(x[3], E, k, l, u, c, T),
+ new i(x[2], a, k, l, E, c, T),
+ new i(x[1], E, s, l, u, k, T),
+ new i(x[0], a, s, l, E, k, T),
+ ),
+ (h = ((n >= T) << 2) | ((t >= k) << 1) | (e >= E)) &&
+ ((f = w[w.length - 1]),
+ (w[w.length - 1] = w[w.length - 1 - h]),
+ (w[w.length - 1 - h] = f))
+ } else {
+ var _ = e - +this._x.call(null, x.data),
+ O = t - +this._y.call(null, x.data),
+ C = n - +this._z.call(null, x.data),
+ A = _ * _ + O * O + C * C
+ if (A < r) {
+ var S = Math.sqrt((r = A))
+ ;(p = e - S),
+ (v = t - S),
+ (m = n - S),
+ (g = e + S),
+ (y = t + S),
+ (b = n + S),
+ (o = x.data)
+ }
+ }
+ return o
+ }),
+ (d.remove = function (e) {
+ if (
+ isNaN((o = +this._x.call(null, e))) ||
+ isNaN((a = +this._y.call(null, e))) ||
+ isNaN((s = +this._z.call(null, e)))
+ )
+ return this
+ var t,
+ n,
+ r,
+ i,
+ o,
+ a,
+ s,
+ l,
+ u,
+ c,
+ d,
+ f,
+ h,
+ p,
+ v,
+ m = this._root,
+ g = this._x0,
+ y = this._y0,
+ b = this._z0,
+ w = this._x1,
+ x = this._y1,
+ E = this._z1
+ if (!m) return this
+ if (m.length)
+ for (;;) {
+ if (
+ ((d = o >= (l = (g + w) / 2)) ? (g = l) : (w = l),
+ (f = a >= (u = (y + x) / 2)) ? (y = u) : (x = u),
+ (h = s >= (c = (b + E) / 2)) ? (b = c) : (E = c),
+ (t = m),
+ !(m = m[(p = (h << 2) | (f << 1) | d)]))
+ )
+ return this
+ if (!m.length) break
+ ;(t[(p + 1) & 7] ||
+ t[(p + 2) & 7] ||
+ t[(p + 3) & 7] ||
+ t[(p + 4) & 7] ||
+ t[(p + 5) & 7] ||
+ t[(p + 6) & 7] ||
+ t[(p + 7) & 7]) &&
+ ((n = t), (v = p))
+ }
+ for (; m.data !== e; ) if (((r = m), !(m = m.next))) return this
+ return (
+ (i = m.next) && delete m.next,
+ r
+ ? (i ? (r.next = i) : delete r.next, this)
+ : t
+ ? (i ? (t[p] = i) : delete t[p],
+ (m = t[0] || t[1] || t[2] || t[3] || t[4] || t[5] || t[6] || t[7]) &&
+ m === (t[7] || t[6] || t[5] || t[4] || t[3] || t[2] || t[1] || t[0]) &&
+ !m.length &&
+ (n ? (n[v] = m) : (this._root = m)),
+ this)
+ : ((this._root = i), this)
+ )
+ }),
+ (d.removeAll = function (e) {
+ for (var t = 0, n = e.length; t < n; ++t) this.remove(e[t])
+ return this
+ }),
+ (d.root = function () {
+ return this._root
+ }),
+ (d.size = function () {
+ var e = 0
+ return (
+ this.visit(function (t) {
+ if (!t.length)
+ do {
+ ++e
+ } while ((t = t.next))
+ }),
+ e
+ )
+ }),
+ (d.visit = function (e) {
+ var t,
+ n,
+ r,
+ o,
+ a,
+ s,
+ l,
+ u,
+ c = [],
+ d = this._root
+ for (
+ d && c.push(new i(d, this._x0, this._y0, this._z0, this._x1, this._y1, this._z1));
+ (t = c.pop());
+
+ )
+ if (
+ !e(
+ (d = t.node),
+ (r = t.x0),
+ (o = t.y0),
+ (a = t.z0),
+ (s = t.x1),
+ (l = t.y1),
+ (u = t.z1),
+ ) &&
+ d.length
+ ) {
+ var f = (r + s) / 2,
+ h = (o + l) / 2,
+ p = (a + u) / 2
+ ;(n = d[7]) && c.push(new i(n, f, h, p, s, l, u)),
+ (n = d[6]) && c.push(new i(n, r, h, p, f, l, u)),
+ (n = d[5]) && c.push(new i(n, f, o, p, s, h, u)),
+ (n = d[4]) && c.push(new i(n, r, o, p, f, h, u)),
+ (n = d[3]) && c.push(new i(n, f, h, a, s, l, p)),
+ (n = d[2]) && c.push(new i(n, r, h, a, f, l, p)),
+ (n = d[1]) && c.push(new i(n, f, o, a, s, h, p)),
+ (n = d[0]) && c.push(new i(n, r, o, a, f, h, p))
+ }
+ return this
+ }),
+ (d.visitAfter = function (e) {
+ var t,
+ n = [],
+ r = []
+ for (
+ this._root &&
+ n.push(new i(this._root, this._x0, this._y0, this._z0, this._x1, this._y1, this._z1));
+ (t = n.pop());
+
+ ) {
+ var o = t.node
+ if (o.length) {
+ var a,
+ s = t.x0,
+ l = t.y0,
+ u = t.z0,
+ c = t.x1,
+ d = t.y1,
+ f = t.z1,
+ h = (s + c) / 2,
+ p = (l + d) / 2,
+ v = (u + f) / 2
+ ;(a = o[0]) && n.push(new i(a, s, l, u, h, p, v)),
+ (a = o[1]) && n.push(new i(a, h, l, u, c, p, v)),
+ (a = o[2]) && n.push(new i(a, s, p, u, h, d, v)),
+ (a = o[3]) && n.push(new i(a, h, p, u, c, d, v)),
+ (a = o[4]) && n.push(new i(a, s, l, v, h, p, f)),
+ (a = o[5]) && n.push(new i(a, h, l, v, c, p, f)),
+ (a = o[6]) && n.push(new i(a, s, p, v, h, d, f)),
+ (a = o[7]) && n.push(new i(a, h, p, v, c, d, f))
+ }
+ r.push(t)
+ }
+ for (; (t = r.pop()); ) e(t.node, t.x0, t.y0, t.z0, t.x1, t.y1, t.z1)
+ return this
+ }),
+ (d.x = function (e) {
+ return arguments.length ? ((this._x = e), this) : this._x
+ }),
+ (d.y = function (e) {
+ return arguments.length ? ((this._y = e), this) : this._y
+ }),
+ (d.z = function (e) {
+ return arguments.length ? ((this._z = e), this) : this._z
+ })
+ },
+ 54: function (e, t, n) {
+ 'use strict'
+ function r(e, t, n, r) {
+ if (isNaN(t) || isNaN(n)) return e
+ var i,
+ o,
+ a,
+ s,
+ l,
+ u,
+ c,
+ d,
+ f,
+ h = e._root,
+ p = { data: r },
+ v = e._x0,
+ m = e._y0,
+ g = e._x1,
+ y = e._y1
+ if (!h) return (e._root = p), e
+ for (; h.length; )
+ if (
+ ((u = t >= (o = (v + g) / 2)) ? (v = o) : (g = o),
+ (c = n >= (a = (m + y) / 2)) ? (m = a) : (y = a),
+ (i = h),
+ !(h = h[(d = (c << 1) | u)]))
+ )
+ return (i[d] = p), e
+ if (((s = +e._x.call(null, h.data)), (l = +e._y.call(null, h.data)), t === s && n === l))
+ return (p.next = h), i ? (i[d] = p) : (e._root = p), e
+ do {
+ ;(i = i ? (i[d] = new Array(4)) : (e._root = new Array(4))),
+ (u = t >= (o = (v + g) / 2)) ? (v = o) : (g = o),
+ (c = n >= (a = (m + y) / 2)) ? (m = a) : (y = a)
+ } while ((d = (c << 1) | u) === (f = ((l >= a) << 1) | (s >= o)))
+ return (i[f] = h), (i[d] = p), e
+ }
+ function i(e, t, n, r, i) {
+ ;(this.node = e), (this.x0 = t), (this.y0 = n), (this.x1 = r), (this.y1 = i)
+ }
+ function o(e) {
+ return e[0]
+ }
+ function a(e) {
+ return e[1]
+ }
+ function s(e, t, n) {
+ var r = new l(null == t ? o : t, null == n ? a : n, NaN, NaN, NaN, NaN)
+ return null == e ? r : r.addAll(e)
+ }
+ function l(e, t, n, r, i, o) {
+ ;(this._x = e),
+ (this._y = t),
+ (this._x0 = n),
+ (this._y0 = r),
+ (this._x1 = i),
+ (this._y1 = o),
+ (this._root = void 0)
+ }
+ function u(e) {
+ for (var t = { data: e.data }, n = t; (e = e.next); ) n = n.next = { data: e.data }
+ return t
+ }
+ n.d(t, {
+ Z: function () {
+ return s
+ },
+ })
+ var c = (s.prototype = l.prototype)
+ ;(c.copy = function () {
+ var e,
+ t,
+ n = new l(this._x, this._y, this._x0, this._y0, this._x1, this._y1),
+ r = this._root
+ if (!r) return n
+ if (!r.length) return (n._root = u(r)), n
+ for (e = [{ source: r, target: (n._root = new Array(4)) }]; (r = e.pop()); )
+ for (var i = 0; i < 4; ++i)
+ (t = r.source[i]) &&
+ (t.length
+ ? e.push({ source: t, target: (r.target[i] = new Array(4)) })
+ : (r.target[i] = u(t)))
+ return n
+ }),
+ (c.add = function (e) {
+ var t = +this._x.call(null, e),
+ n = +this._y.call(null, e)
+ return r(this.cover(t, n), t, n, e)
+ }),
+ (c.addAll = function (e) {
+ var t,
+ n,
+ i,
+ o,
+ a = e.length,
+ s = new Array(a),
+ l = new Array(a),
+ u = 1 / 0,
+ c = 1 / 0,
+ d = -1 / 0,
+ f = -1 / 0
+ for (n = 0; n < a; ++n)
+ isNaN((i = +this._x.call(null, (t = e[n])))) ||
+ isNaN((o = +this._y.call(null, t))) ||
+ ((s[n] = i),
+ (l[n] = o),
+ i < u && (u = i),
+ i > d && (d = i),
+ o < c && (c = o),
+ o > f && (f = o))
+ if (u > d || c > f) return this
+ for (this.cover(u, c).cover(d, f), n = 0; n < a; ++n) r(this, s[n], l[n], e[n])
+ return this
+ }),
+ (c.cover = function (e, t) {
+ if (isNaN((e = +e)) || isNaN((t = +t))) return this
+ var n = this._x0,
+ r = this._y0,
+ i = this._x1,
+ o = this._y1
+ if (isNaN(n)) (i = (n = Math.floor(e)) + 1), (o = (r = Math.floor(t)) + 1)
+ else {
+ for (var a, s, l = i - n || 1, u = this._root; n > e || e >= i || r > t || t >= o; )
+ switch (
+ ((s = ((t < r) << 1) | (e < n)), ((a = new Array(4))[s] = u), (u = a), (l *= 2), s)
+ ) {
+ case 0:
+ ;(i = n + l), (o = r + l)
+ break
+ case 1:
+ ;(n = i - l), (o = r + l)
+ break
+ case 2:
+ ;(i = n + l), (r = o - l)
+ break
+ case 3:
+ ;(n = i - l), (r = o - l)
+ }
+ this._root && this._root.length && (this._root = u)
+ }
+ return (this._x0 = n), (this._y0 = r), (this._x1 = i), (this._y1 = o), this
+ }),
+ (c.data = function () {
+ var e = []
+ return (
+ this.visit(function (t) {
+ if (!t.length)
+ do {
+ e.push(t.data)
+ } while ((t = t.next))
+ }),
+ e
+ )
+ }),
+ (c.extent = function (e) {
+ return arguments.length
+ ? this.cover(+e[0][0], +e[0][1]).cover(+e[1][0], +e[1][1])
+ : isNaN(this._x0)
+ ? void 0
+ : [
+ [this._x0, this._y0],
+ [this._x1, this._y1],
+ ]
+ }),
+ (c.find = function (e, t, n) {
+ var r,
+ o,
+ a,
+ s,
+ l,
+ u,
+ c,
+ d = this._x0,
+ f = this._y0,
+ h = this._x1,
+ p = this._y1,
+ v = [],
+ m = this._root
+ for (
+ m && v.push(new i(m, d, f, h, p)),
+ null == n
+ ? (n = 1 / 0)
+ : ((d = e - n), (f = t - n), (h = e + n), (p = t + n), (n *= n));
+ (u = v.pop());
+
+ )
+ if (
+ !(
+ !(m = u.node) ||
+ (o = u.x0) > h ||
+ (a = u.y0) > p ||
+ (s = u.x1) < d ||
+ (l = u.y1) < f
+ )
+ )
+ if (m.length) {
+ var g = (o + s) / 2,
+ y = (a + l) / 2
+ v.push(
+ new i(m[3], g, y, s, l),
+ new i(m[2], o, y, g, l),
+ new i(m[1], g, a, s, y),
+ new i(m[0], o, a, g, y),
+ ),
+ (c = ((t >= y) << 1) | (e >= g)) &&
+ ((u = v[v.length - 1]),
+ (v[v.length - 1] = v[v.length - 1 - c]),
+ (v[v.length - 1 - c] = u))
+ } else {
+ var b = e - +this._x.call(null, m.data),
+ w = t - +this._y.call(null, m.data),
+ x = b * b + w * w
+ if (x < n) {
+ var E = Math.sqrt((n = x))
+ ;(d = e - E), (f = t - E), (h = e + E), (p = t + E), (r = m.data)
+ }
+ }
+ return r
+ }),
+ (c.remove = function (e) {
+ if (isNaN((o = +this._x.call(null, e))) || isNaN((a = +this._y.call(null, e))))
+ return this
+ var t,
+ n,
+ r,
+ i,
+ o,
+ a,
+ s,
+ l,
+ u,
+ c,
+ d,
+ f,
+ h = this._root,
+ p = this._x0,
+ v = this._y0,
+ m = this._x1,
+ g = this._y1
+ if (!h) return this
+ if (h.length)
+ for (;;) {
+ if (
+ ((u = o >= (s = (p + m) / 2)) ? (p = s) : (m = s),
+ (c = a >= (l = (v + g) / 2)) ? (v = l) : (g = l),
+ (t = h),
+ !(h = h[(d = (c << 1) | u)]))
+ )
+ return this
+ if (!h.length) break
+ ;(t[(d + 1) & 3] || t[(d + 2) & 3] || t[(d + 3) & 3]) && ((n = t), (f = d))
+ }
+ for (; h.data !== e; ) if (((r = h), !(h = h.next))) return this
+ return (
+ (i = h.next) && delete h.next,
+ r
+ ? (i ? (r.next = i) : delete r.next, this)
+ : t
+ ? (i ? (t[d] = i) : delete t[d],
+ (h = t[0] || t[1] || t[2] || t[3]) &&
+ h === (t[3] || t[2] || t[1] || t[0]) &&
+ !h.length &&
+ (n ? (n[f] = h) : (this._root = h)),
+ this)
+ : ((this._root = i), this)
+ )
+ }),
+ (c.removeAll = function (e) {
+ for (var t = 0, n = e.length; t < n; ++t) this.remove(e[t])
+ return this
+ }),
+ (c.root = function () {
+ return this._root
+ }),
+ (c.size = function () {
+ var e = 0
+ return (
+ this.visit(function (t) {
+ if (!t.length)
+ do {
+ ++e
+ } while ((t = t.next))
+ }),
+ e
+ )
+ }),
+ (c.visit = function (e) {
+ var t,
+ n,
+ r,
+ o,
+ a,
+ s,
+ l = [],
+ u = this._root
+ for (u && l.push(new i(u, this._x0, this._y0, this._x1, this._y1)); (t = l.pop()); )
+ if (!e((u = t.node), (r = t.x0), (o = t.y0), (a = t.x1), (s = t.y1)) && u.length) {
+ var c = (r + a) / 2,
+ d = (o + s) / 2
+ ;(n = u[3]) && l.push(new i(n, c, d, a, s)),
+ (n = u[2]) && l.push(new i(n, r, d, c, s)),
+ (n = u[1]) && l.push(new i(n, c, o, a, d)),
+ (n = u[0]) && l.push(new i(n, r, o, c, d))
+ }
+ return this
+ }),
+ (c.visitAfter = function (e) {
+ var t,
+ n = [],
+ r = []
+ for (
+ this._root && n.push(new i(this._root, this._x0, this._y0, this._x1, this._y1));
+ (t = n.pop());
+
+ ) {
+ var o = t.node
+ if (o.length) {
+ var a,
+ s = t.x0,
+ l = t.y0,
+ u = t.x1,
+ c = t.y1,
+ d = (s + u) / 2,
+ f = (l + c) / 2
+ ;(a = o[0]) && n.push(new i(a, s, l, d, f)),
+ (a = o[1]) && n.push(new i(a, d, l, u, f)),
+ (a = o[2]) && n.push(new i(a, s, f, d, c)),
+ (a = o[3]) && n.push(new i(a, d, f, u, c))
+ }
+ r.push(t)
+ }
+ for (; (t = r.pop()); ) e(t.node, t.x0, t.y0, t.x1, t.y1)
+ return this
+ }),
+ (c.x = function (e) {
+ return arguments.length ? ((this._x = e), this) : this._x
+ }),
+ (c.y = function (e) {
+ return arguments.length ? ((this._y = e), this) : this._y
+ })
+ },
+ 7646: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ Z: function () {
+ return r
+ },
+ })
+ var r = (function (e) {
+ for (var t = (e.length / 6) | 0, n = new Array(t), r = 0; r < t; )
+ n[r] = '#' + e.slice(6 * r, 6 * ++r)
+ return n
+ })('a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928')
+ },
+ 2462: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ Z: function () {
+ return f
+ },
+ })
+ class r extends Map {
+ constructor(e, t = s) {
+ if (
+ (super(),
+ Object.defineProperties(this, { _intern: { value: new Map() }, _key: { value: t } }),
+ null != e)
+ )
+ for (const [n, r] of e) this.set(n, r)
+ }
+ get(e) {
+ return super.get(i(this, e))
+ }
+ has(e) {
+ return super.has(i(this, e))
+ }
+ set(e, t) {
+ return super.set(o(this, e), t)
+ }
+ delete(e) {
+ return super.delete(a(this, e))
+ }
+ }
+ Set
+ function i({ _intern: e, _key: t }, n) {
+ const r = t(n)
+ return e.has(r) ? e.get(r) : n
+ }
+ function o({ _intern: e, _key: t }, n) {
+ const r = t(n)
+ return e.has(r) ? e.get(r) : (e.set(r, n), n)
+ }
+ function a({ _intern: e, _key: t }, n) {
+ const r = t(n)
+ return e.has(r) && ((n = e.get(n)), e.delete(r)), n
+ }
+ function s(e) {
+ return null !== e && 'object' === typeof e ? e.valueOf() : e
+ }
+ function l(e, t) {
+ switch (arguments.length) {
+ case 0:
+ break
+ case 1:
+ this.range(e)
+ break
+ default:
+ this.range(t).domain(e)
+ }
+ return this
+ }
+ function u(e, t) {
+ var n
+ if ('undefined' === typeof Symbol || null == e[Symbol.iterator]) {
+ if (
+ Array.isArray(e) ||
+ (n = (function (e, t) {
+ if (!e) return
+ if ('string' === typeof e) return c(e, t)
+ var n = Object.prototype.toString.call(e).slice(8, -1)
+ 'Object' === n && e.constructor && (n = e.constructor.name)
+ if ('Map' === n || 'Set' === n) return Array.from(e)
+ if ('Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+ return c(e, t)
+ })(e)) ||
+ (t && e && 'number' === typeof e.length)
+ ) {
+ n && (e = n)
+ var r = 0,
+ i = function () {}
+ return {
+ s: i,
+ n: function () {
+ return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] }
+ },
+ e: function (e) {
+ throw e
+ },
+ f: i,
+ }
+ }
+ throw new TypeError(
+ 'Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ }
+ var o,
+ a = !0,
+ s = !1
+ return {
+ s: function () {
+ n = e[Symbol.iterator]()
+ },
+ n: function () {
+ var e = n.next()
+ return (a = e.done), e
+ },
+ e: function (e) {
+ ;(s = !0), (o = e)
+ },
+ f: function () {
+ try {
+ a || null == n.return || n.return()
+ } finally {
+ if (s) throw o
+ }
+ },
+ }
+ }
+ function c(e, t) {
+ ;(null == t || t > e.length) && (t = e.length)
+ for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
+ return r
+ }
+ var d = Symbol('implicit')
+ function f() {
+ var e = new r(),
+ t = [],
+ n = [],
+ i = d
+ function o(r) {
+ var o = e.get(r)
+ if (void 0 === o) {
+ if (i !== d) return i
+ e.set(r, (o = t.push(r) - 1))
+ }
+ return n[o % n.length]
+ }
+ return (
+ (o.domain = function (n) {
+ if (!arguments.length) return t.slice()
+ ;(t = []), (e = new r())
+ var i,
+ a = u(n)
+ try {
+ for (a.s(); !(i = a.n()).done; ) {
+ var s = i.value
+ e.has(s) || e.set(s, t.push(s) - 1)
+ }
+ } catch (l) {
+ a.e(l)
+ } finally {
+ a.f()
+ }
+ return o
+ }),
+ (o.range = function (e) {
+ return arguments.length ? ((n = Array.from(e)), o) : n.slice()
+ }),
+ (o.unknown = function (e) {
+ return arguments.length ? ((i = e), o) : i
+ }),
+ (o.copy = function () {
+ return f(t, n).unknown(i)
+ }),
+ l.apply(o, arguments),
+ o
+ )
+ }
+ },
+ 513: function (e, t, n) {
+ 'use strict'
+ n.d(t, {
+ zO: function () {
+ return h
+ },
+ B7: function () {
+ return v
+ },
+ HT: function () {
+ return m
+ },
+ })
+ var r,
+ i,
+ o = 0,
+ a = 0,
+ s = 0,
+ l = 0,
+ u = 0,
+ c = 0,
+ d = 'object' === typeof performance && performance.now ? performance : Date,
+ f = window.requestAnimationFrame
+ ? window.requestAnimationFrame.bind(window)
+ : function (e) {
+ setTimeout(e, 17)
+ }
+ function h() {
+ return u || (f(p), (u = d.now() + c))
+ }
+ function p() {
+ u = 0
+ }
+ function v() {
+ this._call = this._time = this._next = null
+ }
+ function m(e, t, n) {
+ var r = new v()
+ return r.restart(e, t, n), r
+ }
+ function g() {
+ ;(u = (l = d.now()) + c), (o = a = 0)
+ try {
+ !(function () {
+ h(), ++o
+ for (var e, t = r; t; ) (e = u - t._time) >= 0 && t._call.call(void 0, e), (t = t._next)
+ --o
+ })()
+ } finally {
+ ;(o = 0),
+ (function () {
+ var e,
+ t,
+ n = r,
+ o = 1 / 0
+ for (; n; )
+ n._call
+ ? (o > n._time && (o = n._time), (e = n), (n = n._next))
+ : ((t = n._next), (n._next = null), (n = e ? (e._next = t) : (r = t)))
+ ;(i = e), b(o)
+ })(),
+ (u = 0)
+ }
+ }
+ function y() {
+ var e = d.now(),
+ t = e - l
+ t > 1e3 && ((c -= t), (l = e))
+ }
+ function b(e) {
+ o ||
+ (a && (a = clearTimeout(a)),
+ e - u > 24
+ ? (e < 1 / 0 && (a = setTimeout(g, e - d.now() - c)), s && (s = clearInterval(s)))
+ : (s || ((l = d.now()), (s = setInterval(y, 1e3))), (o = 1), f(g)))
+ }
+ v.prototype = m.prototype = {
+ constructor: v,
+ restart: function (e, t, n) {
+ if ('function' !== typeof e) throw new TypeError('callback is not a function')
+ ;(n = (null == n ? h() : +n) + (null == t ? 0 : +t)),
+ this._next || i === this || (i ? (i._next = this) : (r = this), (i = this)),
+ (this._call = e),
+ (this._time = n),
+ b()
+ },
+ stop: function () {
+ this._call && ((this._call = null), (this._time = 1 / 0), b())
+ },
+ }
+ },
+ 4245: function (e) {
+ e.exports = function (e) {
+ !(function (e) {
+ if (!e) throw new Error('Eventify cannot use falsy object as events subject')
+ for (var t = ['on', 'fire', 'off'], n = 0; n < t.length; ++n)
+ if (e.hasOwnProperty(t[n]))
+ throw new Error(
+ "Subject cannot be eventified, since it already has property '" + t[n] + "'",
+ )
+ })(e)
+ var t = (function (e) {
+ var t = Object.create(null)
+ return {
+ on: function (n, r, i) {
+ if ('function' !== typeof r) throw new Error('callback is expected to be a function')
+ var o = t[n]
+ return o || (o = t[n] = []), o.push({ callback: r, ctx: i }), e
+ },
+ off: function (n, r) {
+ if ('undefined' === typeof n) return (t = Object.create(null)), e
+ if (t[n])
+ if ('function' !== typeof r) delete t[n]
+ else
+ for (var i = t[n], o = 0; o < i.length; ++o) i[o].callback === r && i.splice(o, 1)
+ return e
+ },
+ fire: function (n) {
+ var r,
+ i = t[n]
+ if (!i) return e
+ arguments.length > 1 && (r = Array.prototype.splice.call(arguments, 1))
+ for (var o = 0; o < i.length; ++o) {
+ var a = i[o]
+ a.callback.apply(a.ctx, r)
+ }
+ return e
+ },
+ }
+ })(e)
+ return (e.on = t.on), (e.off = t.off), (e.fire = t.fire), e
+ }
+ },
+ 6505: function (e, t, n) {
+ ;(e.exports = function (e, t) {
+ if (!e) throw new Error('Graph structure cannot be undefined')
+ var o = ((t && t.createSimulator) || n(5818))(t)
+ if (Array.isArray(t)) throw new Error('Physics settings is expected to be an object')
+ var a = function (t) {
+ var n = e.getLinks(t)
+ return n ? 1 + n.length / 3 : 1
+ }
+ t && 'function' === typeof t.nodeMass && (a = t.nodeMass)
+ var s = new Map(),
+ l = {},
+ u = 0,
+ c = o.settings.springTransform || i
+ ;(u = 0),
+ e.forEachNode(function (e) {
+ m(e.id), (u += 1)
+ }),
+ e.forEachLink(y),
+ e.on('changed', v)
+ var d = !1,
+ f = {
+ step: function () {
+ if (0 === u) return h(!0), !0
+ var e = o.step()
+ ;(f.lastMove = e), f.fire('step')
+ var t = e / u <= 0.01
+ return h(t), t
+ },
+ getNodePosition: function (e) {
+ return x(e).pos
+ },
+ setNodePosition: function (e) {
+ var t = x(e)
+ t.setPosition.apply(t, Array.prototype.slice.call(arguments, 1))
+ },
+ getLinkPosition: function (e) {
+ var t = l[e]
+ if (t) return { from: t.from.pos, to: t.to.pos }
+ },
+ getGraphRect: function () {
+ return o.getBBox()
+ },
+ forEachBody: p,
+ pinNode: function (e, t) {
+ x(e.id).isPinned = !!t
+ },
+ isNodePinned: function (e) {
+ return x(e.id).isPinned
+ },
+ dispose: function () {
+ e.off('changed', v), f.fire('disposed')
+ },
+ getBody: function (e) {
+ return s.get(e)
+ },
+ getSpring: function (t, n) {
+ var r
+ if (void 0 === n) r = 'object' !== typeof t ? t : t.id
+ else {
+ var i = e.hasLink(t, n)
+ if (!i) return
+ r = i.id
+ }
+ return l[r]
+ },
+ getForceVectorLength: function () {
+ var e = 0,
+ t = 0
+ return (
+ p(function (n) {
+ ;(e += Math.abs(n.force.x)), (t += Math.abs(n.force.y))
+ }),
+ Math.sqrt(e * e + t * t)
+ )
+ },
+ simulator: o,
+ graph: e,
+ lastMove: 0,
+ }
+ return r(f), f
+ function h(e) {
+ var t
+ d !== e && ((d = e), (t = e), f.fire('stable', t))
+ }
+ function p(e) {
+ s.forEach(e)
+ }
+ function v(t) {
+ for (var n = 0; n < t.length; ++n) {
+ var r = t[n]
+ 'add' === r.changeType
+ ? (r.node && m(r.node.id), r.link && y(r.link))
+ : 'remove' === r.changeType && (r.node && g(r.node), r.link && b(r.link))
+ }
+ u = e.getNodesCount()
+ }
+ function m(t) {
+ var n = s.get(t)
+ if (!n) {
+ var r = e.getNode(t)
+ if (!r) throw new Error('initBody() was called with unknown node id')
+ var i = r.position
+ if (!i) {
+ var a = (function (e) {
+ var t = []
+ if (!e.links) return t
+ for (var n = Math.min(e.links.length, 2), r = 0; r < n; ++r) {
+ var i = e.links[r],
+ o = i.fromId !== e.id ? s.get(i.fromId) : s.get(i.toId)
+ o && o.pos && t.push(o)
+ }
+ return t
+ })(r)
+ i = o.getBestNewBodyPosition(a)
+ }
+ ;((n = o.addBodyAt(i)).id = t),
+ s.set(t, n),
+ w(t),
+ (function (e) {
+ return e && (e.isPinned || (e.data && e.data.isPinned))
+ })(r) && (n.isPinned = !0)
+ }
+ }
+ function g(e) {
+ var t = e.id,
+ n = s.get(t)
+ n && (s.delete(t), o.removeBody(n))
+ }
+ function y(e) {
+ w(e.fromId), w(e.toId)
+ var t = s.get(e.fromId),
+ n = s.get(e.toId),
+ r = o.addSpring(t, n, e.length)
+ c(e, r), (l[e.id] = r)
+ }
+ function b(t) {
+ var n = l[t.id]
+ if (n) {
+ var r = e.getNode(t.fromId),
+ i = e.getNode(t.toId)
+ r && w(r.id), i && w(i.id), delete l[t.id], o.removeSpring(n)
+ }
+ }
+ function w(e) {
+ var t = s.get(e)
+ if (((t.mass = a(e)), Number.isNaN(t.mass)))
+ throw new Error('Node mass should be a number')
+ }
+ function x(e) {
+ var t = s.get(e)
+ return t || (m(e), (t = s.get(e))), t
+ }
+ }),
+ (e.exports.simulator = n(5818))
+ var r = n(4245)
+ function i() {}
+ },
+ 5189: function (e, t, n) {
+ const r = n(6422)
+ e.exports = function (e) {
+ return function (t, n) {
+ let i = (n && n.indent) || 0,
+ o = n && void 0 !== n.join ? n.join : '\n',
+ a = Array(i + 1).join(' '),
+ s = []
+ for (let l = 0; l < e; ++l) {
+ let e = r(l),
+ n = 0 === l ? '' : a
+ s.push(n + t.replace(/{var}/g, e))
+ }
+ return s.join(o)
+ }
+ }
+ },
+ 891: function (e, t, n) {
+ ;(e.exports = function (e) {
+ let t = i(e)
+ return new Function('bodies', 'settings', 'random', t)
+ }),
+ (e.exports.generateFunctionBody = i)
+ const r = n(5189)
+ function i(e) {
+ let t = r(e)
+ return `\n var boundingBox = {\n ${t('min_{var}: 0, max_{var}: 0,', {
+ indent: 4,
+ })}\n };\n\n return {\n box: boundingBox,\n\n update: updateBoundingBox,\n\n reset: resetBoundingBox,\n\n getBestNewPosition: function (neighbors) {\n var ${t(
+ 'base_{var} = 0',
+ { join: ', ' },
+ )};\n\n if (neighbors.length) {\n for (var i = 0; i < neighbors.length; ++i) {\n let neighborPos = neighbors[i].pos;\n ${t(
+ 'base_{var} += neighborPos.{var};',
+ { indent: 10 },
+ )}\n }\n\n ${t('base_{var} /= neighbors.length;', {
+ indent: 8,
+ })}\n } else {\n ${t(
+ 'base_{var} = (boundingBox.min_{var} + boundingBox.max_{var}) / 2;',
+ { indent: 8 },
+ )}\n }\n\n var springLength = settings.springLength;\n return {\n ${t(
+ '{var}: base_{var} + (random.nextDouble() - 0.5) * springLength,',
+ { indent: 8 },
+ )}\n };\n }\n };\n\n function updateBoundingBox() {\n var i = bodies.length;\n if (i === 0) return; // No bodies - no borders.\n\n ${t(
+ 'var max_{var} = -Infinity;',
+ { indent: 4 },
+ )}\n ${t('var min_{var} = Infinity;', {
+ indent: 4,
+ })}\n\n while(i--) {\n // this is O(n), it could be done faster with quadtree, if we check the root node bounds\n var bodyPos = bodies[i].pos;\n ${t(
+ 'if (bodyPos.{var} < min_{var}) min_{var} = bodyPos.{var};',
+ { indent: 6 },
+ )}\n ${t('if (bodyPos.{var} > max_{var}) max_{var} = bodyPos.{var};', {
+ indent: 6,
+ })}\n }\n\n ${t('boundingBox.min_{var} = min_{var};', { indent: 4 })}\n ${t(
+ 'boundingBox.max_{var} = max_{var};',
+ { indent: 4 },
+ )}\n }\n\n function resetBoundingBox() {\n ${t(
+ 'boundingBox.min_{var} = boundingBox.max_{var} = 0;',
+ { indent: 4 },
+ )}\n }\n`
+ }
+ },
+ 6410: function (e, t, n) {
+ const r = n(5189)
+ function i(e, t) {
+ return `\n${a(e, t)}\n${o(e)}\nreturn {Body: Body, Vector: Vector};\n`
+ }
+ function o(e) {
+ let t = r(e),
+ n = t('{var}', { join: ', ' })
+ return `\nfunction Body(${n}) {\n this.isPinned = false;\n this.pos = new Vector(${n});\n this.force = new Vector();\n this.velocity = new Vector();\n this.mass = 1;\n\n this.springCount = 0;\n this.springLength = 0;\n}\n\nBody.prototype.reset = function() {\n this.force.reset();\n this.springCount = 0;\n this.springLength = 0;\n}\n\nBody.prototype.setPosition = function (${n}) {\n ${t(
+ 'this.pos.{var} = {var} || 0;',
+ { indent: 2 },
+ )}\n};`
+ }
+ function a(e, t) {
+ let n = r(e),
+ i = ''
+ return (
+ t &&
+ (i = `${n(
+ "\n var v{var};\nObject.defineProperty(this, '{var}', {\n set: function(v) { \n if (!Number.isFinite(v)) throw new Error('Cannot set non-numbers to {var}');\n v{var} = v; \n },\n get: function() { return v{var}; }\n});",
+ )}`),
+ `function Vector(${n('{var}', {
+ join: ', ',
+ })}) {\n ${i}\n if (typeof arguments[0] === 'object') {\n // could be another vector\n let v = arguments[0];\n ${n(
+ 'if (!Number.isFinite(v.{var})) throw new Error("Expected value is not a finite number at Vector constructor ({var})");',
+ { indent: 4 },
+ )}\n ${n('this.{var} = v.{var};', { indent: 4 })}\n } else {\n ${n(
+ 'this.{var} = typeof {var} === "number" ? {var} : 0;',
+ { indent: 4 },
+ )}\n }\n }\n \n Vector.prototype.reset = function () {\n ${n('this.{var} = ', {
+ join: '',
+ })}0;\n };`
+ )
+ }
+ ;(e.exports = function (e, t) {
+ let n = i(e, t),
+ { Body: r } = new Function(n)()
+ return r
+ }),
+ (e.exports.generateCreateBodyFunctionBody = i),
+ (e.exports.getVectorCode = a),
+ (e.exports.getBodyCode = o)
+ },
+ 6647: function (e, t, n) {
+ const r = n(5189)
+ function i(e) {
+ return `\n if (!Number.isFinite(options.dragCoefficient)) throw new Error('dragCoefficient is not a finite number');\n\n return {\n update: function(body) {\n ${r(
+ e,
+ )('body.force.{var} -= options.dragCoefficient * body.velocity.{var};', {
+ indent: 6,
+ })}\n }\n };\n`
+ }
+ ;(e.exports = function (e) {
+ let t = i(e)
+ return new Function('options', t)
+ }),
+ (e.exports.generateCreateDragForceFunctionBody = i)
+ },
+ 4079: function (e, t, n) {
+ const r = n(5189)
+ function i(e) {
+ let t = r(e)
+ return `\n if (!Number.isFinite(options.springCoefficient)) throw new Error('Spring coefficient is not a number');\n if (!Number.isFinite(options.springLength)) throw new Error('Spring length is not a number');\n\n return {\n /**\n * Updates forces acting on a spring\n */\n update: function (spring) {\n var body1 = spring.from;\n var body2 = spring.to;\n var length = spring.length < 0 ? options.springLength : spring.length;\n ${t(
+ 'var d{var} = body2.pos.{var} - body1.pos.{var};',
+ { indent: 6 },
+ )}\n var r = Math.sqrt(${t('d{var} * d{var}', {
+ join: ' + ',
+ })});\n\n if (r === 0) {\n ${t('d{var} = (random.nextDouble() - 0.5) / 50;', {
+ indent: 8,
+ })}\n r = Math.sqrt(${t('d{var} * d{var}', {
+ join: ' + ',
+ })});\n }\n\n var d = r - length;\n var coefficient = ((spring.coefficient > 0) ? spring.coefficient : options.springCoefficient) * d / r;\n\n ${t(
+ 'body1.force.{var} += coefficient * d{var}',
+ { indent: 6 },
+ )};\n body1.springCount += 1;\n body1.springLength += r;\n\n ${t(
+ 'body2.force.{var} -= coefficient * d{var}',
+ { indent: 6 },
+ )};\n body2.springCount += 1;\n body2.springLength += r;\n }\n };\n`
+ }
+ ;(e.exports = function (e) {
+ let t = i(e)
+ return new Function('options', 'random', t)
+ }),
+ (e.exports.generateCreateSpringForceFunctionBody = i)
+ },
+ 1763: function (e, t, n) {
+ const r = n(5189)
+ function i(e) {
+ let t = r(e)
+ return `\n var length = bodies.length;\n if (length === 0) return 0;\n\n ${t(
+ 'var d{var} = 0, t{var} = 0;',
+ { indent: 2 },
+ )}\n\n for (var i = 0; i < length; ++i) {\n var body = bodies[i];\n if (body.isPinned) continue;\n\n if (adaptiveTimeStepWeight && body.springCount) {\n timeStep = (adaptiveTimeStepWeight * body.springLength/body.springCount);\n }\n\n var coeff = timeStep / body.mass;\n\n ${t(
+ 'body.velocity.{var} += coeff * body.force.{var};',
+ { indent: 4 },
+ )}\n ${t('var v{var} = body.velocity.{var};', { indent: 4 })}\n var v = Math.sqrt(${t(
+ 'v{var} * v{var}',
+ { join: ' + ' },
+ )});\n\n if (v > 1) {\n // We normalize it so that we move within timeStep range. \n // for the case when v <= 1 - we let velocity to fade out.\n ${t(
+ 'body.velocity.{var} = v{var} / v;',
+ { indent: 6 },
+ )}\n }\n\n ${t('d{var} = timeStep * body.velocity.{var};', { indent: 4 })}\n\n ${t(
+ 'body.pos.{var} += d{var};',
+ { indent: 4 },
+ )}\n\n ${t('t{var} += Math.abs(d{var});', { indent: 4 })}\n }\n\n return (${t(
+ 't{var} * t{var}',
+ { join: ' + ' },
+ )})/length;\n`
+ }
+ ;(e.exports = function (e) {
+ let t = i(e)
+ return new Function('bodies', 'timeStep', 'adaptiveTimeStepWeight', t)
+ }),
+ (e.exports.generateIntegratorFunctionBody = i)
+ },
+ 1584: function (e, t, n) {
+ const r = n(5189),
+ i = n(6422)
+ function o(e) {
+ let t = r(e),
+ n = Math.pow(2, e)
+ return `\n${c()}\n${u(e)}\n${a(e)}\n${l(e)}\n${s(
+ e,
+ )}\n\nfunction createQuadTree(options, random) {\n options = options || {};\n options.gravity = typeof options.gravity === 'number' ? options.gravity : -1;\n options.theta = typeof options.theta === 'number' ? options.theta : 0.8;\n\n var gravity = options.gravity;\n var updateQueue = [];\n var insertStack = new InsertStack();\n var theta = options.theta;\n\n var nodesCache = [];\n var currentInCache = 0;\n var root = newNode();\n\n return {\n insertBodies: insertBodies,\n\n /**\n * Gets root node if it is present\n */\n getRoot: function() {\n return root;\n },\n\n updateBodyForce: update,\n\n options: function(newOptions) {\n if (newOptions) {\n if (typeof newOptions.gravity === 'number') {\n gravity = newOptions.gravity;\n }\n if (typeof newOptions.theta === 'number') {\n theta = newOptions.theta;\n }\n\n return this;\n }\n\n return {\n gravity: gravity,\n theta: theta\n };\n }\n };\n\n function newNode() {\n // To avoid pressure on GC we reuse nodes.\n var node = nodesCache[currentInCache];\n if (node) {\n${(function (
+ e,
+ ) {
+ let t = []
+ for (let r = 0; r < n; ++r) t.push(`${e}quad${r} = null;`)
+ return t.join('\n')
+ })(' node.')}\n node.body = null;\n node.mass = ${t('node.mass_{var} = ', {
+ join: '',
+ })}0;\n ${t('node.min_{var} = node.max_{var} = ', {
+ join: '',
+ })}0;\n } else {\n node = new QuadNode();\n nodesCache[currentInCache] = node;\n }\n\n ++currentInCache;\n return node;\n }\n\n function update(sourceBody) {\n var queue = updateQueue;\n var v;\n ${t(
+ 'var d{var};',
+ { indent: 4 },
+ )}\n var r; \n ${t('var f{var} = 0;', {
+ indent: 4,
+ })}\n var queueLength = 1;\n var shiftIdx = 0;\n var pushIdx = 1;\n\n queue[0] = root;\n\n while (queueLength) {\n var node = queue[shiftIdx];\n var body = node.body;\n\n queueLength -= 1;\n shiftIdx += 1;\n var differentBody = (body !== sourceBody);\n if (body && differentBody) {\n // If the current node is a leaf node (and it is not source body),\n // calculate the force exerted by the current node on body, and add this\n // amount to body's net force.\n ${t(
+ 'd{var} = body.pos.{var} - sourceBody.pos.{var};',
+ { indent: 8 },
+ )}\n r = Math.sqrt(${t('d{var} * d{var}', {
+ join: ' + ',
+ })});\n\n if (r === 0) {\n // Poor man's protection against zero distance.\n ${t(
+ 'd{var} = (random.nextDouble() - 0.5) / 50;',
+ { indent: 10 },
+ )}\n r = Math.sqrt(${t('d{var} * d{var}', {
+ join: ' + ',
+ })});\n }\n\n // This is standard gravitation force calculation but we divide\n // by r^3 to save two operations when normalizing force vector.\n v = gravity * body.mass * sourceBody.mass / (r * r * r);\n ${t(
+ 'f{var} += v * d{var};',
+ { indent: 8 },
+ )}\n } else if (differentBody) {\n // Otherwise, calculate the ratio s / r, where s is the width of the region\n // represented by the internal node, and r is the distance between the body\n // and the node's center-of-mass\n ${t(
+ 'd{var} = node.mass_{var} / node.mass - sourceBody.pos.{var};',
+ { indent: 8 },
+ )}\n r = Math.sqrt(${t('d{var} * d{var}', {
+ join: ' + ',
+ })});\n\n if (r === 0) {\n // Sorry about code duplication. I don't want to create many functions\n // right away. Just want to see performance first.\n ${t(
+ 'd{var} = (random.nextDouble() - 0.5) / 50;',
+ { indent: 10 },
+ )}\n r = Math.sqrt(${t('d{var} * d{var}', {
+ join: ' + ',
+ })});\n }\n // If s / r < \u03b8, treat this internal node as a single body, and calculate the\n // force it exerts on sourceBody, and add this amount to sourceBody's net force.\n if ((node.max_${i(
+ 0,
+ )} - node.min_${i(
+ 0,
+ )}) / r < theta) {\n // in the if statement above we consider node's width only\n // because the region was made into square during tree creation.\n // Thus there is no difference between using width or height.\n v = gravity * node.mass * sourceBody.mass / (r * r * r);\n ${t(
+ 'f{var} += v * d{var};',
+ { indent: 10 },
+ )}\n } else {\n // Otherwise, run the procedure recursively on each of the current node's children.\n\n // I intentionally unfolded this loop, to save several CPU cycles.\n${(function () {
+ let e = Array(11).join(' '),
+ t = []
+ for (let r = 0; r < n; ++r)
+ t.push(e + `if (node.quad${r}) {`),
+ t.push(e + ` queue[pushIdx] = node.quad${r};`),
+ t.push(e + ' queueLength += 1;'),
+ t.push(e + ' pushIdx += 1;'),
+ t.push(e + '}')
+ return t.join('\n')
+ })()}\n }\n }\n }\n\n ${t('sourceBody.force.{var} += f{var};', {
+ indent: 4,
+ })}\n }\n\n function insertBodies(bodies) {\n ${t('var {var}min = Number.MAX_VALUE;', {
+ indent: 4,
+ })}\n ${t('var {var}max = Number.MIN_VALUE;', {
+ indent: 4,
+ })}\n var i = bodies.length;\n\n // To reduce quad tree depth we are looking for exact bounding box of all particles.\n while (i--) {\n var pos = bodies[i].pos;\n ${t(
+ 'if (pos.{var} < {var}min) {var}min = pos.{var};',
+ { indent: 6 },
+ )}\n ${t('if (pos.{var} > {var}max) {var}max = pos.{var};', {
+ indent: 6,
+ })}\n }\n\n // Makes the bounds square.\n var maxSideLength = -Infinity;\n ${t(
+ 'if ({var}max - {var}min > maxSideLength) maxSideLength = {var}max - {var}min ;',
+ { indent: 4 },
+ )}\n\n currentInCache = 0;\n root = newNode();\n ${t(
+ 'root.min_{var} = {var}min;',
+ { indent: 4 },
+ )}\n ${t('root.max_{var} = {var}min + maxSideLength;', {
+ indent: 4,
+ })}\n\n i = bodies.length - 1;\n if (i >= 0) {\n root.body = bodies[i];\n }\n while (i--) {\n insert(bodies[i], root);\n }\n }\n\n function insert(newBody) {\n insertStack.reset();\n insertStack.push(root, newBody);\n\n while (!insertStack.isEmpty()) {\n var stackItem = insertStack.pop();\n var node = stackItem.node;\n var body = stackItem.body;\n\n if (!node.body) {\n // This is internal node. Update the total mass of the node and center-of-mass.\n ${t(
+ 'var {var} = body.pos.{var};',
+ { indent: 8 },
+ )}\n node.mass += body.mass;\n ${t('node.mass_{var} += body.mass * {var};', {
+ indent: 8,
+ })}\n\n // Recursively insert the body in the appropriate quadrant.\n // But first find the appropriate quadrant.\n var quadIdx = 0; // Assume we are in the 0's quad.\n ${t(
+ 'var min_{var} = node.min_{var};',
+ { indent: 8 },
+ )}\n ${t('var max_{var} = (min_{var} + node.max_{var}) / 2;', {
+ indent: 8,
+ })}\n\n${(function (t) {
+ let n = [],
+ r = Array(t + 1).join(' ')
+ for (let o = 0; o < e; ++o)
+ n.push(r + `if (${i(o)} > max_${i(o)}) {`),
+ n.push(r + ` quadIdx = quadIdx + ${Math.pow(2, o)};`),
+ n.push(r + ` min_${i(o)} = max_${i(o)};`),
+ n.push(r + ` max_${i(o)} = node.max_${i(o)};`),
+ n.push(r + '}')
+ return n.join('\n')
+ })(
+ 8,
+ )}\n\n var child = getChild(node, quadIdx);\n\n if (!child) {\n // The node is internal but this quadrant is not taken. Add\n // subnode to it.\n child = newNode();\n ${t(
+ 'child.min_{var} = min_{var};',
+ { indent: 10 },
+ )}\n ${t('child.max_{var} = max_{var};', {
+ indent: 10,
+ })}\n child.body = body;\n\n setChild(node, quadIdx, child);\n } else {\n // continue searching in this quadrant.\n insertStack.push(child, body);\n }\n } else {\n // We are trying to add to the leaf node.\n // We have to convert current leaf into internal node\n // and continue adding two nodes.\n var oldBody = node.body;\n node.body = null; // internal nodes do not cary bodies\n\n if (isSamePosition(oldBody.pos, body.pos)) {\n // Prevent infinite subdivision by bumping one node\n // anywhere in this quadrant\n var retriesCount = 3;\n do {\n var offset = random.nextDouble();\n ${t(
+ 'var d{var} = (node.max_{var} - node.min_{var}) * offset;',
+ { indent: 12 },
+ )}\n\n ${t('oldBody.pos.{var} = node.min_{var} + d{var};', {
+ indent: 12,
+ })}\n retriesCount -= 1;\n // Make sure we don't bump it out of the box. If we do, next iteration should fix it\n } while (retriesCount > 0 && isSamePosition(oldBody.pos, body.pos));\n\n if (retriesCount === 0 && isSamePosition(oldBody.pos, body.pos)) {\n // This is very bad, we ran out of precision.\n // if we do not return from the method we'll get into\n // infinite loop here. So we sacrifice correctness of layout, and keep the app running\n // Next layout iteration should get larger bounding box in the first step and fix this\n return;\n }\n }\n // Next iteration should subdivide node further.\n insertStack.push(node, oldBody);\n insertStack.push(node, body);\n }\n }\n }\n}\nreturn createQuadTree;\n\n`
+ }
+ function a(e) {
+ let t = r(e)
+ return `\n function isSamePosition(point1, point2) {\n ${t(
+ 'var d{var} = Math.abs(point1.{var} - point2.{var});',
+ { indent: 2 },
+ )}\n \n return ${t('d{var} < 1e-8', { join: ' && ' })};\n } \n`
+ }
+ function s(e) {
+ var t = Math.pow(2, e)
+ return `\nfunction setChild(node, idx, child) {\n ${(function () {
+ let e = []
+ for (let n = 0; n < t; ++n) {
+ let t = 0 === n ? ' ' : ' else '
+ e.push(`${t}if (idx === ${n}) node.quad${n} = child;`)
+ }
+ return e.join('\n')
+ })()}\n}`
+ }
+ function l(e) {
+ return `function getChild(node, idx) {\n${(function () {
+ let t = [],
+ n = Math.pow(2, e)
+ for (let e = 0; e < n; ++e) t.push(` if (idx === ${e}) return node.quad${e};`)
+ return t.join('\n')
+ })()}\n return null;\n}`
+ }
+ function u(e) {
+ let t = r(e),
+ n = Math.pow(2, e)
+ return `\nfunction QuadNode() {\n // body stored inside this node. In quad tree only leaf nodes (by construction)\n // contain bodies:\n this.body = null;\n\n // Child nodes are stored in quads. Each quad is presented by number:\n // 0 | 1\n // -----\n // 2 | 3\n${(function (
+ e,
+ ) {
+ let t = []
+ for (let r = 0; r < n; ++r) t.push(`${e}quad${r} = null;`)
+ return t.join('\n')
+ })(
+ ' this.',
+ )}\n\n // Total mass of current node\n this.mass = 0;\n\n // Center of mass coordinates\n ${t(
+ 'this.mass_{var} = 0;',
+ { indent: 2 },
+ )}\n\n // bounding box coordinates\n ${t('this.min_{var} = 0;', { indent: 2 })}\n ${t(
+ 'this.max_{var} = 0;',
+ { indent: 2 },
+ )}\n}\n`
+ }
+ function c() {
+ return '\n/**\n * Our implementation of QuadTree is non-recursive to avoid GC hit\n * This data structure represent stack of elements\n * which we are trying to insert into quad tree.\n */\nfunction InsertStack () {\n this.stack = [];\n this.popIdx = 0;\n}\n\nInsertStack.prototype = {\n isEmpty: function() {\n return this.popIdx === 0;\n },\n push: function (node, body) {\n var item = this.stack[this.popIdx];\n if (!item) {\n // we are trying to avoid memory pressure: create new element\n // only when absolutely necessary\n this.stack[this.popIdx] = new InsertStackElement(node, body);\n } else {\n item.node = node;\n item.body = body;\n }\n ++this.popIdx;\n },\n pop: function () {\n if (this.popIdx > 0) {\n return this.stack[--this.popIdx];\n }\n },\n reset: function () {\n this.popIdx = 0;\n }\n};\n\nfunction InsertStackElement(node, body) {\n this.node = node; // QuadTree node\n this.body = body; // physical body which needs to be inserted to node\n}\n'
+ }
+ ;(e.exports = function (e) {
+ let t = o(e)
+ return new Function(t)()
+ }),
+ (e.exports.generateQuadTreeFunctionBody = o),
+ (e.exports.getInsertStackCode = c),
+ (e.exports.getQuadNodeCode = u),
+ (e.exports.isSamePosition = a),
+ (e.exports.getChildBodyCode = l),
+ (e.exports.setChildBodyCode = s)
+ },
+ 6422: function (e) {
+ e.exports = function (e) {
+ return 0 === e ? 'x' : 1 === e ? 'y' : 2 === e ? 'z' : 'c' + (e + 1)
+ }
+ },
+ 5818: function (e, t, n) {
+ e.exports = function (e) {
+ var t = n(8403),
+ d = n(5510),
+ f = n(4245)
+ if (e) {
+ if (void 0 !== e.springCoeff)
+ throw new Error('springCoeff was renamed to springCoefficient')
+ if (void 0 !== e.dragCoeff) throw new Error('dragCoeff was renamed to dragCoefficient')
+ }
+ e = d(e, {
+ springLength: 10,
+ springCoefficient: 0.8,
+ gravity: -12,
+ theta: 0.8,
+ dragCoefficient: 0.9,
+ timeStep: 0.5,
+ adaptiveTimeStepWeight: 0,
+ dimensions: 2,
+ debug: !1,
+ })
+ var h = u[e.dimensions]
+ if (!h) {
+ var p = e.dimensions
+ ;(h = {
+ Body: r(p, e.debug),
+ createQuadTree: i(p),
+ createBounds: o(p),
+ createDragForce: a(p),
+ createSpringForce: s(p),
+ integrate: l(p),
+ }),
+ (u[p] = h)
+ }
+ var v = h.Body,
+ m = h.createQuadTree,
+ g = h.createBounds,
+ y = h.createDragForce,
+ b = h.createSpringForce,
+ w = h.integrate,
+ x = n(8712).random(42),
+ E = [],
+ k = [],
+ T = m(e, x),
+ _ = g(E, e, x),
+ O = b(e, x),
+ C = y(e),
+ A = [],
+ S = new Map(),
+ P = 0
+ j('nbody', function () {
+ if (0 === E.length) return
+ T.insertBodies(E)
+ var e = E.length
+ for (; e--; ) {
+ var t = E[e]
+ t.isPinned || (t.reset(), T.updateBodyForce(t), C.update(t))
+ }
+ }),
+ j('spring', function () {
+ var e = k.length
+ for (; e--; ) O.update(k[e])
+ })
+ var M = {
+ bodies: E,
+ quadTree: T,
+ springs: k,
+ settings: e,
+ addForce: j,
+ removeForce: function (e) {
+ var t = A.indexOf(S.get(e))
+ if (t < 0) return
+ A.splice(t, 1), S.delete(e)
+ },
+ getForces: function () {
+ return S
+ },
+ step: function () {
+ for (var t = 0; t < A.length; ++t) A[t](P)
+ var n = w(E, e.timeStep, e.adaptiveTimeStepWeight)
+ return (P += 1), n
+ },
+ addBody: function (e) {
+ if (!e) throw new Error('Body is required')
+ return E.push(e), e
+ },
+ addBodyAt: function (e) {
+ if (!e) throw new Error('Body position is required')
+ var t = ((e) => new v(e))(e)
+ return E.push(t), t
+ },
+ removeBody: function (e) {
+ if (e) {
+ var t = E.indexOf(e)
+ if (!(t < 0)) return E.splice(t, 1), 0 === E.length && _.reset(), !0
+ }
+ },
+ addSpring: function (e, n, r, i) {
+ if (!e || !n) throw new Error('Cannot add null spring to force simulator')
+ 'number' !== typeof r && (r = -1)
+ var o = new t(e, n, r, i >= 0 ? i : -1)
+ return k.push(o), o
+ },
+ getTotalMovement: function () {
+ return 0
+ },
+ removeSpring: function (e) {
+ if (e) {
+ var t = k.indexOf(e)
+ return t > -1 ? (k.splice(t, 1), !0) : void 0
+ }
+ },
+ getBestNewBodyPosition: function (e) {
+ return _.getBestNewPosition(e)
+ },
+ getBBox: R,
+ getBoundingBox: R,
+ invalidateBBox: function () {
+ console.warn(
+ 'invalidateBBox() is deprecated, bounds always recomputed on `getBBox()` call',
+ )
+ },
+ gravity: function (t) {
+ return void 0 !== t ? ((e.gravity = t), T.options({ gravity: t }), this) : e.gravity
+ },
+ theta: function (t) {
+ return void 0 !== t ? ((e.theta = t), T.options({ theta: t }), this) : e.theta
+ },
+ random: x,
+ }
+ return (
+ (function (e, t) {
+ for (var n in e) c(e, t, n)
+ })(e, M),
+ f(M),
+ M
+ )
+ function R() {
+ return _.update(), _.box
+ }
+ function j(e, t) {
+ if (S.has(e)) throw new Error('Force ' + e + ' is already added')
+ S.set(e, t), A.push(t)
+ }
+ }
+ var r = n(6410),
+ i = n(1584),
+ o = n(891),
+ a = n(6647),
+ s = n(4079),
+ l = n(1763),
+ u = {}
+ function c(e, t, n) {
+ if (e.hasOwnProperty(n) && 'function' !== typeof t[n]) {
+ var r = Number.isFinite(e[n])
+ t[n] = r
+ ? function (r) {
+ if (void 0 !== r) {
+ if (!Number.isFinite(r))
+ throw new Error('Value of ' + n + ' should be a valid number.')
+ return (e[n] = r), t
+ }
+ return e[n]
+ }
+ : function (r) {
+ return void 0 !== r ? ((e[n] = r), t) : e[n]
+ }
+ }
+ }
+ },
+ 8403: function (e) {
+ e.exports = function (e, t, n, r) {
+ ;(this.from = e), (this.to = t), (this.length = n), (this.coefficient = r)
+ }
+ },
+ 4736: function (e, t, n) {
+ e.exports = function (e) {
+ 'uniqueLinkId' in (e = e || {}) &&
+ (console.warn(
+ 'ngraph.graph: Starting from version 0.14 `uniqueLinkId` is deprecated.\nUse `multigraph` option instead\n',
+ '\n',
+ 'Note: there is also change in default behavior: From now on each graph\nis considered to be not a multigraph by default (each edge is unique).',
+ ),
+ (e.multigraph = e.uniqueLinkId))
+ void 0 === e.multigraph && (e.multigraph = !1)
+ if ('function' !== typeof Map)
+ throw new Error(
+ 'ngraph.graph requires `Map` to be defined. Please polyfill it before using ngraph',
+ )
+ var t = new Map(),
+ n = [],
+ u = {},
+ c = 0,
+ d = e.multigraph
+ ? function (e, t, n) {
+ var r = l(e, t),
+ i = u.hasOwnProperty(r)
+ if (i || O(e, t)) {
+ i || (u[r] = 0)
+ var o = '@' + ++u[r]
+ r = l(e + o, t + o)
+ }
+ return new s(e, t, n, r)
+ }
+ : function (e, t, n) {
+ var r = l(e, t)
+ return new s(e, t, n, r)
+ },
+ f = [],
+ h = C,
+ p = C,
+ v = C,
+ m = C,
+ g = {
+ addNode: w,
+ addLink: function (e, t, r) {
+ v()
+ var i = x(e) || w(e),
+ o = x(t) || w(t),
+ s = d(e, t, r)
+ n.push(s), a(i, s), e !== t && a(o, s)
+ return h(s, 'add'), m(), s
+ },
+ removeLink: _,
+ removeNode: E,
+ getNode: x,
+ getNodeCount: k,
+ getLinkCount: T,
+ getLinksCount: T,
+ getNodesCount: k,
+ getLinks: function (e) {
+ var t = x(e)
+ return t ? t.links : null
+ },
+ forEachNode: P,
+ forEachLinkedNode: function (e, n, r) {
+ var i = x(e)
+ if (i && i.links && 'function' === typeof n)
+ return r
+ ? (function (e, n, r) {
+ for (var i = 0; i < e.length; ++i) {
+ var o = e[i]
+ if (o.fromId === n && r(t.get(o.toId), o)) return !0
+ }
+ })(i.links, e, n)
+ : (function (e, n, r) {
+ for (var i = 0; i < e.length; ++i) {
+ var o = e[i],
+ a = o.fromId === n ? o.toId : o.fromId
+ if (r(t.get(a), o)) return !0
+ }
+ })(i.links, e, n)
+ },
+ forEachLink: function (e) {
+ var t, r
+ if ('function' === typeof e) for (t = 0, r = n.length; t < r; ++t) e(n[t])
+ },
+ beginUpdate: v,
+ endUpdate: m,
+ clear: function () {
+ v(),
+ P(function (e) {
+ E(e.id)
+ }),
+ m()
+ },
+ hasLink: O,
+ hasNode: x,
+ getLink: O,
+ }
+ return (
+ r(g),
+ (function () {
+ var e = g.on
+ function t() {
+ return (
+ (g.beginUpdate = v = A),
+ (g.endUpdate = m = S),
+ (h = y),
+ (p = b),
+ (g.on = e),
+ e.apply(g, arguments)
+ )
+ }
+ g.on = t
+ })(),
+ g
+ )
+ function y(e, t) {
+ f.push({ link: e, changeType: t })
+ }
+ function b(e, t) {
+ f.push({ node: e, changeType: t })
+ }
+ function w(e, n) {
+ if (void 0 === e) throw new Error('Invalid node identifier')
+ v()
+ var r = x(e)
+ return (
+ r ? ((r.data = n), p(r, 'update')) : ((r = new o(e, n)), p(r, 'add')),
+ t.set(e, r),
+ m(),
+ r
+ )
+ }
+ function x(e) {
+ return t.get(e)
+ }
+ function E(e) {
+ var n = x(e)
+ if (!n) return !1
+ v()
+ var r = n.links
+ if (r) {
+ n.links = null
+ for (var i = 0; i < r.length; ++i) _(r[i])
+ }
+ return t.delete(e), p(n, 'remove'), m(), !0
+ }
+ function k() {
+ return t.size
+ }
+ function T() {
+ return n.length
+ }
+ function _(e) {
+ if (!e) return !1
+ var t = i(e, n)
+ if (t < 0) return !1
+ v(), n.splice(t, 1)
+ var r = x(e.fromId),
+ o = x(e.toId)
+ return (
+ r && (t = i(e, r.links)) >= 0 && r.links.splice(t, 1),
+ o && (t = i(e, o.links)) >= 0 && o.links.splice(t, 1),
+ h(e, 'remove'),
+ m(),
+ !0
+ )
+ }
+ function O(e, t) {
+ var n,
+ r = x(e)
+ if (!r || !r.links) return null
+ for (n = 0; n < r.links.length; ++n) {
+ var i = r.links[n]
+ if (i.fromId === e && i.toId === t) return i
+ }
+ return null
+ }
+ function C() {}
+ function A() {
+ c += 1
+ }
+ function S() {
+ 0 === (c -= 1) && f.length > 0 && (g.fire('changed', f), (f.length = 0))
+ }
+ function P(e) {
+ if ('function' !== typeof e)
+ throw new Error('Function is expected to iterate over graph nodes. You passed ' + e)
+ for (var n = t.values(), r = n.next(); !r.done; ) {
+ if (e(r.value)) return !0
+ r = n.next()
+ }
+ }
+ }
+ var r = n(4245)
+ function i(e, t) {
+ if (!t) return -1
+ if (t.indexOf) return t.indexOf(e)
+ var n,
+ r = t.length
+ for (n = 0; n < r; n += 1) if (t[n] === e) return n
+ return -1
+ }
+ function o(e, t) {
+ ;(this.id = e), (this.links = null), (this.data = t)
+ }
+ function a(e, t) {
+ e.links ? e.links.push(t) : (e.links = [t])
+ }
+ function s(e, t, n, r) {
+ ;(this.fromId = e), (this.toId = t), (this.data = n), (this.id = r)
+ }
+ function l(e, t) {
+ return e.toString() + '\ud83d\udc49 ' + t.toString()
+ }
+ },
+ 5510: function (e) {
+ e.exports = function e(t, n) {
+ var r
+ t || (t = {})
+ if (n)
+ for (r in n)
+ if (n.hasOwnProperty(r)) {
+ var i = t.hasOwnProperty(r),
+ o = typeof n[r]
+ !i || typeof t[r] !== o ? (t[r] = n[r]) : 'object' === o && (t[r] = e(t[r], n[r]))
+ }
+ return t
+ }
+ },
+ 8712: function (e) {
+ function t(e) {
+ return new n('number' === typeof e ? e : +new Date())
+ }
+ function n(e) {
+ this.seed = e
+ }
+ function r(e) {
+ return (
+ Math.sqrt((2 * Math.PI) / e) *
+ Math.pow((1 / Math.E) * (e + 1 / (12 * e - 1 / (10 * e))), e)
+ )
+ }
+ function i() {
+ var e = this.seed
+ return (
+ (e =
+ 4294967295 &
+ (3042594569 ^
+ (e =
+ ((e =
+ 4294967295 &
+ (((e =
+ ((e =
+ 4294967295 &
+ (3345072700 ^ (e = (e + 2127912214 + (e << 12)) & 4294967295) ^ (e >>> 19))) +
+ 374761393 +
+ (e << 5)) &
+ 4294967295) +
+ 3550635116) ^
+ (e << 9))) +
+ 4251993797 +
+ (e << 3)) &
+ 4294967295) ^
+ (e >>> 16))),
+ (this.seed = e),
+ (268435455 & e) / 268435456
+ )
+ }
+ ;(e.exports = t),
+ (e.exports.random = t),
+ (e.exports.randomIterator = function (e, n) {
+ var r = n || t()
+ if ('function' !== typeof r.next)
+ throw new Error('customRandom does not match expected API: next() function is missing')
+ return {
+ forEach: function (t) {
+ var n, i, o
+ for (n = e.length - 1; n > 0; --n)
+ (i = r.next(n + 1)), (o = e[i]), (e[i] = e[n]), (e[n] = o), t(o)
+ e.length && t(e[0])
+ },
+ shuffle: function () {
+ var t, n, i
+ for (t = e.length - 1; t > 0; --t)
+ (n = r.next(t + 1)), (i = e[n]), (e[n] = e[t]), (e[t] = i)
+ return e
+ },
+ }
+ }),
+ (n.prototype.next = function (e) {
+ return Math.floor(this.nextDouble() * e)
+ }),
+ (n.prototype.nextDouble = i),
+ (n.prototype.uniform = i),
+ (n.prototype.gaussian = function () {
+ var e, t, n
+ do {
+ ;(t = 2 * this.nextDouble() - 1), (n = 2 * this.nextDouble() - 1), (e = t * t + n * n)
+ } while (e >= 1 || 0 === e)
+ return t * Math.sqrt((-2 * Math.log(e)) / e)
+ }),
+ (n.prototype.levy = function () {
+ var e = 1.5,
+ t = Math.pow(
+ (r(2.5) * Math.sin((Math.PI * e) / 2)) / (r(1.25) * e * Math.pow(2, 0.25)),
+ 1 / e,
+ )
+ return (this.gaussian() * t) / Math.pow(Math.abs(this.gaussian()), 1 / e)
+ })
+ },
+ 75: function (e, t, n) {
+ var r = n(4155)
+ ;(function () {
+ var t, n, i, o, a, s
+ 'undefined' !== typeof performance && null !== performance && performance.now
+ ? (e.exports = function () {
+ return performance.now()
+ })
+ : 'undefined' !== typeof r && null !== r && r.hrtime
+ ? ((e.exports = function () {
+ return (t() - a) / 1e6
+ }),
+ (n = r.hrtime),
+ (o = (t = function () {
+ var e
+ return 1e9 * (e = n())[0] + e[1]
+ })()),
+ (s = 1e9 * r.uptime()),
+ (a = o - s))
+ : Date.now
+ ? ((e.exports = function () {
+ return Date.now() - i
+ }),
+ (i = Date.now()))
+ : ((e.exports = function () {
+ return new Date().getTime() - i
+ }),
+ (i = new Date().getTime()))
+ }.call(this))
+ },
+ 7236: function (e) {
+ var t = null,
+ n = ['Webkit', 'Moz', 'O', 'ms']
+ e.exports = function (e) {
+ t || (t = document.createElement('div'))
+ var r = t.style
+ if (e in r) return e
+ for (var i = e.charAt(0).toUpperCase() + e.slice(1), o = n.length; o >= 0; o--) {
+ var a = n[o] + i
+ if (a in r) return a
+ }
+ return !1
+ }
+ },
+ 4155: function (e) {
+ var t,
+ n,
+ r = (e.exports = {})
+ function i() {
+ throw new Error('setTimeout has not been defined')
+ }
+ function o() {
+ throw new Error('clearTimeout has not been defined')
+ }
+ function a(e) {
+ if (t === setTimeout) return setTimeout(e, 0)
+ if ((t === i || !t) && setTimeout) return (t = setTimeout), setTimeout(e, 0)
+ try {
+ return t(e, 0)
+ } catch (n) {
+ try {
+ return t.call(null, e, 0)
+ } catch (n) {
+ return t.call(this, e, 0)
+ }
+ }
+ }
+ !(function () {
+ try {
+ t = 'function' === typeof setTimeout ? setTimeout : i
+ } catch (e) {
+ t = i
+ }
+ try {
+ n = 'function' === typeof clearTimeout ? clearTimeout : o
+ } catch (e) {
+ n = o
+ }
+ })()
+ var s,
+ l = [],
+ u = !1,
+ c = -1
+ function d() {
+ u && s && ((u = !1), s.length ? (l = s.concat(l)) : (c = -1), l.length && f())
+ }
+ function f() {
+ if (!u) {
+ var e = a(d)
+ u = !0
+ for (var t = l.length; t; ) {
+ for (s = l, l = []; ++c < t; ) s && s[c].run()
+ ;(c = -1), (t = l.length)
+ }
+ ;(s = null),
+ (u = !1),
+ (function (e) {
+ if (n === clearTimeout) return clearTimeout(e)
+ if ((n === o || !n) && clearTimeout) return (n = clearTimeout), clearTimeout(e)
+ try {
+ n(e)
+ } catch (t) {
+ try {
+ return n.call(null, e)
+ } catch (t) {
+ return n.call(this, e)
+ }
+ }
+ })(e)
+ }
+ }
+ function h(e, t) {
+ ;(this.fun = e), (this.array = t)
+ }
+ function p() {}
+ ;(r.nextTick = function (e) {
+ var t = new Array(arguments.length - 1)
+ if (arguments.length > 1) for (var n = 1; n < arguments.length; n++) t[n - 1] = arguments[n]
+ l.push(new h(e, t)), 1 !== l.length || u || a(f)
+ }),
+ (h.prototype.run = function () {
+ this.fun.apply(null, this.array)
+ }),
+ (r.title = 'browser'),
+ (r.browser = !0),
+ (r.env = {}),
+ (r.argv = []),
+ (r.version = ''),
+ (r.versions = {}),
+ (r.on = p),
+ (r.addListener = p),
+ (r.once = p),
+ (r.off = p),
+ (r.removeListener = p),
+ (r.removeAllListeners = p),
+ (r.emit = p),
+ (r.prependListener = p),
+ (r.prependOnceListener = p),
+ (r.listeners = function (e) {
+ return []
+ }),
+ (r.binding = function (e) {
+ throw new Error('process.binding is not supported')
+ }),
+ (r.cwd = function () {
+ return '/'
+ }),
+ (r.chdir = function (e) {
+ throw new Error('process.chdir is not supported')
+ }),
+ (r.umask = function () {
+ return 0
+ })
+ },
+ 4087: function (e, t, n) {
+ for (
+ var r = n(75),
+ i = 'undefined' === typeof window ? n.g : window,
+ o = ['moz', 'webkit'],
+ a = 'AnimationFrame',
+ s = i['request' + a],
+ l = i['cancel' + a] || i['cancelRequest' + a],
+ u = 0;
+ !s && u < o.length;
+ u++
+ )
+ (s = i[o[u] + 'Request' + a]), (l = i[o[u] + 'Cancel' + a] || i[o[u] + 'CancelRequest' + a])
+ if (!s || !l) {
+ var c = 0,
+ d = 0,
+ f = []
+ ;(s = function (e) {
+ if (0 === f.length) {
+ var t = r(),
+ n = Math.max(0, 16.666666666666668 - (t - c))
+ ;(c = n + t),
+ setTimeout(function () {
+ var e = f.slice(0)
+ f.length = 0
+ for (var t = 0; t < e.length; t++)
+ if (!e[t].cancelled)
+ try {
+ e[t].callback(c)
+ } catch (n) {
+ setTimeout(function () {
+ throw n
+ }, 0)
+ }
+ }, Math.round(n))
+ }
+ return f.push({ handle: ++d, callback: e, cancelled: !1 }), d
+ }),
+ (l = function (e) {
+ for (var t = 0; t < f.length; t++) f[t].handle === e && (f[t].cancelled = !0)
+ })
+ }
+ ;(e.exports = function (e) {
+ return s.call(i, e)
+ }),
+ (e.exports.cancel = function () {
+ l.apply(i, arguments)
+ }),
+ (e.exports.polyfill = function (e) {
+ e || (e = i), (e.requestAnimationFrame = s), (e.cancelAnimationFrame = l)
+ })
+ },
+ 3485: function (e, t, n) {
+ 'use strict'
+ Object.defineProperty(t, '__esModule', { value: !0 })
+ var r =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }
+ ;(t.renderViewDefault = function (e) {
+ return a.default.createElement('div', e)
+ }),
+ (t.renderTrackHorizontalDefault = function (e) {
+ var t = e.style,
+ n = s(e, ['style']),
+ i = r({}, t, { right: 2, bottom: 2, left: 2, borderRadius: 3 })
+ return a.default.createElement('div', r({ style: i }, n))
+ }),
+ (t.renderTrackVerticalDefault = function (e) {
+ var t = e.style,
+ n = s(e, ['style']),
+ i = r({}, t, { right: 2, bottom: 2, top: 2, borderRadius: 3 })
+ return a.default.createElement('div', r({ style: i }, n))
+ }),
+ (t.renderThumbHorizontalDefault = function (e) {
+ var t = e.style,
+ n = s(e, ['style']),
+ i = r({}, t, {
+ cursor: 'pointer',
+ borderRadius: 'inherit',
+ backgroundColor: 'rgba(0,0,0,.2)',
+ })
+ return a.default.createElement('div', r({ style: i }, n))
+ }),
+ (t.renderThumbVerticalDefault = function (e) {
+ var t = e.style,
+ n = s(e, ['style']),
+ i = r({}, t, {
+ cursor: 'pointer',
+ borderRadius: 'inherit',
+ backgroundColor: 'rgba(0,0,0,.2)',
+ })
+ return a.default.createElement('div', r({ style: i }, n))
+ })
+ var i,
+ o = n(7294),
+ a = (i = o) && i.__esModule ? i : { default: i }
+ function s(e, t) {
+ var n = {}
+ for (var r in e)
+ t.indexOf(r) >= 0 || (Object.prototype.hasOwnProperty.call(e, r) && (n[r] = e[r]))
+ return n
+ }
+ },
+ 6164: function (e, t, n) {
+ 'use strict'
+ Object.defineProperty(t, '__esModule', { value: !0 })
+ var r =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ },
+ i = (function () {
+ function e(e, t) {
+ for (var n = 0; n < t.length; n++) {
+ var r = t[n]
+ ;(r.enumerable = r.enumerable || !1),
+ (r.configurable = !0),
+ 'value' in r && (r.writable = !0),
+ Object.defineProperty(e, r.key, r)
+ }
+ }
+ return function (t, n, r) {
+ return n && e(t.prototype, n), r && e(t, r), t
+ }
+ })(),
+ o = n(4087),
+ a = g(o),
+ s = g(n(3879)),
+ l = n(7294),
+ u = g(n(5697)),
+ c = g(n(7928)),
+ d = g(n(6445)),
+ f = g(n(8309)),
+ h = g(n(1608)),
+ p = g(n(7114)),
+ v = n(8285),
+ m = n(3485)
+ function g(e) {
+ return e && e.__esModule ? e : { default: e }
+ }
+ function y(e, t) {
+ if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function')
+ }
+ function b(e, t) {
+ if (!e)
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
+ return !t || ('object' !== typeof t && 'function' !== typeof t) ? e : t
+ }
+ var w = (function (e) {
+ function t(e) {
+ var n
+ y(this, t)
+ for (var r = arguments.length, i = Array(r > 1 ? r - 1 : 0), o = 1; o < r; o++)
+ i[o - 1] = arguments[o]
+ var a = b(
+ this,
+ (n = t.__proto__ || Object.getPrototypeOf(t)).call.apply(n, [this, e].concat(i)),
+ )
+ return (
+ (a.getScrollLeft = a.getScrollLeft.bind(a)),
+ (a.getScrollTop = a.getScrollTop.bind(a)),
+ (a.getScrollWidth = a.getScrollWidth.bind(a)),
+ (a.getScrollHeight = a.getScrollHeight.bind(a)),
+ (a.getClientWidth = a.getClientWidth.bind(a)),
+ (a.getClientHeight = a.getClientHeight.bind(a)),
+ (a.getValues = a.getValues.bind(a)),
+ (a.getThumbHorizontalWidth = a.getThumbHorizontalWidth.bind(a)),
+ (a.getThumbVerticalHeight = a.getThumbVerticalHeight.bind(a)),
+ (a.getScrollLeftForOffset = a.getScrollLeftForOffset.bind(a)),
+ (a.getScrollTopForOffset = a.getScrollTopForOffset.bind(a)),
+ (a.scrollLeft = a.scrollLeft.bind(a)),
+ (a.scrollTop = a.scrollTop.bind(a)),
+ (a.scrollToLeft = a.scrollToLeft.bind(a)),
+ (a.scrollToTop = a.scrollToTop.bind(a)),
+ (a.scrollToRight = a.scrollToRight.bind(a)),
+ (a.scrollToBottom = a.scrollToBottom.bind(a)),
+ (a.handleTrackMouseEnter = a.handleTrackMouseEnter.bind(a)),
+ (a.handleTrackMouseLeave = a.handleTrackMouseLeave.bind(a)),
+ (a.handleHorizontalTrackMouseDown = a.handleHorizontalTrackMouseDown.bind(a)),
+ (a.handleVerticalTrackMouseDown = a.handleVerticalTrackMouseDown.bind(a)),
+ (a.handleHorizontalThumbMouseDown = a.handleHorizontalThumbMouseDown.bind(a)),
+ (a.handleVerticalThumbMouseDown = a.handleVerticalThumbMouseDown.bind(a)),
+ (a.handleWindowResize = a.handleWindowResize.bind(a)),
+ (a.handleScroll = a.handleScroll.bind(a)),
+ (a.handleDrag = a.handleDrag.bind(a)),
+ (a.handleDragEnd = a.handleDragEnd.bind(a)),
+ (a.state = { didMountUniversal: !1 }),
+ a
+ )
+ }
+ return (
+ (function (e, t) {
+ if ('function' !== typeof t && null !== t)
+ throw new TypeError(
+ 'Super expression must either be null or a function, not ' + typeof t,
+ )
+ ;(e.prototype = Object.create(t && t.prototype, {
+ constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 },
+ })),
+ t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : (e.__proto__ = t))
+ })(t, e),
+ i(t, [
+ {
+ key: 'componentDidMount',
+ value: function () {
+ this.addListeners(), this.update(), this.componentDidMountUniversal()
+ },
+ },
+ {
+ key: 'componentDidMountUniversal',
+ value: function () {
+ this.props.universal && this.setState({ didMountUniversal: !0 })
+ },
+ },
+ {
+ key: 'componentDidUpdate',
+ value: function () {
+ this.update()
+ },
+ },
+ {
+ key: 'componentWillUnmount',
+ value: function () {
+ this.removeListeners(),
+ (0, o.cancel)(this.requestFrame),
+ clearTimeout(this.hideTracksTimeout),
+ clearInterval(this.detectScrollingInterval)
+ },
+ },
+ {
+ key: 'getScrollLeft',
+ value: function () {
+ return this.view ? this.view.scrollLeft : 0
+ },
+ },
+ {
+ key: 'getScrollTop',
+ value: function () {
+ return this.view ? this.view.scrollTop : 0
+ },
+ },
+ {
+ key: 'getScrollWidth',
+ value: function () {
+ return this.view ? this.view.scrollWidth : 0
+ },
+ },
+ {
+ key: 'getScrollHeight',
+ value: function () {
+ return this.view ? this.view.scrollHeight : 0
+ },
+ },
+ {
+ key: 'getClientWidth',
+ value: function () {
+ return this.view ? this.view.clientWidth : 0
+ },
+ },
+ {
+ key: 'getClientHeight',
+ value: function () {
+ return this.view ? this.view.clientHeight : 0
+ },
+ },
+ {
+ key: 'getValues',
+ value: function () {
+ var e = this.view || {},
+ t = e.scrollLeft,
+ n = void 0 === t ? 0 : t,
+ r = e.scrollTop,
+ i = void 0 === r ? 0 : r,
+ o = e.scrollWidth,
+ a = void 0 === o ? 0 : o,
+ s = e.scrollHeight,
+ l = void 0 === s ? 0 : s,
+ u = e.clientWidth,
+ c = void 0 === u ? 0 : u,
+ d = e.clientHeight,
+ f = void 0 === d ? 0 : d
+ return {
+ left: n / (a - c) || 0,
+ top: i / (l - f) || 0,
+ scrollLeft: n,
+ scrollTop: i,
+ scrollWidth: a,
+ scrollHeight: l,
+ clientWidth: c,
+ clientHeight: f,
+ }
+ },
+ },
+ {
+ key: 'getThumbHorizontalWidth',
+ value: function () {
+ var e = this.props,
+ t = e.thumbSize,
+ n = e.thumbMinSize,
+ r = this.view,
+ i = r.scrollWidth,
+ o = r.clientWidth,
+ a = (0, h.default)(this.trackHorizontal),
+ s = Math.ceil((o / i) * a)
+ return a <= s ? 0 : t || Math.max(s, n)
+ },
+ },
+ {
+ key: 'getThumbVerticalHeight',
+ value: function () {
+ var e = this.props,
+ t = e.thumbSize,
+ n = e.thumbMinSize,
+ r = this.view,
+ i = r.scrollHeight,
+ o = r.clientHeight,
+ a = (0, p.default)(this.trackVertical),
+ s = Math.ceil((o / i) * a)
+ return a <= s ? 0 : t || Math.max(s, n)
+ },
+ },
+ {
+ key: 'getScrollLeftForOffset',
+ value: function (e) {
+ var t = this.view,
+ n = t.scrollWidth,
+ r = t.clientWidth
+ return (
+ (e / ((0, h.default)(this.trackHorizontal) - this.getThumbHorizontalWidth())) *
+ (n - r)
+ )
+ },
+ },
+ {
+ key: 'getScrollTopForOffset',
+ value: function (e) {
+ var t = this.view,
+ n = t.scrollHeight,
+ r = t.clientHeight
+ return (
+ (e / ((0, p.default)(this.trackVertical) - this.getThumbVerticalHeight())) *
+ (n - r)
+ )
+ },
+ },
+ {
+ key: 'scrollLeft',
+ value: function () {
+ var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0
+ this.view && (this.view.scrollLeft = e)
+ },
+ },
+ {
+ key: 'scrollTop',
+ value: function () {
+ var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0
+ this.view && (this.view.scrollTop = e)
+ },
+ },
+ {
+ key: 'scrollToLeft',
+ value: function () {
+ this.view && (this.view.scrollLeft = 0)
+ },
+ },
+ {
+ key: 'scrollToTop',
+ value: function () {
+ this.view && (this.view.scrollTop = 0)
+ },
+ },
+ {
+ key: 'scrollToRight',
+ value: function () {
+ this.view && (this.view.scrollLeft = this.view.scrollWidth)
+ },
+ },
+ {
+ key: 'scrollToBottom',
+ value: function () {
+ this.view && (this.view.scrollTop = this.view.scrollHeight)
+ },
+ },
+ {
+ key: 'addListeners',
+ value: function () {
+ if ('undefined' !== typeof document && this.view) {
+ var e = this.view,
+ t = this.trackHorizontal,
+ n = this.trackVertical,
+ r = this.thumbHorizontal,
+ i = this.thumbVertical
+ e.addEventListener('scroll', this.handleScroll),
+ (0, d.default)() &&
+ (t.addEventListener('mouseenter', this.handleTrackMouseEnter),
+ t.addEventListener('mouseleave', this.handleTrackMouseLeave),
+ t.addEventListener('mousedown', this.handleHorizontalTrackMouseDown),
+ n.addEventListener('mouseenter', this.handleTrackMouseEnter),
+ n.addEventListener('mouseleave', this.handleTrackMouseLeave),
+ n.addEventListener('mousedown', this.handleVerticalTrackMouseDown),
+ r.addEventListener('mousedown', this.handleHorizontalThumbMouseDown),
+ i.addEventListener('mousedown', this.handleVerticalThumbMouseDown),
+ window.addEventListener('resize', this.handleWindowResize))
+ }
+ },
+ },
+ {
+ key: 'removeListeners',
+ value: function () {
+ if ('undefined' !== typeof document && this.view) {
+ var e = this.view,
+ t = this.trackHorizontal,
+ n = this.trackVertical,
+ r = this.thumbHorizontal,
+ i = this.thumbVertical
+ e.removeEventListener('scroll', this.handleScroll),
+ (0, d.default)() &&
+ (t.removeEventListener('mouseenter', this.handleTrackMouseEnter),
+ t.removeEventListener('mouseleave', this.handleTrackMouseLeave),
+ t.removeEventListener('mousedown', this.handleHorizontalTrackMouseDown),
+ n.removeEventListener('mouseenter', this.handleTrackMouseEnter),
+ n.removeEventListener('mouseleave', this.handleTrackMouseLeave),
+ n.removeEventListener('mousedown', this.handleVerticalTrackMouseDown),
+ r.removeEventListener('mousedown', this.handleHorizontalThumbMouseDown),
+ i.removeEventListener('mousedown', this.handleVerticalThumbMouseDown),
+ window.removeEventListener('resize', this.handleWindowResize),
+ this.teardownDragging())
+ }
+ },
+ },
+ {
+ key: 'handleScroll',
+ value: function (e) {
+ var t = this,
+ n = this.props,
+ r = n.onScroll,
+ i = n.onScrollFrame
+ r && r(e),
+ this.update(function (e) {
+ var n = e.scrollLeft,
+ r = e.scrollTop
+ ;(t.viewScrollLeft = n), (t.viewScrollTop = r), i && i(e)
+ }),
+ this.detectScrolling()
+ },
+ },
+ {
+ key: 'handleScrollStart',
+ value: function () {
+ var e = this.props.onScrollStart
+ e && e(), this.handleScrollStartAutoHide()
+ },
+ },
+ {
+ key: 'handleScrollStartAutoHide',
+ value: function () {
+ this.props.autoHide && this.showTracks()
+ },
+ },
+ {
+ key: 'handleScrollStop',
+ value: function () {
+ var e = this.props.onScrollStop
+ e && e(), this.handleScrollStopAutoHide()
+ },
+ },
+ {
+ key: 'handleScrollStopAutoHide',
+ value: function () {
+ this.props.autoHide && this.hideTracks()
+ },
+ },
+ {
+ key: 'handleWindowResize',
+ value: function () {
+ ;(0, d.default)(!1), this.forceUpdate()
+ },
+ },
+ {
+ key: 'handleHorizontalTrackMouseDown',
+ value: function (e) {
+ e.preventDefault()
+ var t = e.target,
+ n = e.clientX,
+ r = t.getBoundingClientRect().left,
+ i = this.getThumbHorizontalWidth(),
+ o = Math.abs(r - n) - i / 2
+ this.view.scrollLeft = this.getScrollLeftForOffset(o)
+ },
+ },
+ {
+ key: 'handleVerticalTrackMouseDown',
+ value: function (e) {
+ e.preventDefault()
+ var t = e.target,
+ n = e.clientY,
+ r = t.getBoundingClientRect().top,
+ i = this.getThumbVerticalHeight(),
+ o = Math.abs(r - n) - i / 2
+ this.view.scrollTop = this.getScrollTopForOffset(o)
+ },
+ },
+ {
+ key: 'handleHorizontalThumbMouseDown',
+ value: function (e) {
+ e.preventDefault(), this.handleDragStart(e)
+ var t = e.target,
+ n = e.clientX,
+ r = t.offsetWidth,
+ i = t.getBoundingClientRect().left
+ this.prevPageX = r - (n - i)
+ },
+ },
+ {
+ key: 'handleVerticalThumbMouseDown',
+ value: function (e) {
+ e.preventDefault(), this.handleDragStart(e)
+ var t = e.target,
+ n = e.clientY,
+ r = t.offsetHeight,
+ i = t.getBoundingClientRect().top
+ this.prevPageY = r - (n - i)
+ },
+ },
+ {
+ key: 'setupDragging',
+ value: function () {
+ ;(0, s.default)(document.body, v.disableSelectStyle),
+ document.addEventListener('mousemove', this.handleDrag),
+ document.addEventListener('mouseup', this.handleDragEnd),
+ (document.onselectstart = f.default)
+ },
+ },
+ {
+ key: 'teardownDragging',
+ value: function () {
+ ;(0, s.default)(document.body, v.disableSelectStyleReset),
+ document.removeEventListener('mousemove', this.handleDrag),
+ document.removeEventListener('mouseup', this.handleDragEnd),
+ (document.onselectstart = void 0)
+ },
+ },
+ {
+ key: 'handleDragStart',
+ value: function (e) {
+ ;(this.dragging = !0), e.stopImmediatePropagation(), this.setupDragging()
+ },
+ },
+ {
+ key: 'handleDrag',
+ value: function (e) {
+ if (this.prevPageX) {
+ var t = e.clientX,
+ n =
+ -this.trackHorizontal.getBoundingClientRect().left +
+ t -
+ (this.getThumbHorizontalWidth() - this.prevPageX)
+ this.view.scrollLeft = this.getScrollLeftForOffset(n)
+ }
+ if (this.prevPageY) {
+ var r = e.clientY,
+ i =
+ -this.trackVertical.getBoundingClientRect().top +
+ r -
+ (this.getThumbVerticalHeight() - this.prevPageY)
+ this.view.scrollTop = this.getScrollTopForOffset(i)
+ }
+ return !1
+ },
+ },
+ {
+ key: 'handleDragEnd',
+ value: function () {
+ ;(this.dragging = !1),
+ (this.prevPageX = this.prevPageY = 0),
+ this.teardownDragging(),
+ this.handleDragEndAutoHide()
+ },
+ },
+ {
+ key: 'handleDragEndAutoHide',
+ value: function () {
+ this.props.autoHide && this.hideTracks()
+ },
+ },
+ {
+ key: 'handleTrackMouseEnter',
+ value: function () {
+ ;(this.trackMouseOver = !0), this.handleTrackMouseEnterAutoHide()
+ },
+ },
+ {
+ key: 'handleTrackMouseEnterAutoHide',
+ value: function () {
+ this.props.autoHide && this.showTracks()
+ },
+ },
+ {
+ key: 'handleTrackMouseLeave',
+ value: function () {
+ ;(this.trackMouseOver = !1), this.handleTrackMouseLeaveAutoHide()
+ },
+ },
+ {
+ key: 'handleTrackMouseLeaveAutoHide',
+ value: function () {
+ this.props.autoHide && this.hideTracks()
+ },
+ },
+ {
+ key: 'showTracks',
+ value: function () {
+ clearTimeout(this.hideTracksTimeout),
+ (0, s.default)(this.trackHorizontal, { opacity: 1 }),
+ (0, s.default)(this.trackVertical, { opacity: 1 })
+ },
+ },
+ {
+ key: 'hideTracks',
+ value: function () {
+ var e = this
+ if (!this.dragging && !this.scrolling && !this.trackMouseOver) {
+ var t = this.props.autoHideTimeout
+ clearTimeout(this.hideTracksTimeout),
+ (this.hideTracksTimeout = setTimeout(function () {
+ ;(0, s.default)(e.trackHorizontal, { opacity: 0 }),
+ (0, s.default)(e.trackVertical, { opacity: 0 })
+ }, t))
+ }
+ },
+ },
+ {
+ key: 'detectScrolling',
+ value: function () {
+ var e = this
+ this.scrolling ||
+ ((this.scrolling = !0),
+ this.handleScrollStart(),
+ (this.detectScrollingInterval = setInterval(function () {
+ e.lastViewScrollLeft === e.viewScrollLeft &&
+ e.lastViewScrollTop === e.viewScrollTop &&
+ (clearInterval(e.detectScrollingInterval),
+ (e.scrolling = !1),
+ e.handleScrollStop()),
+ (e.lastViewScrollLeft = e.viewScrollLeft),
+ (e.lastViewScrollTop = e.viewScrollTop)
+ }, 100)))
+ },
+ },
+ {
+ key: 'raf',
+ value: function (e) {
+ var t = this
+ this.requestFrame && a.default.cancel(this.requestFrame),
+ (this.requestFrame = (0, a.default)(function () {
+ ;(t.requestFrame = void 0), e()
+ }))
+ },
+ },
+ {
+ key: 'update',
+ value: function (e) {
+ var t = this
+ this.raf(function () {
+ return t._update(e)
+ })
+ },
+ },
+ {
+ key: '_update',
+ value: function (e) {
+ var t = this.props,
+ n = t.onUpdate,
+ r = t.hideTracksWhenNotNeeded,
+ i = this.getValues()
+ if ((0, d.default)()) {
+ var o = i.scrollLeft,
+ a = i.clientWidth,
+ l = i.scrollWidth,
+ u = (0, h.default)(this.trackHorizontal),
+ c = this.getThumbHorizontalWidth(),
+ f = { width: c, transform: 'translateX(' + (o / (l - a)) * (u - c) + 'px)' },
+ v = i.scrollTop,
+ m = i.clientHeight,
+ g = i.scrollHeight,
+ y = (0, p.default)(this.trackVertical),
+ b = this.getThumbVerticalHeight(),
+ w = { height: b, transform: 'translateY(' + (v / (g - m)) * (y - b) + 'px)' }
+ if (r) {
+ var x = { visibility: l > a ? 'visible' : 'hidden' },
+ E = { visibility: g > m ? 'visible' : 'hidden' }
+ ;(0, s.default)(this.trackHorizontal, x), (0, s.default)(this.trackVertical, E)
+ }
+ ;(0, s.default)(this.thumbHorizontal, f), (0, s.default)(this.thumbVertical, w)
+ }
+ n && n(i), 'function' === typeof e && e(i)
+ },
+ },
+ {
+ key: 'render',
+ value: function () {
+ var e = this,
+ t = (0, d.default)(),
+ n = this.props,
+ i =
+ (n.onScroll,
+ n.onScrollFrame,
+ n.onScrollStart,
+ n.onScrollStop,
+ n.onUpdate,
+ n.renderView),
+ o = n.renderTrackHorizontal,
+ a = n.renderTrackVertical,
+ s = n.renderThumbHorizontal,
+ u = n.renderThumbVertical,
+ f = n.tagName,
+ h = (n.hideTracksWhenNotNeeded, n.autoHide),
+ p = (n.autoHideTimeout, n.autoHideDuration),
+ m = (n.thumbSize, n.thumbMinSize, n.universal),
+ g = n.autoHeight,
+ y = n.autoHeightMin,
+ b = n.autoHeightMax,
+ w = n.style,
+ x = n.children,
+ E = (function (e, t) {
+ var n = {}
+ for (var r in e)
+ t.indexOf(r) >= 0 ||
+ (Object.prototype.hasOwnProperty.call(e, r) && (n[r] = e[r]))
+ return n
+ })(n, [
+ 'onScroll',
+ 'onScrollFrame',
+ 'onScrollStart',
+ 'onScrollStop',
+ 'onUpdate',
+ 'renderView',
+ 'renderTrackHorizontal',
+ 'renderTrackVertical',
+ 'renderThumbHorizontal',
+ 'renderThumbVertical',
+ 'tagName',
+ 'hideTracksWhenNotNeeded',
+ 'autoHide',
+ 'autoHideTimeout',
+ 'autoHideDuration',
+ 'thumbSize',
+ 'thumbMinSize',
+ 'universal',
+ 'autoHeight',
+ 'autoHeightMin',
+ 'autoHeightMax',
+ 'style',
+ 'children',
+ ]),
+ k = this.state.didMountUniversal,
+ T = r(
+ {},
+ v.containerStyleDefault,
+ g && r({}, v.containerStyleAutoHeight, { minHeight: y, maxHeight: b }),
+ w,
+ ),
+ _ = r(
+ {},
+ v.viewStyleDefault,
+ { marginRight: t ? -t : 0, marginBottom: t ? -t : 0 },
+ g &&
+ r({}, v.viewStyleAutoHeight, {
+ minHeight: (0, c.default)(y) ? 'calc(' + y + ' + ' + t + 'px)' : y + t,
+ maxHeight: (0, c.default)(b) ? 'calc(' + b + ' + ' + t + 'px)' : b + t,
+ }),
+ g && m && !k && { minHeight: y, maxHeight: b },
+ m && !k && v.viewStyleUniversalInitial,
+ ),
+ O = { transition: 'opacity ' + p + 'ms', opacity: 0 },
+ C = r(
+ {},
+ v.trackHorizontalStyleDefault,
+ h && O,
+ (!t || (m && !k)) && { display: 'none' },
+ ),
+ A = r(
+ {},
+ v.trackVerticalStyleDefault,
+ h && O,
+ (!t || (m && !k)) && { display: 'none' },
+ )
+ return (0, l.createElement)(
+ f,
+ r({}, E, {
+ style: T,
+ ref: function (t) {
+ e.container = t
+ },
+ }),
+ [
+ (0, l.cloneElement)(
+ i({ style: _ }),
+ {
+ key: 'view',
+ ref: function (t) {
+ e.view = t
+ },
+ },
+ x,
+ ),
+ (0, l.cloneElement)(
+ o({ style: C }),
+ {
+ key: 'trackHorizontal',
+ ref: function (t) {
+ e.trackHorizontal = t
+ },
+ },
+ (0, l.cloneElement)(s({ style: v.thumbHorizontalStyleDefault }), {
+ ref: function (t) {
+ e.thumbHorizontal = t
+ },
+ }),
+ ),
+ (0, l.cloneElement)(
+ a({ style: A }),
+ {
+ key: 'trackVertical',
+ ref: function (t) {
+ e.trackVertical = t
+ },
+ },
+ (0, l.cloneElement)(u({ style: v.thumbVerticalStyleDefault }), {
+ ref: function (t) {
+ e.thumbVertical = t
+ },
+ }),
+ ),
+ ],
+ )
+ },
+ },
+ ]),
+ t
+ )
+ })(l.Component)
+ ;(t.default = w),
+ (w.propTypes = {
+ onScroll: u.default.func,
+ onScrollFrame: u.default.func,
+ onScrollStart: u.default.func,
+ onScrollStop: u.default.func,
+ onUpdate: u.default.func,
+ renderView: u.default.func,
+ renderTrackHorizontal: u.default.func,
+ renderTrackVertical: u.default.func,
+ renderThumbHorizontal: u.default.func,
+ renderThumbVertical: u.default.func,
+ tagName: u.default.string,
+ thumbSize: u.default.number,
+ thumbMinSize: u.default.number,
+ hideTracksWhenNotNeeded: u.default.bool,
+ autoHide: u.default.bool,
+ autoHideTimeout: u.default.number,
+ autoHideDuration: u.default.number,
+ autoHeight: u.default.bool,
+ autoHeightMin: u.default.oneOfType([u.default.number, u.default.string]),
+ autoHeightMax: u.default.oneOfType([u.default.number, u.default.string]),
+ universal: u.default.bool,
+ style: u.default.object,
+ children: u.default.node,
+ }),
+ (w.defaultProps = {
+ renderView: m.renderViewDefault,
+ renderTrackHorizontal: m.renderTrackHorizontalDefault,
+ renderTrackVertical: m.renderTrackVerticalDefault,
+ renderThumbHorizontal: m.renderThumbHorizontalDefault,
+ renderThumbVertical: m.renderThumbVerticalDefault,
+ tagName: 'div',
+ thumbMinSize: 30,
+ hideTracksWhenNotNeeded: !1,
+ autoHide: !1,
+ autoHideTimeout: 1e3,
+ autoHideDuration: 200,
+ autoHeight: !1,
+ autoHeightMin: 0,
+ autoHeightMax: 200,
+ universal: !1,
+ })
+ },
+ 8285: function (e, t) {
+ 'use strict'
+ Object.defineProperty(t, '__esModule', { value: !0 })
+ ;(t.containerStyleDefault = {
+ position: 'relative',
+ overflow: 'hidden',
+ width: '100%',
+ height: '100%',
+ }),
+ (t.containerStyleAutoHeight = { height: 'auto' }),
+ (t.viewStyleDefault = {
+ position: 'absolute',
+ top: 0,
+ left: 0,
+ right: 0,
+ bottom: 0,
+ overflow: 'scroll',
+ WebkitOverflowScrolling: 'touch',
+ }),
+ (t.viewStyleAutoHeight = {
+ position: 'relative',
+ top: void 0,
+ left: void 0,
+ right: void 0,
+ bottom: void 0,
+ }),
+ (t.viewStyleUniversalInitial = { overflow: 'hidden', marginRight: 0, marginBottom: 0 }),
+ (t.trackHorizontalStyleDefault = { position: 'absolute', height: 6 }),
+ (t.trackVerticalStyleDefault = { position: 'absolute', width: 6 }),
+ (t.thumbHorizontalStyleDefault = {
+ position: 'relative',
+ display: 'block',
+ height: '100%',
+ }),
+ (t.thumbVerticalStyleDefault = { position: 'relative', display: 'block', width: '100%' }),
+ (t.disableSelectStyle = { userSelect: 'none' }),
+ (t.disableSelectStyleReset = { userSelect: '' })
+ },
+ 6658: function (e, t, n) {
+ 'use strict'
+ t.$B = void 0
+ var r,
+ i = n(6164),
+ o = (r = i) && r.__esModule ? r : { default: r }
+ o.default, (t.$B = o.default)
+ },
+ 7114: function (e, t) {
+ 'use strict'
+ Object.defineProperty(t, '__esModule', { value: !0 }),
+ (t.default = function (e) {
+ var t = e.clientHeight,
+ n = getComputedStyle(e),
+ r = n.paddingTop,
+ i = n.paddingBottom
+ return t - parseFloat(r) - parseFloat(i)
+ })
+ },
+ 1608: function (e, t) {
+ 'use strict'
+ Object.defineProperty(t, '__esModule', { value: !0 }),
+ (t.default = function (e) {
+ var t = e.clientWidth,
+ n = getComputedStyle(e),
+ r = n.paddingLeft,
+ i = n.paddingRight
+ return t - parseFloat(r) - parseFloat(i)
+ })
+ },
+ 6445: function (e, t, n) {
+ 'use strict'
+ Object.defineProperty(t, '__esModule', { value: !0 }),
+ (t.default = function () {
+ var e = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0]
+ if (e && !1 !== a) return a
+ if ('undefined' !== typeof document) {
+ var t = document.createElement('div')
+ ;(0, o.default)(t, {
+ width: 100,
+ height: 100,
+ position: 'absolute',
+ top: -9999,
+ overflow: 'scroll',
+ MsOverflowStyle: 'scrollbar',
+ }),
+ document.body.appendChild(t),
+ (a = t.offsetWidth - t.clientWidth),
+ document.body.removeChild(t)
+ } else a = 0
+ return a || 0
+ })
+ var r,
+ i = n(3879),
+ o = (r = i) && r.__esModule ? r : { default: r }
+ var a = !1
+ },
+ 7928: function (e, t) {
+ 'use strict'
+ Object.defineProperty(t, '__esModule', { value: !0 }),
+ (t.default = function (e) {
+ return 'string' === typeof e
+ })
+ },
+ 8309: function (e, t) {
+ 'use strict'
+ Object.defineProperty(t, '__esModule', { value: !0 }),
+ (t.default = function () {
+ return !1
+ })
+ },
+ 9590: function (e) {
+ var t = 'undefined' !== typeof Element,
+ n = 'function' === typeof Map,
+ r = 'function' === typeof Set,
+ i = 'function' === typeof ArrayBuffer && !!ArrayBuffer.isView
+ function o(e, a) {
+ if (e === a) return !0
+ if (e && a && 'object' == typeof e && 'object' == typeof a) {
+ if (e.constructor !== a.constructor) return !1
+ var s, l, u, c
+ if (Array.isArray(e)) {
+ if ((s = e.length) != a.length) return !1
+ for (l = s; 0 !== l--; ) if (!o(e[l], a[l])) return !1
+ return !0
+ }
+ if (n && e instanceof Map && a instanceof Map) {
+ if (e.size !== a.size) return !1
+ for (c = e.entries(); !(l = c.next()).done; ) if (!a.has(l.value[0])) return !1
+ for (c = e.entries(); !(l = c.next()).done; )
+ if (!o(l.value[1], a.get(l.value[0]))) return !1
+ return !0
+ }
+ if (r && e instanceof Set && a instanceof Set) {
+ if (e.size !== a.size) return !1
+ for (c = e.entries(); !(l = c.next()).done; ) if (!a.has(l.value[0])) return !1
+ return !0
+ }
+ if (i && ArrayBuffer.isView(e) && ArrayBuffer.isView(a)) {
+ if ((s = e.length) != a.length) return !1
+ for (l = s; 0 !== l--; ) if (e[l] !== a[l]) return !1
+ return !0
+ }
+ if (e.constructor === RegExp) return e.source === a.source && e.flags === a.flags
+ if (e.valueOf !== Object.prototype.valueOf) return e.valueOf() === a.valueOf()
+ if (e.toString !== Object.prototype.toString) return e.toString() === a.toString()
+ if ((s = (u = Object.keys(e)).length) !== Object.keys(a).length) return !1
+ for (l = s; 0 !== l--; ) if (!Object.prototype.hasOwnProperty.call(a, u[l])) return !1
+ if (t && e instanceof Element) return !1
+ for (l = s; 0 !== l--; )
+ if (
+ (('_owner' !== u[l] && '__v' !== u[l] && '__o' !== u[l]) || !e.$$typeof) &&
+ !o(e[u[l]], a[u[l]])
+ )
+ return !1
+ return !0
+ }
+ return e !== e && a !== a
+ }
+ e.exports = function (e, t) {
+ try {
+ return o(e, t)
+ } catch (n) {
+ if ((n.message || '').match(/stack|recursion/i))
+ return console.warn('react-fast-compare cannot handle circular refs'), !1
+ throw n
+ }
+ }
+ },
+ 6923: function (e, n, r) {
+ 'use strict'
+ r.d(n, {
+ f$: function () {
+ return Ha
+ },
+ s6: function () {
+ return za
+ },
+ })
+ var i = r(7294)
+ function o(e, t, n) {
+ return (
+ t in e
+ ? Object.defineProperty(e, t, {
+ value: n,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0,
+ })
+ : (e[t] = n),
+ e
+ )
+ }
+ function a(e, t) {
+ return (
+ (function (e) {
+ if (Array.isArray(e)) return e
+ })(e) ||
+ (function (e, t) {
+ var n = e && (('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator'])
+ if (null == n) return
+ var r,
+ i,
+ o = [],
+ a = !0,
+ s = !1
+ try {
+ for (
+ n = n.call(e);
+ !(a = (r = n.next()).done) && (o.push(r.value), !t || o.length !== t);
+ a = !0
+ );
+ } catch (l) {
+ ;(s = !0), (i = l)
+ } finally {
+ try {
+ a || null == n.return || n.return()
+ } finally {
+ if (s) throw i
+ }
+ }
+ return o
+ })(e, t) ||
+ l(e, t) ||
+ (function () {
+ throw new TypeError(
+ 'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ })()
+ )
+ }
+ function s(e) {
+ return (
+ (function (e) {
+ if (Array.isArray(e)) return u(e)
+ })(e) ||
+ (function (e) {
+ if (
+ ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) ||
+ null != e['@@iterator']
+ )
+ return Array.from(e)
+ })(e) ||
+ l(e) ||
+ (function () {
+ throw new TypeError(
+ 'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ })()
+ )
+ }
+ function l(e, t) {
+ if (e) {
+ if ('string' === typeof e) return u(e, t)
+ var n = Object.prototype.toString.call(e).slice(8, -1)
+ return (
+ 'Object' === n && e.constructor && (n = e.constructor.name),
+ 'Map' === n || 'Set' === n
+ ? Array.from(e)
+ : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
+ ? u(e, t)
+ : void 0
+ )
+ }
+ }
+ function u(e, t) {
+ ;(null == t || t > e.length) && (t = e.length)
+ for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
+ return r
+ }
+ var c = function (e, t) {
+ var n = new Set(t)
+ return Object.assign.apply(
+ Object,
+ [{}].concat(
+ s(
+ Object.entries(e)
+ .filter(function (e) {
+ var t = a(e, 1)[0]
+ return !n.has(t)
+ })
+ .map(function (e) {
+ var t = a(e, 2)
+ return o({}, t[0], t[1])
+ }),
+ ),
+ ),
+ )
+ },
+ d = r(3405),
+ f = r.n(d)
+ function h(e) {
+ return (h =
+ 'function' === typeof Symbol && 'symbol' === typeof Symbol.iterator
+ ? function (e) {
+ return typeof e
+ }
+ : function (e) {
+ return e &&
+ 'function' === typeof Symbol &&
+ e.constructor === Symbol &&
+ e !== Symbol.prototype
+ ? 'symbol'
+ : typeof e
+ })(e)
+ }
+ function p(e, t) {
+ return (
+ (function (e) {
+ if (Array.isArray(e)) return e
+ })(e) ||
+ (function (e, t) {
+ var n = e && (('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator'])
+ if (null == n) return
+ var r,
+ i,
+ o = [],
+ a = !0,
+ s = !1
+ try {
+ for (
+ n = n.call(e);
+ !(a = (r = n.next()).done) && (o.push(r.value), !t || o.length !== t);
+ a = !0
+ );
+ } catch (l) {
+ ;(s = !0), (i = l)
+ } finally {
+ try {
+ a || null == n.return || n.return()
+ } finally {
+ if (s) throw i
+ }
+ }
+ return o
+ })(e, t) ||
+ m(e, t) ||
+ (function () {
+ throw new TypeError(
+ 'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ })()
+ )
+ }
+ function v(e) {
+ return (
+ (function (e) {
+ if (Array.isArray(e)) return g(e)
+ })(e) ||
+ (function (e) {
+ if (
+ ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) ||
+ null != e['@@iterator']
+ )
+ return Array.from(e)
+ })(e) ||
+ m(e) ||
+ (function () {
+ throw new TypeError(
+ 'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ })()
+ )
+ }
+ function m(e, t) {
+ if (e) {
+ if ('string' === typeof e) return g(e, t)
+ var n = Object.prototype.toString.call(e).slice(8, -1)
+ return (
+ 'Object' === n && e.constructor && (n = e.constructor.name),
+ 'Map' === n || 'Set' === n
+ ? Array.from(e)
+ : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
+ ? g(e, t)
+ : void 0
+ )
+ }
+ }
+ function g(e, t) {
+ ;(null == t || t > e.length) && (t = e.length)
+ for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
+ return r
+ }
+ var y = function (e, t) {
+ var n =
+ 'object' === h(t)
+ ? t
+ : {
+ wrapperElementType: t,
+ methodNames: (arguments.length <= 2 ? void 0 : arguments[2]) || void 0,
+ initPropNames: (arguments.length <= 3 ? void 0 : arguments[3]) || void 0,
+ },
+ r = n.wrapperElementType,
+ o = void 0 === r ? 'div' : r,
+ a = n.nodeMapper,
+ s =
+ void 0 === a
+ ? function (e) {
+ return e
+ }
+ : a,
+ l = n.methodNames,
+ u = void 0 === l ? [] : l,
+ d = n.initPropNames,
+ m = void 0 === d ? [] : d
+ return (0, i.forwardRef)(function (t, n) {
+ var r = (0, i.useRef)(),
+ a = p((0, i.useState)({}), 2),
+ l = a[0],
+ d = a[1]
+ ;(0, i.useEffect)(function () {
+ return d(t)
+ })
+ var h = (0, i.useMemo)(function () {
+ var n = f()(
+ m
+ .filter(function (e) {
+ return t.hasOwnProperty(e)
+ })
+ .map(function (e) {
+ return [e, t[e]]
+ }),
+ )
+ return e(n)
+ }, [])
+ ;(0, i.useLayoutEffect)(function () {
+ h(s(r.current))
+ }, []),
+ (0, i.useEffect)(function () {
+ return h._destructor instanceof Function ? h._destructor : void 0
+ }, [])
+ var g = (0, i.useCallback)(
+ function (e) {
+ for (
+ var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1;
+ r < t;
+ r++
+ )
+ n[r - 1] = arguments[r]
+ return h[e] instanceof Function ? h[e].apply(h, n) : void 0
+ },
+ [h],
+ ),
+ y = c(t, [].concat(v(u), v(m)))
+ return (
+ Object.keys(y)
+ .filter(function (e) {
+ return l[e] !== t[e]
+ })
+ .forEach(function (e) {
+ return g(e, t[e])
+ }),
+ (0, i.useImperativeHandle)(n, function () {
+ return f()(
+ u.map(function (e) {
+ return [
+ e,
+ function () {
+ for (var t = arguments.length, n = new Array(t), r = 0; r < t; r++)
+ n[r] = arguments[r]
+ return g.apply(void 0, [e].concat(n))
+ },
+ ]
+ }),
+ )
+ }),
+ i.createElement(o, { ref: r })
+ )
+ })
+ },
+ b = (r(5569), r(401), r(1359), r(4858)),
+ w = r(2539)
+ function x(e, t) {
+ var n = Object.keys(e)
+ if (Object.getOwnPropertySymbols) {
+ var r = Object.getOwnPropertySymbols(e)
+ t &&
+ (r = r.filter(function (t) {
+ return Object.getOwnPropertyDescriptor(e, t).enumerable
+ })),
+ n.push.apply(n, r)
+ }
+ return n
+ }
+ function E(e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = null != arguments[t] ? arguments[t] : {}
+ t % 2
+ ? x(Object(n), !0).forEach(function (t) {
+ k(e, t, n[t])
+ })
+ : Object.getOwnPropertyDescriptors
+ ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+ : x(Object(n)).forEach(function (t) {
+ Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
+ })
+ }
+ return e
+ }
+ function k(e, t, n) {
+ return (
+ t in e
+ ? Object.defineProperty(e, t, {
+ value: n,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0,
+ })
+ : (e[t] = n),
+ e
+ )
+ }
+ function T(e, t) {
+ return (
+ (function (e) {
+ if (Array.isArray(e)) return e
+ })(e) ||
+ (function (e, t) {
+ var n =
+ null == e
+ ? null
+ : ('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator']
+ if (null == n) return
+ var r,
+ i,
+ o = [],
+ a = !0,
+ s = !1
+ try {
+ for (
+ n = n.call(e);
+ !(a = (r = n.next()).done) && (o.push(r.value), !t || o.length !== t);
+ a = !0
+ );
+ } catch (l) {
+ ;(s = !0), (i = l)
+ } finally {
+ try {
+ a || null == n.return || n.return()
+ } finally {
+ if (s) throw i
+ }
+ }
+ return o
+ })(e, t) ||
+ O(e, t) ||
+ (function () {
+ throw new TypeError(
+ 'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ })()
+ )
+ }
+ function _(e) {
+ return (
+ (function (e) {
+ if (Array.isArray(e)) return C(e)
+ })(e) ||
+ (function (e) {
+ if (
+ ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) ||
+ null != e['@@iterator']
+ )
+ return Array.from(e)
+ })(e) ||
+ O(e) ||
+ (function () {
+ throw new TypeError(
+ 'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ })()
+ )
+ }
+ function O(e, t) {
+ if (e) {
+ if ('string' === typeof e) return C(e, t)
+ var n = Object.prototype.toString.call(e).slice(8, -1)
+ return (
+ 'Object' === n && e.constructor && (n = e.constructor.name),
+ 'Map' === n || 'Set' === n
+ ? Array.from(e)
+ : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
+ ? C(e, t)
+ : void 0
+ )
+ }
+ }
+ function C(e, t) {
+ ;(null == t || t > e.length) && (t = e.length)
+ for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
+ return r
+ }
+ !(function (e, t) {
+ void 0 === t && (t = {})
+ var n = t.insertAt
+ if (e && 'undefined' !== typeof document) {
+ var r = document.head || document.getElementsByTagName('head')[0],
+ i = document.createElement('style')
+ ;(i.type = 'text/css'),
+ 'top' === n && r.firstChild ? r.insertBefore(i, r.firstChild) : r.appendChild(i),
+ i.styleSheet ? (i.styleSheet.cssText = e) : i.appendChild(document.createTextNode(e))
+ }
+ })(
+ '.graph-nav-info {\n position: absolute;\n bottom: 5px;\n width: 100%;\n text-align: center;\n color: slategrey;\n opacity: 0.7;\n font-size: 10px;\n font-family: Sans-serif;\n z-index: 1000;\n}',
+ )
+ var A = (0, b.Z)({
+ props: {
+ width: {
+ default: window.innerWidth,
+ triggerUpdate: !1,
+ onChange: function (e, t) {
+ t.container && (t.container.style.width = e)
+ },
+ },
+ height: {
+ default: window.innerHeight,
+ triggerUpdate: !1,
+ onChange: function (e, t) {
+ t.container && (t.container.style.height = e)
+ },
+ },
+ jsonUrl: {},
+ graphData: { default: { nodes: [], links: [] } },
+ numDimensions: { default: 3 },
+ dagMode: {},
+ dagLevelDistance: {},
+ dagNodeFilter: {
+ default: function () {
+ return !0
+ },
+ },
+ onDagError: { default: void 0 },
+ backgroundColor: { default: '#002' },
+ showNavInfo: { default: !0 },
+ nodeRelSize: { default: 4 },
+ nodeId: { default: 'id' },
+ nodeLabel: { default: 'name' },
+ nodeDesc: { default: 'desc' },
+ onNodeHover: {},
+ onNodeClick: {},
+ nodeVal: { default: 'val' },
+ nodeResolution: { default: 8 },
+ nodeVisibility: { default: !0 },
+ nodeColor: { default: 'color' },
+ nodeAutoColorBy: {},
+ nodeOpacity: { default: 0.75 },
+ nodeThreeObject: {},
+ nodeThreeObjectExtend: { default: !1 },
+ linkSource: { default: 'source' },
+ linkTarget: { default: 'target' },
+ linkLabel: { default: 'name' },
+ linkDesc: { default: 'desc' },
+ onLinkHover: {},
+ onLinkClick: {},
+ linkVisibility: { default: !0 },
+ linkColor: { default: 'color' },
+ linkAutoColorBy: {},
+ linkOpacity: { default: 0.2 },
+ linkWidth: { default: 0 },
+ linkResolution: { default: 6 },
+ linkCurvature: { default: 0 },
+ linkCurveRotation: { default: 0 },
+ linkMaterial: {},
+ linkThreeObject: {},
+ linkThreeObjectExtend: { default: !1 },
+ linkPositionUpdate: {},
+ linkDirectionalArrowLength: { default: 0 },
+ linkDirectionalArrowColor: {},
+ linkDirectionalArrowRelPos: { default: 0.5 },
+ linkDirectionalArrowResolution: { default: 8 },
+ linkDirectionalParticles: { default: 0 },
+ linkDirectionalParticleSpeed: { default: 0.01 },
+ linkDirectionalParticleWidth: { default: 0.5 },
+ linkDirectionalParticleColor: {},
+ linkDirectionalParticleResolution: { default: 4 },
+ forceEngine: { default: 'd3' },
+ d3AlphaMin: { default: 0 },
+ d3AlphaDecay: { default: 0.0228 },
+ d3VelocityDecay: { default: 0.4 },
+ ngraphPhysics: {},
+ warmupTicks: { default: 0 },
+ cooldownTicks: {},
+ cooldownTime: { default: 15e3 },
+ onEngineTick: {},
+ onEngineStop: {},
+ },
+ methods: E(
+ E(
+ {},
+ Object.assign.apply(
+ Object,
+ [{}].concat(
+ _(
+ [
+ 'getGraphBbox',
+ 'emitParticle',
+ 'd3Force',
+ 'd3ReheatSimulation',
+ 'refresh',
+ ].map(function (e) {
+ return k({}, e, function (t) {
+ for (
+ var n = t.forcegraph.components.forcegraph,
+ r = arguments.length,
+ i = new Array(r > 1 ? r - 1 : 0),
+ o = 1;
+ o < r;
+ o++
+ )
+ i[o - 1] = arguments[o]
+ var a = n[e].apply(n, i)
+ return a === n ? this : a
+ })
+ }),
+ ),
+ ),
+ ),
+ ),
+ {},
+ {
+ _destructor: function () {
+ this.graphData({ nodes: [], links: [] })
+ },
+ },
+ ),
+ init: function (e, t) {
+ ;(e.innerHTML = ''),
+ (t.container = document.createElement('div')),
+ e.appendChild(t.container),
+ (t.container.style.position = 'relative'),
+ (t.container.style.width = t.width),
+ (t.container.style.height = t.height),
+ t.container.appendChild((t.navInfo = document.createElement('div'))),
+ (t.navInfo.className = 'graph-nav-info'),
+ (t.navInfo.textContent = 'Mouse drag: look, gamepad/arrow/wasd keys: move')
+ var n,
+ r,
+ i,
+ o,
+ a,
+ s = document.createElement('a-scene')
+ s.setAttribute('embedded', ''),
+ s.appendChild((t.sky = document.createElement('a-sky'))),
+ t.sky.setAttribute('radius', 3e3),
+ s.appendChild((n = document.createElement('a-entity'))),
+ n.setAttribute('position', '0 0 300'),
+ n.setAttribute('movement-controls', 'fly: true; speed: 7'),
+ n.appendChild((r = document.createElement('a-entity'))),
+ r.setAttribute('camera', ''),
+ r.setAttribute('position', '0 0 0'),
+ r.setAttribute('look-controls', 'reverseMouseDrag: false; pointerLockEnabled: false'),
+ r.appendChild((i = document.createElement('a-text'))),
+ i.setAttribute('position', '0 -0.3 -1'),
+ i.setAttribute('width', 2),
+ i.setAttribute('align', 'center'),
+ i.setAttribute('color', 'lavender'),
+ i.setAttribute('value', ''),
+ r.appendChild((o = document.createElement('a-text'))),
+ o.setAttribute('position', '0 -0.4 -1'),
+ o.setAttribute('width', 1.3),
+ o.setAttribute('align', 'center'),
+ o.setAttribute('color', 'lavender'),
+ o.setAttribute('value', ''),
+ s.appendChild((a = document.createElement('a-entity'))),
+ a.setAttribute('cursor', 'rayOrigin: mouse; mouseCursorStylesEnabled: true'),
+ a.setAttribute('raycaster', 'objects: [forcegraph]; interval: 100'),
+ ['left', 'right'].forEach(function (e) {
+ var t
+ n.appendChild((t = document.createElement('a-entity'))),
+ t.setAttribute('laser-controls', 'hand: '.concat(e)),
+ t.setAttribute(
+ 'raycaster',
+ 'objects: [forcegraph]; interval: 100; lineColor: steelblue; lineOpacity: 0.85',
+ )
+ }),
+ s.appendChild((t.forcegraph = document.createElement('a-entity'))),
+ t.forcegraph.setAttribute('forcegraph', null),
+ t.container.appendChild(s),
+ t.forcegraph.setAttribute(
+ 'forcegraph',
+ Object.assign.apply(
+ Object,
+ _(
+ ['node', 'link'].map(function (e) {
+ var n = { node: 'Node', link: 'Link' }[e]
+ return k({}, 'on'.concat(n, 'Hover'), function (r, a) {
+ var s = (r && (0, w.default)(t[''.concat(e, 'Label')])(r)) || '',
+ l = (r && (0, w.default)(t[''.concat(e, 'Desc')])(r)) || ''
+ i.setAttribute('value', s),
+ o.setAttribute('value', l),
+ t['on'.concat(n, 'Hover')] && t['on'.concat(n, 'Hover')](r, a)
+ })
+ }),
+ ),
+ ),
+ )
+ },
+ update: function (e, t) {
+ t.hasOwnProperty('backgroundColor') && e.sky.setAttribute('color', e.backgroundColor),
+ t.hasOwnProperty('showNavInfo') &&
+ (e.navInfo.style.display = e.showNavInfo ? null : 'none')
+ var n = [
+ 'jsonUrl',
+ 'numDimensions',
+ 'dagMode',
+ 'dagLevelDistance',
+ 'dagNodeFilter',
+ 'onDagError',
+ 'nodeRelSize',
+ 'nodeId',
+ 'onNodeClick',
+ 'nodeVal',
+ 'nodeResolution',
+ 'nodeVisibility',
+ 'nodeColor',
+ 'nodeAutoColorBy',
+ 'nodeOpacity',
+ 'nodeThreeObject',
+ 'nodeThreeObjectExtend',
+ 'linkSource',
+ 'linkTarget',
+ 'onLinkClick',
+ 'linkVisibility',
+ 'linkColor',
+ 'linkAutoColorBy',
+ 'linkOpacity',
+ 'linkWidth',
+ 'linkResolution',
+ 'linkCurvature',
+ 'linkCurveRotation',
+ 'linkMaterial',
+ 'linkThreeObject',
+ 'linkThreeObjectExtend',
+ 'linkPositionUpdate',
+ 'linkDirectionalArrowLength',
+ 'linkDirectionalArrowColor',
+ 'linkDirectionalArrowRelPos',
+ 'linkDirectionalArrowResolution',
+ 'linkDirectionalParticles',
+ 'linkDirectionalParticleSpeed',
+ 'linkDirectionalParticleWidth',
+ 'linkDirectionalParticleColor',
+ 'linkDirectionalParticleResolution',
+ 'forceEngine',
+ 'd3AlphaMin',
+ 'd3AlphaDecay',
+ 'd3VelocityDecay',
+ 'ngraphPhysics',
+ 'warmupTicks',
+ 'cooldownTicks',
+ 'cooldownTime',
+ 'onEngineTick',
+ 'onEngineStop',
+ ],
+ r = Object.assign.apply(
+ Object,
+ [{}].concat(
+ _(
+ Object.entries(e)
+ .filter(function (e) {
+ var r = T(e, 2),
+ i = r[0],
+ o = r[1]
+ return (
+ t.hasOwnProperty(i) && -1 !== n.indexOf(i) && void 0 !== o && null !== o
+ )
+ })
+ .map(function (e) {
+ var t = T(e, 2)
+ return k({}, t[0], t[1])
+ }),
+ ),
+ _(
+ Object.entries(e.graphData).map(function (e) {
+ var t = T(e, 2)
+ return k({}, t[0], t[1])
+ }),
+ ),
+ ),
+ )
+ e.forcegraph.setAttribute('forcegraph', r)
+ },
+ }),
+ S = r(5697),
+ P = r.n(S)
+ function M(e, t) {
+ var n = Object.keys(e)
+ if (Object.getOwnPropertySymbols) {
+ var r = Object.getOwnPropertySymbols(e)
+ t &&
+ (r = r.filter(function (t) {
+ return Object.getOwnPropertyDescriptor(e, t).enumerable
+ })),
+ n.push.apply(n, r)
+ }
+ return n
+ }
+ function R(e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = null != arguments[t] ? arguments[t] : {}
+ t % 2
+ ? M(Object(n), !0).forEach(function (t) {
+ j(e, t, n[t])
+ })
+ : Object.getOwnPropertyDescriptors
+ ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+ : M(Object(n)).forEach(function (t) {
+ Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
+ })
+ }
+ return e
+ }
+ function j(e, t, n) {
+ return (
+ t in e
+ ? Object.defineProperty(e, t, {
+ value: n,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0,
+ })
+ : (e[t] = n),
+ e
+ )
+ }
+ function D(e, t) {
+ return (
+ (function (e) {
+ if (Array.isArray(e)) return e
+ })(e) ||
+ (function (e, t) {
+ var n =
+ null == e
+ ? null
+ : ('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator']
+ if (null == n) return
+ var r,
+ i,
+ o = [],
+ a = !0,
+ s = !1
+ try {
+ for (
+ n = n.call(e);
+ !(a = (r = n.next()).done) && (o.push(r.value), !t || o.length !== t);
+ a = !0
+ );
+ } catch (l) {
+ ;(s = !0), (i = l)
+ } finally {
+ try {
+ a || null == n.return || n.return()
+ } finally {
+ if (s) throw i
+ }
+ }
+ return o
+ })(e, t) ||
+ N(e, t) ||
+ (function () {
+ throw new TypeError(
+ 'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ })()
+ )
+ }
+ function L(e) {
+ return (
+ (function (e) {
+ if (Array.isArray(e)) return I(e)
+ })(e) ||
+ (function (e) {
+ if (
+ ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) ||
+ null != e['@@iterator']
+ )
+ return Array.from(e)
+ })(e) ||
+ N(e) ||
+ (function () {
+ throw new TypeError(
+ 'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ })()
+ )
+ }
+ function N(e, t) {
+ if (e) {
+ if ('string' === typeof e) return I(e, t)
+ var n = Object.prototype.toString.call(e).slice(8, -1)
+ return (
+ 'Object' === n && e.constructor && (n = e.constructor.name),
+ 'Map' === n || 'Set' === n
+ ? Array.from(e)
+ : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
+ ? I(e, t)
+ : void 0
+ )
+ }
+ }
+ function I(e, t) {
+ ;(null == t || t > e.length) && (t = e.length)
+ for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
+ return r
+ }
+ var z = (0, b.Z)({
+ props: {
+ width: {},
+ height: {},
+ yOffset: { default: 1.5 },
+ glScale: { default: 200 },
+ jsonUrl: {},
+ graphData: { default: { nodes: [], links: [] } },
+ numDimensions: { default: 3 },
+ dagMode: {},
+ dagLevelDistance: {},
+ dagNodeFilter: {
+ default: function () {
+ return !0
+ },
+ },
+ onDagError: { default: void 0 },
+ nodeRelSize: { default: 4 },
+ nodeId: { default: 'id' },
+ nodeVal: { default: 'val' },
+ nodeResolution: { default: 8 },
+ nodeVisibility: { default: !0 },
+ nodeColor: { default: 'color' },
+ nodeAutoColorBy: {},
+ nodeOpacity: { default: 0.75 },
+ nodeThreeObject: {},
+ nodeThreeObjectExtend: { default: !1 },
+ linkSource: { default: 'source' },
+ linkTarget: { default: 'target' },
+ linkVisibility: { default: !0 },
+ linkColor: { default: 'color' },
+ linkAutoColorBy: {},
+ linkOpacity: { default: 0.2 },
+ linkWidth: { default: 0 },
+ linkResolution: { default: 6 },
+ linkCurvature: { default: 0 },
+ linkCurveRotation: { default: 0 },
+ linkMaterial: {},
+ linkThreeObject: {},
+ linkThreeObjectExtend: { default: !1 },
+ linkPositionUpdate: {},
+ linkDirectionalArrowLength: { default: 0 },
+ linkDirectionalArrowColor: {},
+ linkDirectionalArrowRelPos: { default: 0.5 },
+ linkDirectionalArrowResolution: { default: 8 },
+ linkDirectionalParticles: { default: 0 },
+ linkDirectionalParticleSpeed: { default: 0.01 },
+ linkDirectionalParticleWidth: { default: 0.5 },
+ linkDirectionalParticleColor: {},
+ linkDirectionalParticleResolution: { default: 4 },
+ onNodeHover: {},
+ onNodeClick: {},
+ onLinkHover: {},
+ onLinkClick: {},
+ forceEngine: { default: 'd3' },
+ d3AlphaMin: { default: 0 },
+ d3AlphaDecay: { default: 0.0228 },
+ d3VelocityDecay: { default: 0.4 },
+ ngraphPhysics: {},
+ warmupTicks: { default: 0 },
+ cooldownTicks: {},
+ cooldownTime: { default: 15e3 },
+ onEngineTick: {},
+ onEngineStop: {},
+ },
+ methods: R(
+ R(
+ {},
+ Object.assign.apply(
+ Object,
+ [{}].concat(
+ L(
+ [
+ 'getGraphBbox',
+ 'emitParticle',
+ 'd3Force',
+ 'd3ReheatSimulation',
+ 'refresh',
+ ].map(function (e) {
+ return j({}, e, function (t) {
+ for (
+ var n = t.forcegraph.components.forcegraph,
+ r = arguments.length,
+ i = new Array(r > 1 ? r - 1 : 0),
+ o = 1;
+ o < r;
+ o++
+ )
+ i[o - 1] = arguments[o]
+ var a = n[e].apply(n, i)
+ return a === n ? this : a
+ })
+ }),
+ ),
+ ),
+ ),
+ ),
+ {},
+ {
+ _destructor: function () {
+ this.graphData({ nodes: [], links: [] })
+ },
+ },
+ ),
+ init: function (e, t) {
+ var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
+ r = n.markerAttrs,
+ i = void 0 === r ? { preset: 'hiro' } : r
+ ;(e.innerHTML = ''),
+ (t.container = document.createElement('div')),
+ e.appendChild(t.container)
+ var o = document.createElement('a-scene')
+ o.setAttribute('embedded', ''), o.setAttribute('arjs', 'debugUIEnabled: false;')
+ var a,
+ s = document.createElement('a-marker')
+ Object.entries(i).forEach(function (e) {
+ var t = D(e, 2),
+ n = t[0],
+ r = t[1]
+ return s.setAttribute(n, r)
+ }),
+ o.appendChild(s),
+ o.appendChild((a = document.createElement('a-entity'))),
+ a.setAttribute('cursor'),
+ a.setAttribute('raycaster', 'objects: [forcegraph]'),
+ (t.forcegraph = document.createElement('a-entity')),
+ t.forcegraph.setAttribute('forcegraph', null),
+ s.appendChild(t.forcegraph)
+ var l = document.createElement('a-entity')
+ l.setAttribute('camera', ''), o.appendChild(l), t.container.appendChild(o)
+ },
+ update: function (e, t) {
+ t.hasOwnProperty('width') && e.width && (e.container.style.width = e.width),
+ t.hasOwnProperty('height') && e.height && (e.container.style.height = e.height),
+ t.hasOwnProperty('glScale') &&
+ e.forcegraph.setAttribute(
+ 'scale',
+ L(new Array(3))
+ .map(function () {
+ return 1 / e.glScale
+ })
+ .join(' '),
+ ),
+ t.hasOwnProperty('yOffset') &&
+ e.forcegraph.setAttribute('position', '0 '.concat(e.yOffset, ' 0'))
+ var n = [
+ 'jsonUrl',
+ 'numDimensions',
+ 'dagMode',
+ 'dagLevelDistance',
+ 'dagNodeFilter',
+ 'onDagError',
+ 'nodeRelSize',
+ 'nodeId',
+ 'nodeVal',
+ 'nodeResolution',
+ 'nodeVisibility',
+ 'nodeColor',
+ 'nodeAutoColorBy',
+ 'nodeOpacity',
+ 'nodeThreeObject',
+ 'nodeThreeObjectExtend',
+ 'linkSource',
+ 'linkTarget',
+ 'linkVisibility',
+ 'linkColor',
+ 'linkAutoColorBy',
+ 'linkOpacity',
+ 'linkWidth',
+ 'linkResolution',
+ 'linkCurvature',
+ 'linkCurveRotation',
+ 'linkMaterial',
+ 'linkThreeObject',
+ 'linkThreeObjectExtend',
+ 'linkPositionUpdate',
+ 'linkDirectionalArrowLength',
+ 'linkDirectionalArrowColor',
+ 'linkDirectionalArrowRelPos',
+ 'linkDirectionalArrowResolution',
+ 'linkDirectionalParticles',
+ 'linkDirectionalParticleSpeed',
+ 'linkDirectionalParticleWidth',
+ 'linkDirectionalParticleColor',
+ 'linkDirectionalParticleResolution',
+ 'onNodeHover',
+ 'onNodeClick',
+ 'onLinkHover',
+ 'onLinkClick',
+ 'forceEngine',
+ 'd3AlphaMin',
+ 'd3AlphaDecay',
+ 'd3VelocityDecay',
+ 'ngraphPhysics',
+ 'warmupTicks',
+ 'cooldownTicks',
+ 'cooldownTime',
+ 'onEngineTick',
+ 'onEngineStop',
+ ],
+ r = Object.assign.apply(
+ Object,
+ [{}].concat(
+ L(
+ Object.entries(e)
+ .filter(function (e) {
+ var r = D(e, 2),
+ i = r[0],
+ o = r[1]
+ return (
+ t.hasOwnProperty(i) && -1 !== n.indexOf(i) && void 0 !== o && null !== o
+ )
+ })
+ .map(function (e) {
+ var t = D(e, 2)
+ return j({}, t[0], t[1])
+ }),
+ ),
+ L(
+ Object.entries(e.graphData).map(function (e) {
+ var t = D(e, 2)
+ return j({}, t[0], t[1])
+ }),
+ ),
+ ),
+ )
+ e.forcegraph.setAttribute('forcegraph', r)
+ },
+ }),
+ H = r(2212)
+ const B = new H.JOQ(),
+ F = new H.iMs(),
+ V = new H.FM8(),
+ U = new H.Pa4(),
+ G = new H.Pa4(),
+ q = new H.Pa4(),
+ W = new H.yGw()
+ class K extends H.pBf {
+ constructor(e, t, n) {
+ super(), (n.style.touchAction = 'none')
+ let r = null,
+ i = null
+ const o = [],
+ a = this
+ function s() {
+ n.addEventListener('pointermove', u),
+ n.addEventListener('pointerdown', c),
+ n.addEventListener('pointerup', d),
+ n.addEventListener('pointerleave', d)
+ }
+ function l() {
+ n.removeEventListener('pointermove', u),
+ n.removeEventListener('pointerdown', c),
+ n.removeEventListener('pointerup', d),
+ n.removeEventListener('pointerleave', d),
+ (n.style.cursor = '')
+ }
+ function u(s) {
+ if (!1 !== a.enabled) {
+ if ((f(s), F.setFromCamera(V, t), r))
+ return (
+ F.ray.intersectPlane(B, G) && r.position.copy(G.sub(U).applyMatrix4(W)),
+ void a.dispatchEvent({ type: 'drag', object: r })
+ )
+ if ('mouse' === s.pointerType || 'pen' === s.pointerType)
+ if (
+ ((o.length = 0),
+ F.setFromCamera(V, t),
+ F.intersectObjects(e, !0, o),
+ o.length > 0)
+ ) {
+ const e = o[0].object
+ B.setFromNormalAndCoplanarPoint(
+ t.getWorldDirection(B.normal),
+ q.setFromMatrixPosition(e.matrixWorld),
+ ),
+ i !== e &&
+ null !== i &&
+ (a.dispatchEvent({ type: 'hoveroff', object: i }),
+ (n.style.cursor = 'auto'),
+ (i = null)),
+ i !== e &&
+ (a.dispatchEvent({ type: 'hoveron', object: e }),
+ (n.style.cursor = 'pointer'),
+ (i = e))
+ } else
+ null !== i &&
+ (a.dispatchEvent({ type: 'hoveroff', object: i }),
+ (n.style.cursor = 'auto'),
+ (i = null))
+ }
+ }
+ function c(i) {
+ !1 !== a.enabled &&
+ (f(i),
+ (o.length = 0),
+ F.setFromCamera(V, t),
+ F.intersectObjects(e, !0, o),
+ o.length > 0 &&
+ ((r = !0 === a.transformGroup ? e[0] : o[0].object),
+ B.setFromNormalAndCoplanarPoint(
+ t.getWorldDirection(B.normal),
+ q.setFromMatrixPosition(r.matrixWorld),
+ ),
+ F.ray.intersectPlane(B, G) &&
+ (W.copy(r.parent.matrixWorld).invert(),
+ U.copy(G).sub(q.setFromMatrixPosition(r.matrixWorld))),
+ (n.style.cursor = 'move'),
+ a.dispatchEvent({ type: 'dragstart', object: r })))
+ }
+ function d() {
+ !1 !== a.enabled &&
+ (r && (a.dispatchEvent({ type: 'dragend', object: r }), (r = null)),
+ (n.style.cursor = i ? 'pointer' : 'auto'))
+ }
+ function f(e) {
+ const t = n.getBoundingClientRect()
+ ;(V.x = ((e.clientX - t.left) / t.width) * 2 - 1),
+ (V.y = (-(e.clientY - t.top) / t.height) * 2 + 1)
+ }
+ s(),
+ (this.enabled = !0),
+ (this.transformGroup = !1),
+ (this.activate = s),
+ (this.deactivate = l),
+ (this.dispose = function () {
+ l()
+ }),
+ (this.getObjects = function () {
+ return e
+ })
+ }
+ }
+ var Z = r(1398)
+ const $ = { type: 'change' },
+ X = { type: 'start' },
+ Y = { type: 'end' }
+ class Q extends H.pBf {
+ constructor(e, t) {
+ super(),
+ void 0 === t &&
+ console.warn(
+ 'THREE.TrackballControls: The second parameter "domElement" is now mandatory.',
+ ),
+ t === document &&
+ console.error(
+ 'THREE.TrackballControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.',
+ )
+ const n = this,
+ r = -1,
+ i = 0,
+ o = 1,
+ a = 2,
+ s = 3,
+ l = 4
+ ;(this.object = e),
+ (this.domElement = t),
+ (this.domElement.style.touchAction = 'none'),
+ (this.enabled = !0),
+ (this.screen = { left: 0, top: 0, width: 0, height: 0 }),
+ (this.rotateSpeed = 1),
+ (this.zoomSpeed = 1.2),
+ (this.panSpeed = 0.3),
+ (this.noRotate = !1),
+ (this.noZoom = !1),
+ (this.noPan = !1),
+ (this.staticMoving = !1),
+ (this.dynamicDampingFactor = 0.2),
+ (this.minDistance = 0),
+ (this.maxDistance = 1 / 0),
+ (this.keys = ['KeyA', 'KeyS', 'KeyD']),
+ (this.mouseButtons = { LEFT: H.RsA.ROTATE, MIDDLE: H.RsA.DOLLY, RIGHT: H.RsA.PAN }),
+ (this.target = new H.Pa4())
+ const u = 1e-6,
+ c = new H.Pa4()
+ let d = 1,
+ f = r,
+ h = r,
+ p = 0,
+ v = 0,
+ m = 0
+ const g = new H.Pa4(),
+ y = new H.FM8(),
+ b = new H.FM8(),
+ w = new H.Pa4(),
+ x = new H.FM8(),
+ E = new H.FM8(),
+ k = new H.FM8(),
+ T = new H.FM8(),
+ _ = [],
+ O = {}
+ ;(this.target0 = this.target.clone()),
+ (this.position0 = this.object.position.clone()),
+ (this.up0 = this.object.up.clone()),
+ (this.zoom0 = this.object.zoom),
+ (this.handleResize = function () {
+ const e = n.domElement.getBoundingClientRect(),
+ t = n.domElement.ownerDocument.documentElement
+ ;(n.screen.left = e.left + window.pageXOffset - t.clientLeft),
+ (n.screen.top = e.top + window.pageYOffset - t.clientTop),
+ (n.screen.width = e.width),
+ (n.screen.height = e.height)
+ })
+ const C = (function () {
+ const e = new H.FM8()
+ return function (t, r) {
+ return (
+ e.set((t - n.screen.left) / n.screen.width, (r - n.screen.top) / n.screen.height),
+ e
+ )
+ }
+ })(),
+ A = (function () {
+ const e = new H.FM8()
+ return function (t, r) {
+ return (
+ e.set(
+ (t - 0.5 * n.screen.width - n.screen.left) / (0.5 * n.screen.width),
+ (n.screen.height + 2 * (n.screen.top - r)) / n.screen.width,
+ ),
+ e
+ )
+ }
+ })()
+ function S(e) {
+ !1 !== n.enabled &&
+ (0 === _.length &&
+ (n.domElement.ownerDocument.addEventListener('pointermove', P),
+ n.domElement.ownerDocument.addEventListener('pointerup', M)),
+ (function (e) {
+ _.push(e)
+ })(e),
+ 'touch' === e.pointerType
+ ? (function (e) {
+ switch ((z(e), _.length)) {
+ case 1:
+ ;(f = s), b.copy(A(_[0].pageX, _[0].pageY)), y.copy(b)
+ break
+ default:
+ f = l
+ const e = _[0].pageX - _[1].pageX,
+ t = _[0].pageY - _[1].pageY
+ v = p = Math.sqrt(e * e + t * t)
+ const n = (_[0].pageX + _[1].pageX) / 2,
+ r = (_[0].pageY + _[1].pageY) / 2
+ k.copy(C(n, r)), T.copy(k)
+ }
+ n.dispatchEvent(X)
+ })(e)
+ : (function (e) {
+ if (f === r)
+ switch (e.button) {
+ case n.mouseButtons.LEFT:
+ f = i
+ break
+ case n.mouseButtons.MIDDLE:
+ f = o
+ break
+ case n.mouseButtons.RIGHT:
+ f = a
+ break
+ default:
+ f = r
+ }
+ const t = h !== r ? h : f
+ t !== i || n.noRotate
+ ? t !== o || n.noZoom
+ ? t !== a || n.noPan || (k.copy(C(e.pageX, e.pageY)), T.copy(k))
+ : (x.copy(C(e.pageX, e.pageY)), E.copy(x))
+ : (b.copy(A(e.pageX, e.pageY)), y.copy(b))
+ n.domElement.ownerDocument.addEventListener('pointermove', P),
+ n.domElement.ownerDocument.addEventListener('pointerup', M),
+ n.dispatchEvent(X)
+ })(e))
+ }
+ function P(e) {
+ !1 !== n.enabled &&
+ ('touch' === e.pointerType
+ ? (function (e) {
+ switch ((z(e), _.length)) {
+ case 1:
+ y.copy(b), b.copy(A(e.pageX, e.pageY))
+ break
+ default:
+ const t = (function (e) {
+ const t = e.pointerId === _[0].pointerId ? _[1] : _[0]
+ return O[t.pointerId]
+ })(e),
+ n = e.pageX - t.x,
+ r = e.pageY - t.y
+ v = Math.sqrt(n * n + r * r)
+ const i = (e.pageX + t.x) / 2,
+ o = (e.pageY + t.y) / 2
+ T.copy(C(i, o))
+ }
+ })(e)
+ : (function (e) {
+ const t = h !== r ? h : f
+ t !== i || n.noRotate
+ ? t !== o || n.noZoom
+ ? t !== a || n.noPan || T.copy(C(e.pageX, e.pageY))
+ : E.copy(C(e.pageX, e.pageY))
+ : (y.copy(b), b.copy(A(e.pageX, e.pageY)))
+ })(e))
+ }
+ function M(e) {
+ !1 !== n.enabled &&
+ ('touch' === e.pointerType
+ ? (function (e) {
+ switch (_.length) {
+ case 0:
+ f = r
+ break
+ case 1:
+ ;(f = s), b.copy(A(e.pageX, e.pageY)), y.copy(b)
+ }
+ n.dispatchEvent(Y)
+ })(e)
+ : ((f = r),
+ n.domElement.ownerDocument.removeEventListener('pointermove', P),
+ n.domElement.ownerDocument.removeEventListener('pointerup', M),
+ n.dispatchEvent(Y)),
+ I(e),
+ 0 === _.length &&
+ (n.domElement.ownerDocument.removeEventListener('pointermove', P),
+ n.domElement.ownerDocument.removeEventListener('pointerup', M)))
+ }
+ function R(e) {
+ I(e)
+ }
+ function j(e) {
+ !1 !== n.enabled &&
+ (window.removeEventListener('keydown', j),
+ h === r &&
+ (e.code !== n.keys[i] || n.noRotate
+ ? e.code !== n.keys[o] || n.noZoom
+ ? e.code !== n.keys[a] || n.noPan || (h = a)
+ : (h = o)
+ : (h = i)))
+ }
+ function D() {
+ !1 !== n.enabled && ((h = r), window.addEventListener('keydown', j))
+ }
+ function L(e) {
+ if (!1 !== n.enabled && !0 !== n.noZoom) {
+ switch ((e.preventDefault(), e.deltaMode)) {
+ case 2:
+ x.y -= 0.025 * e.deltaY
+ break
+ case 1:
+ x.y -= 0.01 * e.deltaY
+ break
+ default:
+ x.y -= 25e-5 * e.deltaY
+ }
+ n.dispatchEvent(X), n.dispatchEvent(Y)
+ }
+ }
+ function N(e) {
+ !1 !== n.enabled && e.preventDefault()
+ }
+ function I(e) {
+ delete O[e.pointerId]
+ for (let t = 0; t < _.length; t++)
+ if (_[t].pointerId == e.pointerId) return void _.splice(t, 1)
+ }
+ function z(e) {
+ let t = O[e.pointerId]
+ void 0 === t && ((t = new H.FM8()), (O[e.pointerId] = t)), t.set(e.pageX, e.pageY)
+ }
+ ;(this.rotateCamera = (function () {
+ const e = new H.Pa4(),
+ t = new H._fP(),
+ r = new H.Pa4(),
+ i = new H.Pa4(),
+ o = new H.Pa4(),
+ a = new H.Pa4()
+ return function () {
+ a.set(b.x - y.x, b.y - y.y, 0)
+ let s = a.length()
+ s
+ ? (g.copy(n.object.position).sub(n.target),
+ r.copy(g).normalize(),
+ i.copy(n.object.up).normalize(),
+ o.crossVectors(i, r).normalize(),
+ i.setLength(b.y - y.y),
+ o.setLength(b.x - y.x),
+ a.copy(i.add(o)),
+ e.crossVectors(a, g).normalize(),
+ (s *= n.rotateSpeed),
+ t.setFromAxisAngle(e, s),
+ g.applyQuaternion(t),
+ n.object.up.applyQuaternion(t),
+ w.copy(e),
+ (m = s))
+ : !n.staticMoving &&
+ m &&
+ ((m *= Math.sqrt(1 - n.dynamicDampingFactor)),
+ g.copy(n.object.position).sub(n.target),
+ t.setFromAxisAngle(w, m),
+ g.applyQuaternion(t),
+ n.object.up.applyQuaternion(t)),
+ y.copy(b)
+ }
+ })()),
+ (this.zoomCamera = function () {
+ let e
+ f === l
+ ? ((e = p / v),
+ (p = v),
+ n.object.isPerspectiveCamera
+ ? g.multiplyScalar(e)
+ : n.object.isOrthographicCamera
+ ? ((n.object.zoom *= e), n.object.updateProjectionMatrix())
+ : console.warn('THREE.TrackballControls: Unsupported camera type'))
+ : ((e = 1 + (E.y - x.y) * n.zoomSpeed),
+ 1 !== e &&
+ e > 0 &&
+ (n.object.isPerspectiveCamera
+ ? g.multiplyScalar(e)
+ : n.object.isOrthographicCamera
+ ? ((n.object.zoom /= e), n.object.updateProjectionMatrix())
+ : console.warn('THREE.TrackballControls: Unsupported camera type')),
+ n.staticMoving ? x.copy(E) : (x.y += (E.y - x.y) * this.dynamicDampingFactor))
+ }),
+ (this.panCamera = (function () {
+ const e = new H.FM8(),
+ t = new H.Pa4(),
+ r = new H.Pa4()
+ return function () {
+ if ((e.copy(T).sub(k), e.lengthSq())) {
+ if (n.object.isOrthographicCamera) {
+ const t =
+ (n.object.right - n.object.left) / n.object.zoom / n.domElement.clientWidth,
+ r =
+ (n.object.top - n.object.bottom) / n.object.zoom / n.domElement.clientWidth
+ ;(e.x *= t), (e.y *= r)
+ }
+ e.multiplyScalar(g.length() * n.panSpeed),
+ r.copy(g).cross(n.object.up).setLength(e.x),
+ r.add(t.copy(n.object.up).setLength(e.y)),
+ n.object.position.add(r),
+ n.target.add(r),
+ n.staticMoving
+ ? k.copy(T)
+ : k.add(e.subVectors(T, k).multiplyScalar(n.dynamicDampingFactor))
+ }
+ }
+ })()),
+ (this.checkDistances = function () {
+ ;(n.noZoom && n.noPan) ||
+ (g.lengthSq() > n.maxDistance * n.maxDistance &&
+ (n.object.position.addVectors(n.target, g.setLength(n.maxDistance)), x.copy(E)),
+ g.lengthSq() < n.minDistance * n.minDistance &&
+ (n.object.position.addVectors(n.target, g.setLength(n.minDistance)), x.copy(E)))
+ }),
+ (this.update = function () {
+ g.subVectors(n.object.position, n.target),
+ n.noRotate || n.rotateCamera(),
+ n.noZoom || n.zoomCamera(),
+ n.noPan || n.panCamera(),
+ n.object.position.addVectors(n.target, g),
+ n.object.isPerspectiveCamera
+ ? (n.checkDistances(),
+ n.object.lookAt(n.target),
+ c.distanceToSquared(n.object.position) > u &&
+ (n.dispatchEvent($), c.copy(n.object.position)))
+ : n.object.isOrthographicCamera
+ ? (n.object.lookAt(n.target),
+ (c.distanceToSquared(n.object.position) > u || d !== n.object.zoom) &&
+ (n.dispatchEvent($), c.copy(n.object.position), (d = n.object.zoom)))
+ : console.warn('THREE.TrackballControls: Unsupported camera type')
+ }),
+ (this.reset = function () {
+ ;(f = r),
+ (h = r),
+ n.target.copy(n.target0),
+ n.object.position.copy(n.position0),
+ n.object.up.copy(n.up0),
+ (n.object.zoom = n.zoom0),
+ n.object.updateProjectionMatrix(),
+ g.subVectors(n.object.position, n.target),
+ n.object.lookAt(n.target),
+ n.dispatchEvent($),
+ c.copy(n.object.position),
+ (d = n.object.zoom)
+ }),
+ (this.dispose = function () {
+ n.domElement.removeEventListener('contextmenu', N),
+ n.domElement.removeEventListener('pointerdown', S),
+ n.domElement.removeEventListener('pointercancel', R),
+ n.domElement.removeEventListener('wheel', L),
+ window.removeEventListener('keydown', j),
+ window.removeEventListener('keyup', D)
+ }),
+ this.domElement.addEventListener('contextmenu', N),
+ this.domElement.addEventListener('pointerdown', S),
+ this.domElement.addEventListener('pointercancel', R),
+ this.domElement.addEventListener('wheel', L, { passive: !1 }),
+ window.addEventListener('keydown', j),
+ window.addEventListener('keyup', D),
+ this.handleResize(),
+ this.update()
+ }
+ }
+ const J = { type: 'change' },
+ ee = { type: 'start' },
+ te = { type: 'end' }
+ class ne extends H.pBf {
+ constructor(e, t) {
+ super(),
+ void 0 === t &&
+ console.warn(
+ 'THREE.OrbitControls: The second parameter "domElement" is now mandatory.',
+ ),
+ t === document &&
+ console.error(
+ 'THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.',
+ ),
+ (this.object = e),
+ (this.domElement = t),
+ (this.domElement.style.touchAction = 'none'),
+ (this.enabled = !0),
+ (this.target = new H.Pa4()),
+ (this.minDistance = 0),
+ (this.maxDistance = 1 / 0),
+ (this.minZoom = 0),
+ (this.maxZoom = 1 / 0),
+ (this.minPolarAngle = 0),
+ (this.maxPolarAngle = Math.PI),
+ (this.minAzimuthAngle = -1 / 0),
+ (this.maxAzimuthAngle = 1 / 0),
+ (this.enableDamping = !1),
+ (this.dampingFactor = 0.05),
+ (this.enableZoom = !0),
+ (this.zoomSpeed = 1),
+ (this.enableRotate = !0),
+ (this.rotateSpeed = 1),
+ (this.enablePan = !0),
+ (this.panSpeed = 1),
+ (this.screenSpacePanning = !0),
+ (this.keyPanSpeed = 7),
+ (this.autoRotate = !1),
+ (this.autoRotateSpeed = 2),
+ (this.keys = {
+ LEFT: 'ArrowLeft',
+ UP: 'ArrowUp',
+ RIGHT: 'ArrowRight',
+ BOTTOM: 'ArrowDown',
+ }),
+ (this.mouseButtons = { LEFT: H.RsA.ROTATE, MIDDLE: H.RsA.DOLLY, RIGHT: H.RsA.PAN }),
+ (this.touches = { ONE: H.QmN.ROTATE, TWO: H.QmN.DOLLY_PAN }),
+ (this.target0 = this.target.clone()),
+ (this.position0 = this.object.position.clone()),
+ (this.zoom0 = this.object.zoom),
+ (this._domElementKeyEvents = null),
+ (this.getPolarAngle = function () {
+ return a.phi
+ }),
+ (this.getAzimuthalAngle = function () {
+ return a.theta
+ }),
+ (this.listenToKeyEvents = function (e) {
+ e.addEventListener('keydown', G), (this._domElementKeyEvents = e)
+ }),
+ (this.saveState = function () {
+ n.target0.copy(n.target),
+ n.position0.copy(n.object.position),
+ (n.zoom0 = n.object.zoom)
+ }),
+ (this.reset = function () {
+ n.target.copy(n.target0),
+ n.object.position.copy(n.position0),
+ (n.object.zoom = n.zoom0),
+ n.object.updateProjectionMatrix(),
+ n.dispatchEvent(J),
+ n.update(),
+ (i = r.NONE)
+ }),
+ (this.update = (function () {
+ const t = new H.Pa4(),
+ d = new H._fP().setFromUnitVectors(e.up, new H.Pa4(0, 1, 0)),
+ f = d.clone().invert(),
+ h = new H.Pa4(),
+ p = new H._fP(),
+ v = 2 * Math.PI
+ return function () {
+ const e = n.object.position
+ t.copy(e).sub(n.target),
+ t.applyQuaternion(d),
+ a.setFromVector3(t),
+ n.autoRotate && i === r.NONE && k(((2 * Math.PI) / 60 / 60) * n.autoRotateSpeed),
+ n.enableDamping
+ ? ((a.theta += s.theta * n.dampingFactor), (a.phi += s.phi * n.dampingFactor))
+ : ((a.theta += s.theta), (a.phi += s.phi))
+ let m = n.minAzimuthAngle,
+ g = n.maxAzimuthAngle
+ return (
+ isFinite(m) &&
+ isFinite(g) &&
+ (m < -Math.PI ? (m += v) : m > Math.PI && (m -= v),
+ g < -Math.PI ? (g += v) : g > Math.PI && (g -= v),
+ (a.theta =
+ m <= g
+ ? Math.max(m, Math.min(g, a.theta))
+ : a.theta > (m + g) / 2
+ ? Math.max(m, a.theta)
+ : Math.min(g, a.theta))),
+ (a.phi = Math.max(n.minPolarAngle, Math.min(n.maxPolarAngle, a.phi))),
+ a.makeSafe(),
+ (a.radius *= l),
+ (a.radius = Math.max(n.minDistance, Math.min(n.maxDistance, a.radius))),
+ !0 === n.enableDamping
+ ? n.target.addScaledVector(u, n.dampingFactor)
+ : n.target.add(u),
+ t.setFromSpherical(a),
+ t.applyQuaternion(f),
+ e.copy(n.target).add(t),
+ n.object.lookAt(n.target),
+ !0 === n.enableDamping
+ ? ((s.theta *= 1 - n.dampingFactor),
+ (s.phi *= 1 - n.dampingFactor),
+ u.multiplyScalar(1 - n.dampingFactor))
+ : (s.set(0, 0, 0), u.set(0, 0, 0)),
+ (l = 1),
+ !!(
+ c ||
+ h.distanceToSquared(n.object.position) > o ||
+ 8 * (1 - p.dot(n.object.quaternion)) > o
+ ) &&
+ (n.dispatchEvent(J),
+ h.copy(n.object.position),
+ p.copy(n.object.quaternion),
+ (c = !1),
+ !0)
+ )
+ }
+ })()),
+ (this.dispose = function () {
+ n.domElement.removeEventListener('contextmenu', q),
+ n.domElement.removeEventListener('pointerdown', z),
+ n.domElement.removeEventListener('pointercancel', V),
+ n.domElement.removeEventListener('wheel', U),
+ n.domElement.ownerDocument.removeEventListener('pointermove', B),
+ n.domElement.ownerDocument.removeEventListener('pointerup', F),
+ null !== n._domElementKeyEvents &&
+ n._domElementKeyEvents.removeEventListener('keydown', G)
+ })
+ const n = this,
+ r = {
+ NONE: -1,
+ ROTATE: 0,
+ DOLLY: 1,
+ PAN: 2,
+ TOUCH_ROTATE: 3,
+ TOUCH_PAN: 4,
+ TOUCH_DOLLY_PAN: 5,
+ TOUCH_DOLLY_ROTATE: 6,
+ }
+ let i = r.NONE
+ const o = 1e-6,
+ a = new H.$V(),
+ s = new H.$V()
+ let l = 1
+ const u = new H.Pa4()
+ let c = !1
+ const d = new H.FM8(),
+ f = new H.FM8(),
+ h = new H.FM8(),
+ p = new H.FM8(),
+ v = new H.FM8(),
+ m = new H.FM8(),
+ g = new H.FM8(),
+ y = new H.FM8(),
+ b = new H.FM8(),
+ w = [],
+ x = {}
+ function E() {
+ return Math.pow(0.95, n.zoomSpeed)
+ }
+ function k(e) {
+ s.theta -= e
+ }
+ function T(e) {
+ s.phi -= e
+ }
+ const _ = (function () {
+ const e = new H.Pa4()
+ return function (t, n) {
+ e.setFromMatrixColumn(n, 0), e.multiplyScalar(-t), u.add(e)
+ }
+ })(),
+ O = (function () {
+ const e = new H.Pa4()
+ return function (t, r) {
+ !0 === n.screenSpacePanning
+ ? e.setFromMatrixColumn(r, 1)
+ : (e.setFromMatrixColumn(r, 0), e.crossVectors(n.object.up, e)),
+ e.multiplyScalar(t),
+ u.add(e)
+ }
+ })(),
+ C = (function () {
+ const e = new H.Pa4()
+ return function (t, r) {
+ const i = n.domElement
+ if (n.object.isPerspectiveCamera) {
+ const o = n.object.position
+ e.copy(o).sub(n.target)
+ let a = e.length()
+ ;(a *= Math.tan(((n.object.fov / 2) * Math.PI) / 180)),
+ _((2 * t * a) / i.clientHeight, n.object.matrix),
+ O((2 * r * a) / i.clientHeight, n.object.matrix)
+ } else
+ n.object.isOrthographicCamera
+ ? (_(
+ (t * (n.object.right - n.object.left)) / n.object.zoom / i.clientWidth,
+ n.object.matrix,
+ ),
+ O(
+ (r * (n.object.top - n.object.bottom)) / n.object.zoom / i.clientHeight,
+ n.object.matrix,
+ ))
+ : (console.warn(
+ 'WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.',
+ ),
+ (n.enablePan = !1))
+ }
+ })()
+ function A(e) {
+ n.object.isPerspectiveCamera
+ ? (l /= e)
+ : n.object.isOrthographicCamera
+ ? ((n.object.zoom = Math.max(n.minZoom, Math.min(n.maxZoom, n.object.zoom * e))),
+ n.object.updateProjectionMatrix(),
+ (c = !0))
+ : (console.warn(
+ 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.',
+ ),
+ (n.enableZoom = !1))
+ }
+ function S(e) {
+ n.object.isPerspectiveCamera
+ ? (l *= e)
+ : n.object.isOrthographicCamera
+ ? ((n.object.zoom = Math.max(n.minZoom, Math.min(n.maxZoom, n.object.zoom / e))),
+ n.object.updateProjectionMatrix(),
+ (c = !0))
+ : (console.warn(
+ 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.',
+ ),
+ (n.enableZoom = !1))
+ }
+ function P(e) {
+ d.set(e.clientX, e.clientY)
+ }
+ function M(e) {
+ p.set(e.clientX, e.clientY)
+ }
+ function R() {
+ if (1 === w.length) d.set(w[0].pageX, w[0].pageY)
+ else {
+ const e = 0.5 * (w[0].pageX + w[1].pageX),
+ t = 0.5 * (w[0].pageY + w[1].pageY)
+ d.set(e, t)
+ }
+ }
+ function j() {
+ if (1 === w.length) p.set(w[0].pageX, w[0].pageY)
+ else {
+ const e = 0.5 * (w[0].pageX + w[1].pageX),
+ t = 0.5 * (w[0].pageY + w[1].pageY)
+ p.set(e, t)
+ }
+ }
+ function D() {
+ const e = w[0].pageX - w[1].pageX,
+ t = w[0].pageY - w[1].pageY,
+ n = Math.sqrt(e * e + t * t)
+ g.set(0, n)
+ }
+ function L(e) {
+ if (1 == w.length) f.set(e.pageX, e.pageY)
+ else {
+ const t = Z(e),
+ n = 0.5 * (e.pageX + t.x),
+ r = 0.5 * (e.pageY + t.y)
+ f.set(n, r)
+ }
+ h.subVectors(f, d).multiplyScalar(n.rotateSpeed)
+ const t = n.domElement
+ k((2 * Math.PI * h.x) / t.clientHeight),
+ T((2 * Math.PI * h.y) / t.clientHeight),
+ d.copy(f)
+ }
+ function N(e) {
+ if (1 === w.length) v.set(e.pageX, e.pageY)
+ else {
+ const t = Z(e),
+ n = 0.5 * (e.pageX + t.x),
+ r = 0.5 * (e.pageY + t.y)
+ v.set(n, r)
+ }
+ m.subVectors(v, p).multiplyScalar(n.panSpeed), C(m.x, m.y), p.copy(v)
+ }
+ function I(e) {
+ const t = Z(e),
+ r = e.pageX - t.x,
+ i = e.pageY - t.y,
+ o = Math.sqrt(r * r + i * i)
+ y.set(0, o), b.set(0, Math.pow(y.y / g.y, n.zoomSpeed)), A(b.y), g.copy(y)
+ }
+ function z(e) {
+ !1 !== n.enabled &&
+ (0 === w.length &&
+ (n.domElement.ownerDocument.addEventListener('pointermove', B),
+ n.domElement.ownerDocument.addEventListener('pointerup', F)),
+ (function (e) {
+ w.push(e)
+ })(e),
+ 'touch' === e.pointerType
+ ? (function (e) {
+ switch ((K(e), w.length)) {
+ case 1:
+ switch (n.touches.ONE) {
+ case H.QmN.ROTATE:
+ if (!1 === n.enableRotate) return
+ R(), (i = r.TOUCH_ROTATE)
+ break
+ case H.QmN.PAN:
+ if (!1 === n.enablePan) return
+ j(), (i = r.TOUCH_PAN)
+ break
+ default:
+ i = r.NONE
+ }
+ break
+ case 2:
+ switch (n.touches.TWO) {
+ case H.QmN.DOLLY_PAN:
+ if (!1 === n.enableZoom && !1 === n.enablePan) return
+ n.enableZoom && D(), n.enablePan && j(), (i = r.TOUCH_DOLLY_PAN)
+ break
+ case H.QmN.DOLLY_ROTATE:
+ if (!1 === n.enableZoom && !1 === n.enableRotate) return
+ n.enableZoom && D(), n.enableRotate && R(), (i = r.TOUCH_DOLLY_ROTATE)
+ break
+ default:
+ i = r.NONE
+ }
+ break
+ default:
+ i = r.NONE
+ }
+ i !== r.NONE && n.dispatchEvent(ee)
+ })(e)
+ : (function (e) {
+ let t
+ switch (e.button) {
+ case 0:
+ t = n.mouseButtons.LEFT
+ break
+ case 1:
+ t = n.mouseButtons.MIDDLE
+ break
+ case 2:
+ t = n.mouseButtons.RIGHT
+ break
+ default:
+ t = -1
+ }
+ switch (t) {
+ case H.RsA.DOLLY:
+ if (!1 === n.enableZoom) return
+ !(function (e) {
+ g.set(e.clientX, e.clientY)
+ })(e),
+ (i = r.DOLLY)
+ break
+ case H.RsA.ROTATE:
+ if (e.ctrlKey || e.metaKey || e.shiftKey) {
+ if (!1 === n.enablePan) return
+ M(e), (i = r.PAN)
+ } else {
+ if (!1 === n.enableRotate) return
+ P(e), (i = r.ROTATE)
+ }
+ break
+ case H.RsA.PAN:
+ if (e.ctrlKey || e.metaKey || e.shiftKey) {
+ if (!1 === n.enableRotate) return
+ P(e), (i = r.ROTATE)
+ } else {
+ if (!1 === n.enablePan) return
+ M(e), (i = r.PAN)
+ }
+ break
+ default:
+ i = r.NONE
+ }
+ i !== r.NONE && n.dispatchEvent(ee)
+ })(e))
+ }
+ function B(e) {
+ !1 !== n.enabled &&
+ ('touch' === e.pointerType
+ ? (function (e) {
+ switch ((K(e), i)) {
+ case r.TOUCH_ROTATE:
+ if (!1 === n.enableRotate) return
+ L(e), n.update()
+ break
+ case r.TOUCH_PAN:
+ if (!1 === n.enablePan) return
+ N(e), n.update()
+ break
+ case r.TOUCH_DOLLY_PAN:
+ if (!1 === n.enableZoom && !1 === n.enablePan) return
+ !(function (e) {
+ n.enableZoom && I(e), n.enablePan && N(e)
+ })(e),
+ n.update()
+ break
+ case r.TOUCH_DOLLY_ROTATE:
+ if (!1 === n.enableZoom && !1 === n.enableRotate) return
+ !(function (e) {
+ n.enableZoom && I(e), n.enableRotate && L(e)
+ })(e),
+ n.update()
+ break
+ default:
+ i = r.NONE
+ }
+ })(e)
+ : (function (e) {
+ if (!1 === n.enabled) return
+ switch (i) {
+ case r.ROTATE:
+ if (!1 === n.enableRotate) return
+ !(function (e) {
+ f.set(e.clientX, e.clientY),
+ h.subVectors(f, d).multiplyScalar(n.rotateSpeed)
+ const t = n.domElement
+ k((2 * Math.PI * h.x) / t.clientHeight),
+ T((2 * Math.PI * h.y) / t.clientHeight),
+ d.copy(f),
+ n.update()
+ })(e)
+ break
+ case r.DOLLY:
+ if (!1 === n.enableZoom) return
+ !(function (e) {
+ y.set(e.clientX, e.clientY),
+ b.subVectors(y, g),
+ b.y > 0 ? A(E()) : b.y < 0 && S(E()),
+ g.copy(y),
+ n.update()
+ })(e)
+ break
+ case r.PAN:
+ if (!1 === n.enablePan) return
+ !(function (e) {
+ v.set(e.clientX, e.clientY),
+ m.subVectors(v, p).multiplyScalar(n.panSpeed),
+ C(m.x, m.y),
+ p.copy(v),
+ n.update()
+ })(e)
+ }
+ })(e))
+ }
+ function F(e) {
+ !1 !== n.enabled &&
+ (e.pointerType,
+ n.dispatchEvent(te),
+ (i = r.NONE),
+ W(e),
+ 0 === w.length &&
+ (n.domElement.ownerDocument.removeEventListener('pointermove', B),
+ n.domElement.ownerDocument.removeEventListener('pointerup', F)))
+ }
+ function V(e) {
+ W(e)
+ }
+ function U(e) {
+ !1 === n.enabled ||
+ !1 === n.enableZoom ||
+ (i !== r.NONE && i !== r.ROTATE) ||
+ (e.preventDefault(),
+ n.dispatchEvent(ee),
+ (function (e) {
+ e.deltaY < 0 ? S(E()) : e.deltaY > 0 && A(E()), n.update()
+ })(e),
+ n.dispatchEvent(te))
+ }
+ function G(e) {
+ !1 !== n.enabled &&
+ !1 !== n.enablePan &&
+ (function (e) {
+ let t = !1
+ switch (e.code) {
+ case n.keys.UP:
+ C(0, n.keyPanSpeed), (t = !0)
+ break
+ case n.keys.BOTTOM:
+ C(0, -n.keyPanSpeed), (t = !0)
+ break
+ case n.keys.LEFT:
+ C(n.keyPanSpeed, 0), (t = !0)
+ break
+ case n.keys.RIGHT:
+ C(-n.keyPanSpeed, 0), (t = !0)
+ }
+ t && (e.preventDefault(), n.update())
+ })(e)
+ }
+ function q(e) {
+ !1 !== n.enabled && e.preventDefault()
+ }
+ function W(e) {
+ delete x[e.pointerId]
+ for (let t = 0; t < w.length; t++)
+ if (w[t].pointerId == e.pointerId) return void w.splice(t, 1)
+ }
+ function K(e) {
+ let t = x[e.pointerId]
+ void 0 === t && ((t = new H.FM8()), (x[e.pointerId] = t)), t.set(e.pageX, e.pageY)
+ }
+ function Z(e) {
+ const t = e.pointerId === w[0].pointerId ? w[1] : w[0]
+ return x[t.pointerId]
+ }
+ n.domElement.addEventListener('contextmenu', q),
+ n.domElement.addEventListener('pointerdown', z),
+ n.domElement.addEventListener('pointercancel', V),
+ n.domElement.addEventListener('wheel', U, { passive: !1 }),
+ this.update()
+ }
+ }
+ const re = { type: 'change' }
+ class ie extends H.pBf {
+ constructor(e, t) {
+ super(),
+ void 0 === t &&
+ (console.warn(
+ 'THREE.FlyControls: The second parameter "domElement" is now mandatory.',
+ ),
+ (t = document)),
+ (this.object = e),
+ (this.domElement = t),
+ (this.movementSpeed = 1),
+ (this.rollSpeed = 0.005),
+ (this.dragToLook = !1),
+ (this.autoForward = !1)
+ const n = this,
+ r = 1e-6,
+ i = new H._fP(),
+ o = new H.Pa4()
+ ;(this.tmpQuaternion = new H._fP()),
+ (this.mouseStatus = 0),
+ (this.moveState = {
+ up: 0,
+ down: 0,
+ left: 0,
+ right: 0,
+ forward: 0,
+ back: 0,
+ pitchUp: 0,
+ pitchDown: 0,
+ yawLeft: 0,
+ yawRight: 0,
+ rollLeft: 0,
+ rollRight: 0,
+ }),
+ (this.moveVector = new H.Pa4(0, 0, 0)),
+ (this.rotationVector = new H.Pa4(0, 0, 0)),
+ (this.keydown = function (e) {
+ if (!e.altKey) {
+ switch (e.code) {
+ case 'ShiftLeft':
+ case 'ShiftRight':
+ this.movementSpeedMultiplier = 0.1
+ break
+ case 'KeyW':
+ this.moveState.forward = 1
+ break
+ case 'KeyS':
+ this.moveState.back = 1
+ break
+ case 'KeyA':
+ this.moveState.left = 1
+ break
+ case 'KeyD':
+ this.moveState.right = 1
+ break
+ case 'KeyR':
+ this.moveState.up = 1
+ break
+ case 'KeyF':
+ this.moveState.down = 1
+ break
+ case 'ArrowUp':
+ this.moveState.pitchUp = 1
+ break
+ case 'ArrowDown':
+ this.moveState.pitchDown = 1
+ break
+ case 'ArrowLeft':
+ this.moveState.yawLeft = 1
+ break
+ case 'ArrowRight':
+ this.moveState.yawRight = 1
+ break
+ case 'KeyQ':
+ this.moveState.rollLeft = 1
+ break
+ case 'KeyE':
+ this.moveState.rollRight = 1
+ }
+ this.updateMovementVector(), this.updateRotationVector()
+ }
+ }),
+ (this.keyup = function (e) {
+ switch (e.code) {
+ case 'ShiftLeft':
+ case 'ShiftRight':
+ this.movementSpeedMultiplier = 1
+ break
+ case 'KeyW':
+ this.moveState.forward = 0
+ break
+ case 'KeyS':
+ this.moveState.back = 0
+ break
+ case 'KeyA':
+ this.moveState.left = 0
+ break
+ case 'KeyD':
+ this.moveState.right = 0
+ break
+ case 'KeyR':
+ this.moveState.up = 0
+ break
+ case 'KeyF':
+ this.moveState.down = 0
+ break
+ case 'ArrowUp':
+ this.moveState.pitchUp = 0
+ break
+ case 'ArrowDown':
+ this.moveState.pitchDown = 0
+ break
+ case 'ArrowLeft':
+ this.moveState.yawLeft = 0
+ break
+ case 'ArrowRight':
+ this.moveState.yawRight = 0
+ break
+ case 'KeyQ':
+ this.moveState.rollLeft = 0
+ break
+ case 'KeyE':
+ this.moveState.rollRight = 0
+ }
+ this.updateMovementVector(), this.updateRotationVector()
+ }),
+ (this.mousedown = function (e) {
+ if (this.dragToLook) this.mouseStatus++
+ else {
+ switch (e.button) {
+ case 0:
+ this.moveState.forward = 1
+ break
+ case 2:
+ this.moveState.back = 1
+ }
+ this.updateMovementVector()
+ }
+ }),
+ (this.mousemove = function (e) {
+ if (!this.dragToLook || this.mouseStatus > 0) {
+ const t = this.getContainerDimensions(),
+ n = t.size[0] / 2,
+ r = t.size[1] / 2
+ ;(this.moveState.yawLeft = -(e.pageX - t.offset[0] - n) / n),
+ (this.moveState.pitchDown = (e.pageY - t.offset[1] - r) / r),
+ this.updateRotationVector()
+ }
+ }),
+ (this.mouseup = function (e) {
+ if (this.dragToLook)
+ this.mouseStatus--, (this.moveState.yawLeft = this.moveState.pitchDown = 0)
+ else {
+ switch (e.button) {
+ case 0:
+ this.moveState.forward = 0
+ break
+ case 2:
+ this.moveState.back = 0
+ }
+ this.updateMovementVector()
+ }
+ this.updateRotationVector()
+ }),
+ (this.update = function (e) {
+ const t = e * n.movementSpeed,
+ a = e * n.rollSpeed
+ n.object.translateX(n.moveVector.x * t),
+ n.object.translateY(n.moveVector.y * t),
+ n.object.translateZ(n.moveVector.z * t),
+ n.tmpQuaternion
+ .set(n.rotationVector.x * a, n.rotationVector.y * a, n.rotationVector.z * a, 1)
+ .normalize(),
+ n.object.quaternion.multiply(n.tmpQuaternion),
+ (o.distanceToSquared(n.object.position) > r ||
+ 8 * (1 - i.dot(n.object.quaternion)) > r) &&
+ (n.dispatchEvent(re), i.copy(n.object.quaternion), o.copy(n.object.position))
+ }),
+ (this.updateMovementVector = function () {
+ const e = this.moveState.forward || (this.autoForward && !this.moveState.back) ? 1 : 0
+ ;(this.moveVector.x = -this.moveState.left + this.moveState.right),
+ (this.moveVector.y = -this.moveState.down + this.moveState.up),
+ (this.moveVector.z = -e + this.moveState.back)
+ }),
+ (this.updateRotationVector = function () {
+ ;(this.rotationVector.x = -this.moveState.pitchDown + this.moveState.pitchUp),
+ (this.rotationVector.y = -this.moveState.yawRight + this.moveState.yawLeft),
+ (this.rotationVector.z = -this.moveState.rollRight + this.moveState.rollLeft)
+ }),
+ (this.getContainerDimensions = function () {
+ return this.domElement != document
+ ? {
+ size: [this.domElement.offsetWidth, this.domElement.offsetHeight],
+ offset: [this.domElement.offsetLeft, this.domElement.offsetTop],
+ }
+ : { size: [window.innerWidth, window.innerHeight], offset: [0, 0] }
+ }),
+ (this.dispose = function () {
+ this.domElement.removeEventListener('contextmenu', oe),
+ this.domElement.removeEventListener('mousedown', s),
+ this.domElement.removeEventListener('mousemove', a),
+ this.domElement.removeEventListener('mouseup', l),
+ window.removeEventListener('keydown', u),
+ window.removeEventListener('keyup', c)
+ })
+ const a = this.mousemove.bind(this),
+ s = this.mousedown.bind(this),
+ l = this.mouseup.bind(this),
+ u = this.keydown.bind(this),
+ c = this.keyup.bind(this)
+ this.domElement.addEventListener('contextmenu', oe),
+ this.domElement.addEventListener('mousemove', a),
+ this.domElement.addEventListener('mousedown', s),
+ this.domElement.addEventListener('mouseup', l),
+ window.addEventListener('keydown', u),
+ window.addEventListener('keyup', c),
+ this.updateMovementVector(),
+ this.updateRotationVector()
+ }
+ }
+ function oe(e) {
+ e.preventDefault()
+ }
+ var ae = {
+ uniforms: { tDiffuse: { value: null }, opacity: { value: 1 } },
+ vertexShader:
+ '\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvUv = uv;\n\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n\t\t}',
+ fragmentShader:
+ '\n\n\t\tuniform float opacity;\n\n\t\tuniform sampler2D tDiffuse;\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvec4 texel = texture2D( tDiffuse, vUv );\n\t\t\tgl_FragColor = opacity * texel;\n\n\t\t}',
+ }
+ class se {
+ constructor() {
+ ;(this.enabled = !0), (this.needsSwap = !0), (this.clear = !1), (this.renderToScreen = !1)
+ }
+ setSize() {}
+ render() {
+ console.error('THREE.Pass: .render() must be implemented in derived pass.')
+ }
+ }
+ const le = new H.iKG(-1, 1, 1, -1, 0, 1),
+ ue = new H.u9r()
+ ue.setAttribute('position', new H.a$l([-1, 3, 0, -1, -1, 0, 3, -1, 0], 3)),
+ ue.setAttribute('uv', new H.a$l([0, 2, 0, 0, 2, 0], 2))
+ class ce {
+ constructor(e) {
+ this._mesh = new H.Kj0(ue, e)
+ }
+ dispose() {
+ this._mesh.geometry.dispose()
+ }
+ render(e) {
+ e.render(this._mesh, le)
+ }
+ get material() {
+ return this._mesh.material
+ }
+ set material(e) {
+ this._mesh.material = e
+ }
+ }
+ class de extends se {
+ constructor(e, t) {
+ super(),
+ (this.textureID = void 0 !== t ? t : 'tDiffuse'),
+ e instanceof H.jyz
+ ? ((this.uniforms = e.uniforms), (this.material = e))
+ : e &&
+ ((this.uniforms = H.rDY.clone(e.uniforms)),
+ (this.material = new H.jyz({
+ defines: Object.assign({}, e.defines),
+ uniforms: this.uniforms,
+ vertexShader: e.vertexShader,
+ fragmentShader: e.fragmentShader,
+ }))),
+ (this.fsQuad = new ce(this.material))
+ }
+ render(e, t, n) {
+ this.uniforms[this.textureID] && (this.uniforms[this.textureID].value = n.texture),
+ (this.fsQuad.material = this.material),
+ this.renderToScreen
+ ? (e.setRenderTarget(null), this.fsQuad.render(e))
+ : (e.setRenderTarget(t),
+ this.clear && e.clear(e.autoClearColor, e.autoClearDepth, e.autoClearStencil),
+ this.fsQuad.render(e))
+ }
+ }
+ class fe extends se {
+ constructor(e, t) {
+ super(),
+ (this.scene = e),
+ (this.camera = t),
+ (this.clear = !0),
+ (this.needsSwap = !1),
+ (this.inverse = !1)
+ }
+ render(e, t, n) {
+ const r = e.getContext(),
+ i = e.state
+ let o, a
+ i.buffers.color.setMask(!1),
+ i.buffers.depth.setMask(!1),
+ i.buffers.color.setLocked(!0),
+ i.buffers.depth.setLocked(!0),
+ this.inverse ? ((o = 0), (a = 1)) : ((o = 1), (a = 0)),
+ i.buffers.stencil.setTest(!0),
+ i.buffers.stencil.setOp(r.REPLACE, r.REPLACE, r.REPLACE),
+ i.buffers.stencil.setFunc(r.ALWAYS, o, 4294967295),
+ i.buffers.stencil.setClear(a),
+ i.buffers.stencil.setLocked(!0),
+ e.setRenderTarget(n),
+ this.clear && e.clear(),
+ e.render(this.scene, this.camera),
+ e.setRenderTarget(t),
+ this.clear && e.clear(),
+ e.render(this.scene, this.camera),
+ i.buffers.color.setLocked(!1),
+ i.buffers.depth.setLocked(!1),
+ i.buffers.stencil.setLocked(!1),
+ i.buffers.stencil.setFunc(r.EQUAL, 1, 4294967295),
+ i.buffers.stencil.setOp(r.KEEP, r.KEEP, r.KEEP),
+ i.buffers.stencil.setLocked(!0)
+ }
+ }
+ class he extends se {
+ constructor() {
+ super(), (this.needsSwap = !1)
+ }
+ render(e) {
+ e.state.buffers.stencil.setLocked(!1), e.state.buffers.stencil.setTest(!1)
+ }
+ }
+ class pe {
+ constructor(e, t) {
+ if (((this.renderer = e), void 0 === t)) {
+ const n = { minFilter: H.wem, magFilter: H.wem, format: H.wk1 },
+ r = e.getSize(new H.FM8())
+ ;(this._pixelRatio = e.getPixelRatio()),
+ (this._width = r.width),
+ (this._height = r.height),
+ ((t = new H.dd2(
+ this._width * this._pixelRatio,
+ this._height * this._pixelRatio,
+ n,
+ )).texture.name = 'EffectComposer.rt1')
+ } else (this._pixelRatio = 1), (this._width = t.width), (this._height = t.height)
+ ;(this.renderTarget1 = t),
+ (this.renderTarget2 = t.clone()),
+ (this.renderTarget2.texture.name = 'EffectComposer.rt2'),
+ (this.writeBuffer = this.renderTarget1),
+ (this.readBuffer = this.renderTarget2),
+ (this.renderToScreen = !0),
+ (this.passes = []),
+ void 0 === ae && console.error('THREE.EffectComposer relies on CopyShader'),
+ void 0 === de && console.error('THREE.EffectComposer relies on ShaderPass'),
+ (this.copyPass = new de(ae)),
+ (this.clock = new H.SUY())
+ }
+ swapBuffers() {
+ const e = this.readBuffer
+ ;(this.readBuffer = this.writeBuffer), (this.writeBuffer = e)
+ }
+ addPass(e) {
+ this.passes.push(e),
+ e.setSize(this._width * this._pixelRatio, this._height * this._pixelRatio)
+ }
+ insertPass(e, t) {
+ this.passes.splice(t, 0, e),
+ e.setSize(this._width * this._pixelRatio, this._height * this._pixelRatio)
+ }
+ removePass(e) {
+ const t = this.passes.indexOf(e)
+ ;-1 !== t && this.passes.splice(t, 1)
+ }
+ isLastEnabledPass(e) {
+ for (let t = e + 1; t < this.passes.length; t++) if (this.passes[t].enabled) return !1
+ return !0
+ }
+ render(e) {
+ void 0 === e && (e = this.clock.getDelta())
+ const t = this.renderer.getRenderTarget()
+ let n = !1
+ for (let r = 0, i = this.passes.length; r < i; r++) {
+ const t = this.passes[r]
+ if (!1 !== t.enabled) {
+ if (
+ ((t.renderToScreen = this.renderToScreen && this.isLastEnabledPass(r)),
+ t.render(this.renderer, this.writeBuffer, this.readBuffer, e, n),
+ t.needsSwap)
+ ) {
+ if (n) {
+ const t = this.renderer.getContext(),
+ n = this.renderer.state.buffers.stencil
+ n.setFunc(t.NOTEQUAL, 1, 4294967295),
+ this.copyPass.render(this.renderer, this.writeBuffer, this.readBuffer, e),
+ n.setFunc(t.EQUAL, 1, 4294967295)
+ }
+ this.swapBuffers()
+ }
+ void 0 !== fe && (t instanceof fe ? (n = !0) : t instanceof he && (n = !1))
+ }
+ }
+ this.renderer.setRenderTarget(t)
+ }
+ reset(e) {
+ if (void 0 === e) {
+ const t = this.renderer.getSize(new H.FM8())
+ ;(this._pixelRatio = this.renderer.getPixelRatio()),
+ (this._width = t.width),
+ (this._height = t.height),
+ (e = this.renderTarget1.clone()).setSize(
+ this._width * this._pixelRatio,
+ this._height * this._pixelRatio,
+ )
+ }
+ this.renderTarget1.dispose(),
+ this.renderTarget2.dispose(),
+ (this.renderTarget1 = e),
+ (this.renderTarget2 = e.clone()),
+ (this.writeBuffer = this.renderTarget1),
+ (this.readBuffer = this.renderTarget2)
+ }
+ setSize(e, t) {
+ ;(this._width = e), (this._height = t)
+ const n = this._width * this._pixelRatio,
+ r = this._height * this._pixelRatio
+ this.renderTarget1.setSize(n, r), this.renderTarget2.setSize(n, r)
+ for (let i = 0; i < this.passes.length; i++) this.passes[i].setSize(n, r)
+ }
+ setPixelRatio(e) {
+ ;(this._pixelRatio = e), this.setSize(this._width, this._height)
+ }
+ }
+ new H.iKG(-1, 1, 1, -1, 0, 1)
+ const ve = new H.u9r()
+ ve.setAttribute('position', new H.a$l([-1, 3, 0, -1, -1, 0, 3, -1, 0], 3)),
+ ve.setAttribute('uv', new H.a$l([0, 2, 0, 0, 2, 0], 2))
+ class me extends se {
+ constructor(e, t, n, r, i) {
+ super(),
+ (this.scene = e),
+ (this.camera = t),
+ (this.overrideMaterial = n),
+ (this.clearColor = r),
+ (this.clearAlpha = void 0 !== i ? i : 0),
+ (this.clear = !0),
+ (this.clearDepth = !1),
+ (this.needsSwap = !1),
+ (this._oldClearColor = new H.Ilk())
+ }
+ render(e, t, n) {
+ const r = e.autoClear
+ let i, o
+ ;(e.autoClear = !1),
+ void 0 !== this.overrideMaterial &&
+ ((o = this.scene.overrideMaterial),
+ (this.scene.overrideMaterial = this.overrideMaterial)),
+ this.clearColor &&
+ (e.getClearColor(this._oldClearColor),
+ (i = e.getClearAlpha()),
+ e.setClearColor(this.clearColor, this.clearAlpha)),
+ this.clearDepth && e.clearDepth(),
+ e.setRenderTarget(this.renderToScreen ? null : n),
+ this.clear && e.clear(e.autoClearColor, e.autoClearDepth, e.autoClearStencil),
+ e.render(this.scene, this.camera),
+ this.clearColor && e.setClearColor(this._oldClearColor, i),
+ void 0 !== this.overrideMaterial && (this.scene.overrideMaterial = o),
+ (e.autoClear = r)
+ }
+ }
+ function ge() {
+ return (ge =
+ Object.assign ||
+ function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = arguments[t]
+ for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
+ }
+ return e
+ }).apply(this, arguments)
+ }
+ function ye(e, t) {
+ return (ye =
+ Object.setPrototypeOf ||
+ function (e, t) {
+ return (e.__proto__ = t), e
+ })(e, t)
+ }
+ function be(e) {
+ return (be = Object.setPrototypeOf
+ ? Object.getPrototypeOf
+ : function (e) {
+ return e.__proto__ || Object.getPrototypeOf(e)
+ })(e)
+ }
+ function we() {
+ if ('undefined' === typeof Reflect || !Reflect.construct) return !1
+ if (Reflect.construct.sham) return !1
+ if ('function' === typeof Proxy) return !0
+ try {
+ return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0
+ } catch (e) {
+ return !1
+ }
+ }
+ function xe(e, t, n) {
+ return (xe = we()
+ ? Reflect.construct
+ : function (e, t, n) {
+ var r = [null]
+ r.push.apply(r, t)
+ var i = new (Function.bind.apply(e, r))()
+ return n && ye(i, n.prototype), i
+ }).apply(null, arguments)
+ }
+ function Ee(e) {
+ var t = 'function' === typeof Map ? new Map() : void 0
+ return (Ee = function (e) {
+ if (null === e || ((n = e), -1 === Function.toString.call(n).indexOf('[native code]')))
+ return e
+ var n
+ if ('function' !== typeof e)
+ throw new TypeError('Super expression must either be null or a function')
+ if ('undefined' !== typeof t) {
+ if (t.has(e)) return t.get(e)
+ t.set(e, r)
+ }
+ function r() {
+ return xe(e, arguments, be(this).constructor)
+ }
+ return (
+ (r.prototype = Object.create(e.prototype, {
+ constructor: { value: r, enumerable: !1, writable: !0, configurable: !0 },
+ })),
+ ye(r, e)
+ )
+ })(e)
+ }
+ var ke = (function (e) {
+ var t, n
+ function r(t) {
+ return (function (e) {
+ if (void 0 === e)
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
+ return e
+ })(
+ e.call(
+ this,
+ 'An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#' +
+ t +
+ ' for more information.',
+ ) || this,
+ )
+ }
+ return (
+ (n = e),
+ ((t = r).prototype = Object.create(n.prototype)),
+ (t.prototype.constructor = t),
+ ye(t, n),
+ r
+ )
+ })(Ee(Error))
+ function Te(e) {
+ return Math.round(255 * e)
+ }
+ function _e(e, t, n) {
+ return Te(e) + ',' + Te(t) + ',' + Te(n)
+ }
+ function Oe(e, t, n, r) {
+ if ((void 0 === r && (r = _e), 0 === t)) return r(n, n, n)
+ var i = (((e % 360) + 360) % 360) / 60,
+ o = (1 - Math.abs(2 * n - 1)) * t,
+ a = o * (1 - Math.abs((i % 2) - 1)),
+ s = 0,
+ l = 0,
+ u = 0
+ i >= 0 && i < 1
+ ? ((s = o), (l = a))
+ : i >= 1 && i < 2
+ ? ((s = a), (l = o))
+ : i >= 2 && i < 3
+ ? ((l = o), (u = a))
+ : i >= 3 && i < 4
+ ? ((l = a), (u = o))
+ : i >= 4 && i < 5
+ ? ((s = a), (u = o))
+ : i >= 5 && i < 6 && ((s = o), (u = a))
+ var c = n - o / 2
+ return r(s + c, l + c, u + c)
+ }
+ var Ce = {
+ aliceblue: 'f0f8ff',
+ antiquewhite: 'faebd7',
+ aqua: '00ffff',
+ aquamarine: '7fffd4',
+ azure: 'f0ffff',
+ beige: 'f5f5dc',
+ bisque: 'ffe4c4',
+ black: '000',
+ 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',
+ darkgrey: 'a9a9a9',
+ darkkhaki: 'bdb76b',
+ darkmagenta: '8b008b',
+ darkolivegreen: '556b2f',
+ darkorange: 'ff8c00',
+ darkorchid: '9932cc',
+ darkred: '8b0000',
+ darksalmon: 'e9967a',
+ darkseagreen: '8fbc8f',
+ darkslateblue: '483d8b',
+ darkslategray: '2f4f4f',
+ darkslategrey: '2f4f4f',
+ darkturquoise: '00ced1',
+ darkviolet: '9400d3',
+ deeppink: 'ff1493',
+ deepskyblue: '00bfff',
+ dimgray: '696969',
+ dimgrey: '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',
+ grey: '808080',
+ 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',
+ lightgray: 'd3d3d3',
+ lightgreen: '90ee90',
+ lightgrey: 'd3d3d3',
+ lightpink: 'ffb6c1',
+ lightsalmon: 'ffa07a',
+ lightseagreen: '20b2aa',
+ lightskyblue: '87cefa',
+ lightslategray: '789',
+ lightslategrey: '789',
+ lightsteelblue: 'b0c4de',
+ lightyellow: 'ffffe0',
+ lime: '0f0',
+ limegreen: '32cd32',
+ linen: 'faf0e6',
+ magenta: 'f0f',
+ maroon: '800000',
+ mediumaquamarine: '66cdaa',
+ mediumblue: '0000cd',
+ mediumorchid: 'ba55d3',
+ mediumpurple: '9370db',
+ 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: 'db7093',
+ papayawhip: 'ffefd5',
+ peachpuff: 'ffdab9',
+ peru: 'cd853f',
+ pink: 'ffc0cb',
+ plum: 'dda0dd',
+ powderblue: 'b0e0e6',
+ purple: '800080',
+ rebeccapurple: '639',
+ red: 'f00',
+ rosybrown: 'bc8f8f',
+ royalblue: '4169e1',
+ saddlebrown: '8b4513',
+ salmon: 'fa8072',
+ sandybrown: 'f4a460',
+ seagreen: '2e8b57',
+ seashell: 'fff5ee',
+ sienna: 'a0522d',
+ silver: 'c0c0c0',
+ skyblue: '87ceeb',
+ slateblue: '6a5acd',
+ slategray: '708090',
+ slategrey: '708090',
+ snow: 'fffafa',
+ springgreen: '00ff7f',
+ steelblue: '4682b4',
+ tan: 'd2b48c',
+ teal: '008080',
+ thistle: 'd8bfd8',
+ tomato: 'ff6347',
+ turquoise: '40e0d0',
+ violet: 'ee82ee',
+ wheat: 'f5deb3',
+ white: 'fff',
+ whitesmoke: 'f5f5f5',
+ yellow: 'ff0',
+ yellowgreen: '9acd32',
+ }
+ var Ae = /^#[a-fA-F0-9]{6}$/,
+ Se = /^#[a-fA-F0-9]{8}$/,
+ Pe = /^#[a-fA-F0-9]{3}$/,
+ Me = /^#[a-fA-F0-9]{4}$/,
+ Re = /^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/i,
+ je =
+ /^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*([-+]?[0-9]*[.]?[0-9]+)\s*\)$/i,
+ De =
+ /^hsl\(\s*(\d{0,3}[.]?[0-9]+)\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,
+ Le =
+ /^hsla\(\s*(\d{0,3}[.]?[0-9]+)\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*([-+]?[0-9]*[.]?[0-9]+)\s*\)$/i
+ function Ne(e) {
+ if ('string' !== typeof e) throw new ke(3)
+ var t = (function (e) {
+ if ('string' !== typeof e) return e
+ var t = e.toLowerCase()
+ return Ce[t] ? '#' + Ce[t] : e
+ })(e)
+ if (t.match(Ae))
+ return {
+ red: parseInt('' + t[1] + t[2], 16),
+ green: parseInt('' + t[3] + t[4], 16),
+ blue: parseInt('' + t[5] + t[6], 16),
+ }
+ if (t.match(Se)) {
+ var n = parseFloat((parseInt('' + t[7] + t[8], 16) / 255).toFixed(2))
+ return {
+ red: parseInt('' + t[1] + t[2], 16),
+ green: parseInt('' + t[3] + t[4], 16),
+ blue: parseInt('' + t[5] + t[6], 16),
+ alpha: n,
+ }
+ }
+ if (t.match(Pe))
+ return {
+ red: parseInt('' + t[1] + t[1], 16),
+ green: parseInt('' + t[2] + t[2], 16),
+ blue: parseInt('' + t[3] + t[3], 16),
+ }
+ if (t.match(Me)) {
+ var r = parseFloat((parseInt('' + t[4] + t[4], 16) / 255).toFixed(2))
+ return {
+ red: parseInt('' + t[1] + t[1], 16),
+ green: parseInt('' + t[2] + t[2], 16),
+ blue: parseInt('' + t[3] + t[3], 16),
+ alpha: r,
+ }
+ }
+ var i = Re.exec(t)
+ if (i)
+ return {
+ red: parseInt('' + i[1], 10),
+ green: parseInt('' + i[2], 10),
+ blue: parseInt('' + i[3], 10),
+ }
+ var o = je.exec(t.substring(0, 50))
+ if (o)
+ return {
+ red: parseInt('' + o[1], 10),
+ green: parseInt('' + o[2], 10),
+ blue: parseInt('' + o[3], 10),
+ alpha: parseFloat('' + o[4]),
+ }
+ var a = De.exec(t)
+ if (a) {
+ var s =
+ 'rgb(' +
+ Oe(
+ parseInt('' + a[1], 10),
+ parseInt('' + a[2], 10) / 100,
+ parseInt('' + a[3], 10) / 100,
+ ) +
+ ')',
+ l = Re.exec(s)
+ if (!l) throw new ke(4, t, s)
+ return {
+ red: parseInt('' + l[1], 10),
+ green: parseInt('' + l[2], 10),
+ blue: parseInt('' + l[3], 10),
+ }
+ }
+ var u = Le.exec(t.substring(0, 50))
+ if (u) {
+ var c =
+ 'rgb(' +
+ Oe(
+ parseInt('' + u[1], 10),
+ parseInt('' + u[2], 10) / 100,
+ parseInt('' + u[3], 10) / 100,
+ ) +
+ ')',
+ d = Re.exec(c)
+ if (!d) throw new ke(4, t, c)
+ return {
+ red: parseInt('' + d[1], 10),
+ green: parseInt('' + d[2], 10),
+ blue: parseInt('' + d[3], 10),
+ alpha: parseFloat('' + u[4]),
+ }
+ }
+ throw new ke(5)
+ }
+ var Ie = function (e) {
+ return 7 === e.length && e[1] === e[2] && e[3] === e[4] && e[5] === e[6]
+ ? '#' + e[1] + e[3] + e[5]
+ : e
+ }
+ function ze(e) {
+ var t = e.toString(16)
+ return 1 === t.length ? '0' + t : t
+ }
+ function He(e, t, n) {
+ if ('number' === typeof e && 'number' === typeof t && 'number' === typeof n)
+ return Ie('#' + ze(e) + ze(t) + ze(n))
+ if ('object' === typeof e && void 0 === t && void 0 === n)
+ return Ie('#' + ze(e.red) + ze(e.green) + ze(e.blue))
+ throw new ke(6)
+ }
+ function Be(e, t, n, r) {
+ if ('string' === typeof e && 'number' === typeof t) {
+ var i = Ne(e)
+ return 'rgba(' + i.red + ',' + i.green + ',' + i.blue + ',' + t + ')'
+ }
+ if (
+ 'number' === typeof e &&
+ 'number' === typeof t &&
+ 'number' === typeof n &&
+ 'number' === typeof r
+ )
+ return r >= 1 ? He(e, t, n) : 'rgba(' + e + ',' + t + ',' + n + ',' + r + ')'
+ if ('object' === typeof e && void 0 === t && void 0 === n && void 0 === r)
+ return e.alpha >= 1
+ ? He(e.red, e.green, e.blue)
+ : 'rgba(' + e.red + ',' + e.green + ',' + e.blue + ',' + e.alpha + ')'
+ throw new ke(7)
+ }
+ function Fe(e, t, n) {
+ return function () {
+ var r = n.concat(Array.prototype.slice.call(arguments))
+ return r.length >= t ? e.apply(this, r) : Fe(e, t, r)
+ }
+ }
+ function Ve(e) {
+ return Fe(e, e.length, [])
+ }
+ function Ue(e, t, n) {
+ return Math.max(e, Math.min(t, n))
+ }
+ function Ge(e, t) {
+ if ('transparent' === t) return t
+ var n = Ne(t)
+ return Be(
+ ge({}, n, {
+ alpha: Ue(
+ 0,
+ 1,
+ (100 * ('number' === typeof n.alpha ? n.alpha : 1) + 100 * parseFloat(e)) / 100,
+ ),
+ }),
+ )
+ }
+ var qe = Ve(Ge)
+ var We = r(4155),
+ Ke = {
+ Linear: {
+ None: function (e) {
+ return e
+ },
+ },
+ Quadratic: {
+ In: function (e) {
+ return e * e
+ },
+ Out: function (e) {
+ return e * (2 - e)
+ },
+ InOut: function (e) {
+ return (e *= 2) < 1 ? 0.5 * e * e : -0.5 * (--e * (e - 2) - 1)
+ },
+ },
+ Cubic: {
+ In: function (e) {
+ return e * e * e
+ },
+ Out: function (e) {
+ return --e * e * e + 1
+ },
+ InOut: function (e) {
+ return (e *= 2) < 1 ? 0.5 * e * e * e : 0.5 * ((e -= 2) * e * e + 2)
+ },
+ },
+ Quartic: {
+ In: function (e) {
+ return e * e * e * e
+ },
+ Out: function (e) {
+ return 1 - --e * e * e * e
+ },
+ InOut: function (e) {
+ return (e *= 2) < 1 ? 0.5 * e * e * e * e : -0.5 * ((e -= 2) * e * e * e - 2)
+ },
+ },
+ Quintic: {
+ In: function (e) {
+ return e * e * e * e * e
+ },
+ Out: function (e) {
+ return --e * e * e * e * e + 1
+ },
+ InOut: function (e) {
+ return (e *= 2) < 1 ? 0.5 * e * e * e * e * e : 0.5 * ((e -= 2) * e * e * e * e + 2)
+ },
+ },
+ Sinusoidal: {
+ In: function (e) {
+ return 1 - Math.cos((e * Math.PI) / 2)
+ },
+ Out: function (e) {
+ return Math.sin((e * Math.PI) / 2)
+ },
+ InOut: function (e) {
+ return 0.5 * (1 - Math.cos(Math.PI * e))
+ },
+ },
+ Exponential: {
+ In: function (e) {
+ return 0 === e ? 0 : Math.pow(1024, e - 1)
+ },
+ Out: function (e) {
+ return 1 === e ? 1 : 1 - Math.pow(2, -10 * e)
+ },
+ InOut: function (e) {
+ return 0 === e
+ ? 0
+ : 1 === e
+ ? 1
+ : (e *= 2) < 1
+ ? 0.5 * Math.pow(1024, e - 1)
+ : 0.5 * (2 - Math.pow(2, -10 * (e - 1)))
+ },
+ },
+ Circular: {
+ In: function (e) {
+ return 1 - Math.sqrt(1 - e * e)
+ },
+ Out: function (e) {
+ return Math.sqrt(1 - --e * e)
+ },
+ InOut: function (e) {
+ return (e *= 2) < 1
+ ? -0.5 * (Math.sqrt(1 - e * e) - 1)
+ : 0.5 * (Math.sqrt(1 - (e -= 2) * e) + 1)
+ },
+ },
+ Elastic: {
+ In: function (e) {
+ return 0 === e
+ ? 0
+ : 1 === e
+ ? 1
+ : -Math.pow(2, 10 * (e - 1)) * Math.sin(5 * (e - 1.1) * Math.PI)
+ },
+ Out: function (e) {
+ return 0 === e
+ ? 0
+ : 1 === e
+ ? 1
+ : Math.pow(2, -10 * e) * Math.sin(5 * (e - 0.1) * Math.PI) + 1
+ },
+ InOut: function (e) {
+ return 0 === e
+ ? 0
+ : 1 === e
+ ? 1
+ : (e *= 2) < 1
+ ? -0.5 * Math.pow(2, 10 * (e - 1)) * Math.sin(5 * (e - 1.1) * Math.PI)
+ : 0.5 * Math.pow(2, -10 * (e - 1)) * Math.sin(5 * (e - 1.1) * Math.PI) + 1
+ },
+ },
+ Back: {
+ In: function (e) {
+ var t = 1.70158
+ return e * e * ((t + 1) * e - t)
+ },
+ Out: function (e) {
+ var t = 1.70158
+ return --e * e * ((t + 1) * e + t) + 1
+ },
+ InOut: function (e) {
+ var t = 2.5949095
+ return (e *= 2) < 1
+ ? e * e * ((t + 1) * e - t) * 0.5
+ : 0.5 * ((e -= 2) * e * ((t + 1) * e + t) + 2)
+ },
+ },
+ Bounce: {
+ In: function (e) {
+ return 1 - Ke.Bounce.Out(1 - e)
+ },
+ Out: function (e) {
+ return e < 1 / 2.75
+ ? 7.5625 * e * e
+ : e < 2 / 2.75
+ ? 7.5625 * (e -= 1.5 / 2.75) * e + 0.75
+ : e < 2.5 / 2.75
+ ? 7.5625 * (e -= 2.25 / 2.75) * e + 0.9375
+ : 7.5625 * (e -= 2.625 / 2.75) * e + 0.984375
+ },
+ InOut: function (e) {
+ return e < 0.5 ? 0.5 * Ke.Bounce.In(2 * e) : 0.5 * Ke.Bounce.Out(2 * e - 1) + 0.5
+ },
+ },
+ },
+ Ze =
+ 'undefined' === typeof self && 'undefined' !== typeof We && We.hrtime
+ ? function () {
+ var e = We.hrtime()
+ return 1e3 * e[0] + e[1] / 1e6
+ }
+ : 'undefined' !== typeof self &&
+ void 0 !== self.performance &&
+ void 0 !== self.performance.now
+ ? self.performance.now.bind(self.performance)
+ : void 0 !== Date.now
+ ? Date.now
+ : function () {
+ return new Date().getTime()
+ },
+ $e = (function () {
+ function e() {
+ ;(this._tweens = {}), (this._tweensAddedDuringUpdate = {})
+ }
+ return (
+ (e.prototype.getAll = function () {
+ var e = this
+ return Object.keys(this._tweens).map(function (t) {
+ return e._tweens[t]
+ })
+ }),
+ (e.prototype.removeAll = function () {
+ this._tweens = {}
+ }),
+ (e.prototype.add = function (e) {
+ ;(this._tweens[e.getId()] = e), (this._tweensAddedDuringUpdate[e.getId()] = e)
+ }),
+ (e.prototype.remove = function (e) {
+ delete this._tweens[e.getId()], delete this._tweensAddedDuringUpdate[e.getId()]
+ }),
+ (e.prototype.update = function (e, t) {
+ void 0 === e && (e = Ze()), void 0 === t && (t = !1)
+ var n = Object.keys(this._tweens)
+ if (0 === n.length) return !1
+ for (; n.length > 0; ) {
+ this._tweensAddedDuringUpdate = {}
+ for (var r = 0; r < n.length; r++) {
+ var i = this._tweens[n[r]],
+ o = !t
+ i && !1 === i.update(e, o) && !t && delete this._tweens[n[r]]
+ }
+ n = Object.keys(this._tweensAddedDuringUpdate)
+ }
+ return !0
+ }),
+ e
+ )
+ })(),
+ Xe = {
+ Linear: function (e, t) {
+ var n = e.length - 1,
+ r = n * t,
+ i = Math.floor(r),
+ o = Xe.Utils.Linear
+ return t < 0
+ ? o(e[0], e[1], r)
+ : t > 1
+ ? o(e[n], e[n - 1], n - r)
+ : o(e[i], e[i + 1 > n ? n : i + 1], r - i)
+ },
+ Bezier: function (e, t) {
+ for (
+ var n = 0, r = e.length - 1, i = Math.pow, o = Xe.Utils.Bernstein, a = 0;
+ a <= r;
+ a++
+ )
+ n += i(1 - t, r - a) * i(t, a) * e[a] * o(r, a)
+ return n
+ },
+ CatmullRom: function (e, t) {
+ var n = e.length - 1,
+ r = n * t,
+ i = Math.floor(r),
+ o = Xe.Utils.CatmullRom
+ return e[0] === e[n]
+ ? (t < 0 && (i = Math.floor((r = n * (1 + t)))),
+ o(e[(i - 1 + n) % n], e[i], e[(i + 1) % n], e[(i + 2) % n], r - i))
+ : t < 0
+ ? e[0] - (o(e[0], e[0], e[1], e[1], -r) - e[0])
+ : t > 1
+ ? e[n] - (o(e[n], e[n], e[n - 1], e[n - 1], r - n) - e[n])
+ : o(e[i ? i - 1 : 0], e[i], e[n < i + 1 ? n : i + 1], e[n < i + 2 ? n : i + 2], r - i)
+ },
+ Utils: {
+ Linear: function (e, t, n) {
+ return (t - e) * n + e
+ },
+ Bernstein: function (e, t) {
+ var n = Xe.Utils.Factorial
+ return n(e) / n(t) / n(e - t)
+ },
+ Factorial: (function () {
+ var e = [1]
+ return function (t) {
+ var n = 1
+ if (e[t]) return e[t]
+ for (var r = t; r > 1; r--) n *= r
+ return (e[t] = n), n
+ }
+ })(),
+ CatmullRom: function (e, t, n, r, i) {
+ var o = 0.5 * (n - e),
+ a = 0.5 * (r - t),
+ s = i * i
+ return (
+ (2 * t - 2 * n + o + a) * (i * s) + (-3 * t + 3 * n - 2 * o - a) * s + o * i + t
+ )
+ },
+ },
+ },
+ Ye = (function () {
+ function e() {}
+ return (
+ (e.nextId = function () {
+ return e._nextId++
+ }),
+ (e._nextId = 0),
+ e
+ )
+ })(),
+ Qe = new $e(),
+ Je = (function () {
+ function e(e, t) {
+ void 0 === t && (t = Qe),
+ (this._object = e),
+ (this._group = t),
+ (this._isPaused = !1),
+ (this._pauseStart = 0),
+ (this._valuesStart = {}),
+ (this._valuesEnd = {}),
+ (this._valuesStartRepeat = {}),
+ (this._duration = 1e3),
+ (this._initialRepeat = 0),
+ (this._repeat = 0),
+ (this._yoyo = !1),
+ (this._isPlaying = !1),
+ (this._reversed = !1),
+ (this._delayTime = 0),
+ (this._startTime = 0),
+ (this._easingFunction = Ke.Linear.None),
+ (this._interpolationFunction = Xe.Linear),
+ (this._chainedTweens = []),
+ (this._onStartCallbackFired = !1),
+ (this._id = Ye.nextId()),
+ (this._isChainStopped = !1),
+ (this._goToEnd = !1)
+ }
+ return (
+ (e.prototype.getId = function () {
+ return this._id
+ }),
+ (e.prototype.isPlaying = function () {
+ return this._isPlaying
+ }),
+ (e.prototype.isPaused = function () {
+ return this._isPaused
+ }),
+ (e.prototype.to = function (e, t) {
+ return (
+ (this._valuesEnd = Object.create(e)), void 0 !== t && (this._duration = t), this
+ )
+ }),
+ (e.prototype.duration = function (e) {
+ return (this._duration = e), this
+ }),
+ (e.prototype.start = function (e) {
+ if (this._isPlaying) return this
+ if (
+ (this._group && this._group.add(this),
+ (this._repeat = this._initialRepeat),
+ this._reversed)
+ )
+ for (var t in ((this._reversed = !1), this._valuesStartRepeat))
+ this._swapEndStartRepeatValues(t),
+ (this._valuesStart[t] = this._valuesStartRepeat[t])
+ return (
+ (this._isPlaying = !0),
+ (this._isPaused = !1),
+ (this._onStartCallbackFired = !1),
+ (this._isChainStopped = !1),
+ (this._startTime =
+ void 0 !== e ? ('string' === typeof e ? Ze() + parseFloat(e) : e) : Ze()),
+ (this._startTime += this._delayTime),
+ this._setupProperties(
+ this._object,
+ this._valuesStart,
+ this._valuesEnd,
+ this._valuesStartRepeat,
+ ),
+ this
+ )
+ }),
+ (e.prototype._setupProperties = function (e, t, n, r) {
+ for (var i in n) {
+ var o = e[i],
+ a = Array.isArray(o),
+ s = a ? 'array' : typeof o,
+ l = !a && Array.isArray(n[i])
+ if ('undefined' !== s && 'function' !== s) {
+ if (l) {
+ var u = n[i]
+ if (0 === u.length) continue
+ ;(u = u.map(this._handleRelativeValue.bind(this, o))), (n[i] = [o].concat(u))
+ }
+ if (('object' !== s && !a) || !o || l)
+ 'undefined' === typeof t[i] && (t[i] = o),
+ a || (t[i] *= 1),
+ (r[i] = l ? n[i].slice().reverse() : t[i] || 0)
+ else {
+ for (var c in ((t[i] = a ? [] : {}), o)) t[i][c] = o[c]
+ ;(r[i] = a ? [] : {}), this._setupProperties(o, t[i], n[i], r[i])
+ }
+ }
+ }
+ }),
+ (e.prototype.stop = function () {
+ return (
+ this._isChainStopped || ((this._isChainStopped = !0), this.stopChainedTweens()),
+ this._isPlaying
+ ? (this._group && this._group.remove(this),
+ (this._isPlaying = !1),
+ (this._isPaused = !1),
+ this._onStopCallback && this._onStopCallback(this._object),
+ this)
+ : this
+ )
+ }),
+ (e.prototype.end = function () {
+ return (this._goToEnd = !0), this.update(1 / 0), this
+ }),
+ (e.prototype.pause = function (e) {
+ return (
+ void 0 === e && (e = Ze()),
+ this._isPaused ||
+ !this._isPlaying ||
+ ((this._isPaused = !0),
+ (this._pauseStart = e),
+ this._group && this._group.remove(this)),
+ this
+ )
+ }),
+ (e.prototype.resume = function (e) {
+ return (
+ void 0 === e && (e = Ze()),
+ this._isPaused && this._isPlaying
+ ? ((this._isPaused = !1),
+ (this._startTime += e - this._pauseStart),
+ (this._pauseStart = 0),
+ this._group && this._group.add(this),
+ this)
+ : this
+ )
+ }),
+ (e.prototype.stopChainedTweens = function () {
+ for (var e = 0, t = this._chainedTweens.length; e < t; e++)
+ this._chainedTweens[e].stop()
+ return this
+ }),
+ (e.prototype.group = function (e) {
+ return (this._group = e), this
+ }),
+ (e.prototype.delay = function (e) {
+ return (this._delayTime = e), this
+ }),
+ (e.prototype.repeat = function (e) {
+ return (this._initialRepeat = e), (this._repeat = e), this
+ }),
+ (e.prototype.repeatDelay = function (e) {
+ return (this._repeatDelayTime = e), this
+ }),
+ (e.prototype.yoyo = function (e) {
+ return (this._yoyo = e), this
+ }),
+ (e.prototype.easing = function (e) {
+ return (this._easingFunction = e), this
+ }),
+ (e.prototype.interpolation = function (e) {
+ return (this._interpolationFunction = e), this
+ }),
+ (e.prototype.chain = function () {
+ for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t]
+ return (this._chainedTweens = e), this
+ }),
+ (e.prototype.onStart = function (e) {
+ return (this._onStartCallback = e), this
+ }),
+ (e.prototype.onUpdate = function (e) {
+ return (this._onUpdateCallback = e), this
+ }),
+ (e.prototype.onRepeat = function (e) {
+ return (this._onRepeatCallback = e), this
+ }),
+ (e.prototype.onComplete = function (e) {
+ return (this._onCompleteCallback = e), this
+ }),
+ (e.prototype.onStop = function (e) {
+ return (this._onStopCallback = e), this
+ }),
+ (e.prototype.update = function (e, t) {
+ if ((void 0 === e && (e = Ze()), void 0 === t && (t = !0), this._isPaused)) return !0
+ var n,
+ r,
+ i = this._startTime + this._duration
+ if (!this._goToEnd && !this._isPlaying) {
+ if (e > i) return !1
+ t && this.start(e)
+ }
+ if (((this._goToEnd = !1), e < this._startTime)) return !0
+ !1 === this._onStartCallbackFired &&
+ (this._onStartCallback && this._onStartCallback(this._object),
+ (this._onStartCallbackFired = !0)),
+ (r = (e - this._startTime) / this._duration),
+ (r = 0 === this._duration || r > 1 ? 1 : r)
+ var o = this._easingFunction(r)
+ if (
+ (this._updateProperties(this._object, this._valuesStart, this._valuesEnd, o),
+ this._onUpdateCallback && this._onUpdateCallback(this._object, r),
+ 1 === r)
+ ) {
+ if (this._repeat > 0) {
+ for (n in (isFinite(this._repeat) && this._repeat--, this._valuesStartRepeat))
+ this._yoyo ||
+ 'string' !== typeof this._valuesEnd[n] ||
+ (this._valuesStartRepeat[n] =
+ this._valuesStartRepeat[n] + parseFloat(this._valuesEnd[n])),
+ this._yoyo && this._swapEndStartRepeatValues(n),
+ (this._valuesStart[n] = this._valuesStartRepeat[n])
+ return (
+ this._yoyo && (this._reversed = !this._reversed),
+ void 0 !== this._repeatDelayTime
+ ? (this._startTime = e + this._repeatDelayTime)
+ : (this._startTime = e + this._delayTime),
+ this._onRepeatCallback && this._onRepeatCallback(this._object),
+ !0
+ )
+ }
+ this._onCompleteCallback && this._onCompleteCallback(this._object)
+ for (var a = 0, s = this._chainedTweens.length; a < s; a++)
+ this._chainedTweens[a].start(this._startTime + this._duration)
+ return (this._isPlaying = !1), !1
+ }
+ return !0
+ }),
+ (e.prototype._updateProperties = function (e, t, n, r) {
+ for (var i in n)
+ if (void 0 !== t[i]) {
+ var o = t[i] || 0,
+ a = n[i],
+ s = Array.isArray(e[i]),
+ l = Array.isArray(a)
+ !s && l
+ ? (e[i] = this._interpolationFunction(a, r))
+ : 'object' === typeof a && a
+ ? this._updateProperties(e[i], o, a, r)
+ : 'number' === typeof (a = this._handleRelativeValue(o, a)) &&
+ (e[i] = o + (a - o) * r)
+ }
+ }),
+ (e.prototype._handleRelativeValue = function (e, t) {
+ return 'string' !== typeof t
+ ? t
+ : '+' === t.charAt(0) || '-' === t.charAt(0)
+ ? e + parseFloat(t)
+ : parseFloat(t)
+ }),
+ (e.prototype._swapEndStartRepeatValues = function (e) {
+ var t = this._valuesStartRepeat[e],
+ n = this._valuesEnd[e]
+ ;(this._valuesStartRepeat[e] =
+ 'string' === typeof n
+ ? this._valuesStartRepeat[e] + parseFloat(n)
+ : this._valuesEnd[e]),
+ (this._valuesEnd[e] = t)
+ }),
+ e
+ )
+ })(),
+ et = Ye.nextId,
+ tt = Qe,
+ nt = tt.getAll.bind(tt),
+ rt = tt.removeAll.bind(tt),
+ it = tt.add.bind(tt),
+ ot = tt.remove.bind(tt),
+ at = tt.update.bind(tt),
+ st = {
+ Easing: Ke,
+ Group: $e,
+ Interpolation: Xe,
+ now: Ze,
+ Sequence: Ye,
+ nextId: et,
+ Tween: Je,
+ VERSION: '18.6.4',
+ getAll: nt,
+ removeAll: rt,
+ add: it,
+ remove: ot,
+ update: at,
+ }
+ function lt(e, t, n) {
+ return (
+ t in e
+ ? Object.defineProperty(e, t, {
+ value: n,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0,
+ })
+ : (e[t] = n),
+ e
+ )
+ }
+ function ut(e, t) {
+ return (
+ (function (e) {
+ if (Array.isArray(e)) return e
+ })(e) ||
+ (function (e, t) {
+ var n =
+ null == e
+ ? null
+ : ('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator']
+ if (null == n) return
+ var r,
+ i,
+ o = [],
+ a = !0,
+ s = !1
+ try {
+ for (
+ n = n.call(e);
+ !(a = (r = n.next()).done) && (o.push(r.value), !t || o.length !== t);
+ a = !0
+ );
+ } catch (l) {
+ ;(s = !0), (i = l)
+ } finally {
+ try {
+ a || null == n.return || n.return()
+ } finally {
+ if (s) throw i
+ }
+ }
+ return o
+ })(e, t) ||
+ dt(e, t) ||
+ (function () {
+ throw new TypeError(
+ 'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ })()
+ )
+ }
+ function ct(e) {
+ return (
+ (function (e) {
+ if (Array.isArray(e)) return ft(e)
+ })(e) ||
+ (function (e) {
+ if (
+ ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) ||
+ null != e['@@iterator']
+ )
+ return Array.from(e)
+ })(e) ||
+ dt(e) ||
+ (function () {
+ throw new TypeError(
+ 'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ })()
+ )
+ }
+ function dt(e, t) {
+ if (e) {
+ if ('string' === typeof e) return ft(e, t)
+ var n = Object.prototype.toString.call(e).slice(8, -1)
+ return (
+ 'Object' === n && e.constructor && (n = e.constructor.name),
+ 'Map' === n || 'Set' === n
+ ? Array.from(e)
+ : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
+ ? ft(e, t)
+ : void 0
+ )
+ }
+ }
+ function ft(e, t) {
+ ;(null == t || t > e.length) && (t = e.length)
+ for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
+ return r
+ }
+ !(function (e, t) {
+ void 0 === t && (t = {})
+ var n = t.insertAt
+ if (e && 'undefined' !== typeof document) {
+ var r = document.head || document.getElementsByTagName('head')[0],
+ i = document.createElement('style')
+ ;(i.type = 'text/css'),
+ 'top' === n && r.firstChild ? r.insertBefore(i, r.firstChild) : r.appendChild(i),
+ i.styleSheet ? (i.styleSheet.cssText = e) : i.appendChild(document.createTextNode(e))
+ }
+ })(
+ '.scene-nav-info {\n bottom: 5px;\n width: 100%;\n text-align: center;\n color: slategrey;\n opacity: 0.7;\n font-size: 10px;\n}\n\n.scene-tooltip {\n color: lavender;\n font-size: 15px;\n}\n\n.scene-nav-info, .scene-tooltip {\n position: absolute;\n font-family: sans-serif;\n pointer-events: none;\n}\n\n.scene-container canvas:focus {\n outline: none;\n}',
+ )
+ var ht = window.THREE
+ ? window.THREE
+ : {
+ WebGLRenderer: H.CP7,
+ Scene: H.xsS,
+ PerspectiveCamera: H.cPb,
+ Raycaster: H.iMs,
+ TextureLoader: H.dpR,
+ Vector2: H.FM8,
+ Vector3: H.Pa4,
+ Box3: H.ZzF,
+ Color: H.Ilk,
+ Mesh: H.Kj0,
+ SphereGeometry: H.xo$,
+ MeshBasicMaterial: H.vBJ,
+ BackSide: H._Li,
+ EventDispatcher: H.pBf,
+ MOUSE: H.RsA,
+ Quaternion: H._fP,
+ Spherical: H.$V,
+ Clock: H.SUY,
+ },
+ pt = (0, b.Z)({
+ props: {
+ width: {
+ default: window.innerWidth,
+ onChange: function (e, t, n) {
+ isNaN(e) && (t.width = n)
+ },
+ },
+ height: {
+ default: window.innerHeight,
+ onChange: function (e, t, n) {
+ isNaN(e) && (t.height = n)
+ },
+ },
+ backgroundColor: { default: '#000011' },
+ backgroundImageUrl: {},
+ onBackgroundImageLoaded: {},
+ showNavInfo: { default: !0 },
+ skyRadius: { default: 5e4 },
+ objects: { default: [] },
+ enablePointerInteraction: {
+ default: !0,
+ onChange: function (e, t) {
+ ;(t.hoverObj = null), t.toolTipElem && (t.toolTipElem.innerHTML = '')
+ },
+ triggerUpdate: !1,
+ },
+ lineHoverPrecision: { default: 1, triggerUpdate: !1 },
+ hoverOrderComparator: {
+ default: function () {
+ return -1
+ },
+ triggerUpdate: !1,
+ },
+ hoverFilter: {
+ default: function () {
+ return !0
+ },
+ triggerUpdate: !1,
+ },
+ tooltipContent: { triggerUpdate: !1 },
+ hoverDuringDrag: { default: !1, triggerUpdate: !1 },
+ clickAfterDrag: { default: !1, triggerUpdate: !1 },
+ onHover: { default: function () {}, triggerUpdate: !1 },
+ onClick: { default: function () {}, triggerUpdate: !1 },
+ onRightClick: { triggerUpdate: !1 },
+ },
+ methods: {
+ tick: function (e) {
+ if (e.initialised) {
+ if (
+ (e.controls.update && e.controls.update(e.clock.getDelta()),
+ e.postProcessingComposer
+ ? e.postProcessingComposer.render()
+ : e.renderer.render(e.scene, e.camera),
+ e.extraRenderers.forEach(function (t) {
+ return t.render(e.scene, e.camera)
+ }),
+ e.enablePointerInteraction)
+ ) {
+ var t = null
+ if (e.hoverDuringDrag || !e.isPointerDragging) {
+ var n = this.intersectingObjects(e.pointerPos.x, e.pointerPos.y)
+ .filter(function (t) {
+ return e.hoverFilter(t.object)
+ })
+ .sort(function (t, n) {
+ return e.hoverOrderComparator(t.object, n.object)
+ }),
+ r = n.length ? n[0] : null
+ ;(t = r ? r.object : null), (e.intersectionPoint = r ? r.point : null)
+ }
+ t !== e.hoverObj &&
+ (e.onHover(t, e.hoverObj),
+ (e.toolTipElem.innerHTML = (t && (0, w.default)(e.tooltipContent)(t)) || ''),
+ (e.hoverObj = t))
+ }
+ st.update()
+ }
+ return this
+ },
+ getPointerPos: function (e) {
+ var t = e.pointerPos
+ return { x: t.x, y: t.y }
+ },
+ cameraPosition: function (e, t, n, r) {
+ var i = e.camera
+ if (t && e.initialised) {
+ var o = t,
+ a = n || { x: 0, y: 0, z: 0 }
+ if (r) {
+ var s = Object.assign({}, i.position),
+ l = d()
+ new st.Tween(s).to(o, r).easing(st.Easing.Quadratic.Out).onUpdate(u).start(),
+ new st.Tween(l)
+ .to(a, r / 3)
+ .easing(st.Easing.Quadratic.Out)
+ .onUpdate(c)
+ .start()
+ } else u(o), c(a)
+ return this
+ }
+ return Object.assign({}, i.position, { lookAt: d() })
+ function u(e) {
+ var t = e.x,
+ n = e.y,
+ r = e.z
+ void 0 !== t && (i.position.x = t),
+ void 0 !== n && (i.position.y = n),
+ void 0 !== r && (i.position.z = r)
+ }
+ function c(t) {
+ e.controls.target = new ht.Vector3(t.x, t.y, t.z)
+ }
+ function d() {
+ return Object.assign(
+ new ht.Vector3(0, 0, -1e3).applyQuaternion(i.quaternion).add(i.position),
+ )
+ }
+ },
+ zoomToFit: function (e) {
+ for (
+ var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0,
+ n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 10,
+ r = arguments.length,
+ i = new Array(r > 3 ? r - 3 : 0),
+ o = 3;
+ o < r;
+ o++
+ )
+ i[o - 3] = arguments[o]
+ return this.fitToBbox(this.getBbox.apply(this, i), t, n)
+ },
+ fitToBbox: function (e, t) {
+ var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0,
+ r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 10,
+ i = e.camera
+ if (t) {
+ var o = new ht.Vector3(0, 0, 0),
+ a =
+ 2 *
+ Math.max.apply(
+ Math,
+ ct(
+ Object.entries(t).map(function (e) {
+ var t = ut(e, 2),
+ n = t[0],
+ r = t[1]
+ return Math.max.apply(
+ Math,
+ ct(
+ r.map(function (e) {
+ return Math.abs(o[n] - e)
+ }),
+ ),
+ )
+ }),
+ ),
+ ),
+ s = (1 - (2 * r) / e.height) * i.fov,
+ l = a / Math.atan((s * Math.PI) / 180),
+ u = l / i.aspect,
+ c = Math.max(l, u)
+ if (c > 0) {
+ var d = o.clone().sub(i.position).normalize().multiplyScalar(-c)
+ this.cameraPosition(d, o, n)
+ }
+ }
+ return this
+ },
+ getBbox: function (e) {
+ var t =
+ arguments.length > 1 && void 0 !== arguments[1]
+ ? arguments[1]
+ : function () {
+ return !0
+ },
+ n = new ht.Box3(new ht.Vector3(0, 0, 0), new ht.Vector3(0, 0, 0)),
+ r = e.objects.filter(t)
+ return r.length
+ ? (r.forEach(function (e) {
+ return n.expandByObject(e)
+ }),
+ Object.assign.apply(
+ Object,
+ ct(
+ ['x', 'y', 'z'].map(function (e) {
+ return lt({}, e, [n.min[e], n.max[e]])
+ }),
+ ),
+ ))
+ : null
+ },
+ getScreenCoords: function (e, t, n, r) {
+ var i = new ht.Vector3(t, n, r)
+ return (
+ i.project(this.camera()),
+ { x: ((i.x + 1) * e.width) / 2, y: (-(i.y - 1) * e.height) / 2 }
+ )
+ },
+ getSceneCoords: function (e, t, n) {
+ var r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 0,
+ i = new ht.Vector2((t / e.width) * 2 - 1, (-n / e.height) * 2 + 1),
+ o = new ht.Raycaster()
+ return o.setFromCamera(i, e.camera), Object.assign({}, o.ray.at(r, new ht.Vector3()))
+ },
+ intersectingObjects: function (e, t, n) {
+ var r = new ht.Vector2((t / e.width) * 2 - 1, (-n / e.height) * 2 + 1),
+ i = new ht.Raycaster()
+ return (
+ (i.params.Line.threshold = e.lineHoverPrecision),
+ i.setFromCamera(r, e.camera),
+ i.intersectObjects(e.objects, !0)
+ )
+ },
+ renderer: function (e) {
+ return e.renderer
+ },
+ scene: function (e) {
+ return e.scene
+ },
+ camera: function (e) {
+ return e.camera
+ },
+ postProcessingComposer: function (e) {
+ return e.postProcessingComposer
+ },
+ controls: function (e) {
+ return e.controls
+ },
+ tbControls: function (e) {
+ return e.controls
+ },
+ },
+ stateInit: function () {
+ return {
+ scene: new ht.Scene(),
+ camera: new ht.PerspectiveCamera(),
+ clock: new ht.Clock(),
+ }
+ },
+ init: function (e, t) {
+ var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
+ r = n.controlType,
+ i = void 0 === r ? 'trackball' : r,
+ o = n.rendererConfig,
+ a = void 0 === o ? {} : o,
+ s = n.extraRenderers,
+ l = void 0 === s ? [] : s,
+ u = n.waitForLoadComplete,
+ c = void 0 === u || u
+ ;(e.innerHTML = ''),
+ e.appendChild((t.container = document.createElement('div'))),
+ (t.container.className = 'scene-container'),
+ (t.container.style.position = 'relative'),
+ t.container.appendChild((t.navInfo = document.createElement('div'))),
+ (t.navInfo.className = 'scene-nav-info'),
+ (t.navInfo.textContent =
+ {
+ orbit: 'Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan',
+ trackball: 'Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan',
+ fly: 'WASD: move, R|F: up | down, Q|E: roll, up|down: pitch, left|right: yaw',
+ }[i] || ''),
+ (t.navInfo.style.display = t.showNavInfo ? null : 'none'),
+ (t.toolTipElem = document.createElement('div')),
+ t.toolTipElem.classList.add('scene-tooltip'),
+ t.container.appendChild(t.toolTipElem),
+ (t.pointerPos = new ht.Vector2()),
+ (t.pointerPos.x = -2),
+ (t.pointerPos.y = -2),
+ ['pointermove', 'pointerdown'].forEach(function (e) {
+ return t.container.addEventListener(
+ e,
+ function (n) {
+ if (
+ ('pointerdown' === e && (t.isPointerPressed = !0),
+ !t.isPointerDragging &&
+ 'pointermove' === n.type &&
+ (n.pressure > 0 || t.isPointerPressed) &&
+ ('touch' !== n.pointerType ||
+ void 0 === n.movementX ||
+ [n.movementX, n.movementY].some(function (e) {
+ return Math.abs(e) > 1
+ })) &&
+ (t.isPointerDragging = !0),
+ t.enablePointerInteraction)
+ ) {
+ var r = (function (e) {
+ var t = e.getBoundingClientRect(),
+ n = window.pageXOffset || document.documentElement.scrollLeft,
+ r = window.pageYOffset || document.documentElement.scrollTop
+ return { top: t.top + r, left: t.left + n }
+ })(t.container)
+ ;(t.pointerPos.x = n.pageX - r.left),
+ (t.pointerPos.y = n.pageY - r.top),
+ (t.toolTipElem.style.top = ''.concat(t.pointerPos.y, 'px')),
+ (t.toolTipElem.style.left = ''.concat(t.pointerPos.x, 'px')),
+ (t.toolTipElem.style.transform = 'translate(-'.concat(
+ (t.pointerPos.x / t.width) * 100,
+ '%, 21px)',
+ ))
+ }
+ },
+ { passive: !0 },
+ )
+ }),
+ t.container.addEventListener(
+ 'pointerup',
+ function (e) {
+ ;(t.isPointerPressed = !1),
+ (t.isPointerDragging && ((t.isPointerDragging = !1), !t.clickAfterDrag)) ||
+ requestAnimationFrame(function () {
+ 0 === e.button && t.onClick(t.hoverObj || null, e, t.intersectionPoint),
+ 2 === e.button &&
+ t.onRightClick &&
+ t.onRightClick(t.hoverObj || null, e, t.intersectionPoint)
+ })
+ },
+ { passive: !0, capture: !0 },
+ ),
+ t.container.addEventListener('contextmenu', function (e) {
+ t.onRightClick && e.preventDefault()
+ }),
+ (t.renderer = new ht.WebGLRenderer(Object.assign({ antialias: !0, alpha: !0 }, a))),
+ t.renderer.setPixelRatio(Math.min(2, window.devicePixelRatio)),
+ t.container.appendChild(t.renderer.domElement),
+ (t.extraRenderers = l),
+ t.extraRenderers.forEach(function (e) {
+ ;(e.domElement.style.position = 'absolute'),
+ (e.domElement.style.top = '0px'),
+ (e.domElement.style.pointerEvents = 'none'),
+ t.container.appendChild(e.domElement)
+ }),
+ (t.postProcessingComposer = new pe(t.renderer)),
+ t.postProcessingComposer.addPass(new me(t.scene, t.camera)),
+ (t.controls = new { trackball: Q, orbit: ne, fly: ie }[i](
+ t.camera,
+ t.renderer.domElement,
+ )),
+ 'fly' === i &&
+ ((t.controls.movementSpeed = 300),
+ (t.controls.rollSpeed = Math.PI / 6),
+ (t.controls.dragToLook = !0)),
+ ('trackball' !== i && 'orbit' !== i) ||
+ ((t.controls.minDistance = 0.1),
+ (t.controls.maxDistance = t.skyRadius),
+ t.controls.addEventListener('start', function () {
+ t.controlsEngaged = !0
+ }),
+ t.controls.addEventListener('change', function () {
+ t.controlsEngaged && (t.controlsDragging = !0)
+ }),
+ t.controls.addEventListener('end', function () {
+ ;(t.controlsEngaged = !1), (t.controlsDragging = !1)
+ })),
+ [t.renderer, t.postProcessingComposer]
+ .concat(ct(t.extraRenderers))
+ .forEach(function (e) {
+ return e.setSize(t.width, t.height)
+ }),
+ (t.camera.aspect = t.width / t.height),
+ t.camera.updateProjectionMatrix(),
+ (t.camera.position.z = 1e3),
+ t.scene.add((t.skysphere = new ht.Mesh())),
+ (t.skysphere.visible = !1),
+ (t.loadComplete = t.scene.visible = !c),
+ (window.scene = t.scene)
+ },
+ update: function (e, t) {
+ if (
+ (e.width &&
+ e.height &&
+ (t.hasOwnProperty('width') || t.hasOwnProperty('height')) &&
+ ((e.container.style.width = e.width),
+ (e.container.style.height = e.height),
+ [e.renderer, e.postProcessingComposer]
+ .concat(ct(e.extraRenderers))
+ .forEach(function (t) {
+ return t.setSize(e.width, e.height)
+ }),
+ (e.camera.aspect = e.width / e.height),
+ e.camera.updateProjectionMatrix()),
+ t.hasOwnProperty('skyRadius') &&
+ e.skyRadius &&
+ (e.controls.hasOwnProperty('maxDistance') &&
+ t.skyRadius &&
+ (e.controls.maxDistance = e.skyRadius),
+ (e.camera.far = 2.5 * e.skyRadius),
+ e.camera.updateProjectionMatrix(),
+ (e.skysphere.geometry = new ht.SphereGeometry(e.skyRadius))),
+ t.hasOwnProperty('backgroundColor'))
+ ) {
+ var n = Ne(e.backgroundColor).alpha
+ void 0 === n && (n = 1),
+ e.renderer.setClearColor(new ht.Color(qe(1, e.backgroundColor)), n)
+ }
+ function r() {
+ e.loadComplete = e.scene.visible = !0
+ }
+ t.hasOwnProperty('backgroundImageUrl') &&
+ (e.backgroundImageUrl
+ ? new ht.TextureLoader().load(e.backgroundImageUrl, function (t) {
+ ;(e.skysphere.material = new ht.MeshBasicMaterial({
+ map: t,
+ side: ht.BackSide,
+ })),
+ (e.skysphere.visible = !0),
+ e.onBackgroundImageLoaded && setTimeout(e.onBackgroundImageLoaded),
+ !e.loadComplete && r()
+ })
+ : ((e.skysphere.visible = !1),
+ (e.skysphere.material.map = null),
+ !e.loadComplete && r())),
+ t.hasOwnProperty('showNavInfo') &&
+ (e.navInfo.style.display = e.showNavInfo ? null : 'none'),
+ t.hasOwnProperty('objects') &&
+ ((t.objects || []).forEach(function (t) {
+ return e.scene.remove(t)
+ }),
+ e.objects.forEach(function (t) {
+ return e.scene.add(t)
+ }))
+ },
+ })
+ function vt(e, t) {
+ var n = Object.keys(e)
+ if (Object.getOwnPropertySymbols) {
+ var r = Object.getOwnPropertySymbols(e)
+ t &&
+ (r = r.filter(function (t) {
+ return Object.getOwnPropertyDescriptor(e, t).enumerable
+ })),
+ n.push.apply(n, r)
+ }
+ return n
+ }
+ function mt(e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = null != arguments[t] ? arguments[t] : {}
+ t % 2
+ ? vt(Object(n), !0).forEach(function (t) {
+ gt(e, t, n[t])
+ })
+ : Object.getOwnPropertyDescriptors
+ ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+ : vt(Object(n)).forEach(function (t) {
+ Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
+ })
+ }
+ return e
+ }
+ function gt(e, t, n) {
+ return (
+ t in e
+ ? Object.defineProperty(e, t, {
+ value: n,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0,
+ })
+ : (e[t] = n),
+ e
+ )
+ }
+ function yt(e) {
+ return (
+ (function (e) {
+ if (Array.isArray(e)) return bt(e)
+ })(e) ||
+ (function (e) {
+ if (
+ ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) ||
+ null != e['@@iterator']
+ )
+ return Array.from(e)
+ })(e) ||
+ (function (e, t) {
+ if (!e) return
+ if ('string' === typeof e) return bt(e, t)
+ var n = Object.prototype.toString.call(e).slice(8, -1)
+ 'Object' === n && e.constructor && (n = e.constructor.name)
+ if ('Map' === n || 'Set' === n) return Array.from(e)
+ if ('Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+ return bt(e, t)
+ })(e) ||
+ (function () {
+ throw new TypeError(
+ 'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ })()
+ )
+ }
+ function bt(e, t) {
+ ;(null == t || t > e.length) && (t = e.length)
+ for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
+ return r
+ }
+ function wt(e, t) {
+ var n = new t()
+ return {
+ linkProp: function (t) {
+ return {
+ default: n[t](),
+ onChange: function (n, r) {
+ r[e][t](n)
+ },
+ triggerUpdate: !1,
+ }
+ },
+ linkMethod: function (t) {
+ return function (n) {
+ for (
+ var r = n[e], i = arguments.length, o = new Array(i > 1 ? i - 1 : 0), a = 1;
+ a < i;
+ a++
+ )
+ o[a - 1] = arguments[a]
+ var s = r[t].apply(r, o)
+ return s === r ? this : s
+ }
+ },
+ }
+ }
+ !(function (e, t) {
+ void 0 === t && (t = {})
+ var n = t.insertAt
+ if (e && 'undefined' !== typeof document) {
+ var r = document.head || document.getElementsByTagName('head')[0],
+ i = document.createElement('style')
+ ;(i.type = 'text/css'),
+ 'top' === n && r.firstChild ? r.insertBefore(i, r.firstChild) : r.appendChild(i),
+ i.styleSheet ? (i.styleSheet.cssText = e) : i.appendChild(document.createTextNode(e))
+ }
+ })(
+ '.graph-info-msg {\n top: 50%;\n width: 100%;\n text-align: center;\n color: lavender;\n opacity: 0.7;\n font-size: 22px;\n position: absolute;\n font-family: Sans-serif;\n}\n\n.scene-container .clickable {\n cursor: pointer;\n}\n\n.scene-container .grabbable {\n cursor: move;\n cursor: grab;\n cursor: -moz-grab;\n cursor: -webkit-grab;\n}\n\n.scene-container .grabbable:active {\n cursor: grabbing;\n cursor: -moz-grabbing;\n cursor: -webkit-grabbing;\n}',
+ )
+ var xt = window.THREE
+ ? window.THREE
+ : { AmbientLight: H.Mig, DirectionalLight: H.Ox3, Vector3: H.Pa4 },
+ Et = wt('forceGraph', Z.default),
+ kt = Object.assign.apply(
+ Object,
+ yt(
+ [
+ 'jsonUrl',
+ 'graphData',
+ 'numDimensions',
+ 'dagMode',
+ 'dagLevelDistance',
+ 'dagNodeFilter',
+ 'onDagError',
+ 'nodeRelSize',
+ 'nodeId',
+ 'nodeVal',
+ 'nodeResolution',
+ 'nodeColor',
+ 'nodeAutoColorBy',
+ 'nodeOpacity',
+ 'nodeVisibility',
+ 'nodeThreeObject',
+ 'nodeThreeObjectExtend',
+ 'linkSource',
+ 'linkTarget',
+ 'linkVisibility',
+ 'linkColor',
+ 'linkAutoColorBy',
+ 'linkOpacity',
+ 'linkWidth',
+ 'linkResolution',
+ 'linkCurvature',
+ 'linkCurveRotation',
+ 'linkMaterial',
+ 'linkThreeObject',
+ 'linkThreeObjectExtend',
+ 'linkPositionUpdate',
+ 'linkDirectionalArrowLength',
+ 'linkDirectionalArrowColor',
+ 'linkDirectionalArrowRelPos',
+ 'linkDirectionalArrowResolution',
+ 'linkDirectionalParticles',
+ 'linkDirectionalParticleSpeed',
+ 'linkDirectionalParticleWidth',
+ 'linkDirectionalParticleColor',
+ 'linkDirectionalParticleResolution',
+ 'forceEngine',
+ 'd3AlphaDecay',
+ 'd3VelocityDecay',
+ 'd3AlphaMin',
+ 'ngraphPhysics',
+ 'warmupTicks',
+ 'cooldownTicks',
+ 'cooldownTime',
+ 'onEngineTick',
+ 'onEngineStop',
+ ].map(function (e) {
+ return gt({}, e, Et.linkProp(e))
+ }),
+ ),
+ ),
+ Tt = Object.assign.apply(
+ Object,
+ yt(
+ ['refresh', 'getGraphBbox', 'd3Force', 'd3ReheatSimulation', 'emitParticle'].map(
+ function (e) {
+ return gt({}, e, Et.linkMethod(e))
+ },
+ ),
+ ),
+ ),
+ _t = wt('renderObjs', pt),
+ Ot = Object.assign.apply(
+ Object,
+ yt(
+ ['width', 'height', 'backgroundColor', 'showNavInfo', 'enablePointerInteraction'].map(
+ function (e) {
+ return gt({}, e, _t.linkProp(e))
+ },
+ ),
+ ),
+ ),
+ Ct = Object.assign.apply(
+ Object,
+ yt(
+ ['cameraPosition', 'postProcessingComposer'].map(function (e) {
+ return gt({}, e, _t.linkMethod(e))
+ }),
+ ).concat([
+ {
+ graph2ScreenCoords: _t.linkMethod('getScreenCoords'),
+ screen2GraphCoords: _t.linkMethod('getSceneCoords'),
+ },
+ ]),
+ )
+ function At(e) {
+ for (var t = e; t && !t.hasOwnProperty('__graphObjType'); ) t = t.parent
+ return t
+ }
+ var St = (0, b.Z)({
+ props: mt(
+ mt(
+ {
+ nodeLabel: { default: 'name', triggerUpdate: !1 },
+ linkLabel: { default: 'name', triggerUpdate: !1 },
+ linkHoverPrecision: {
+ default: 1,
+ onChange: function (e, t) {
+ return t.renderObjs.lineHoverPrecision(e)
+ },
+ triggerUpdate: !1,
+ },
+ enableNavigationControls: {
+ default: !0,
+ onChange: function (e, t) {
+ var n = t.renderObjs.controls()
+ n && (n.enabled = e)
+ },
+ triggerUpdate: !1,
+ },
+ enableNodeDrag: { default: !0, triggerUpdate: !1 },
+ onNodeDrag: { default: function () {}, triggerUpdate: !1 },
+ onNodeDragEnd: { default: function () {}, triggerUpdate: !1 },
+ onNodeClick: { triggerUpdate: !1 },
+ onNodeRightClick: { triggerUpdate: !1 },
+ onNodeHover: { triggerUpdate: !1 },
+ onLinkClick: { triggerUpdate: !1 },
+ onLinkRightClick: { triggerUpdate: !1 },
+ onLinkHover: { triggerUpdate: !1 },
+ onBackgroundClick: { triggerUpdate: !1 },
+ onBackgroundRightClick: { triggerUpdate: !1 },
+ },
+ kt,
+ ),
+ Ot,
+ ),
+ methods: mt(
+ mt(
+ {
+ zoomToFit: function (e, t, n) {
+ for (
+ var r, i = arguments.length, o = new Array(i > 3 ? i - 3 : 0), a = 3;
+ a < i;
+ a++
+ )
+ o[a - 3] = arguments[a]
+ return (
+ e.renderObjs.fitToBbox((r = e.forceGraph).getGraphBbox.apply(r, o), t, n), this
+ )
+ },
+ pauseAnimation: function (e) {
+ return (
+ null !== e.animationFrameRequestId &&
+ (cancelAnimationFrame(e.animationFrameRequestId),
+ (e.animationFrameRequestId = null)),
+ this
+ )
+ },
+ resumeAnimation: function (e) {
+ return null === e.animationFrameRequestId && this._animationCycle(), this
+ },
+ _animationCycle: function (e) {
+ e.enablePointerInteraction && (this.renderer().domElement.style.cursor = null),
+ e.forceGraph.tickFrame(),
+ e.renderObjs.tick(),
+ (e.animationFrameRequestId = requestAnimationFrame(this._animationCycle))
+ },
+ scene: function (e) {
+ return e.renderObjs.scene()
+ },
+ camera: function (e) {
+ return e.renderObjs.camera()
+ },
+ renderer: function (e) {
+ return e.renderObjs.renderer()
+ },
+ controls: function (e) {
+ return e.renderObjs.controls()
+ },
+ tbControls: function (e) {
+ return e.renderObjs.tbControls()
+ },
+ _destructor: function () {
+ this.pauseAnimation(), this.graphData({ nodes: [], links: [] })
+ },
+ },
+ Tt,
+ ),
+ Ct,
+ ),
+ stateInit: function (e) {
+ var t = e.controlType,
+ n = e.rendererConfig,
+ r = e.extraRenderers
+ return {
+ forceGraph: new Z.default(),
+ renderObjs: pt({ controlType: t, rendererConfig: n, extraRenderers: r }),
+ }
+ },
+ init: function (e, t) {
+ ;(e.innerHTML = ''),
+ e.appendChild((t.container = document.createElement('div'))),
+ (t.container.style.position = 'relative')
+ var n = document.createElement('div')
+ t.container.appendChild(n), t.renderObjs(n)
+ var r,
+ i = t.renderObjs.camera(),
+ o = t.renderObjs.renderer(),
+ a = t.renderObjs.controls()
+ ;(a.enabled = !!t.enableNavigationControls),
+ (t.lastSetCameraZ = i.position.z),
+ t.container.appendChild((r = document.createElement('div'))),
+ (r.className = 'graph-info-msg'),
+ (r.textContent = ''),
+ t.forceGraph
+ .onLoading(function () {
+ r.textContent = 'Loading...'
+ })
+ .onFinishLoading(function () {
+ r.textContent = ''
+ })
+ .onUpdate(function () {
+ ;(t.graphData = t.forceGraph.graphData()),
+ 0 === i.position.x &&
+ 0 === i.position.y &&
+ i.position.z === t.lastSetCameraZ &&
+ t.graphData.nodes.length &&
+ (i.lookAt(t.forceGraph.position),
+ (t.lastSetCameraZ = i.position.z = 170 * Math.cbrt(t.graphData.nodes.length)))
+ })
+ .onFinishUpdate(function () {
+ if (t._dragControls) {
+ var e = t.graphData.nodes.find(function (e) {
+ return e.__initialFixedPos && !e.__disposeControlsAfterDrag
+ })
+ e ? (e.__disposeControlsAfterDrag = !0) : t._dragControls.dispose(),
+ (t._dragControls = void 0)
+ }
+ if (t.enableNodeDrag && t.enablePointerInteraction && 'd3' === t.forceEngine) {
+ var n = (t._dragControls = new K(
+ t.graphData.nodes
+ .map(function (e) {
+ return e.__threeObj
+ })
+ .filter(function (e) {
+ return e
+ }),
+ i,
+ o.domElement,
+ ))
+ n.addEventListener('dragstart', function (e) {
+ ;(a.enabled = !1),
+ (e.object.__initialPos = e.object.position.clone()),
+ (e.object.__prevPos = e.object.position.clone())
+ var t = At(e.object).__data
+ !t.__initialFixedPos &&
+ (t.__initialFixedPos = { fx: t.fx, fy: t.fy, fz: t.fz }),
+ !t.__initialPos && (t.__initialPos = { x: t.x, y: t.y, z: t.z }),
+ ['x', 'y', 'z'].forEach(function (e) {
+ return (t['f'.concat(e)] = t[e])
+ }),
+ o.domElement.classList.add('grabbable')
+ }),
+ n.addEventListener('drag', function (e) {
+ var n = At(e.object)
+ if (!e.object.hasOwnProperty('__graphObjType')) {
+ var r = e.object.__initialPos,
+ i = e.object.__prevPos,
+ o = e.object.position
+ n.position.add(o.clone().sub(i)), i.copy(o), o.copy(r)
+ }
+ var a = n.__data,
+ s = n.position,
+ l = { x: s.x - a.x, y: s.y - a.y, z: s.z - a.z }
+ ;['x', 'y', 'z'].forEach(function (e) {
+ return (a['f'.concat(e)] = a[e] = s[e])
+ }),
+ t.forceGraph.d3AlphaTarget(0.3).resetCountdown(),
+ (a.__dragged = !0),
+ t.onNodeDrag(a, l)
+ }),
+ n.addEventListener('dragend', function (e) {
+ delete e.object.__initialPos, delete e.object.__prevPos
+ var r = At(e.object).__data
+ r.__disposeControlsAfterDrag &&
+ (n.dispose(), delete r.__disposeControlsAfterDrag)
+ var i = r.__initialFixedPos,
+ s = r.__initialPos,
+ l = { x: s.x - r.x, y: s.y - r.y, z: s.z - r.z }
+ i &&
+ (['x', 'y', 'z'].forEach(function (e) {
+ var t = 'f'.concat(e)
+ void 0 === i[t] && delete r[t]
+ }),
+ delete r.__initialFixedPos,
+ delete r.__initialPos,
+ r.__dragged && (delete r.__dragged, t.onNodeDragEnd(r, l))),
+ t.forceGraph.d3AlphaTarget(0).resetCountdown(),
+ t.enableNavigationControls &&
+ ((a.enabled = !0),
+ a.domElement &&
+ a.domElement.ownerDocument &&
+ a.domElement.ownerDocument.dispatchEvent(
+ new PointerEvent('pointerup', { pointerType: 'touch' }),
+ )),
+ o.domElement.classList.remove('grabbable')
+ })
+ }
+ }),
+ t.renderObjs
+ .objects([
+ new xt.AmbientLight(12303291),
+ new xt.DirectionalLight(16777215, 0.6),
+ t.forceGraph,
+ ])
+ .hoverOrderComparator(function (e, t) {
+ var n = At(e)
+ if (!n) return 1
+ var r = At(t)
+ if (!r) return -1
+ var i = function (e) {
+ return 'node' === e.__graphObjType
+ }
+ return i(r) - i(n)
+ })
+ .tooltipContent(function (e) {
+ var n = At(e)
+ return (
+ (n && (0, w.default)(t[''.concat(n.__graphObjType, 'Label')])(n.__data)) || ''
+ )
+ })
+ .hoverDuringDrag(!1)
+ .onHover(function (e) {
+ var n = At(e)
+ if (n !== t.hoverObj) {
+ var r = t.hoverObj ? t.hoverObj.__graphObjType : null,
+ i = t.hoverObj ? t.hoverObj.__data : null,
+ a = n ? n.__graphObjType : null,
+ s = n ? n.__data : null
+ if (r && r !== a) {
+ var l = t['on'.concat('node' === r ? 'Node' : 'Link', 'Hover')]
+ l && l(null, i)
+ }
+ if (a) {
+ var u = t['on'.concat('node' === a ? 'Node' : 'Link', 'Hover')]
+ u && u(s, r === a ? i : null)
+ }
+ o.domElement.classList[
+ (n && t['on'.concat('node' === a ? 'Node' : 'Link', 'Click')]) ||
+ (!n && t.onBackgroundClick)
+ ? 'add'
+ : 'remove'
+ ]('clickable'),
+ (t.hoverObj = n)
+ }
+ })
+ .clickAfterDrag(!1)
+ .onClick(function (e, n) {
+ var r = At(e)
+ if (r) {
+ var i = t['on'.concat('node' === r.__graphObjType ? 'Node' : 'Link', 'Click')]
+ i && i(r.__data, n)
+ } else t.onBackgroundClick && t.onBackgroundClick(n)
+ })
+ .onRightClick(function (e, n) {
+ var r = At(e)
+ if (r) {
+ var i =
+ t['on'.concat('node' === r.__graphObjType ? 'Node' : 'Link', 'RightClick')]
+ i && i(r.__data, n)
+ } else t.onBackgroundRightClick && t.onBackgroundRightClick(n)
+ }),
+ this._animationCycle()
+ },
+ }),
+ Pt = r(6156)
+ function Mt() {}
+ function Rt(e) {
+ return null == e
+ ? Mt
+ : function () {
+ return this.querySelector(e)
+ }
+ }
+ function jt(e) {
+ return null == e ? [] : Array.isArray(e) ? e : Array.from(e)
+ }
+ function Dt() {
+ return []
+ }
+ function Lt(e) {
+ return null == e
+ ? Dt
+ : function () {
+ return this.querySelectorAll(e)
+ }
+ }
+ function Nt(e) {
+ return function () {
+ return this.matches(e)
+ }
+ }
+ function It(e) {
+ return function (t) {
+ return t.matches(e)
+ }
+ }
+ var zt = Array.prototype.find
+ function Ht() {
+ return this.firstElementChild
+ }
+ var Bt = Array.prototype.filter
+ function Ft() {
+ return Array.from(this.children)
+ }
+ function Vt(e) {
+ return new Array(e.length)
+ }
+ function Ut(e, t) {
+ ;(this.ownerDocument = e.ownerDocument),
+ (this.namespaceURI = e.namespaceURI),
+ (this._next = null),
+ (this._parent = e),
+ (this.__data__ = t)
+ }
+ function Gt(e) {
+ return function () {
+ return e
+ }
+ }
+ function qt(e, t, n, r, i, o) {
+ for (var a, s = 0, l = t.length, u = o.length; s < u; ++s)
+ (a = t[s]) ? ((a.__data__ = o[s]), (r[s] = a)) : (n[s] = new Ut(e, o[s]))
+ for (; s < l; ++s) (a = t[s]) && (i[s] = a)
+ }
+ function Wt(e, t, n, r, i, o, a) {
+ var s,
+ l,
+ u,
+ c = new Map(),
+ d = t.length,
+ f = o.length,
+ h = new Array(d)
+ for (s = 0; s < d; ++s)
+ (l = t[s]) &&
+ ((h[s] = u = a.call(l, l.__data__, s, t) + ''), c.has(u) ? (i[s] = l) : c.set(u, l))
+ for (s = 0; s < f; ++s)
+ (u = a.call(e, o[s], s, o) + ''),
+ (l = c.get(u))
+ ? ((r[s] = l), (l.__data__ = o[s]), c.delete(u))
+ : (n[s] = new Ut(e, o[s]))
+ for (s = 0; s < d; ++s) (l = t[s]) && c.get(h[s]) === l && (i[s] = l)
+ }
+ function Kt(e) {
+ return e.__data__
+ }
+ function Zt(e) {
+ return 'object' === typeof e && 'length' in e ? e : Array.from(e)
+ }
+ function $t(e, t) {
+ return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN
+ }
+ function Xt(e, t) {
+ var n
+ if ('undefined' === typeof Symbol || null == e[Symbol.iterator]) {
+ if (
+ Array.isArray(e) ||
+ (n = (function (e, t) {
+ if (!e) return
+ if ('string' === typeof e) return Yt(e, t)
+ var n = Object.prototype.toString.call(e).slice(8, -1)
+ 'Object' === n && e.constructor && (n = e.constructor.name)
+ if ('Map' === n || 'Set' === n) return Array.from(e)
+ if ('Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+ return Yt(e, t)
+ })(e)) ||
+ (t && e && 'number' === typeof e.length)
+ ) {
+ n && (e = n)
+ var r = 0,
+ i = function () {}
+ return {
+ s: i,
+ n: function () {
+ return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] }
+ },
+ e: function (e) {
+ throw e
+ },
+ f: i,
+ }
+ }
+ throw new TypeError(
+ 'Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ }
+ var o,
+ a = !0,
+ s = !1
+ return {
+ s: function () {
+ n = e[Symbol.iterator]()
+ },
+ n: function () {
+ var e = n.next()
+ return (a = e.done), e
+ },
+ e: function (e) {
+ ;(s = !0), (o = e)
+ },
+ f: function () {
+ try {
+ a || null == n.return || n.return()
+ } finally {
+ if (s) throw o
+ }
+ },
+ }
+ }
+ function Yt(e, t) {
+ ;(null == t || t > e.length) && (t = e.length)
+ for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
+ return r
+ }
+ Ut.prototype = {
+ constructor: Ut,
+ appendChild: function (e) {
+ return this._parent.insertBefore(e, this._next)
+ },
+ insertBefore: function (e, t) {
+ return this._parent.insertBefore(e, t)
+ },
+ querySelector: function (e) {
+ return this._parent.querySelector(e)
+ },
+ querySelectorAll: function (e) {
+ return this._parent.querySelectorAll(e)
+ },
+ }
+ var Qt = 'http://www.w3.org/1999/xhtml',
+ Jt = {
+ svg: 'http://www.w3.org/2000/svg',
+ xhtml: Qt,
+ xlink: 'http://www.w3.org/1999/xlink',
+ xml: 'http://www.w3.org/XML/1998/namespace',
+ xmlns: 'http://www.w3.org/2000/xmlns/',
+ }
+ function en(e) {
+ var t = (e += ''),
+ n = t.indexOf(':')
+ return (
+ n >= 0 && 'xmlns' !== (t = e.slice(0, n)) && (e = e.slice(n + 1)),
+ Jt.hasOwnProperty(t) ? { space: Jt[t], local: e } : e
+ )
+ }
+ function tn(e) {
+ return function () {
+ this.removeAttribute(e)
+ }
+ }
+ function nn(e) {
+ return function () {
+ this.removeAttributeNS(e.space, e.local)
+ }
+ }
+ function rn(e, t) {
+ return function () {
+ this.setAttribute(e, t)
+ }
+ }
+ function on(e, t) {
+ return function () {
+ this.setAttributeNS(e.space, e.local, t)
+ }
+ }
+ function an(e, t) {
+ return function () {
+ var n = t.apply(this, arguments)
+ null == n ? this.removeAttribute(e) : this.setAttribute(e, n)
+ }
+ }
+ function sn(e, t) {
+ return function () {
+ var n = t.apply(this, arguments)
+ null == n
+ ? this.removeAttributeNS(e.space, e.local)
+ : this.setAttributeNS(e.space, e.local, n)
+ }
+ }
+ function ln(e) {
+ return (
+ (e.ownerDocument && e.ownerDocument.defaultView) || (e.document && e) || e.defaultView
+ )
+ }
+ function un(e) {
+ return function () {
+ this.style.removeProperty(e)
+ }
+ }
+ function cn(e, t, n) {
+ return function () {
+ this.style.setProperty(e, t, n)
+ }
+ }
+ function dn(e, t, n) {
+ return function () {
+ var r = t.apply(this, arguments)
+ null == r ? this.style.removeProperty(e) : this.style.setProperty(e, r, n)
+ }
+ }
+ function fn(e, t) {
+ return e.style.getPropertyValue(t) || ln(e).getComputedStyle(e, null).getPropertyValue(t)
+ }
+ function hn(e) {
+ return function () {
+ delete this[e]
+ }
+ }
+ function pn(e, t) {
+ return function () {
+ this[e] = t
+ }
+ }
+ function vn(e, t) {
+ return function () {
+ var n = t.apply(this, arguments)
+ null == n ? delete this[e] : (this[e] = n)
+ }
+ }
+ function mn(e) {
+ return e.trim().split(/^|\s+/)
+ }
+ function gn(e) {
+ return e.classList || new yn(e)
+ }
+ function yn(e) {
+ ;(this._node = e), (this._names = mn(e.getAttribute('class') || ''))
+ }
+ function bn(e, t) {
+ for (var n = gn(e), r = -1, i = t.length; ++r < i; ) n.add(t[r])
+ }
+ function wn(e, t) {
+ for (var n = gn(e), r = -1, i = t.length; ++r < i; ) n.remove(t[r])
+ }
+ function xn(e) {
+ return function () {
+ bn(this, e)
+ }
+ }
+ function En(e) {
+ return function () {
+ wn(this, e)
+ }
+ }
+ function kn(e, t) {
+ return function () {
+ ;(t.apply(this, arguments) ? bn : wn)(this, e)
+ }
+ }
+ function Tn() {
+ this.textContent = ''
+ }
+ function _n(e) {
+ return function () {
+ this.textContent = e
+ }
+ }
+ function On(e) {
+ return function () {
+ var t = e.apply(this, arguments)
+ this.textContent = null == t ? '' : t
+ }
+ }
+ function Cn() {
+ this.innerHTML = ''
+ }
+ function An(e) {
+ return function () {
+ this.innerHTML = e
+ }
+ }
+ function Sn(e) {
+ return function () {
+ var t = e.apply(this, arguments)
+ this.innerHTML = null == t ? '' : t
+ }
+ }
+ function Pn() {
+ this.nextSibling && this.parentNode.appendChild(this)
+ }
+ function Mn() {
+ this.previousSibling && this.parentNode.insertBefore(this, this.parentNode.firstChild)
+ }
+ function Rn(e) {
+ return function () {
+ var t = this.ownerDocument,
+ n = this.namespaceURI
+ return n === Qt && t.documentElement.namespaceURI === Qt
+ ? t.createElement(e)
+ : t.createElementNS(n, e)
+ }
+ }
+ function jn(e) {
+ return function () {
+ return this.ownerDocument.createElementNS(e.space, e.local)
+ }
+ }
+ function Dn(e) {
+ var t = en(e)
+ return (t.local ? jn : Rn)(t)
+ }
+ function Ln() {
+ return null
+ }
+ function Nn() {
+ var e = this.parentNode
+ e && e.removeChild(this)
+ }
+ function In() {
+ var e = this.cloneNode(!1),
+ t = this.parentNode
+ return t ? t.insertBefore(e, this.nextSibling) : e
+ }
+ function zn() {
+ var e = this.cloneNode(!0),
+ t = this.parentNode
+ return t ? t.insertBefore(e, this.nextSibling) : e
+ }
+ function Hn(e) {
+ return e
+ .trim()
+ .split(/^|\s+/)
+ .map(function (e) {
+ var t = '',
+ n = e.indexOf('.')
+ return n >= 0 && ((t = e.slice(n + 1)), (e = e.slice(0, n))), { type: e, name: t }
+ })
+ }
+ function Bn(e) {
+ return function () {
+ var t = this.__on
+ if (t) {
+ for (var n, r = 0, i = -1, o = t.length; r < o; ++r)
+ (n = t[r]),
+ (e.type && n.type !== e.type) || n.name !== e.name
+ ? (t[++i] = n)
+ : this.removeEventListener(n.type, n.listener, n.options)
+ ++i ? (t.length = i) : delete this.__on
+ }
+ }
+ }
+ function Fn(e, t, n) {
+ return function () {
+ var r,
+ i = this.__on,
+ o = (function (e) {
+ return function (t) {
+ e.call(this, t, this.__data__)
+ }
+ })(t)
+ if (i)
+ for (var a = 0, s = i.length; a < s; ++a)
+ if ((r = i[a]).type === e.type && r.name === e.name)
+ return (
+ this.removeEventListener(r.type, r.listener, r.options),
+ this.addEventListener(r.type, (r.listener = o), (r.options = n)),
+ void (r.value = t)
+ )
+ this.addEventListener(e.type, o, n),
+ (r = { type: e.type, name: e.name, value: t, listener: o, options: n }),
+ i ? i.push(r) : (this.__on = [r])
+ }
+ }
+ function Vn(e, t, n) {
+ var r = ln(e),
+ i = r.CustomEvent
+ 'function' === typeof i
+ ? (i = new i(t, n))
+ : ((i = r.document.createEvent('Event')),
+ n
+ ? (i.initEvent(t, n.bubbles, n.cancelable), (i.detail = n.detail))
+ : i.initEvent(t, !1, !1)),
+ e.dispatchEvent(i)
+ }
+ function Un(e, t) {
+ return function () {
+ return Vn(this, e, t)
+ }
+ }
+ function Gn(e, t) {
+ return function () {
+ return Vn(this, e, t.apply(this, arguments))
+ }
+ }
+ yn.prototype = {
+ add: function (e) {
+ this._names.indexOf(e) < 0 &&
+ (this._names.push(e), this._node.setAttribute('class', this._names.join(' ')))
+ },
+ remove: function (e) {
+ var t = this._names.indexOf(e)
+ t >= 0 &&
+ (this._names.splice(t, 1), this._node.setAttribute('class', this._names.join(' ')))
+ },
+ contains: function (e) {
+ return this._names.indexOf(e) >= 0
+ },
+ }
+ var qn = r(7757),
+ Wn = r.n(qn),
+ Kn = Wn().mark(Zn)
+ function Zn() {
+ var e, t, n, r, i, o, a
+ return Wn().wrap(
+ function (s) {
+ for (;;)
+ switch ((s.prev = s.next)) {
+ case 0:
+ ;(e = this._groups), (t = 0), (n = e.length)
+ case 1:
+ if (!(t < n)) {
+ s.next = 13
+ break
+ }
+ ;(r = e[t]), (i = 0), (o = r.length)
+ case 3:
+ if (!(i < o)) {
+ s.next = 10
+ break
+ }
+ if (!(a = r[i])) {
+ s.next = 7
+ break
+ }
+ return (s.next = 7), a
+ case 7:
+ ++i, (s.next = 3)
+ break
+ case 10:
+ ++t, (s.next = 1)
+ break
+ case 13:
+ case 'end':
+ return s.stop()
+ }
+ },
+ Kn,
+ this,
+ )
+ }
+ var $n = [null]
+ function Xn(e, t) {
+ ;(this._groups = e), (this._parents = t)
+ }
+ function Yn() {
+ return new Xn([[document.documentElement]], $n)
+ }
+ Xn.prototype = Yn.prototype = (0, Pt.Z)(
+ {
+ constructor: Xn,
+ select: function (e) {
+ 'function' !== typeof e && (e = Rt(e))
+ for (var t = this._groups, n = t.length, r = new Array(n), i = 0; i < n; ++i)
+ for (var o, a, s = t[i], l = s.length, u = (r[i] = new Array(l)), c = 0; c < l; ++c)
+ (o = s[c]) &&
+ (a = e.call(o, o.__data__, c, s)) &&
+ ('__data__' in o && (a.__data__ = o.__data__), (u[c] = a))
+ return new Xn(r, this._parents)
+ },
+ selectAll: function (e) {
+ e =
+ 'function' === typeof e
+ ? (function (e) {
+ return function () {
+ return jt(e.apply(this, arguments))
+ }
+ })(e)
+ : Lt(e)
+ for (var t = this._groups, n = t.length, r = [], i = [], o = 0; o < n; ++o)
+ for (var a, s = t[o], l = s.length, u = 0; u < l; ++u)
+ (a = s[u]) && (r.push(e.call(a, a.__data__, u, s)), i.push(a))
+ return new Xn(r, i)
+ },
+ selectChild: function (e) {
+ return this.select(
+ null == e
+ ? Ht
+ : (function (e) {
+ return function () {
+ return zt.call(this.children, e)
+ }
+ })('function' === typeof e ? e : It(e)),
+ )
+ },
+ selectChildren: function (e) {
+ return this.selectAll(
+ null == e
+ ? Ft
+ : (function (e) {
+ return function () {
+ return Bt.call(this.children, e)
+ }
+ })('function' === typeof e ? e : It(e)),
+ )
+ },
+ filter: function (e) {
+ 'function' !== typeof e && (e = Nt(e))
+ for (var t = this._groups, n = t.length, r = new Array(n), i = 0; i < n; ++i)
+ for (var o, a = t[i], s = a.length, l = (r[i] = []), u = 0; u < s; ++u)
+ (o = a[u]) && e.call(o, o.__data__, u, a) && l.push(o)
+ return new Xn(r, this._parents)
+ },
+ data: function (e, t) {
+ if (!arguments.length) return Array.from(this, Kt)
+ var n = t ? Wt : qt,
+ r = this._parents,
+ i = this._groups
+ 'function' !== typeof e && (e = Gt(e))
+ for (
+ var o = i.length, a = new Array(o), s = new Array(o), l = new Array(o), u = 0;
+ u < o;
+ ++u
+ ) {
+ var c = r[u],
+ d = i[u],
+ f = d.length,
+ h = Zt(e.call(c, c && c.__data__, u, r)),
+ p = h.length,
+ v = (s[u] = new Array(p)),
+ m = (a[u] = new Array(p)),
+ g = (l[u] = new Array(f))
+ n(c, d, v, m, g, h, t)
+ for (var y, b, w = 0, x = 0; w < p; ++w)
+ if ((y = v[w])) {
+ for (w >= x && (x = w + 1); !(b = m[x]) && ++x < p; );
+ y._next = b || null
+ }
+ }
+ return ((a = new Xn(a, r))._enter = s), (a._exit = l), a
+ },
+ enter: function () {
+ return new Xn(this._enter || this._groups.map(Vt), this._parents)
+ },
+ exit: function () {
+ return new Xn(this._exit || this._groups.map(Vt), this._parents)
+ },
+ join: function (e, t, n) {
+ var r = this.enter(),
+ i = this,
+ o = this.exit()
+ return (
+ 'function' === typeof e ? (r = e(r)) && (r = r.selection()) : (r = r.append(e + '')),
+ null != t && (i = t(i)) && (i = i.selection()),
+ null == n ? o.remove() : n(o),
+ r && i ? r.merge(i).order() : i
+ )
+ },
+ merge: function (e) {
+ for (
+ var t = e.selection ? e.selection() : e,
+ n = this._groups,
+ r = t._groups,
+ i = n.length,
+ o = r.length,
+ a = Math.min(i, o),
+ s = new Array(i),
+ l = 0;
+ l < a;
+ ++l
+ )
+ for (
+ var u, c = n[l], d = r[l], f = c.length, h = (s[l] = new Array(f)), p = 0;
+ p < f;
+ ++p
+ )
+ (u = c[p] || d[p]) && (h[p] = u)
+ for (; l < i; ++l) s[l] = n[l]
+ return new Xn(s, this._parents)
+ },
+ selection: function () {
+ return this
+ },
+ order: function () {
+ for (var e = this._groups, t = -1, n = e.length; ++t < n; )
+ for (var r, i = e[t], o = i.length - 1, a = i[o]; --o >= 0; )
+ (r = i[o]) &&
+ (a && 4 ^ r.compareDocumentPosition(a) && a.parentNode.insertBefore(r, a),
+ (a = r))
+ return this
+ },
+ sort: function (e) {
+ function t(t, n) {
+ return t && n ? e(t.__data__, n.__data__) : !t - !n
+ }
+ e || (e = $t)
+ for (var n = this._groups, r = n.length, i = new Array(r), o = 0; o < r; ++o) {
+ for (var a, s = n[o], l = s.length, u = (i[o] = new Array(l)), c = 0; c < l; ++c)
+ (a = s[c]) && (u[c] = a)
+ u.sort(t)
+ }
+ return new Xn(i, this._parents).order()
+ },
+ call: function () {
+ var e = arguments[0]
+ return (arguments[0] = this), e.apply(null, arguments), this
+ },
+ nodes: function () {
+ return Array.from(this)
+ },
+ node: function () {
+ for (var e = this._groups, t = 0, n = e.length; t < n; ++t)
+ for (var r = e[t], i = 0, o = r.length; i < o; ++i) {
+ var a = r[i]
+ if (a) return a
+ }
+ return null
+ },
+ size: function () {
+ var e,
+ t = 0,
+ n = Xt(this)
+ try {
+ for (n.s(); !(e = n.n()).done; ) {
+ e.value
+ ++t
+ }
+ } catch (r) {
+ n.e(r)
+ } finally {
+ n.f()
+ }
+ return t
+ },
+ empty: function () {
+ return !this.node()
+ },
+ each: function (e) {
+ for (var t = this._groups, n = 0, r = t.length; n < r; ++n)
+ for (var i, o = t[n], a = 0, s = o.length; a < s; ++a)
+ (i = o[a]) && e.call(i, i.__data__, a, o)
+ return this
+ },
+ attr: function (e, t) {
+ var n = en(e)
+ if (arguments.length < 2) {
+ var r = this.node()
+ return n.local ? r.getAttributeNS(n.space, n.local) : r.getAttribute(n)
+ }
+ return this.each(
+ (null == t
+ ? n.local
+ ? nn
+ : tn
+ : 'function' === typeof t
+ ? n.local
+ ? sn
+ : an
+ : n.local
+ ? on
+ : rn)(n, t),
+ )
+ },
+ style: function (e, t, n) {
+ return arguments.length > 1
+ ? this.each(
+ (null == t ? un : 'function' === typeof t ? dn : cn)(e, t, null == n ? '' : n),
+ )
+ : fn(this.node(), e)
+ },
+ property: function (e, t) {
+ return arguments.length > 1
+ ? this.each((null == t ? hn : 'function' === typeof t ? vn : pn)(e, t))
+ : this.node()[e]
+ },
+ classed: function (e, t) {
+ var n = mn(e + '')
+ if (arguments.length < 2) {
+ for (var r = gn(this.node()), i = -1, o = n.length; ++i < o; )
+ if (!r.contains(n[i])) return !1
+ return !0
+ }
+ return this.each(('function' === typeof t ? kn : t ? xn : En)(n, t))
+ },
+ text: function (e) {
+ return arguments.length
+ ? this.each(null == e ? Tn : ('function' === typeof e ? On : _n)(e))
+ : this.node().textContent
+ },
+ html: function (e) {
+ return arguments.length
+ ? this.each(null == e ? Cn : ('function' === typeof e ? Sn : An)(e))
+ : this.node().innerHTML
+ },
+ raise: function () {
+ return this.each(Pn)
+ },
+ lower: function () {
+ return this.each(Mn)
+ },
+ append: function (e) {
+ var t = 'function' === typeof e ? e : Dn(e)
+ return this.select(function () {
+ return this.appendChild(t.apply(this, arguments))
+ })
+ },
+ insert: function (e, t) {
+ var n = 'function' === typeof e ? e : Dn(e),
+ r = null == t ? Ln : 'function' === typeof t ? t : Rt(t)
+ return this.select(function () {
+ return this.insertBefore(n.apply(this, arguments), r.apply(this, arguments) || null)
+ })
+ },
+ remove: function () {
+ return this.each(Nn)
+ },
+ clone: function (e) {
+ return this.select(e ? zn : In)
+ },
+ datum: function (e) {
+ return arguments.length ? this.property('__data__', e) : this.node().__data__
+ },
+ on: function (e, t, n) {
+ var r,
+ i,
+ o = Hn(e + ''),
+ a = o.length
+ if (!(arguments.length < 2)) {
+ for (s = t ? Fn : Bn, r = 0; r < a; ++r) this.each(s(o[r], t, n))
+ return this
+ }
+ var s = this.node().__on
+ if (s)
+ for (var l, u = 0, c = s.length; u < c; ++u)
+ for (r = 0, l = s[u]; r < a; ++r)
+ if ((i = o[r]).type === l.type && i.name === l.name) return l.value
+ },
+ dispatch: function (e, t) {
+ return this.each(('function' === typeof t ? Gn : Un)(e, t))
+ },
+ },
+ Symbol.iterator,
+ Zn,
+ )
+ var Qn = Yn
+ function Jn(e) {
+ return 'string' === typeof e
+ ? new Xn([[document.querySelector(e)]], [document.documentElement])
+ : new Xn([[e]], $n)
+ }
+ var er = r(7137),
+ tr = { passive: !1 },
+ nr = { capture: !0, passive: !1 }
+ function rr(e) {
+ e.stopImmediatePropagation()
+ }
+ function ir(e) {
+ e.preventDefault(), e.stopImmediatePropagation()
+ }
+ function or(e) {
+ var t = e.document.documentElement,
+ n = Jn(e).on('dragstart.drag', ir, nr)
+ 'onselectstart' in t
+ ? n.on('selectstart.drag', ir, nr)
+ : ((t.__noselect = t.style.MozUserSelect), (t.style.MozUserSelect = 'none'))
+ }
+ function ar(e, t) {
+ var n = e.document.documentElement,
+ r = Jn(e).on('dragstart.drag', null)
+ t &&
+ (r.on('click.drag', ir, nr),
+ setTimeout(function () {
+ r.on('click.drag', null)
+ }, 0)),
+ 'onselectstart' in n
+ ? r.on('selectstart.drag', null)
+ : ((n.style.MozUserSelect = n.__noselect), delete n.__noselect)
+ }
+ function sr(e) {
+ return ((e = Math.exp(e)) + 1 / e) / 2
+ }
+ var lr = (function e(t, n, r) {
+ function i(e, i) {
+ var o,
+ a,
+ s = e[0],
+ l = e[1],
+ u = e[2],
+ c = i[0],
+ d = i[1],
+ f = i[2],
+ h = c - s,
+ p = d - l,
+ v = h * h + p * p
+ if (v < 1e-12)
+ (a = Math.log(f / u) / t),
+ (o = function (e) {
+ return [s + e * h, l + e * p, u * Math.exp(t * e * a)]
+ })
+ else {
+ var m = Math.sqrt(v),
+ g = (f * f - u * u + r * v) / (2 * u * n * m),
+ y = (f * f - u * u - r * v) / (2 * f * n * m),
+ b = Math.log(Math.sqrt(g * g + 1) - g),
+ w = Math.log(Math.sqrt(y * y + 1) - y)
+ ;(a = (w - b) / t),
+ (o = function (e) {
+ var r,
+ i = e * a,
+ o = sr(b),
+ c =
+ (u / (n * m)) *
+ (o * ((r = t * i + b), ((r = Math.exp(2 * r)) - 1) / (r + 1)) -
+ (function (e) {
+ return ((e = Math.exp(e)) - 1 / e) / 2
+ })(b))
+ return [s + c * h, l + c * p, (u * o) / sr(t * i + b)]
+ })
+ }
+ return (o.duration = (1e3 * a * t) / Math.SQRT2), o
+ }
+ return (
+ (i.rho = function (t) {
+ var n = Math.max(0.001, +t),
+ r = n * n
+ return e(n, r, r * r)
+ }),
+ i
+ )
+ })(Math.SQRT2, 2, 4)
+ function ur(e, t) {
+ if (
+ ((e = (function (e) {
+ for (var t; (t = e.sourceEvent); ) e = t
+ return e
+ })(e)),
+ void 0 === t && (t = e.currentTarget),
+ t)
+ ) {
+ var n = t.ownerSVGElement || t
+ if (n.createSVGPoint) {
+ var r = n.createSVGPoint()
+ return (
+ (r.x = e.clientX),
+ (r.y = e.clientY),
+ [(r = r.matrixTransform(t.getScreenCTM().inverse())).x, r.y]
+ )
+ }
+ if (t.getBoundingClientRect) {
+ var i = t.getBoundingClientRect()
+ return [e.clientX - i.left - t.clientLeft, e.clientY - i.top - t.clientTop]
+ }
+ }
+ return [e.pageX, e.pageY]
+ }
+ var cr = r(513)
+ function dr(e, t, n) {
+ var r = new cr.B7()
+ return (
+ (t = null == t ? 0 : +t),
+ r.restart(
+ function (n) {
+ r.stop(), e(n + t)
+ },
+ t,
+ n,
+ ),
+ r
+ )
+ }
+ var fr = (0, er.Z)('start', 'end', 'cancel', 'interrupt'),
+ hr = []
+ function pr(e, t, n, r, i, o) {
+ var a = e.__transition
+ if (a) {
+ if (n in a) return
+ } else e.__transition = {}
+ !(function (e, t, n) {
+ var r,
+ i = e.__transition
+ function o(e) {
+ ;(n.state = 1), n.timer.restart(a, n.delay, n.time), n.delay <= e && a(e - n.delay)
+ }
+ function a(o) {
+ var u, c, d, f
+ if (1 !== n.state) return l()
+ for (u in i)
+ if ((f = i[u]).name === n.name) {
+ if (3 === f.state) return dr(a)
+ 4 === f.state
+ ? ((f.state = 6),
+ f.timer.stop(),
+ f.on.call('interrupt', e, e.__data__, f.index, f.group),
+ delete i[u])
+ : +u < t &&
+ ((f.state = 6),
+ f.timer.stop(),
+ f.on.call('cancel', e, e.__data__, f.index, f.group),
+ delete i[u])
+ }
+ if (
+ (dr(function () {
+ 3 === n.state && ((n.state = 4), n.timer.restart(s, n.delay, n.time), s(o))
+ }),
+ (n.state = 2),
+ n.on.call('start', e, e.__data__, n.index, n.group),
+ 2 === n.state)
+ ) {
+ for (n.state = 3, r = new Array((d = n.tween.length)), u = 0, c = -1; u < d; ++u)
+ (f = n.tween[u].value.call(e, e.__data__, n.index, n.group)) && (r[++c] = f)
+ r.length = c + 1
+ }
+ }
+ function s(t) {
+ for (
+ var i =
+ t < n.duration
+ ? n.ease.call(null, t / n.duration)
+ : (n.timer.restart(l), (n.state = 5), 1),
+ o = -1,
+ a = r.length;
+ ++o < a;
+
+ )
+ r[o].call(e, i)
+ 5 === n.state && (n.on.call('end', e, e.__data__, n.index, n.group), l())
+ }
+ function l() {
+ for (var r in ((n.state = 6), n.timer.stop(), delete i[t], i)) return
+ delete e.__transition
+ }
+ ;(i[t] = n), (n.timer = (0, cr.HT)(o, 0, n.time))
+ })(e, n, {
+ name: t,
+ index: r,
+ group: i,
+ on: fr,
+ tween: hr,
+ time: o.time,
+ delay: o.delay,
+ duration: o.duration,
+ ease: o.ease,
+ timer: null,
+ state: 0,
+ })
+ }
+ function vr(e, t) {
+ var n = gr(e, t)
+ if (n.state > 0) throw new Error('too late; already scheduled')
+ return n
+ }
+ function mr(e, t) {
+ var n = gr(e, t)
+ if (n.state > 3) throw new Error('too late; already running')
+ return n
+ }
+ function gr(e, t) {
+ var n = e.__transition
+ if (!n || !(n = n[t])) throw new Error('transition not found')
+ return n
+ }
+ function yr(e, t) {
+ var n,
+ r,
+ i,
+ o = e.__transition,
+ a = !0
+ if (o) {
+ for (i in ((t = null == t ? null : t + ''), o))
+ (n = o[i]).name === t
+ ? ((r = n.state > 2 && n.state < 5),
+ (n.state = 6),
+ n.timer.stop(),
+ n.on.call(r ? 'interrupt' : 'cancel', e, e.__data__, n.index, n.group),
+ delete o[i])
+ : (a = !1)
+ a && delete e.__transition
+ }
+ }
+ function br(e, t) {
+ return (
+ (e = +e),
+ (t = +t),
+ function (n) {
+ return e * (1 - n) + t * n
+ }
+ )
+ }
+ var wr,
+ xr = 180 / Math.PI,
+ Er = { translateX: 0, translateY: 0, rotate: 0, skewX: 0, scaleX: 1, scaleY: 1 }
+ function kr(e, t, n, r, i, o) {
+ var a, s, l
+ return (
+ (a = Math.sqrt(e * e + t * t)) && ((e /= a), (t /= a)),
+ (l = e * n + t * r) && ((n -= e * l), (r -= t * l)),
+ (s = Math.sqrt(n * n + r * r)) && ((n /= s), (r /= s), (l /= s)),
+ e * r < t * n && ((e = -e), (t = -t), (l = -l), (a = -a)),
+ {
+ translateX: i,
+ translateY: o,
+ rotate: Math.atan2(t, e) * xr,
+ skewX: Math.atan(l) * xr,
+ scaleX: a,
+ scaleY: s,
+ }
+ )
+ }
+ function Tr(e, t, n, r) {
+ function i(e) {
+ return e.length ? e.pop() + ' ' : ''
+ }
+ return function (o, a) {
+ var s = [],
+ l = []
+ return (
+ (o = e(o)),
+ (a = e(a)),
+ (function (e, r, i, o, a, s) {
+ if (e !== i || r !== o) {
+ var l = a.push('translate(', null, t, null, n)
+ s.push({ i: l - 4, x: br(e, i) }, { i: l - 2, x: br(r, o) })
+ } else (i || o) && a.push('translate(' + i + t + o + n)
+ })(o.translateX, o.translateY, a.translateX, a.translateY, s, l),
+ (function (e, t, n, o) {
+ e !== t
+ ? (e - t > 180 ? (t += 360) : t - e > 180 && (e += 360),
+ o.push({ i: n.push(i(n) + 'rotate(', null, r) - 2, x: br(e, t) }))
+ : t && n.push(i(n) + 'rotate(' + t + r)
+ })(o.rotate, a.rotate, s, l),
+ (function (e, t, n, o) {
+ e !== t
+ ? o.push({ i: n.push(i(n) + 'skewX(', null, r) - 2, x: br(e, t) })
+ : t && n.push(i(n) + 'skewX(' + t + r)
+ })(o.skewX, a.skewX, s, l),
+ (function (e, t, n, r, o, a) {
+ if (e !== n || t !== r) {
+ var s = o.push(i(o) + 'scale(', null, ',', null, ')')
+ a.push({ i: s - 4, x: br(e, n) }, { i: s - 2, x: br(t, r) })
+ } else (1 === n && 1 === r) || o.push(i(o) + 'scale(' + n + ',' + r + ')')
+ })(o.scaleX, o.scaleY, a.scaleX, a.scaleY, s, l),
+ (o = a = null),
+ function (e) {
+ for (var t, n = -1, r = l.length; ++n < r; ) s[(t = l[n]).i] = t.x(e)
+ return s.join('')
+ }
+ )
+ }
+ }
+ var _r = Tr(
+ function (e) {
+ var t = new ('function' === typeof DOMMatrix ? DOMMatrix : WebKitCSSMatrix)(e + '')
+ return t.isIdentity ? Er : kr(t.a, t.b, t.c, t.d, t.e, t.f)
+ },
+ 'px, ',
+ 'px)',
+ 'deg)',
+ ),
+ Or = Tr(
+ function (e) {
+ return null == e
+ ? Er
+ : (wr || (wr = document.createElementNS('http://www.w3.org/2000/svg', 'g')),
+ wr.setAttribute('transform', e),
+ (e = wr.transform.baseVal.consolidate())
+ ? kr((e = e.matrix).a, e.b, e.c, e.d, e.e, e.f)
+ : Er)
+ },
+ ', ',
+ ')',
+ ')',
+ )
+ function Cr(e, t) {
+ var n, r
+ return function () {
+ var i = mr(this, e),
+ o = i.tween
+ if (o !== n)
+ for (var a = 0, s = (r = n = o).length; a < s; ++a)
+ if (r[a].name === t) {
+ ;(r = r.slice()).splice(a, 1)
+ break
+ }
+ i.tween = r
+ }
+ }
+ function Ar(e, t, n) {
+ var r, i
+ if ('function' !== typeof n) throw new Error()
+ return function () {
+ var o = mr(this, e),
+ a = o.tween
+ if (a !== r) {
+ i = (r = a).slice()
+ for (var s = { name: t, value: n }, l = 0, u = i.length; l < u; ++l)
+ if (i[l].name === t) {
+ i[l] = s
+ break
+ }
+ l === u && i.push(s)
+ }
+ o.tween = i
+ }
+ }
+ function Sr(e, t, n) {
+ var r = e._id
+ return (
+ e.each(function () {
+ var e = mr(this, r)
+ ;(e.value || (e.value = {}))[t] = n.apply(this, arguments)
+ }),
+ function (e) {
+ return gr(e, r).value[t]
+ }
+ )
+ }
+ function Pr(e, t, n) {
+ ;(e.prototype = t.prototype = n), (n.constructor = e)
+ }
+ function Mr(e, t) {
+ var n = Object.create(e.prototype)
+ for (var r in t) n[r] = t[r]
+ return n
+ }
+ function Rr() {}
+ var jr = 0.7,
+ Dr = 1 / jr,
+ Lr = '\\s*([+-]?\\d+)\\s*',
+ Nr = '\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*',
+ Ir = '\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*',
+ zr = /^#([0-9a-f]{3,8})$/,
+ Hr = new RegExp('^rgb\\(' + [Lr, Lr, Lr] + '\\)$'),
+ Br = new RegExp('^rgb\\(' + [Ir, Ir, Ir] + '\\)$'),
+ Fr = new RegExp('^rgba\\(' + [Lr, Lr, Lr, Nr] + '\\)$'),
+ Vr = new RegExp('^rgba\\(' + [Ir, Ir, Ir, Nr] + '\\)$'),
+ Ur = new RegExp('^hsl\\(' + [Nr, Ir, Ir] + '\\)$'),
+ Gr = new RegExp('^hsla\\(' + [Nr, Ir, Ir, Nr] + '\\)$'),
+ qr = {
+ aliceblue: 15792383,
+ antiquewhite: 16444375,
+ aqua: 65535,
+ aquamarine: 8388564,
+ azure: 15794175,
+ beige: 16119260,
+ bisque: 16770244,
+ black: 0,
+ blanchedalmond: 16772045,
+ blue: 255,
+ blueviolet: 9055202,
+ brown: 10824234,
+ burlywood: 14596231,
+ cadetblue: 6266528,
+ chartreuse: 8388352,
+ chocolate: 13789470,
+ coral: 16744272,
+ cornflowerblue: 6591981,
+ cornsilk: 16775388,
+ crimson: 14423100,
+ cyan: 65535,
+ darkblue: 139,
+ darkcyan: 35723,
+ darkgoldenrod: 12092939,
+ darkgray: 11119017,
+ darkgreen: 25600,
+ darkgrey: 11119017,
+ darkkhaki: 12433259,
+ darkmagenta: 9109643,
+ darkolivegreen: 5597999,
+ darkorange: 16747520,
+ darkorchid: 10040012,
+ darkred: 9109504,
+ darksalmon: 15308410,
+ darkseagreen: 9419919,
+ darkslateblue: 4734347,
+ darkslategray: 3100495,
+ darkslategrey: 3100495,
+ darkturquoise: 52945,
+ darkviolet: 9699539,
+ deeppink: 16716947,
+ deepskyblue: 49151,
+ dimgray: 6908265,
+ dimgrey: 6908265,
+ dodgerblue: 2003199,
+ firebrick: 11674146,
+ floralwhite: 16775920,
+ forestgreen: 2263842,
+ fuchsia: 16711935,
+ gainsboro: 14474460,
+ ghostwhite: 16316671,
+ gold: 16766720,
+ goldenrod: 14329120,
+ gray: 8421504,
+ green: 32768,
+ greenyellow: 11403055,
+ grey: 8421504,
+ honeydew: 15794160,
+ hotpink: 16738740,
+ indianred: 13458524,
+ indigo: 4915330,
+ ivory: 16777200,
+ khaki: 15787660,
+ lavender: 15132410,
+ lavenderblush: 16773365,
+ lawngreen: 8190976,
+ lemonchiffon: 16775885,
+ lightblue: 11393254,
+ lightcoral: 15761536,
+ lightcyan: 14745599,
+ lightgoldenrodyellow: 16448210,
+ lightgray: 13882323,
+ lightgreen: 9498256,
+ lightgrey: 13882323,
+ lightpink: 16758465,
+ lightsalmon: 16752762,
+ lightseagreen: 2142890,
+ lightskyblue: 8900346,
+ lightslategray: 7833753,
+ lightslategrey: 7833753,
+ lightsteelblue: 11584734,
+ lightyellow: 16777184,
+ lime: 65280,
+ limegreen: 3329330,
+ linen: 16445670,
+ magenta: 16711935,
+ maroon: 8388608,
+ mediumaquamarine: 6737322,
+ mediumblue: 205,
+ mediumorchid: 12211667,
+ mediumpurple: 9662683,
+ mediumseagreen: 3978097,
+ mediumslateblue: 8087790,
+ mediumspringgreen: 64154,
+ mediumturquoise: 4772300,
+ mediumvioletred: 13047173,
+ midnightblue: 1644912,
+ mintcream: 16121850,
+ mistyrose: 16770273,
+ moccasin: 16770229,
+ navajowhite: 16768685,
+ navy: 128,
+ oldlace: 16643558,
+ olive: 8421376,
+ olivedrab: 7048739,
+ orange: 16753920,
+ orangered: 16729344,
+ orchid: 14315734,
+ palegoldenrod: 15657130,
+ palegreen: 10025880,
+ paleturquoise: 11529966,
+ palevioletred: 14381203,
+ papayawhip: 16773077,
+ peachpuff: 16767673,
+ peru: 13468991,
+ pink: 16761035,
+ plum: 14524637,
+ powderblue: 11591910,
+ purple: 8388736,
+ rebeccapurple: 6697881,
+ red: 16711680,
+ rosybrown: 12357519,
+ royalblue: 4286945,
+ saddlebrown: 9127187,
+ salmon: 16416882,
+ sandybrown: 16032864,
+ seagreen: 3050327,
+ seashell: 16774638,
+ sienna: 10506797,
+ silver: 12632256,
+ skyblue: 8900331,
+ slateblue: 6970061,
+ slategray: 7372944,
+ slategrey: 7372944,
+ snow: 16775930,
+ springgreen: 65407,
+ steelblue: 4620980,
+ tan: 13808780,
+ teal: 32896,
+ thistle: 14204888,
+ tomato: 16737095,
+ turquoise: 4251856,
+ violet: 15631086,
+ wheat: 16113331,
+ white: 16777215,
+ whitesmoke: 16119285,
+ yellow: 16776960,
+ yellowgreen: 10145074,
+ }
+ function Wr() {
+ return this.rgb().formatHex()
+ }
+ function Kr() {
+ return this.rgb().formatRgb()
+ }
+ function Zr(e) {
+ var t, n
+ return (
+ (e = (e + '').trim().toLowerCase()),
+ (t = zr.exec(e))
+ ? ((n = t[1].length),
+ (t = parseInt(t[1], 16)),
+ 6 === n
+ ? $r(t)
+ : 3 === n
+ ? new Jr(
+ ((t >> 8) & 15) | ((t >> 4) & 240),
+ ((t >> 4) & 15) | (240 & t),
+ ((15 & t) << 4) | (15 & t),
+ 1,
+ )
+ : 8 === n
+ ? Xr((t >> 24) & 255, (t >> 16) & 255, (t >> 8) & 255, (255 & t) / 255)
+ : 4 === n
+ ? Xr(
+ ((t >> 12) & 15) | ((t >> 8) & 240),
+ ((t >> 8) & 15) | ((t >> 4) & 240),
+ ((t >> 4) & 15) | (240 & t),
+ (((15 & t) << 4) | (15 & t)) / 255,
+ )
+ : null)
+ : (t = Hr.exec(e))
+ ? new Jr(t[1], t[2], t[3], 1)
+ : (t = Br.exec(e))
+ ? new Jr((255 * t[1]) / 100, (255 * t[2]) / 100, (255 * t[3]) / 100, 1)
+ : (t = Fr.exec(e))
+ ? Xr(t[1], t[2], t[3], t[4])
+ : (t = Vr.exec(e))
+ ? Xr((255 * t[1]) / 100, (255 * t[2]) / 100, (255 * t[3]) / 100, t[4])
+ : (t = Ur.exec(e))
+ ? ri(t[1], t[2] / 100, t[3] / 100, 1)
+ : (t = Gr.exec(e))
+ ? ri(t[1], t[2] / 100, t[3] / 100, t[4])
+ : qr.hasOwnProperty(e)
+ ? $r(qr[e])
+ : 'transparent' === e
+ ? new Jr(NaN, NaN, NaN, 0)
+ : null
+ )
+ }
+ function $r(e) {
+ return new Jr((e >> 16) & 255, (e >> 8) & 255, 255 & e, 1)
+ }
+ function Xr(e, t, n, r) {
+ return r <= 0 && (e = t = n = NaN), new Jr(e, t, n, r)
+ }
+ function Yr(e) {
+ return (
+ e instanceof Rr || (e = Zr(e)),
+ e ? new Jr((e = e.rgb()).r, e.g, e.b, e.opacity) : new Jr()
+ )
+ }
+ function Qr(e, t, n, r) {
+ return 1 === arguments.length ? Yr(e) : new Jr(e, t, n, null == r ? 1 : r)
+ }
+ function Jr(e, t, n, r) {
+ ;(this.r = +e), (this.g = +t), (this.b = +n), (this.opacity = +r)
+ }
+ function ei() {
+ return '#' + ni(this.r) + ni(this.g) + ni(this.b)
+ }
+ function ti() {
+ var e = this.opacity
+ return (
+ (1 === (e = isNaN(e) ? 1 : Math.max(0, Math.min(1, e))) ? 'rgb(' : 'rgba(') +
+ Math.max(0, Math.min(255, Math.round(this.r) || 0)) +
+ ', ' +
+ Math.max(0, Math.min(255, Math.round(this.g) || 0)) +
+ ', ' +
+ Math.max(0, Math.min(255, Math.round(this.b) || 0)) +
+ (1 === e ? ')' : ', ' + e + ')')
+ )
+ }
+ function ni(e) {
+ return (
+ ((e = Math.max(0, Math.min(255, Math.round(e) || 0))) < 16 ? '0' : '') + e.toString(16)
+ )
+ }
+ function ri(e, t, n, r) {
+ return (
+ r <= 0 ? (e = t = n = NaN) : n <= 0 || n >= 1 ? (e = t = NaN) : t <= 0 && (e = NaN),
+ new oi(e, t, n, r)
+ )
+ }
+ function ii(e) {
+ if (e instanceof oi) return new oi(e.h, e.s, e.l, e.opacity)
+ if ((e instanceof Rr || (e = Zr(e)), !e)) return new oi()
+ if (e instanceof oi) return e
+ var t = (e = e.rgb()).r / 255,
+ n = e.g / 255,
+ r = e.b / 255,
+ i = Math.min(t, n, r),
+ o = Math.max(t, n, r),
+ a = NaN,
+ s = o - i,
+ l = (o + i) / 2
+ return (
+ s
+ ? ((a =
+ t === o ? (n - r) / s + 6 * (n < r) : n === o ? (r - t) / s + 2 : (t - n) / s + 4),
+ (s /= l < 0.5 ? o + i : 2 - o - i),
+ (a *= 60))
+ : (s = l > 0 && l < 1 ? 0 : a),
+ new oi(a, s, l, e.opacity)
+ )
+ }
+ function oi(e, t, n, r) {
+ ;(this.h = +e), (this.s = +t), (this.l = +n), (this.opacity = +r)
+ }
+ function ai(e, t, n) {
+ return (
+ 255 *
+ (e < 60
+ ? t + ((n - t) * e) / 60
+ : e < 180
+ ? n
+ : e < 240
+ ? t + ((n - t) * (240 - e)) / 60
+ : t)
+ )
+ }
+ function si(e, t, n, r, i) {
+ var o = e * e,
+ a = o * e
+ return (
+ ((1 - 3 * e + 3 * o - a) * t +
+ (4 - 6 * o + 3 * a) * n +
+ (1 + 3 * e + 3 * o - 3 * a) * r +
+ a * i) /
+ 6
+ )
+ }
+ Pr(Rr, Zr, {
+ copy: function (e) {
+ return Object.assign(new this.constructor(), this, e)
+ },
+ displayable: function () {
+ return this.rgb().displayable()
+ },
+ hex: Wr,
+ formatHex: Wr,
+ formatHsl: function () {
+ return ii(this).formatHsl()
+ },
+ formatRgb: Kr,
+ toString: Kr,
+ }),
+ Pr(
+ Jr,
+ Qr,
+ Mr(Rr, {
+ brighter: function (e) {
+ return (
+ (e = null == e ? Dr : Math.pow(Dr, e)),
+ new Jr(this.r * e, this.g * e, this.b * e, this.opacity)
+ )
+ },
+ darker: function (e) {
+ return (
+ (e = null == e ? jr : Math.pow(jr, e)),
+ new Jr(this.r * e, this.g * e, this.b * e, this.opacity)
+ )
+ },
+ rgb: function () {
+ return this
+ },
+ displayable: function () {
+ return (
+ -0.5 <= this.r &&
+ this.r < 255.5 &&
+ -0.5 <= this.g &&
+ this.g < 255.5 &&
+ -0.5 <= this.b &&
+ this.b < 255.5 &&
+ 0 <= this.opacity &&
+ this.opacity <= 1
+ )
+ },
+ hex: ei,
+ formatHex: ei,
+ formatRgb: ti,
+ toString: ti,
+ }),
+ ),
+ Pr(
+ oi,
+ function (e, t, n, r) {
+ return 1 === arguments.length ? ii(e) : new oi(e, t, n, null == r ? 1 : r)
+ },
+ Mr(Rr, {
+ brighter: function (e) {
+ return (
+ (e = null == e ? Dr : Math.pow(Dr, e)),
+ new oi(this.h, this.s, this.l * e, this.opacity)
+ )
+ },
+ darker: function (e) {
+ return (
+ (e = null == e ? jr : Math.pow(jr, e)),
+ new oi(this.h, this.s, this.l * e, this.opacity)
+ )
+ },
+ rgb: function () {
+ var e = (this.h % 360) + 360 * (this.h < 0),
+ t = isNaN(e) || isNaN(this.s) ? 0 : this.s,
+ n = this.l,
+ r = n + (n < 0.5 ? n : 1 - n) * t,
+ i = 2 * n - r
+ return new Jr(
+ ai(e >= 240 ? e - 240 : e + 120, i, r),
+ ai(e, i, r),
+ ai(e < 120 ? e + 240 : e - 120, i, r),
+ this.opacity,
+ )
+ },
+ displayable: function () {
+ return (
+ ((0 <= this.s && this.s <= 1) || isNaN(this.s)) &&
+ 0 <= this.l &&
+ this.l <= 1 &&
+ 0 <= this.opacity &&
+ this.opacity <= 1
+ )
+ },
+ formatHsl: function () {
+ var e = this.opacity
+ return (
+ (1 === (e = isNaN(e) ? 1 : Math.max(0, Math.min(1, e))) ? 'hsl(' : 'hsla(') +
+ (this.h || 0) +
+ ', ' +
+ 100 * (this.s || 0) +
+ '%, ' +
+ 100 * (this.l || 0) +
+ '%' +
+ (1 === e ? ')' : ', ' + e + ')')
+ )
+ },
+ }),
+ )
+ var li = function (e) {
+ return function () {
+ return e
+ }
+ }
+ function ui(e, t) {
+ return function (n) {
+ return e + n * t
+ }
+ }
+ function ci(e) {
+ return 1 === (e = +e)
+ ? di
+ : function (t, n) {
+ return n - t
+ ? (function (e, t, n) {
+ return (
+ (e = Math.pow(e, n)),
+ (t = Math.pow(t, n) - e),
+ (n = 1 / n),
+ function (r) {
+ return Math.pow(e + r * t, n)
+ }
+ )
+ })(t, n, e)
+ : li(isNaN(t) ? n : t)
+ }
+ }
+ function di(e, t) {
+ var n = t - e
+ return n ? ui(e, n) : li(isNaN(e) ? t : e)
+ }
+ var fi = (function e(t) {
+ var n = ci(t)
+ function r(e, t) {
+ var r = n((e = Qr(e)).r, (t = Qr(t)).r),
+ i = n(e.g, t.g),
+ o = n(e.b, t.b),
+ a = di(e.opacity, t.opacity)
+ return function (t) {
+ return (e.r = r(t)), (e.g = i(t)), (e.b = o(t)), (e.opacity = a(t)), e + ''
+ }
+ }
+ return (r.gamma = e), r
+ })(1)
+ function hi(e) {
+ return function (t) {
+ var n,
+ r,
+ i = t.length,
+ o = new Array(i),
+ a = new Array(i),
+ s = new Array(i)
+ for (n = 0; n < i; ++n)
+ (r = Qr(t[n])), (o[n] = r.r || 0), (a[n] = r.g || 0), (s[n] = r.b || 0)
+ return (
+ (o = e(o)),
+ (a = e(a)),
+ (s = e(s)),
+ (r.opacity = 1),
+ function (e) {
+ return (r.r = o(e)), (r.g = a(e)), (r.b = s(e)), r + ''
+ }
+ )
+ }
+ }
+ hi(function (e) {
+ var t = e.length - 1
+ return function (n) {
+ var r = n <= 0 ? (n = 0) : n >= 1 ? ((n = 1), t - 1) : Math.floor(n * t),
+ i = e[r],
+ o = e[r + 1],
+ a = r > 0 ? e[r - 1] : 2 * i - o,
+ s = r < t - 1 ? e[r + 2] : 2 * o - i
+ return si((n - r / t) * t, a, i, o, s)
+ }
+ }),
+ hi(function (e) {
+ var t = e.length
+ return function (n) {
+ var r = Math.floor(((n %= 1) < 0 ? ++n : n) * t),
+ i = e[(r + t - 1) % t],
+ o = e[r % t],
+ a = e[(r + 1) % t],
+ s = e[(r + 2) % t]
+ return si((n - r / t) * t, i, o, a, s)
+ }
+ })
+ var pi = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,
+ vi = new RegExp(pi.source, 'g')
+ function mi(e, t) {
+ var n,
+ r,
+ i,
+ o = (pi.lastIndex = vi.lastIndex = 0),
+ a = -1,
+ s = [],
+ l = []
+ for (e += '', t += ''; (n = pi.exec(e)) && (r = vi.exec(t)); )
+ (i = r.index) > o && ((i = t.slice(o, i)), s[a] ? (s[a] += i) : (s[++a] = i)),
+ (n = n[0]) === (r = r[0])
+ ? s[a]
+ ? (s[a] += r)
+ : (s[++a] = r)
+ : ((s[++a] = null), l.push({ i: a, x: br(n, r) })),
+ (o = vi.lastIndex)
+ return (
+ o < t.length && ((i = t.slice(o)), s[a] ? (s[a] += i) : (s[++a] = i)),
+ s.length < 2
+ ? l[0]
+ ? (function (e) {
+ return function (t) {
+ return e(t) + ''
+ }
+ })(l[0].x)
+ : (function (e) {
+ return function () {
+ return e
+ }
+ })(t)
+ : ((t = l.length),
+ function (e) {
+ for (var n, r = 0; r < t; ++r) s[(n = l[r]).i] = n.x(e)
+ return s.join('')
+ })
+ )
+ }
+ function gi(e, t) {
+ var n
+ return (
+ 'number' === typeof t ? br : t instanceof Zr ? fi : (n = Zr(t)) ? ((t = n), fi) : mi
+ )(e, t)
+ }
+ function yi(e) {
+ return function () {
+ this.removeAttribute(e)
+ }
+ }
+ function bi(e) {
+ return function () {
+ this.removeAttributeNS(e.space, e.local)
+ }
+ }
+ function wi(e, t, n) {
+ var r,
+ i,
+ o = n + ''
+ return function () {
+ var a = this.getAttribute(e)
+ return a === o ? null : a === r ? i : (i = t((r = a), n))
+ }
+ }
+ function xi(e, t, n) {
+ var r,
+ i,
+ o = n + ''
+ return function () {
+ var a = this.getAttributeNS(e.space, e.local)
+ return a === o ? null : a === r ? i : (i = t((r = a), n))
+ }
+ }
+ function Ei(e, t, n) {
+ var r, i, o
+ return function () {
+ var a,
+ s,
+ l = n(this)
+ if (null != l)
+ return (a = this.getAttribute(e)) === (s = l + '')
+ ? null
+ : a === r && s === i
+ ? o
+ : ((i = s), (o = t((r = a), l)))
+ this.removeAttribute(e)
+ }
+ }
+ function ki(e, t, n) {
+ var r, i, o
+ return function () {
+ var a,
+ s,
+ l = n(this)
+ if (null != l)
+ return (a = this.getAttributeNS(e.space, e.local)) === (s = l + '')
+ ? null
+ : a === r && s === i
+ ? o
+ : ((i = s), (o = t((r = a), l)))
+ this.removeAttributeNS(e.space, e.local)
+ }
+ }
+ function Ti(e, t) {
+ return function (n) {
+ this.setAttribute(e, t.call(this, n))
+ }
+ }
+ function _i(e, t) {
+ return function (n) {
+ this.setAttributeNS(e.space, e.local, t.call(this, n))
+ }
+ }
+ function Oi(e, t) {
+ var n, r
+ function i() {
+ var i = t.apply(this, arguments)
+ return i !== r && (n = (r = i) && _i(e, i)), n
+ }
+ return (i._value = t), i
+ }
+ function Ci(e, t) {
+ var n, r
+ function i() {
+ var i = t.apply(this, arguments)
+ return i !== r && (n = (r = i) && Ti(e, i)), n
+ }
+ return (i._value = t), i
+ }
+ function Ai(e, t) {
+ return function () {
+ vr(this, e).delay = +t.apply(this, arguments)
+ }
+ }
+ function Si(e, t) {
+ return (
+ (t = +t),
+ function () {
+ vr(this, e).delay = t
+ }
+ )
+ }
+ function Pi(e, t) {
+ return function () {
+ mr(this, e).duration = +t.apply(this, arguments)
+ }
+ }
+ function Mi(e, t) {
+ return (
+ (t = +t),
+ function () {
+ mr(this, e).duration = t
+ }
+ )
+ }
+ function Ri(e, t) {
+ if ('function' !== typeof t) throw new Error()
+ return function () {
+ mr(this, e).ease = t
+ }
+ }
+ function ji(e, t, n) {
+ var r,
+ i,
+ o = (function (e) {
+ return (e + '')
+ .trim()
+ .split(/^|\s+/)
+ .every(function (e) {
+ var t = e.indexOf('.')
+ return t >= 0 && (e = e.slice(0, t)), !e || 'start' === e
+ })
+ })(t)
+ ? vr
+ : mr
+ return function () {
+ var a = o(this, e),
+ s = a.on
+ s !== r && (i = (r = s).copy()).on(t, n), (a.on = i)
+ }
+ }
+ var Di = Qn.prototype.constructor
+ function Li(e) {
+ return function () {
+ this.style.removeProperty(e)
+ }
+ }
+ function Ni(e, t, n) {
+ return function (r) {
+ this.style.setProperty(e, t.call(this, r), n)
+ }
+ }
+ function Ii(e, t, n) {
+ var r, i
+ function o() {
+ var o = t.apply(this, arguments)
+ return o !== i && (r = (i = o) && Ni(e, o, n)), r
+ }
+ return (o._value = t), o
+ }
+ function zi(e) {
+ return function (t) {
+ this.textContent = e.call(this, t)
+ }
+ }
+ function Hi(e) {
+ var t, n
+ function r() {
+ var r = e.apply(this, arguments)
+ return r !== n && (t = (n = r) && zi(r)), t
+ }
+ return (r._value = e), r
+ }
+ var Bi = 0
+ function Fi(e, t, n, r) {
+ ;(this._groups = e), (this._parents = t), (this._name = n), (this._id = r)
+ }
+ function Vi() {
+ return ++Bi
+ }
+ var Ui = Qn.prototype
+ Fi.prototype = function (e) {
+ return Qn().transition(e)
+ }.prototype = (0, Pt.Z)(
+ {
+ constructor: Fi,
+ select: function (e) {
+ var t = this._name,
+ n = this._id
+ 'function' !== typeof e && (e = Rt(e))
+ for (var r = this._groups, i = r.length, o = new Array(i), a = 0; a < i; ++a)
+ for (var s, l, u = r[a], c = u.length, d = (o[a] = new Array(c)), f = 0; f < c; ++f)
+ (s = u[f]) &&
+ (l = e.call(s, s.__data__, f, u)) &&
+ ('__data__' in s && (l.__data__ = s.__data__),
+ (d[f] = l),
+ pr(d[f], t, n, f, d, gr(s, n)))
+ return new Fi(o, this._parents, t, n)
+ },
+ selectAll: function (e) {
+ var t = this._name,
+ n = this._id
+ 'function' !== typeof e && (e = Lt(e))
+ for (var r = this._groups, i = r.length, o = [], a = [], s = 0; s < i; ++s)
+ for (var l, u = r[s], c = u.length, d = 0; d < c; ++d)
+ if ((l = u[d])) {
+ for (
+ var f, h = e.call(l, l.__data__, d, u), p = gr(l, n), v = 0, m = h.length;
+ v < m;
+ ++v
+ )
+ (f = h[v]) && pr(f, t, n, v, h, p)
+ o.push(h), a.push(l)
+ }
+ return new Fi(o, a, t, n)
+ },
+ selectChild: Ui.selectChild,
+ selectChildren: Ui.selectChildren,
+ filter: function (e) {
+ 'function' !== typeof e && (e = Nt(e))
+ for (var t = this._groups, n = t.length, r = new Array(n), i = 0; i < n; ++i)
+ for (var o, a = t[i], s = a.length, l = (r[i] = []), u = 0; u < s; ++u)
+ (o = a[u]) && e.call(o, o.__data__, u, a) && l.push(o)
+ return new Fi(r, this._parents, this._name, this._id)
+ },
+ merge: function (e) {
+ if (e._id !== this._id) throw new Error()
+ for (
+ var t = this._groups,
+ n = e._groups,
+ r = t.length,
+ i = n.length,
+ o = Math.min(r, i),
+ a = new Array(r),
+ s = 0;
+ s < o;
+ ++s
+ )
+ for (
+ var l, u = t[s], c = n[s], d = u.length, f = (a[s] = new Array(d)), h = 0;
+ h < d;
+ ++h
+ )
+ (l = u[h] || c[h]) && (f[h] = l)
+ for (; s < r; ++s) a[s] = t[s]
+ return new Fi(a, this._parents, this._name, this._id)
+ },
+ selection: function () {
+ return new Di(this._groups, this._parents)
+ },
+ transition: function () {
+ for (
+ var e = this._name, t = this._id, n = Vi(), r = this._groups, i = r.length, o = 0;
+ o < i;
+ ++o
+ )
+ for (var a, s = r[o], l = s.length, u = 0; u < l; ++u)
+ if ((a = s[u])) {
+ var c = gr(a, t)
+ pr(a, e, n, u, s, {
+ time: c.time + c.delay + c.duration,
+ delay: 0,
+ duration: c.duration,
+ ease: c.ease,
+ })
+ }
+ return new Fi(r, this._parents, e, n)
+ },
+ call: Ui.call,
+ nodes: Ui.nodes,
+ node: Ui.node,
+ size: Ui.size,
+ empty: Ui.empty,
+ each: Ui.each,
+ on: function (e, t) {
+ var n = this._id
+ return arguments.length < 2 ? gr(this.node(), n).on.on(e) : this.each(ji(n, e, t))
+ },
+ attr: function (e, t) {
+ var n = en(e),
+ r = 'transform' === n ? Or : gi
+ return this.attrTween(
+ e,
+ 'function' === typeof t
+ ? (n.local ? ki : Ei)(n, r, Sr(this, 'attr.' + e, t))
+ : null == t
+ ? (n.local ? bi : yi)(n)
+ : (n.local ? xi : wi)(n, r, t),
+ )
+ },
+ attrTween: function (e, t) {
+ var n = 'attr.' + e
+ if (arguments.length < 2) return (n = this.tween(n)) && n._value
+ if (null == t) return this.tween(n, null)
+ if ('function' !== typeof t) throw new Error()
+ var r = en(e)
+ return this.tween(n, (r.local ? Oi : Ci)(r, t))
+ },
+ style: function (e, t, n) {
+ var r = 'transform' === (e += '') ? _r : gi
+ return null == t
+ ? this.styleTween(
+ e,
+ (function (e, t) {
+ var n, r, i
+ return function () {
+ var o = fn(this, e),
+ a = (this.style.removeProperty(e), fn(this, e))
+ return o === a ? null : o === n && a === r ? i : (i = t((n = o), (r = a)))
+ }
+ })(e, r),
+ ).on('end.style.' + e, Li(e))
+ : 'function' === typeof t
+ ? this.styleTween(
+ e,
+ (function (e, t, n) {
+ var r, i, o
+ return function () {
+ var a = fn(this, e),
+ s = n(this),
+ l = s + ''
+ return (
+ null == s && (this.style.removeProperty(e), (l = s = fn(this, e))),
+ a === l ? null : a === r && l === i ? o : ((i = l), (o = t((r = a), s)))
+ )
+ }
+ })(e, r, Sr(this, 'style.' + e, t)),
+ ).each(
+ (function (e, t) {
+ var n,
+ r,
+ i,
+ o,
+ a = 'style.' + t,
+ s = 'end.' + a
+ return function () {
+ var l = mr(this, e),
+ u = l.on,
+ c = null == l.value[a] ? o || (o = Li(t)) : void 0
+ ;(u === n && i === c) || (r = (n = u).copy()).on(s, (i = c)), (l.on = r)
+ }
+ })(this._id, e),
+ )
+ : this.styleTween(
+ e,
+ (function (e, t, n) {
+ var r,
+ i,
+ o = n + ''
+ return function () {
+ var a = fn(this, e)
+ return a === o ? null : a === r ? i : (i = t((r = a), n))
+ }
+ })(e, r, t),
+ n,
+ ).on('end.style.' + e, null)
+ },
+ styleTween: function (e, t, n) {
+ var r = 'style.' + (e += '')
+ if (arguments.length < 2) return (r = this.tween(r)) && r._value
+ if (null == t) return this.tween(r, null)
+ if ('function' !== typeof t) throw new Error()
+ return this.tween(r, Ii(e, t, null == n ? '' : n))
+ },
+ text: function (e) {
+ return this.tween(
+ 'text',
+ 'function' === typeof e
+ ? (function (e) {
+ return function () {
+ var t = e(this)
+ this.textContent = null == t ? '' : t
+ }
+ })(Sr(this, 'text', e))
+ : (function (e) {
+ return function () {
+ this.textContent = e
+ }
+ })(null == e ? '' : e + ''),
+ )
+ },
+ textTween: function (e) {
+ var t = 'text'
+ if (arguments.length < 1) return (t = this.tween(t)) && t._value
+ if (null == e) return this.tween(t, null)
+ if ('function' !== typeof e) throw new Error()
+ return this.tween(t, Hi(e))
+ },
+ remove: function () {
+ return this.on(
+ 'end.remove',
+ (function (e) {
+ return function () {
+ var t = this.parentNode
+ for (var n in this.__transition) if (+n !== e) return
+ t && t.removeChild(this)
+ }
+ })(this._id),
+ )
+ },
+ tween: function (e, t) {
+ var n = this._id
+ if (((e += ''), arguments.length < 2)) {
+ for (var r, i = gr(this.node(), n).tween, o = 0, a = i.length; o < a; ++o)
+ if ((r = i[o]).name === e) return r.value
+ return null
+ }
+ return this.each((null == t ? Cr : Ar)(n, e, t))
+ },
+ delay: function (e) {
+ var t = this._id
+ return arguments.length
+ ? this.each(('function' === typeof e ? Ai : Si)(t, e))
+ : gr(this.node(), t).delay
+ },
+ duration: function (e) {
+ var t = this._id
+ return arguments.length
+ ? this.each(('function' === typeof e ? Pi : Mi)(t, e))
+ : gr(this.node(), t).duration
+ },
+ ease: function (e) {
+ var t = this._id
+ return arguments.length ? this.each(Ri(t, e)) : gr(this.node(), t).ease
+ },
+ easeVarying: function (e) {
+ if ('function' !== typeof e) throw new Error()
+ return this.each(
+ (function (e, t) {
+ return function () {
+ var n = t.apply(this, arguments)
+ if ('function' !== typeof n) throw new Error()
+ mr(this, e).ease = n
+ }
+ })(this._id, e),
+ )
+ },
+ end: function () {
+ var e,
+ t,
+ n = this,
+ r = n._id,
+ i = n.size()
+ return new Promise(function (o, a) {
+ var s = { value: a },
+ l = {
+ value: function () {
+ 0 === --i && o()
+ },
+ }
+ n.each(function () {
+ var n = mr(this, r),
+ i = n.on
+ i !== e &&
+ ((t = (e = i).copy())._.cancel.push(s), t._.interrupt.push(s), t._.end.push(l)),
+ (n.on = t)
+ }),
+ 0 === i && o()
+ })
+ },
+ },
+ Symbol.iterator,
+ Ui[Symbol.iterator],
+ )
+ var Gi = {
+ time: null,
+ delay: 0,
+ duration: 250,
+ ease: function (e) {
+ return ((e *= 2) <= 1 ? e * e * e : (e -= 2) * e * e + 2) / 2
+ },
+ }
+ function qi(e, t) {
+ for (var n; !(n = e.__transition) || !(n = n[t]); )
+ if (!(e = e.parentNode)) throw new Error('transition '.concat(t, ' not found'))
+ return n
+ }
+ ;(Qn.prototype.interrupt = function (e) {
+ return this.each(function () {
+ yr(this, e)
+ })
+ }),
+ (Qn.prototype.transition = function (e) {
+ var t, n
+ e instanceof Fi
+ ? ((t = e._id), (e = e._name))
+ : ((t = Vi()), ((n = Gi).time = (0, cr.zO)()), (e = null == e ? null : e + ''))
+ for (var r = this._groups, i = r.length, o = 0; o < i; ++o)
+ for (var a, s = r[o], l = s.length, u = 0; u < l; ++u)
+ (a = s[u]) && pr(a, e, t, u, s, n || qi(a, t))
+ return new Fi(r, this._parents, e, t)
+ })
+ var Wi = function (e) {
+ return function () {
+ return e
+ }
+ }
+ function Ki(e, t) {
+ var n = t.sourceEvent,
+ r = t.target,
+ i = t.transform,
+ o = t.dispatch
+ Object.defineProperties(this, {
+ type: { value: e, enumerable: !0, configurable: !0 },
+ sourceEvent: { value: n, enumerable: !0, configurable: !0 },
+ target: { value: r, enumerable: !0, configurable: !0 },
+ transform: { value: i, enumerable: !0, configurable: !0 },
+ _: { value: o },
+ })
+ }
+ function Zi(e, t, n) {
+ ;(this.k = e), (this.x = t), (this.y = n)
+ }
+ Zi.prototype = {
+ constructor: Zi,
+ scale: function (e) {
+ return 1 === e ? this : new Zi(this.k * e, this.x, this.y)
+ },
+ translate: function (e, t) {
+ return (0 === e) & (0 === t)
+ ? this
+ : new Zi(this.k, this.x + this.k * e, this.y + this.k * t)
+ },
+ apply: function (e) {
+ return [e[0] * this.k + this.x, e[1] * this.k + this.y]
+ },
+ applyX: function (e) {
+ return e * this.k + this.x
+ },
+ applyY: function (e) {
+ return e * this.k + this.y
+ },
+ invert: function (e) {
+ return [(e[0] - this.x) / this.k, (e[1] - this.y) / this.k]
+ },
+ invertX: function (e) {
+ return (e - this.x) / this.k
+ },
+ invertY: function (e) {
+ return (e - this.y) / this.k
+ },
+ rescaleX: function (e) {
+ return e.copy().domain(e.range().map(this.invertX, this).map(e.invert, e))
+ },
+ rescaleY: function (e) {
+ return e.copy().domain(e.range().map(this.invertY, this).map(e.invert, e))
+ },
+ toString: function () {
+ return 'translate(' + this.x + ',' + this.y + ') scale(' + this.k + ')'
+ },
+ }
+ var $i = new Zi(1, 0, 0)
+ function Xi(e) {
+ for (; !e.__zoom; ) if (!(e = e.parentNode)) return $i
+ return e.__zoom
+ }
+ function Yi(e) {
+ e.stopImmediatePropagation()
+ }
+ function Qi(e) {
+ e.preventDefault(), e.stopImmediatePropagation()
+ }
+ function Ji(e) {
+ return (!e.ctrlKey || 'wheel' === e.type) && !e.button
+ }
+ function eo() {
+ var e = this
+ return e instanceof SVGElement
+ ? (e = e.ownerSVGElement || e).hasAttribute('viewBox')
+ ? [
+ [(e = e.viewBox.baseVal).x, e.y],
+ [e.x + e.width, e.y + e.height],
+ ]
+ : [
+ [0, 0],
+ [e.width.baseVal.value, e.height.baseVal.value],
+ ]
+ : [
+ [0, 0],
+ [e.clientWidth, e.clientHeight],
+ ]
+ }
+ function to() {
+ return this.__zoom || $i
+ }
+ function no(e) {
+ return (
+ -e.deltaY * (1 === e.deltaMode ? 0.05 : e.deltaMode ? 1 : 0.002) * (e.ctrlKey ? 10 : 1)
+ )
+ }
+ function ro() {
+ return navigator.maxTouchPoints || 'ontouchstart' in this
+ }
+ function io(e, t, n) {
+ var r = e.invertX(t[0][0]) - n[0][0],
+ i = e.invertX(t[1][0]) - n[1][0],
+ o = e.invertY(t[0][1]) - n[0][1],
+ a = e.invertY(t[1][1]) - n[1][1]
+ return e.translate(
+ i > r ? (r + i) / 2 : Math.min(0, r) || Math.max(0, i),
+ a > o ? (o + a) / 2 : Math.min(0, o) || Math.max(0, a),
+ )
+ }
+ function oo() {
+ var e,
+ t,
+ n,
+ r = Ji,
+ i = eo,
+ o = io,
+ a = no,
+ s = ro,
+ l = [0, 1 / 0],
+ u = [
+ [-1 / 0, -1 / 0],
+ [1 / 0, 1 / 0],
+ ],
+ c = 250,
+ d = lr,
+ f = (0, er.Z)('start', 'zoom', 'end'),
+ h = 500,
+ p = 0,
+ v = 10
+ function m(e) {
+ e.property('__zoom', to)
+ .on('wheel.zoom', k, { passive: !1 })
+ .on('mousedown.zoom', T)
+ .on('dblclick.zoom', _)
+ .filter(s)
+ .on('touchstart.zoom', O)
+ .on('touchmove.zoom', C)
+ .on('touchend.zoom touchcancel.zoom', A)
+ .style('-webkit-tap-highlight-color', 'rgba(0,0,0,0)')
+ }
+ function g(e, t) {
+ return (t = Math.max(l[0], Math.min(l[1], t))) === e.k ? e : new Zi(t, e.x, e.y)
+ }
+ function y(e, t, n) {
+ var r = t[0] - n[0] * e.k,
+ i = t[1] - n[1] * e.k
+ return r === e.x && i === e.y ? e : new Zi(e.k, r, i)
+ }
+ function b(e) {
+ return [(+e[0][0] + +e[1][0]) / 2, (+e[0][1] + +e[1][1]) / 2]
+ }
+ function w(e, t, n, r) {
+ e.on('start.zoom', function () {
+ x(this, arguments).event(r).start()
+ })
+ .on('interrupt.zoom end.zoom', function () {
+ x(this, arguments).event(r).end()
+ })
+ .tween('zoom', function () {
+ var e = this,
+ o = arguments,
+ a = x(e, o).event(r),
+ s = i.apply(e, o),
+ l = null == n ? b(s) : 'function' === typeof n ? n.apply(e, o) : n,
+ u = Math.max(s[1][0] - s[0][0], s[1][1] - s[0][1]),
+ c = e.__zoom,
+ f = 'function' === typeof t ? t.apply(e, o) : t,
+ h = d(c.invert(l).concat(u / c.k), f.invert(l).concat(u / f.k))
+ return function (e) {
+ if (1 === e) e = f
+ else {
+ var t = h(e),
+ n = u / t[2]
+ e = new Zi(n, l[0] - t[0] * n, l[1] - t[1] * n)
+ }
+ a.zoom(null, e)
+ }
+ })
+ }
+ function x(e, t, n) {
+ return (!n && e.__zooming) || new E(e, t)
+ }
+ function E(e, t) {
+ ;(this.that = e),
+ (this.args = t),
+ (this.active = 0),
+ (this.sourceEvent = null),
+ (this.extent = i.apply(e, t)),
+ (this.taps = 0)
+ }
+ function k(e) {
+ for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), i = 1; i < t; i++)
+ n[i - 1] = arguments[i]
+ if (r.apply(this, arguments)) {
+ var s = x(this, n).event(e),
+ c = this.__zoom,
+ d = Math.max(l[0], Math.min(l[1], c.k * Math.pow(2, a.apply(this, arguments)))),
+ f = ur(e)
+ if (s.wheel)
+ (s.mouse[0][0] === f[0] && s.mouse[0][1] === f[1]) ||
+ (s.mouse[1] = c.invert((s.mouse[0] = f))),
+ clearTimeout(s.wheel)
+ else {
+ if (c.k === d) return
+ ;(s.mouse = [f, c.invert(f)]), yr(this), s.start()
+ }
+ Qi(e),
+ (s.wheel = setTimeout(h, 150)),
+ s.zoom('mouse', o(y(g(c, d), s.mouse[0], s.mouse[1]), s.extent, u))
+ }
+ function h() {
+ ;(s.wheel = null), s.end()
+ }
+ }
+ function T(e) {
+ for (var t = arguments.length, i = new Array(t > 1 ? t - 1 : 0), a = 1; a < t; a++)
+ i[a - 1] = arguments[a]
+ if (!n && r.apply(this, arguments)) {
+ var s = e.currentTarget,
+ l = x(this, i, !0).event(e),
+ c = Jn(e.view).on('mousemove.zoom', v, !0).on('mouseup.zoom', m, !0),
+ d = ur(e, s),
+ f = e.clientX,
+ h = e.clientY
+ or(e.view), Yi(e), (l.mouse = [d, this.__zoom.invert(d)]), yr(this), l.start()
+ }
+ function v(e) {
+ if ((Qi(e), !l.moved)) {
+ var t = e.clientX - f,
+ n = e.clientY - h
+ l.moved = t * t + n * n > p
+ }
+ l.event(e).zoom(
+ 'mouse',
+ o(y(l.that.__zoom, (l.mouse[0] = ur(e, s)), l.mouse[1]), l.extent, u),
+ )
+ }
+ function m(e) {
+ c.on('mousemove.zoom mouseup.zoom', null), ar(e.view, l.moved), Qi(e), l.event(e).end()
+ }
+ }
+ function _(e) {
+ for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), a = 1; a < t; a++)
+ n[a - 1] = arguments[a]
+ if (r.apply(this, arguments)) {
+ var s = this.__zoom,
+ l = ur(e.changedTouches ? e.changedTouches[0] : e, this),
+ d = s.invert(l),
+ f = s.k * (e.shiftKey ? 0.5 : 2),
+ h = o(y(g(s, f), l, d), i.apply(this, n), u)
+ Qi(e),
+ c > 0
+ ? Jn(this).transition().duration(c).call(w, h, l, e)
+ : Jn(this).call(m.transform, h, l, e)
+ }
+ }
+ function O(n) {
+ for (var i = arguments.length, o = new Array(i > 1 ? i - 1 : 0), a = 1; a < i; a++)
+ o[a - 1] = arguments[a]
+ if (r.apply(this, arguments)) {
+ var s,
+ l,
+ u,
+ c,
+ d = n.touches,
+ f = d.length,
+ p = x(this, o, n.changedTouches.length === f).event(n)
+ for (Yi(n), l = 0; l < f; ++l)
+ (c = [(c = ur((u = d[l]), this)), this.__zoom.invert(c), u.identifier]),
+ p.touch0
+ ? p.touch1 || p.touch0[2] === c[2] || ((p.touch1 = c), (p.taps = 0))
+ : ((p.touch0 = c), (s = !0), (p.taps = 1 + !!e))
+ e && (e = clearTimeout(e)),
+ s &&
+ (p.taps < 2 &&
+ ((t = c[0]),
+ (e = setTimeout(function () {
+ e = null
+ }, h))),
+ yr(this),
+ p.start())
+ }
+ }
+ function C(e) {
+ if (this.__zooming) {
+ for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++)
+ n[r - 1] = arguments[r]
+ var i,
+ a,
+ s,
+ l,
+ c = x(this, n).event(e),
+ d = e.changedTouches,
+ f = d.length
+ for (Qi(e), i = 0; i < f; ++i)
+ (s = ur((a = d[i]), this)),
+ c.touch0 && c.touch0[2] === a.identifier
+ ? (c.touch0[0] = s)
+ : c.touch1 && c.touch1[2] === a.identifier && (c.touch1[0] = s)
+ if (((a = c.that.__zoom), c.touch1)) {
+ var h = c.touch0[0],
+ p = c.touch0[1],
+ v = c.touch1[0],
+ m = c.touch1[1],
+ b = (b = v[0] - h[0]) * b + (b = v[1] - h[1]) * b,
+ w = (w = m[0] - p[0]) * w + (w = m[1] - p[1]) * w
+ ;(a = g(a, Math.sqrt(b / w))),
+ (s = [(h[0] + v[0]) / 2, (h[1] + v[1]) / 2]),
+ (l = [(p[0] + m[0]) / 2, (p[1] + m[1]) / 2])
+ } else {
+ if (!c.touch0) return
+ ;(s = c.touch0[0]), (l = c.touch0[1])
+ }
+ c.zoom('touch', o(y(a, s, l), c.extent, u))
+ }
+ }
+ function A(e) {
+ for (var r = arguments.length, i = new Array(r > 1 ? r - 1 : 0), o = 1; o < r; o++)
+ i[o - 1] = arguments[o]
+ if (this.__zooming) {
+ var a,
+ s,
+ l = x(this, i).event(e),
+ u = e.changedTouches,
+ c = u.length
+ for (
+ Yi(e),
+ n && clearTimeout(n),
+ n = setTimeout(function () {
+ n = null
+ }, h),
+ a = 0;
+ a < c;
+ ++a
+ )
+ (s = u[a]),
+ l.touch0 && l.touch0[2] === s.identifier
+ ? delete l.touch0
+ : l.touch1 && l.touch1[2] === s.identifier && delete l.touch1
+ if ((l.touch1 && !l.touch0 && ((l.touch0 = l.touch1), delete l.touch1), l.touch0))
+ l.touch0[1] = this.__zoom.invert(l.touch0[0])
+ else if (
+ (l.end(),
+ 2 === l.taps && ((s = ur(s, this)), Math.hypot(t[0] - s[0], t[1] - s[1]) < v))
+ ) {
+ var d = Jn(this).on('dblclick.zoom')
+ d && d.apply(this, arguments)
+ }
+ }
+ }
+ return (
+ (m.transform = function (e, t, n, r) {
+ var i = e.selection ? e.selection() : e
+ i.property('__zoom', to),
+ e !== i
+ ? w(e, t, n, r)
+ : i.interrupt().each(function () {
+ x(this, arguments)
+ .event(r)
+ .start()
+ .zoom(null, 'function' === typeof t ? t.apply(this, arguments) : t)
+ .end()
+ })
+ }),
+ (m.scaleBy = function (e, t, n, r) {
+ m.scaleTo(
+ e,
+ function () {
+ var e = this.__zoom.k,
+ n = 'function' === typeof t ? t.apply(this, arguments) : t
+ return e * n
+ },
+ n,
+ r,
+ )
+ }),
+ (m.scaleTo = function (e, t, n, r) {
+ m.transform(
+ e,
+ function () {
+ var e = i.apply(this, arguments),
+ r = this.__zoom,
+ a = null == n ? b(e) : 'function' === typeof n ? n.apply(this, arguments) : n,
+ s = r.invert(a),
+ l = 'function' === typeof t ? t.apply(this, arguments) : t
+ return o(y(g(r, l), a, s), e, u)
+ },
+ n,
+ r,
+ )
+ }),
+ (m.translateBy = function (e, t, n, r) {
+ m.transform(
+ e,
+ function () {
+ return o(
+ this.__zoom.translate(
+ 'function' === typeof t ? t.apply(this, arguments) : t,
+ 'function' === typeof n ? n.apply(this, arguments) : n,
+ ),
+ i.apply(this, arguments),
+ u,
+ )
+ },
+ null,
+ r,
+ )
+ }),
+ (m.translateTo = function (e, t, n, r, a) {
+ m.transform(
+ e,
+ function () {
+ var e = i.apply(this, arguments),
+ a = this.__zoom,
+ s = null == r ? b(e) : 'function' === typeof r ? r.apply(this, arguments) : r
+ return o(
+ $i
+ .translate(s[0], s[1])
+ .scale(a.k)
+ .translate(
+ 'function' === typeof t ? -t.apply(this, arguments) : -t,
+ 'function' === typeof n ? -n.apply(this, arguments) : -n,
+ ),
+ e,
+ u,
+ )
+ },
+ r,
+ a,
+ )
+ }),
+ (E.prototype = {
+ event: function (e) {
+ return e && (this.sourceEvent = e), this
+ },
+ start: function () {
+ return 1 === ++this.active && ((this.that.__zooming = this), this.emit('start')), this
+ },
+ zoom: function (e, t) {
+ return (
+ this.mouse && 'mouse' !== e && (this.mouse[1] = t.invert(this.mouse[0])),
+ this.touch0 && 'touch' !== e && (this.touch0[1] = t.invert(this.touch0[0])),
+ this.touch1 && 'touch' !== e && (this.touch1[1] = t.invert(this.touch1[0])),
+ (this.that.__zoom = t),
+ this.emit('zoom'),
+ this
+ )
+ },
+ end: function () {
+ return 0 === --this.active && (delete this.that.__zooming, this.emit('end')), this
+ },
+ emit: function (e) {
+ var t = Jn(this.that).datum()
+ f.call(
+ e,
+ this.that,
+ new Ki(e, {
+ sourceEvent: this.sourceEvent,
+ target: m,
+ type: e,
+ transform: this.that.__zoom,
+ dispatch: f,
+ }),
+ t,
+ )
+ },
+ }),
+ (m.wheelDelta = function (e) {
+ return arguments.length ? ((a = 'function' === typeof e ? e : Wi(+e)), m) : a
+ }),
+ (m.filter = function (e) {
+ return arguments.length ? ((r = 'function' === typeof e ? e : Wi(!!e)), m) : r
+ }),
+ (m.touchable = function (e) {
+ return arguments.length ? ((s = 'function' === typeof e ? e : Wi(!!e)), m) : s
+ }),
+ (m.extent = function (e) {
+ return arguments.length
+ ? ((i =
+ 'function' === typeof e
+ ? e
+ : Wi([
+ [+e[0][0], +e[0][1]],
+ [+e[1][0], +e[1][1]],
+ ])),
+ m)
+ : i
+ }),
+ (m.scaleExtent = function (e) {
+ return arguments.length ? ((l[0] = +e[0]), (l[1] = +e[1]), m) : [l[0], l[1]]
+ }),
+ (m.translateExtent = function (e) {
+ return arguments.length
+ ? ((u[0][0] = +e[0][0]),
+ (u[1][0] = +e[1][0]),
+ (u[0][1] = +e[0][1]),
+ (u[1][1] = +e[1][1]),
+ m)
+ : [
+ [u[0][0], u[0][1]],
+ [u[1][0], u[1][1]],
+ ]
+ }),
+ (m.constrain = function (e) {
+ return arguments.length ? ((o = e), m) : o
+ }),
+ (m.duration = function (e) {
+ return arguments.length ? ((c = +e), m) : c
+ }),
+ (m.interpolate = function (e) {
+ return arguments.length ? ((d = e), m) : d
+ }),
+ (m.on = function () {
+ var e = f.on.apply(f, arguments)
+ return e === f ? m : e
+ }),
+ (m.clickDistance = function (e) {
+ return arguments.length ? ((p = (e = +e) * e), m) : Math.sqrt(p)
+ }),
+ (m.tapDistance = function (e) {
+ return arguments.length ? ((v = +e), m) : v
+ }),
+ m
+ )
+ }
+ Xi.prototype = Zi.prototype
+ var ao = function (e) {
+ return function () {
+ return e
+ }
+ }
+ function so(e, t) {
+ var n = t.sourceEvent,
+ r = t.subject,
+ i = t.target,
+ o = t.identifier,
+ a = t.active,
+ s = t.x,
+ l = t.y,
+ u = t.dx,
+ c = t.dy,
+ d = t.dispatch
+ Object.defineProperties(this, {
+ type: { value: e, enumerable: !0, configurable: !0 },
+ sourceEvent: { value: n, enumerable: !0, configurable: !0 },
+ subject: { value: r, enumerable: !0, configurable: !0 },
+ target: { value: i, enumerable: !0, configurable: !0 },
+ identifier: { value: o, enumerable: !0, configurable: !0 },
+ active: { value: a, enumerable: !0, configurable: !0 },
+ x: { value: s, enumerable: !0, configurable: !0 },
+ y: { value: l, enumerable: !0, configurable: !0 },
+ dx: { value: u, enumerable: !0, configurable: !0 },
+ dy: { value: c, enumerable: !0, configurable: !0 },
+ _: { value: d },
+ })
+ }
+ function lo(e) {
+ return !e.ctrlKey && !e.button
+ }
+ function uo() {
+ return this.parentNode
+ }
+ function co(e, t) {
+ return null == t ? { x: e.x, y: e.y } : t
+ }
+ function fo() {
+ return navigator.maxTouchPoints || 'ontouchstart' in this
+ }
+ so.prototype.on = function () {
+ var e = this._.on.apply(this._, arguments)
+ return e === this._ ? this : e
+ }
+ var ho = r(6701),
+ po = r(3752),
+ vo = r(3096),
+ mo = r.n(vo),
+ go = r(7621),
+ yo = r.n(go)
+ function bo(e, t) {
+ if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function')
+ }
+ function wo(e, t) {
+ for (var n = 0; n < t.length; n++) {
+ var r = t[n]
+ ;(r.enumerable = r.enumerable || !1),
+ (r.configurable = !0),
+ 'value' in r && (r.writable = !0),
+ Object.defineProperty(e, r.key, r)
+ }
+ }
+ function xo(e) {
+ return (
+ (function (e) {
+ if (Array.isArray(e)) return Eo(e)
+ })(e) ||
+ (function (e) {
+ if ('undefined' !== typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e)
+ })(e) ||
+ (function (e, t) {
+ if (!e) return
+ if ('string' === typeof e) return Eo(e, t)
+ var n = Object.prototype.toString.call(e).slice(8, -1)
+ 'Object' === n && e.constructor && (n = e.constructor.name)
+ if ('Map' === n || 'Set' === n) return Array.from(e)
+ if ('Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+ return Eo(e, t)
+ })(e) ||
+ (function () {
+ throw new TypeError(
+ 'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ })()
+ )
+ }
+ function Eo(e, t) {
+ ;(null == t || t > e.length) && (t = e.length)
+ for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
+ return r
+ }
+ var ko = function (e, t, n) {
+ return (e << 16) + (t << 8) + n
+ },
+ To = function (e, t) {
+ return (123 * e) % Math.pow(2, t)
+ },
+ _o = (function () {
+ function e() {
+ var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 6
+ bo(this, e), (this.csBits = t), (this.registry = ['__reserved for background__'])
+ }
+ var t, n, r
+ return (
+ (t = e),
+ (n = [
+ {
+ key: 'register',
+ value: function (e) {
+ if (this.registry.length >= Math.pow(2, 24 - this.csBits)) return null
+ var t,
+ n = this.registry.length,
+ r = To(n, this.csBits),
+ i =
+ ((t = n + (r << (24 - this.csBits))),
+ '#'.concat(Math.min(t, Math.pow(2, 24)).toString(16).padStart(6, '0')))
+ return this.registry.push(e), i
+ },
+ },
+ {
+ key: 'lookup',
+ value: function (e) {
+ var t =
+ 'string' === typeof e
+ ? (function (e) {
+ var t = yo()(e).toRgb(),
+ n = t.r,
+ r = t.g,
+ i = t.b
+ return ko(n, r, i)
+ })(e)
+ : ko.apply(void 0, xo(e))
+ if (!t) return null
+ var n = t & (Math.pow(2, 24 - this.csBits) - 1),
+ r = (t >> (24 - this.csBits)) & (Math.pow(2, this.csBits) - 1)
+ return To(n, this.csBits) !== r || n >= this.registry.length
+ ? null
+ : this.registry[n]
+ },
+ },
+ ]) && wo(t.prototype, n),
+ r && wo(t, r),
+ e
+ )
+ })(),
+ Oo = r(4505),
+ Co = r(5560),
+ Ao = r(2405),
+ So = r(216),
+ Po = r(6917)
+ const { abs: Mo, cos: Ro, sin: jo, acos: Do, atan2: Lo, sqrt: No, pow: Io } = Math
+ function zo(e) {
+ return e < 0 ? -Io(-e, 1 / 3) : Io(e, 1 / 3)
+ }
+ const Ho = Math.PI,
+ Bo = 2 * Ho,
+ Fo = Ho / 2,
+ Vo = Number.MAX_SAFE_INTEGER || 9007199254740991,
+ Uo = Number.MIN_SAFE_INTEGER || -9007199254740991,
+ Go = { x: 0, y: 0, z: 0 },
+ qo = {
+ Tvalues: [
+ -0.06405689286260563, 0.06405689286260563, -0.1911188674736163, 0.1911188674736163,
+ -0.3150426796961634, 0.3150426796961634, -0.4337935076260451, 0.4337935076260451,
+ -0.5454214713888396, 0.5454214713888396, -0.6480936519369755, 0.6480936519369755,
+ -0.7401241915785544, 0.7401241915785544, -0.820001985973903, 0.820001985973903,
+ -0.8864155270044011, 0.8864155270044011, -0.9382745520027328, 0.9382745520027328,
+ -0.9747285559713095, 0.9747285559713095, -0.9951872199970213, 0.9951872199970213,
+ ],
+ Cvalues: [
+ 0.12793819534675216, 0.12793819534675216, 0.1258374563468283, 0.1258374563468283,
+ 0.12167047292780339, 0.12167047292780339, 0.1155056680537256, 0.1155056680537256,
+ 0.10744427011596563, 0.10744427011596563, 0.09761865210411388, 0.09761865210411388,
+ 0.08619016153195327, 0.08619016153195327, 0.0733464814110803, 0.0733464814110803,
+ 0.05929858491543678, 0.05929858491543678, 0.04427743881741981, 0.04427743881741981,
+ 0.028531388628933663, 0.028531388628933663, 0.0123412297999872, 0.0123412297999872,
+ ],
+ arcfn: function (e, t) {
+ const n = t(e)
+ let r = n.x * n.x + n.y * n.y
+ return 'undefined' !== typeof n.z && (r += n.z * n.z), No(r)
+ },
+ compute: function (e, t, n) {
+ if (0 === e) return (t[0].t = 0), t[0]
+ const r = t.length - 1
+ if (1 === e) return (t[r].t = 1), t[r]
+ const i = 1 - e
+ let o = t
+ if (0 === r) return (t[0].t = e), t[0]
+ if (1 === r) {
+ const t = { x: i * o[0].x + e * o[1].x, y: i * o[0].y + e * o[1].y, t: e }
+ return n && (t.z = i * o[0].z + e * o[1].z), t
+ }
+ if (r < 4) {
+ let t,
+ a,
+ s,
+ l = i * i,
+ u = e * e,
+ c = 0
+ 2 === r
+ ? ((o = [o[0], o[1], o[2], Go]), (t = l), (a = i * e * 2), (s = u))
+ : 3 === r && ((t = l * i), (a = l * e * 3), (s = i * u * 3), (c = e * u))
+ const d = {
+ x: t * o[0].x + a * o[1].x + s * o[2].x + c * o[3].x,
+ y: t * o[0].y + a * o[1].y + s * o[2].y + c * o[3].y,
+ t: e,
+ }
+ return n && (d.z = t * o[0].z + a * o[1].z + s * o[2].z + c * o[3].z), d
+ }
+ const a = JSON.parse(JSON.stringify(t))
+ for (; a.length > 1; ) {
+ for (let t = 0; t < a.length - 1; t++)
+ (a[t] = {
+ x: a[t].x + (a[t + 1].x - a[t].x) * e,
+ y: a[t].y + (a[t + 1].y - a[t].y) * e,
+ }),
+ 'undefined' !== typeof a[t].z && (a[t] = a[t].z + (a[t + 1].z - a[t].z) * e)
+ a.splice(a.length - 1, 1)
+ }
+ return (a[0].t = e), a[0]
+ },
+ computeWithRatios: function (e, t, n, r) {
+ const i = 1 - e,
+ o = n,
+ a = t
+ let s,
+ l = o[0],
+ u = o[1],
+ c = o[2],
+ d = o[3]
+ return (
+ (l *= i),
+ (u *= e),
+ 2 === a.length
+ ? ((s = l + u),
+ {
+ x: (l * a[0].x + u * a[1].x) / s,
+ y: (l * a[0].y + u * a[1].y) / s,
+ z: !!r && (l * a[0].z + u * a[1].z) / s,
+ t: e,
+ })
+ : ((l *= i),
+ (u *= 2 * i),
+ (c *= e * e),
+ 3 === a.length
+ ? ((s = l + u + c),
+ {
+ x: (l * a[0].x + u * a[1].x + c * a[2].x) / s,
+ y: (l * a[0].y + u * a[1].y + c * a[2].y) / s,
+ z: !!r && (l * a[0].z + u * a[1].z + c * a[2].z) / s,
+ t: e,
+ })
+ : ((l *= i),
+ (u *= 1.5 * i),
+ (c *= 3 * i),
+ (d *= e * e * e),
+ 4 === a.length
+ ? ((s = l + u + c + d),
+ {
+ x: (l * a[0].x + u * a[1].x + c * a[2].x + d * a[3].x) / s,
+ y: (l * a[0].y + u * a[1].y + c * a[2].y + d * a[3].y) / s,
+ z: !!r && (l * a[0].z + u * a[1].z + c * a[2].z + d * a[3].z) / s,
+ t: e,
+ })
+ : void 0))
+ )
+ },
+ derive: function (e, t) {
+ const n = []
+ for (let r = e, i = r.length, o = i - 1; i > 1; i--, o--) {
+ const e = []
+ for (let n, i = 0; i < o; i++)
+ (n = { x: o * (r[i + 1].x - r[i].x), y: o * (r[i + 1].y - r[i].y) }),
+ t && (n.z = o * (r[i + 1].z - r[i].z)),
+ e.push(n)
+ n.push(e), (r = e)
+ }
+ return n
+ },
+ between: function (e, t, n) {
+ return (t <= e && e <= n) || qo.approximately(e, t) || qo.approximately(e, n)
+ },
+ approximately: function (e, t, n) {
+ return Mo(e - t) <= (n || 1e-6)
+ },
+ length: function (e) {
+ const t = qo.Tvalues.length
+ let n = 0
+ for (let r, i = 0; i < t; i++)
+ (r = 0.5 * qo.Tvalues[i] + 0.5), (n += qo.Cvalues[i] * qo.arcfn(r, e))
+ return 0.5 * n
+ },
+ map: function (e, t, n, r, i) {
+ return r + (i - r) * ((e - t) / (n - t))
+ },
+ lerp: function (e, t, n) {
+ const r = { x: t.x + e * (n.x - t.x), y: t.y + e * (n.y - t.y) }
+ return void 0 !== t.z && void 0 !== n.z && (r.z = t.z + e * (n.z - t.z)), r
+ },
+ pointToString: function (e) {
+ let t = e.x + '/' + e.y
+ return 'undefined' !== typeof e.z && (t += '/' + e.z), t
+ },
+ pointsToString: function (e) {
+ return '[' + e.map(qo.pointToString).join(', ') + ']'
+ },
+ copy: function (e) {
+ return JSON.parse(JSON.stringify(e))
+ },
+ angle: function (e, t, n) {
+ const r = t.x - e.x,
+ i = t.y - e.y,
+ o = n.x - e.x,
+ a = n.y - e.y
+ return Lo(r * a - i * o, r * o + i * a)
+ },
+ round: function (e, t) {
+ const n = '' + e,
+ r = n.indexOf('.')
+ return parseFloat(n.substring(0, r + 1 + t))
+ },
+ dist: function (e, t) {
+ const n = e.x - t.x,
+ r = e.y - t.y
+ return No(n * n + r * r)
+ },
+ closest: function (e, t) {
+ let n,
+ r,
+ i = Io(2, 63)
+ return (
+ e.forEach(function (e, o) {
+ ;(r = qo.dist(t, e)), r < i && ((i = r), (n = o))
+ }),
+ { mdist: i, mpos: n }
+ )
+ },
+ abcratio: function (e, t) {
+ if (2 !== t && 3 !== t) return !1
+ if ('undefined' === typeof e) e = 0.5
+ else if (0 === e || 1 === e) return e
+ const n = Io(e, t) + Io(1 - e, t)
+ return Mo((n - 1) / n)
+ },
+ projectionratio: function (e, t) {
+ if (2 !== t && 3 !== t) return !1
+ if ('undefined' === typeof e) e = 0.5
+ else if (0 === e || 1 === e) return e
+ const n = Io(1 - e, t)
+ return n / (Io(e, t) + n)
+ },
+ lli8: function (e, t, n, r, i, o, a, s) {
+ const l = (e - n) * (o - s) - (t - r) * (i - a)
+ return (
+ 0 != l && {
+ x: ((e * r - t * n) * (i - a) - (e - n) * (i * s - o * a)) / l,
+ y: ((e * r - t * n) * (o - s) - (t - r) * (i * s - o * a)) / l,
+ }
+ )
+ },
+ lli4: function (e, t, n, r) {
+ const i = e.x,
+ o = e.y,
+ a = t.x,
+ s = t.y,
+ l = n.x,
+ u = n.y,
+ c = r.x,
+ d = r.y
+ return qo.lli8(i, o, a, s, l, u, c, d)
+ },
+ lli: function (e, t) {
+ return qo.lli4(e, e.c, t, t.c)
+ },
+ makeline: function (e, t) {
+ const n = e.x,
+ r = e.y,
+ i = t.x,
+ o = t.y,
+ a = (i - n) / 3,
+ s = (o - r) / 3
+ return new ta(n, r, n + a, r + s, n + 2 * a, r + 2 * s, i, o)
+ },
+ findbbox: function (e) {
+ let t = Vo,
+ n = Vo,
+ r = Uo,
+ i = Uo
+ return (
+ e.forEach(function (e) {
+ const o = e.bbox()
+ t > o.x.min && (t = o.x.min),
+ n > o.y.min && (n = o.y.min),
+ r < o.x.max && (r = o.x.max),
+ i < o.y.max && (i = o.y.max)
+ }),
+ {
+ x: { min: t, mid: (t + r) / 2, max: r, size: r - t },
+ y: { min: n, mid: (n + i) / 2, max: i, size: i - n },
+ }
+ )
+ },
+ shapeintersections: function (e, t, n, r, i) {
+ if (!qo.bboxoverlap(t, r)) return []
+ const o = [],
+ a = [e.startcap, e.forward, e.back, e.endcap],
+ s = [n.startcap, n.forward, n.back, n.endcap]
+ return (
+ a.forEach(function (t) {
+ t.virtual ||
+ s.forEach(function (r) {
+ if (r.virtual) return
+ const a = t.intersects(r, i)
+ a.length > 0 && ((a.c1 = t), (a.c2 = r), (a.s1 = e), (a.s2 = n), o.push(a))
+ })
+ }),
+ o
+ )
+ },
+ makeshape: function (e, t, n) {
+ const r = t.points.length,
+ i = e.points.length,
+ o = qo.makeline(t.points[r - 1], e.points[0]),
+ a = qo.makeline(e.points[i - 1], t.points[0]),
+ s = {
+ startcap: o,
+ forward: e,
+ back: t,
+ endcap: a,
+ bbox: qo.findbbox([o, e, t, a]),
+ intersections: function (e) {
+ return qo.shapeintersections(s, s.bbox, e, e.bbox, n)
+ },
+ }
+ return s
+ },
+ getminmax: function (e, t, n) {
+ if (!n) return { min: 0, max: 0 }
+ let r,
+ i,
+ o = Vo,
+ a = Uo
+ ;-1 === n.indexOf(0) && (n = [0].concat(n)), -1 === n.indexOf(1) && n.push(1)
+ for (let s = 0, l = n.length; s < l; s++)
+ (r = n[s]), (i = e.get(r)), i[t] < o && (o = i[t]), i[t] > a && (a = i[t])
+ return { min: o, mid: (o + a) / 2, max: a, size: a - o }
+ },
+ align: function (e, t) {
+ const n = t.p1.x,
+ r = t.p1.y,
+ i = -Lo(t.p2.y - r, t.p2.x - n)
+ return e.map(function (e) {
+ return {
+ x: (e.x - n) * Ro(i) - (e.y - r) * jo(i),
+ y: (e.x - n) * jo(i) + (e.y - r) * Ro(i),
+ }
+ })
+ },
+ roots: function (e, t) {
+ t = t || { p1: { x: 0, y: 0 }, p2: { x: 1, y: 0 } }
+ const n = e.length - 1,
+ r = qo.align(e, t),
+ i = function (e) {
+ return 0 <= e && e <= 1
+ }
+ if (2 === n) {
+ const e = r[0].y,
+ t = r[1].y,
+ n = r[2].y,
+ o = e - 2 * t + n
+ if (0 !== o) {
+ const r = -No(t * t - e * n),
+ a = -e + t
+ return [-(r + a) / o, -(-r + a) / o].filter(i)
+ }
+ return t !== n && 0 === o ? [(2 * t - n) / (2 * t - 2 * n)].filter(i) : []
+ }
+ const o = r[0].y,
+ a = r[1].y,
+ s = r[2].y
+ let l = 3 * a - o - 3 * s + r[3].y,
+ u = 3 * o - 6 * a + 3 * s,
+ c = -3 * o + 3 * a,
+ d = o
+ if (qo.approximately(l, 0)) {
+ if (qo.approximately(u, 0)) return qo.approximately(c, 0) ? [] : [-d / c].filter(i)
+ const e = No(c * c - 4 * u * d),
+ t = 2 * u
+ return [(e - c) / t, (-c - e) / t].filter(i)
+ }
+ ;(u /= l), (c /= l), (d /= l)
+ const f = (3 * c - u * u) / 3,
+ h = f / 3,
+ p = (2 * u * u * u - 9 * u * c + 27 * d) / 27,
+ v = p / 2,
+ m = v * v + h * h * h
+ let g, y, b, w, x
+ if (m < 0) {
+ const e = -f / 3,
+ t = No(e * e * e),
+ n = -p / (2 * t),
+ r = Do(n < -1 ? -1 : n > 1 ? 1 : n),
+ o = 2 * zo(t)
+ return (
+ (b = o * Ro(r / 3) - u / 3),
+ (w = o * Ro((r + Bo) / 3) - u / 3),
+ (x = o * Ro((r + 2 * Bo) / 3) - u / 3),
+ [b, w, x].filter(i)
+ )
+ }
+ if (0 === m)
+ return (
+ (g = v < 0 ? zo(-v) : -zo(v)),
+ (b = 2 * g - u / 3),
+ (w = -g - u / 3),
+ [b, w].filter(i)
+ )
+ {
+ const e = No(m)
+ return (g = zo(-v + e)), (y = zo(v + e)), [g - y - u / 3].filter(i)
+ }
+ },
+ droots: function (e) {
+ if (3 === e.length) {
+ const t = e[0],
+ n = e[1],
+ r = e[2],
+ i = t - 2 * n + r
+ if (0 !== i) {
+ const e = -No(n * n - t * r),
+ o = -t + n
+ return [-(e + o) / i, -(-e + o) / i]
+ }
+ return n !== r && 0 === i ? [(2 * n - r) / (2 * (n - r))] : []
+ }
+ if (2 === e.length) {
+ const t = e[0],
+ n = e[1]
+ return t !== n ? [t / (t - n)] : []
+ }
+ return []
+ },
+ curvature: function (e, t, n, r, i) {
+ let o,
+ a,
+ s,
+ l,
+ u = 0,
+ c = 0
+ const d = qo.compute(e, t),
+ f = qo.compute(e, n),
+ h = d.x * d.x + d.y * d.y
+ if (
+ (r
+ ? ((o = No(
+ Io(d.y * f.z - f.y * d.z, 2) +
+ Io(d.z * f.x - f.z * d.x, 2) +
+ Io(d.x * f.y - f.x * d.y, 2),
+ )),
+ (a = Io(h + d.z * d.z, 1.5)))
+ : ((o = d.x * f.y - d.y * f.x), (a = Io(h, 1.5))),
+ 0 === o || 0 === a)
+ )
+ return { k: 0, r: 0 }
+ if (((u = o / a), (c = a / o), !i)) {
+ const i = qo.curvature(e - 0.001, t, n, r, !0).k,
+ o = qo.curvature(e + 0.001, t, n, r, !0).k
+ ;(l = (o - u + (u - i)) / 2), (s = (Mo(o - u) + Mo(u - i)) / 2)
+ }
+ return { k: u, r: c, dk: l, adk: s }
+ },
+ inflections: function (e) {
+ if (e.length < 4) return []
+ const t = qo.align(e, { p1: e[0], p2: e.slice(-1)[0] }),
+ n = t[2].x * t[1].y,
+ r = t[3].x * t[1].y,
+ i = t[1].x * t[2].y,
+ o = 18 * (-3 * n + 2 * r + 3 * i - t[3].x * t[2].y),
+ a = 18 * (3 * n - r - 3 * i),
+ s = 18 * (i - n)
+ if (qo.approximately(o, 0)) {
+ if (!qo.approximately(a, 0)) {
+ let e = -s / a
+ if (0 <= e && e <= 1) return [e]
+ }
+ return []
+ }
+ const l = a * a - 4 * o * s,
+ u = Math.sqrt(l),
+ c = 2 * o
+ return qo.approximately(c, 0)
+ ? []
+ : [(u - a) / c, -(a + u) / c].filter(function (e) {
+ return 0 <= e && e <= 1
+ })
+ },
+ bboxoverlap: function (e, t) {
+ const n = ['x', 'y'],
+ r = n.length
+ for (let i, o, a, s, l = 0; l < r; l++)
+ if (
+ ((i = n[l]),
+ (o = e[i].mid),
+ (a = t[i].mid),
+ (s = (e[i].size + t[i].size) / 2),
+ Mo(o - a) >= s)
+ )
+ return !1
+ return !0
+ },
+ expandbox: function (e, t) {
+ t.x.min < e.x.min && (e.x.min = t.x.min),
+ t.y.min < e.y.min && (e.y.min = t.y.min),
+ t.z && t.z.min < e.z.min && (e.z.min = t.z.min),
+ t.x.max > e.x.max && (e.x.max = t.x.max),
+ t.y.max > e.y.max && (e.y.max = t.y.max),
+ t.z && t.z.max > e.z.max && (e.z.max = t.z.max),
+ (e.x.mid = (e.x.min + e.x.max) / 2),
+ (e.y.mid = (e.y.min + e.y.max) / 2),
+ e.z && (e.z.mid = (e.z.min + e.z.max) / 2),
+ (e.x.size = e.x.max - e.x.min),
+ (e.y.size = e.y.max - e.y.min),
+ e.z && (e.z.size = e.z.max - e.z.min)
+ },
+ pairiteration: function (e, t, n) {
+ const r = e.bbox(),
+ i = t.bbox(),
+ o = 1e5,
+ a = n || 0.5
+ if (r.x.size + r.y.size < a && i.x.size + i.y.size < a)
+ return [
+ (((o * (e._t1 + e._t2)) / 2) | 0) / o + '/' + (((o * (t._t1 + t._t2)) / 2) | 0) / o,
+ ]
+ let s = e.split(0.5),
+ l = t.split(0.5),
+ u = [
+ { left: s.left, right: l.left },
+ { left: s.left, right: l.right },
+ { left: s.right, right: l.right },
+ { left: s.right, right: l.left },
+ ]
+ u = u.filter(function (e) {
+ return qo.bboxoverlap(e.left.bbox(), e.right.bbox())
+ })
+ let c = []
+ return (
+ 0 === u.length ||
+ (u.forEach(function (e) {
+ c = c.concat(qo.pairiteration(e.left, e.right, a))
+ }),
+ (c = c.filter(function (e, t) {
+ return c.indexOf(e) === t
+ }))),
+ c
+ )
+ },
+ getccenter: function (e, t, n) {
+ const r = t.x - e.x,
+ i = t.y - e.y,
+ o = n.x - t.x,
+ a = n.y - t.y,
+ s = r * Ro(Fo) - i * jo(Fo),
+ l = r * jo(Fo) + i * Ro(Fo),
+ u = o * Ro(Fo) - a * jo(Fo),
+ c = o * jo(Fo) + a * Ro(Fo),
+ d = (e.x + t.x) / 2,
+ f = (e.y + t.y) / 2,
+ h = (t.x + n.x) / 2,
+ p = (t.y + n.y) / 2,
+ v = d + s,
+ m = f + l,
+ g = h + u,
+ y = p + c,
+ b = qo.lli8(d, f, v, m, h, p, g, y),
+ w = qo.dist(b, e)
+ let x,
+ E = Lo(e.y - b.y, e.x - b.x),
+ k = Lo(t.y - b.y, t.x - b.x),
+ T = Lo(n.y - b.y, n.x - b.x)
+ return (
+ E < T
+ ? ((E > k || k > T) && (E += Bo), E > T && ((x = T), (T = E), (E = x)))
+ : T < k && k < E
+ ? ((x = T), (T = E), (E = x))
+ : (T += Bo),
+ (b.s = E),
+ (b.e = T),
+ (b.r = w),
+ b
+ )
+ },
+ numberSort: function (e, t) {
+ return e - t
+ },
+ }
+ class Wo {
+ constructor(e) {
+ ;(this.curves = []),
+ (this._3d = !1),
+ e && ((this.curves = e), (this._3d = this.curves[0]._3d))
+ }
+ valueOf() {
+ return this.toString()
+ }
+ toString() {
+ return (
+ '[' +
+ this.curves
+ .map(function (e) {
+ return qo.pointsToString(e.points)
+ })
+ .join(', ') +
+ ']'
+ )
+ }
+ addCurve(e) {
+ this.curves.push(e), (this._3d = this._3d || e._3d)
+ }
+ length() {
+ return this.curves
+ .map(function (e) {
+ return e.length()
+ })
+ .reduce(function (e, t) {
+ return e + t
+ })
+ }
+ curve(e) {
+ return this.curves[e]
+ }
+ bbox() {
+ const e = this.curves
+ for (var t = e[0].bbox(), n = 1; n < e.length; n++) qo.expandbox(t, e[n].bbox())
+ return t
+ }
+ offset(e) {
+ const t = []
+ return (
+ this.curves.forEach(function (n) {
+ t.push(...n.offset(e))
+ }),
+ new Wo(t)
+ )
+ }
+ }
+ const { abs: Ko, min: Zo, max: $o, cos: Xo, sin: Yo, acos: Qo, sqrt: Jo } = Math,
+ ea = Math.PI
+ class ta {
+ constructor(e) {
+ let t = e && e.forEach ? e : Array.from(arguments).slice(),
+ n = !1
+ if ('object' === typeof t[0]) {
+ n = t.length
+ const e = []
+ t.forEach(function (t) {
+ ;['x', 'y', 'z'].forEach(function (n) {
+ 'undefined' !== typeof t[n] && e.push(t[n])
+ })
+ }),
+ (t = e)
+ }
+ let r = !1
+ const i = t.length
+ if (n) {
+ if (n > 4) {
+ if (1 !== arguments.length)
+ throw new Error(
+ 'Only new Bezier(point[]) is accepted for 4th and higher order curves',
+ )
+ r = !0
+ }
+ } else if (6 !== i && 8 !== i && 9 !== i && 12 !== i && 1 !== arguments.length)
+ throw new Error('Only new Bezier(point[]) is accepted for 4th and higher order curves')
+ const o = (this._3d =
+ (!r && (9 === i || 12 === i)) || (e && e[0] && 'undefined' !== typeof e[0].z)),
+ a = (this.points = [])
+ for (let d = 0, f = o ? 3 : 2; d < i; d += f) {
+ var s = { x: t[d], y: t[d + 1] }
+ o && (s.z = t[d + 2]), a.push(s)
+ }
+ const l = (this.order = a.length - 1),
+ u = (this.dims = ['x', 'y'])
+ o && u.push('z'), (this.dimlen = u.length)
+ const c = qo.align(a, { p1: a[0], p2: a[l] })
+ ;(this._linear = !c.some((e) => Ko(e.y) > 1e-4)),
+ (this._lut = []),
+ (this._t1 = 0),
+ (this._t2 = 1),
+ this.update()
+ }
+ static quadraticFromPoints(e, t, n, r) {
+ if (('undefined' === typeof r && (r = 0.5), 0 === r)) return new ta(t, t, n)
+ if (1 === r) return new ta(e, t, t)
+ const i = ta.getABC(2, e, t, n, r)
+ return new ta(e, i.A, n)
+ }
+ static cubicFromPoints(e, t, n, r, i) {
+ 'undefined' === typeof r && (r = 0.5)
+ const o = ta.getABC(3, e, t, n, r)
+ 'undefined' === typeof i && (i = qo.dist(t, o.C))
+ const a = (i * (1 - r)) / r,
+ s = qo.dist(e, n),
+ l = (n.x - e.x) / s,
+ u = (n.y - e.y) / s,
+ c = i * l,
+ d = i * u,
+ f = a * l,
+ h = a * u,
+ p = t.x - c,
+ v = t.y - d,
+ m = t.x + f,
+ g = t.y + h,
+ y = o.A,
+ b = y.x + (p - y.x) / (1 - r),
+ w = y.y + (v - y.y) / (1 - r),
+ x = y.x + (m - y.x) / r,
+ E = y.y + (g - y.y) / r,
+ k = { x: e.x + (b - e.x) / r, y: e.y + (w - e.y) / r },
+ T = { x: n.x + (x - n.x) / (1 - r), y: n.y + (E - n.y) / (1 - r) }
+ return new ta(e, k, T, n)
+ }
+ static getUtils() {
+ return qo
+ }
+ getUtils() {
+ return ta.getUtils()
+ }
+ static get PolyBezier() {
+ return Wo
+ }
+ valueOf() {
+ return this.toString()
+ }
+ toString() {
+ return qo.pointsToString(this.points)
+ }
+ toSVG() {
+ if (this._3d) return !1
+ const e = this.points,
+ t = ['M', e[0].x, e[0].y, 2 === this.order ? 'Q' : 'C']
+ for (let n = 1, r = e.length; n < r; n++) t.push(e[n].x), t.push(e[n].y)
+ return t.join(' ')
+ }
+ setRatios(e) {
+ if (e.length !== this.points.length) throw new Error('incorrect number of ratio values')
+ ;(this.ratios = e), (this._lut = [])
+ }
+ verify() {
+ const e = this.coordDigest()
+ e !== this._print && ((this._print = e), this.update())
+ }
+ coordDigest() {
+ return this.points
+ .map(function (e, t) {
+ return '' + t + e.x + e.y + (e.z ? e.z : 0)
+ })
+ .join('')
+ }
+ update() {
+ ;(this._lut = []),
+ (this.dpoints = qo.derive(this.points, this._3d)),
+ this.computedirection()
+ }
+ computedirection() {
+ const e = this.points,
+ t = qo.angle(e[0], e[this.order], e[1])
+ this.clockwise = t > 0
+ }
+ length() {
+ return qo.length(this.derivative.bind(this))
+ }
+ static getABC(e = 2, t, n, r, i = 0.5) {
+ const o = qo.projectionratio(i, e),
+ a = 1 - o,
+ s = { x: o * t.x + a * r.x, y: o * t.y + a * r.y },
+ l = qo.abcratio(i, e)
+ return {
+ A: { x: n.x + (n.x - s.x) / l, y: n.y + (n.y - s.y) / l },
+ B: n,
+ C: s,
+ S: t,
+ E: r,
+ }
+ }
+ getABC(e, t) {
+ t = t || this.get(e)
+ let n = this.points[0],
+ r = this.points[this.order]
+ return ta.getABC(this.order, n, t, r, e)
+ }
+ getLUT(e) {
+ if ((this.verify(), (e = e || 100), this._lut.length === e)) return this._lut
+ ;(this._lut = []), e--
+ for (let t, n, r = 0; r < e; r++)
+ (n = r / (e - 1)), (t = this.compute(n)), (t.t = n), this._lut.push(t)
+ return this._lut
+ }
+ on(e, n) {
+ n = n || 5
+ const r = this.getLUT(),
+ i = []
+ for (let t, o = 0, a = 0; o < r.length; o++)
+ (t = r[o]), qo.dist(t, e) < n && (i.push(t), (a += o / r.length))
+ return !!i.length && (t /= i.length)
+ }
+ project(e) {
+ const t = this.getLUT(),
+ n = t.length - 1,
+ r = qo.closest(t, e),
+ i = r.mpos,
+ o = (i - 1) / n,
+ a = (i + 1) / n,
+ s = 0.1 / n
+ let l,
+ u,
+ c = r.mdist,
+ d = o,
+ f = d
+ for (c += 1; d < a + s; d += s)
+ (l = this.compute(d)), (u = qo.dist(e, l)), u < c && ((c = u), (f = d))
+ return (f = f < 0 ? 0 : f > 1 ? 1 : f), (l = this.compute(f)), (l.t = f), (l.d = c), l
+ }
+ get(e) {
+ return this.compute(e)
+ }
+ point(e) {
+ return this.points[e]
+ }
+ compute(e) {
+ return this.ratios
+ ? qo.computeWithRatios(e, this.points, this.ratios, this._3d)
+ : qo.compute(e, this.points, this._3d, this.ratios)
+ }
+ raise() {
+ const e = this.points,
+ t = [e[0]],
+ n = e.length
+ for (let r, i, o = 1; o < n; o++)
+ (r = e[o]),
+ (i = e[o - 1]),
+ (t[o] = {
+ x: ((n - o) / n) * r.x + (o / n) * i.x,
+ y: ((n - o) / n) * r.y + (o / n) * i.y,
+ })
+ return (t[n] = e[n - 1]), new ta(t)
+ }
+ derivative(e) {
+ return qo.compute(e, this.dpoints[0], this._3d)
+ }
+ dderivative(e) {
+ return qo.compute(e, this.dpoints[1], this._3d)
+ }
+ align() {
+ let e = this.points
+ return new ta(qo.align(e, { p1: e[0], p2: e[e.length - 1] }))
+ }
+ curvature(e) {
+ return qo.curvature(e, this.dpoints[0], this.dpoints[1], this._3d)
+ }
+ inflections() {
+ return qo.inflections(this.points)
+ }
+ normal(e) {
+ return this._3d ? this.__normal3(e) : this.__normal2(e)
+ }
+ __normal2(e) {
+ const t = this.derivative(e),
+ n = Jo(t.x * t.x + t.y * t.y)
+ return { x: -t.y / n, y: t.x / n }
+ }
+ __normal3(e) {
+ const t = this.derivative(e),
+ n = this.derivative(e + 0.01),
+ r = Jo(t.x * t.x + t.y * t.y + t.z * t.z),
+ i = Jo(n.x * n.x + n.y * n.y + n.z * n.z)
+ ;(t.x /= r), (t.y /= r), (t.z /= r), (n.x /= i), (n.y /= i), (n.z /= i)
+ const o = {
+ x: n.y * t.z - n.z * t.y,
+ y: n.z * t.x - n.x * t.z,
+ z: n.x * t.y - n.y * t.x,
+ },
+ a = Jo(o.x * o.x + o.y * o.y + o.z * o.z)
+ ;(o.x /= a), (o.y /= a), (o.z /= a)
+ const s = [
+ o.x * o.x,
+ o.x * o.y - o.z,
+ o.x * o.z + o.y,
+ o.x * o.y + o.z,
+ o.y * o.y,
+ o.y * o.z - o.x,
+ o.x * o.z - o.y,
+ o.y * o.z + o.x,
+ o.z * o.z,
+ ]
+ return {
+ x: s[0] * t.x + s[1] * t.y + s[2] * t.z,
+ y: s[3] * t.x + s[4] * t.y + s[5] * t.z,
+ z: s[6] * t.x + s[7] * t.y + s[8] * t.z,
+ }
+ }
+ hull(e) {
+ let t = this.points,
+ n = [],
+ r = [],
+ i = 0
+ for (
+ r[i++] = t[0], r[i++] = t[1], r[i++] = t[2], 3 === this.order && (r[i++] = t[3]);
+ t.length > 1;
+
+ ) {
+ n = []
+ for (let o, a = 0, s = t.length - 1; a < s; a++)
+ (o = qo.lerp(e, t[a], t[a + 1])), (r[i++] = o), n.push(o)
+ t = n
+ }
+ return r
+ }
+ split(e, t) {
+ if (0 === e && t) return this.split(t).left
+ if (1 === t) return this.split(e).right
+ const n = this.hull(e),
+ r = {
+ left:
+ 2 === this.order ? new ta([n[0], n[3], n[5]]) : new ta([n[0], n[4], n[7], n[9]]),
+ right:
+ 2 === this.order ? new ta([n[5], n[4], n[2]]) : new ta([n[9], n[8], n[6], n[3]]),
+ span: n,
+ }
+ return (
+ (r.left._t1 = qo.map(0, 0, 1, this._t1, this._t2)),
+ (r.left._t2 = qo.map(e, 0, 1, this._t1, this._t2)),
+ (r.right._t1 = qo.map(e, 0, 1, this._t1, this._t2)),
+ (r.right._t2 = qo.map(1, 0, 1, this._t1, this._t2)),
+ t ? ((t = qo.map(t, e, 1, 0, 1)), r.right.split(t).left) : r
+ )
+ }
+ extrema() {
+ const e = {}
+ let t = []
+ return (
+ this.dims.forEach(
+ function (n) {
+ let r = function (e) {
+ return e[n]
+ },
+ i = this.dpoints[0].map(r)
+ ;(e[n] = qo.droots(i)),
+ 3 === this.order &&
+ ((i = this.dpoints[1].map(r)), (e[n] = e[n].concat(qo.droots(i)))),
+ (e[n] = e[n].filter(function (e) {
+ return e >= 0 && e <= 1
+ })),
+ (t = t.concat(e[n].sort(qo.numberSort)))
+ }.bind(this),
+ ),
+ (e.values = t.sort(qo.numberSort).filter(function (e, n) {
+ return t.indexOf(e) === n
+ })),
+ e
+ )
+ }
+ bbox() {
+ const e = this.extrema(),
+ t = {}
+ return (
+ this.dims.forEach(
+ function (n) {
+ t[n] = qo.getminmax(this, n, e[n])
+ }.bind(this),
+ ),
+ t
+ )
+ }
+ overlaps(e) {
+ const t = this.bbox(),
+ n = e.bbox()
+ return qo.bboxoverlap(t, n)
+ }
+ offset(e, t) {
+ if ('undefined' !== typeof t) {
+ const n = this.get(e),
+ r = this.normal(e),
+ i = { c: n, n: r, x: n.x + r.x * t, y: n.y + r.y * t }
+ return this._3d && (i.z = n.z + r.z * t), i
+ }
+ if (this._linear) {
+ const t = this.normal(0),
+ n = this.points.map(function (n) {
+ const r = { x: n.x + e * t.x, y: n.y + e * t.y }
+ return n.z && t.z && (r.z = n.z + e * t.z), r
+ })
+ return [new ta(n)]
+ }
+ return this.reduce().map(function (t) {
+ return t._linear ? t.offset(e)[0] : t.scale(e)
+ })
+ }
+ simple() {
+ if (3 === this.order) {
+ const e = qo.angle(this.points[0], this.points[3], this.points[1]),
+ t = qo.angle(this.points[0], this.points[3], this.points[2])
+ if ((e > 0 && t < 0) || (e < 0 && t > 0)) return !1
+ }
+ const e = this.normal(0),
+ t = this.normal(1)
+ let n = e.x * t.x + e.y * t.y
+ return this._3d && (n += e.z * t.z), Ko(Qo(n)) < ea / 3
+ }
+ reduce() {
+ let e,
+ t,
+ n = 0,
+ r = 0,
+ i = 0.01,
+ o = [],
+ a = [],
+ s = this.extrema().values
+ for (
+ -1 === s.indexOf(0) && (s = [0].concat(s)),
+ -1 === s.indexOf(1) && s.push(1),
+ n = s[0],
+ e = 1;
+ e < s.length;
+ e++
+ )
+ (r = s[e]), (t = this.split(n, r)), (t._t1 = n), (t._t2 = r), o.push(t), (n = r)
+ return (
+ o.forEach(function (e) {
+ for (n = 0, r = 0; r <= 1; )
+ for (r = n + i; r <= 1.01; r += i)
+ if (((t = e.split(n, r)), !t.simple())) {
+ if (((r -= i), Ko(n - r) < i)) return []
+ ;(t = e.split(n, r)),
+ (t._t1 = qo.map(n, 0, 1, e._t1, e._t2)),
+ (t._t2 = qo.map(r, 0, 1, e._t1, e._t2)),
+ a.push(t),
+ (n = r)
+ break
+ }
+ n < 1 &&
+ ((t = e.split(n, 1)),
+ (t._t1 = qo.map(n, 0, 1, e._t1, e._t2)),
+ (t._t2 = e._t2),
+ a.push(t))
+ }),
+ a
+ )
+ }
+ scale(e) {
+ const t = this.order
+ let n = !1
+ if (('function' === typeof e && (n = e), n && 2 === t)) return this.raise().scale(n)
+ const r = this.clockwise,
+ i = n ? n(0) : e,
+ o = n ? n(1) : e,
+ a = [this.offset(0, 10), this.offset(1, 10)],
+ s = this.points,
+ l = [],
+ u = qo.lli4(a[0], a[0].c, a[1], a[1].c)
+ if (!u) throw new Error('cannot scale this curve. Try reducing it first.')
+ return (
+ [0, 1].forEach(function (e) {
+ const n = (l[e * t] = qo.copy(s[e * t]))
+ ;(n.x += (e ? o : i) * a[e].n.x), (n.y += (e ? o : i) * a[e].n.y)
+ }),
+ n
+ ? ([0, 1].forEach(function (i) {
+ if (2 !== t || !i) {
+ var o = s[i + 1],
+ a = { x: o.x - u.x, y: o.y - u.y },
+ c = n ? n((i + 1) / t) : e
+ n && !r && (c = -c)
+ var d = Jo(a.x * a.x + a.y * a.y)
+ ;(a.x /= d), (a.y /= d), (l[i + 1] = { x: o.x + c * a.x, y: o.y + c * a.y })
+ }
+ }),
+ new ta(l))
+ : ([0, 1].forEach((e) => {
+ if (2 === t && e) return
+ const n = l[e * t],
+ r = this.derivative(e),
+ i = { x: n.x + r.x, y: n.y + r.y }
+ l[e + 1] = qo.lli4(n, i, u, s[e + 1])
+ }),
+ new ta(l))
+ )
+ }
+ outline(e, t, n, r) {
+ t = 'undefined' === typeof t ? e : t
+ const i = this.reduce(),
+ o = i.length,
+ a = []
+ let s,
+ l = [],
+ u = 0,
+ c = this.length()
+ const d = 'undefined' !== typeof n && 'undefined' !== typeof r
+ function f(e, t, n, r, i) {
+ return function (o) {
+ const a = r / n,
+ s = (r + i) / n,
+ l = t - e
+ return qo.map(o, 0, 1, e + a * l, e + s * l)
+ }
+ }
+ i.forEach(function (i) {
+ const o = i.length()
+ d
+ ? (a.push(i.scale(f(e, n, c, u, o))), l.push(i.scale(f(-t, -r, c, u, o))))
+ : (a.push(i.scale(e)), l.push(i.scale(-t))),
+ (u += o)
+ }),
+ (l = l
+ .map(function (e) {
+ return (
+ (s = e.points),
+ s[3] ? (e.points = [s[3], s[2], s[1], s[0]]) : (e.points = [s[2], s[1], s[0]]),
+ e
+ )
+ })
+ .reverse())
+ const h = a[0].points[0],
+ p = a[o - 1].points[a[o - 1].points.length - 1],
+ v = l[o - 1].points[l[o - 1].points.length - 1],
+ m = l[0].points[0],
+ g = qo.makeline(v, h),
+ y = qo.makeline(p, m),
+ b = [g].concat(a).concat([y]).concat(l)
+ b.length
+ return new Wo(b)
+ }
+ outlineshapes(e, t, n) {
+ t = t || e
+ const r = this.outline(e, t).curves,
+ i = []
+ for (let o = 1, a = r.length; o < a / 2; o++) {
+ const e = qo.makeshape(r[o], r[a - o], n)
+ ;(e.startcap.virtual = o > 1), (e.endcap.virtual = o < a / 2 - 1), i.push(e)
+ }
+ return i
+ }
+ intersects(e, t) {
+ return e
+ ? e.p1 && e.p2
+ ? this.lineIntersects(e)
+ : (e instanceof ta && (e = e.reduce()), this.curveintersects(this.reduce(), e, t))
+ : this.selfintersects(t)
+ }
+ lineIntersects(e) {
+ const t = Zo(e.p1.x, e.p2.x),
+ n = Zo(e.p1.y, e.p2.y),
+ r = $o(e.p1.x, e.p2.x),
+ i = $o(e.p1.y, e.p2.y)
+ return qo.roots(this.points, e).filter((e) => {
+ var o = this.get(e)
+ return qo.between(o.x, t, r) && qo.between(o.y, n, i)
+ })
+ }
+ selfintersects(e) {
+ const t = this.reduce(),
+ n = t.length - 2,
+ r = []
+ for (let i, o, a, s = 0; s < n; s++)
+ (o = t.slice(s, s + 1)),
+ (a = t.slice(s + 2)),
+ (i = this.curveintersects(o, a, e)),
+ r.push(...i)
+ return r
+ }
+ curveintersects(e, t, n) {
+ const r = []
+ e.forEach(function (e) {
+ t.forEach(function (t) {
+ e.overlaps(t) && r.push({ left: e, right: t })
+ })
+ })
+ let i = []
+ return (
+ r.forEach(function (e) {
+ const t = qo.pairiteration(e.left, e.right, n)
+ t.length > 0 && (i = i.concat(t))
+ }),
+ i
+ )
+ }
+ arcs(e) {
+ return (e = e || 0.5), this._iterate(e, [])
+ }
+ _error(e, t, n, r) {
+ const i = (r - n) / 4,
+ o = this.get(n + i),
+ a = this.get(r - i),
+ s = qo.dist(e, t),
+ l = qo.dist(e, o),
+ u = qo.dist(e, a)
+ return Ko(l - s) + Ko(u - s)
+ }
+ _iterate(e, t) {
+ let n,
+ r = 0,
+ i = 1
+ do {
+ ;(n = 0), (i = 1)
+ let o,
+ a,
+ s,
+ l,
+ u,
+ c = this.get(r),
+ d = !1,
+ f = !1,
+ h = i,
+ p = 1,
+ v = 0
+ do {
+ if (
+ ((f = d),
+ (l = s),
+ (h = (r + i) / 2),
+ v++,
+ (o = this.get(h)),
+ (a = this.get(i)),
+ (s = qo.getccenter(c, o, a)),
+ (s.interval = { start: r, end: i }),
+ (d = this._error(s, c, r, i) <= e),
+ (u = f && !d),
+ u || (p = i),
+ d)
+ ) {
+ if (i >= 1) {
+ if (((s.interval.end = p = 1), (l = s), i > 1)) {
+ let e = { x: s.x + s.r * Xo(s.e), y: s.y + s.r * Yo(s.e) }
+ s.e += qo.angle({ x: s.x, y: s.y }, e, this.get(1))
+ }
+ break
+ }
+ i += (i - r) / 2
+ } else i = h
+ } while (!u && n++ < 100)
+ if (n >= 100) break
+ ;(l = l || s), t.push(l), (r = p)
+ } while (i < 1)
+ return t
+ }
+ }
+ var na = r(1527),
+ ra = r(2462),
+ ia = r(7646)
+ function oa(e, t) {
+ var n = Object.keys(e)
+ if (Object.getOwnPropertySymbols) {
+ var r = Object.getOwnPropertySymbols(e)
+ t &&
+ (r = r.filter(function (t) {
+ return Object.getOwnPropertyDescriptor(e, t).enumerable
+ })),
+ n.push.apply(n, r)
+ }
+ return n
+ }
+ function aa(e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = null != arguments[t] ? arguments[t] : {}
+ t % 2
+ ? oa(Object(n), !0).forEach(function (t) {
+ la(e, t, n[t])
+ })
+ : Object.getOwnPropertyDescriptors
+ ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+ : oa(Object(n)).forEach(function (t) {
+ Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
+ })
+ }
+ return e
+ }
+ function sa(e) {
+ return (sa =
+ 'function' === typeof Symbol && 'symbol' === typeof Symbol.iterator
+ ? function (e) {
+ return typeof e
+ }
+ : function (e) {
+ return e &&
+ 'function' === typeof Symbol &&
+ e.constructor === Symbol &&
+ e !== Symbol.prototype
+ ? 'symbol'
+ : typeof e
+ })(e)
+ }
+ function la(e, t, n) {
+ return (
+ t in e
+ ? Object.defineProperty(e, t, {
+ value: n,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0,
+ })
+ : (e[t] = n),
+ e
+ )
+ }
+ function ua(e, t) {
+ return (ua =
+ Object.setPrototypeOf ||
+ function (e, t) {
+ return (e.__proto__ = t), e
+ })(e, t)
+ }
+ function ca() {
+ if ('undefined' === typeof Reflect || !Reflect.construct) return !1
+ if (Reflect.construct.sham) return !1
+ if ('function' === typeof Proxy) return !0
+ try {
+ return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0
+ } catch (e) {
+ return !1
+ }
+ }
+ function da(e, t, n) {
+ return (da = ca()
+ ? Reflect.construct
+ : function (e, t, n) {
+ var r = [null]
+ r.push.apply(r, t)
+ var i = new (Function.bind.apply(e, r))()
+ return n && ua(i, n.prototype), i
+ }).apply(null, arguments)
+ }
+ function fa(e, t) {
+ return (
+ (function (e) {
+ if (Array.isArray(e)) return e
+ })(e) ||
+ (function (e, t) {
+ var n =
+ null == e
+ ? null
+ : ('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator']
+ if (null == n) return
+ var r,
+ i,
+ o = [],
+ a = !0,
+ s = !1
+ try {
+ for (
+ n = n.call(e);
+ !(a = (r = n.next()).done) && (o.push(r.value), !t || o.length !== t);
+ a = !0
+ );
+ } catch (l) {
+ ;(s = !0), (i = l)
+ } finally {
+ try {
+ a || null == n.return || n.return()
+ } finally {
+ if (s) throw i
+ }
+ }
+ return o
+ })(e, t) ||
+ pa(e, t) ||
+ (function () {
+ throw new TypeError(
+ 'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ })()
+ )
+ }
+ function ha(e) {
+ return (
+ (function (e) {
+ if (Array.isArray(e)) return va(e)
+ })(e) ||
+ (function (e) {
+ if (
+ ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) ||
+ null != e['@@iterator']
+ )
+ return Array.from(e)
+ })(e) ||
+ pa(e) ||
+ (function () {
+ throw new TypeError(
+ 'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ })()
+ )
+ }
+ function pa(e, t) {
+ if (e) {
+ if ('string' === typeof e) return va(e, t)
+ var n = Object.prototype.toString.call(e).slice(8, -1)
+ return (
+ 'Object' === n && e.constructor && (n = e.constructor.name),
+ 'Map' === n || 'Set' === n
+ ? Array.from(e)
+ : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
+ ? va(e, t)
+ : void 0
+ )
+ }
+ }
+ function va(e, t) {
+ ;(null == t || t > e.length) && (t = e.length)
+ for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
+ return r
+ }
+ !(function (e, t) {
+ void 0 === t && (t = {})
+ var n = t.insertAt
+ if (e && 'undefined' !== typeof document) {
+ var r = document.head || document.getElementsByTagName('head')[0],
+ i = document.createElement('style')
+ ;(i.type = 'text/css'),
+ 'top' === n && r.firstChild ? r.insertBefore(i, r.firstChild) : r.appendChild(i),
+ i.styleSheet ? (i.styleSheet.cssText = e) : i.appendChild(document.createTextNode(e))
+ }
+ })(
+ '.force-graph-container canvas {\n display: block;\n user-select: none;\n outline: none;\n -webkit-tap-highlight-color: transparent;\n}\n\n.force-graph-container .graph-tooltip {\n position: absolute;\n transform: translate(-50%, 25px);\n font-family: sans-serif;\n font-size: 16px;\n padding: 4px;\n border-radius: 3px;\n color: #eee;\n background: rgba(0,0,0,0.65);\n visibility: hidden; /* by default */\n}\n\n.force-graph-container .clickable {\n cursor: pointer;\n}\n\n.force-graph-container .grabbable {\n cursor: move;\n cursor: grab;\n cursor: -moz-grab;\n cursor: -webkit-grab;\n}\n\n.force-graph-container .grabbable:active {\n cursor: grabbing;\n cursor: -moz-grabbing;\n cursor: -webkit-grabbing;\n}\n',
+ )
+ var ma = (0, ra.Z)(ia.Z)
+ function ga(e, t, n) {
+ t &&
+ 'string' === typeof n &&
+ e
+ .filter(function (e) {
+ return !e[n]
+ })
+ .forEach(function (e) {
+ e[n] = ma(t(e))
+ })
+ }
+ var ya = function (e, t) {
+ return t.onNeedsRedraw && t.onNeedsRedraw()
+ },
+ ba = (0, b.Z)({
+ props: {
+ graphData: {
+ default: { nodes: [], links: [] },
+ onChange: function (e, t) {
+ t.engineRunning = !1
+ },
+ },
+ dagMode: {
+ onChange: function (e, t) {
+ !e &&
+ (t.graphData.nodes || []).forEach(function (e) {
+ return (e.fx = e.fy = void 0)
+ })
+ },
+ },
+ dagLevelDistance: {},
+ dagNodeFilter: {
+ default: function (e) {
+ return !0
+ },
+ },
+ onDagError: { triggerUpdate: !1 },
+ nodeRelSize: { default: 4, triggerUpdate: !1, onChange: ya },
+ nodeId: { default: 'id' },
+ nodeVal: { default: 'val', triggerUpdate: !1, onChange: ya },
+ nodeColor: { default: 'color', triggerUpdate: !1, onChange: ya },
+ nodeAutoColorBy: {},
+ nodeCanvasObject: { triggerUpdate: !1, onChange: ya },
+ nodeCanvasObjectMode: {
+ default: function () {
+ return 'replace'
+ },
+ triggerUpdate: !1,
+ onChange: ya,
+ },
+ nodeVisibility: { default: !0, triggerUpdate: !1, onChange: ya },
+ linkSource: { default: 'source' },
+ linkTarget: { default: 'target' },
+ linkVisibility: { default: !0, triggerUpdate: !1, onChange: ya },
+ linkColor: { default: 'color', triggerUpdate: !1, onChange: ya },
+ linkAutoColorBy: {},
+ linkLineDash: { triggerUpdate: !1, onChange: ya },
+ linkWidth: { default: 1, triggerUpdate: !1, onChange: ya },
+ linkCurvature: { default: 0, triggerUpdate: !1, onChange: ya },
+ linkCanvasObject: { triggerUpdate: !1, onChange: ya },
+ linkCanvasObjectMode: {
+ default: function () {
+ return 'replace'
+ },
+ triggerUpdate: !1,
+ onChange: ya,
+ },
+ linkDirectionalArrowLength: { default: 0, triggerUpdate: !1, onChange: ya },
+ linkDirectionalArrowColor: { triggerUpdate: !1, onChange: ya },
+ linkDirectionalArrowRelPos: { default: 0.5, triggerUpdate: !1, onChange: ya },
+ linkDirectionalParticles: { default: 0 },
+ linkDirectionalParticleSpeed: { default: 0.01, triggerUpdate: !1 },
+ linkDirectionalParticleWidth: { default: 4, triggerUpdate: !1 },
+ linkDirectionalParticleColor: { triggerUpdate: !1 },
+ globalScale: { default: 1, triggerUpdate: !1 },
+ d3AlphaMin: { default: 0, triggerUpdate: !1 },
+ d3AlphaDecay: {
+ default: 0.0228,
+ triggerUpdate: !1,
+ onChange: function (e, t) {
+ t.forceLayout.alphaDecay(e)
+ },
+ },
+ d3AlphaTarget: {
+ default: 0,
+ triggerUpdate: !1,
+ onChange: function (e, t) {
+ t.forceLayout.alphaTarget(e)
+ },
+ },
+ d3VelocityDecay: {
+ default: 0.4,
+ triggerUpdate: !1,
+ onChange: function (e, t) {
+ t.forceLayout.velocityDecay(e)
+ },
+ },
+ warmupTicks: { default: 0, triggerUpdate: !1 },
+ cooldownTicks: { default: 1 / 0, triggerUpdate: !1 },
+ cooldownTime: { default: 15e3, triggerUpdate: !1 },
+ onUpdate: { default: function () {}, triggerUpdate: !1 },
+ onFinishUpdate: { default: function () {}, triggerUpdate: !1 },
+ onEngineTick: { default: function () {}, triggerUpdate: !1 },
+ onEngineStop: { default: function () {}, triggerUpdate: !1 },
+ onNeedsRedraw: { triggerUpdate: !1 },
+ isShadow: { default: !1, triggerUpdate: !1 },
+ },
+ methods: {
+ d3Force: function (e, t, n) {
+ return void 0 === n ? e.forceLayout.force(t) : (e.forceLayout.force(t, n), this)
+ },
+ d3ReheatSimulation: function (e) {
+ return e.forceLayout.alpha(1), this.resetCountdown(), this
+ },
+ resetCountdown: function (e) {
+ return (e.cntTicks = 0), (e.startTickTime = new Date()), (e.engineRunning = !0), this
+ },
+ isEngineRunning: function (e) {
+ return !!e.engineRunning
+ },
+ tickFrame: function (e) {
+ return (
+ !e.isShadow &&
+ e.engineRunning &&
+ (++e.cntTicks > e.cooldownTicks ||
+ new Date() - e.startTickTime > e.cooldownTime ||
+ (e.d3AlphaMin > 0 && e.forceLayout.alpha() < e.d3AlphaMin)
+ ? ((e.engineRunning = !1), e.onEngineStop())
+ : (e.forceLayout.tick(), e.onEngineTick())),
+ (function () {
+ var t = (0, w.default)(e.linkVisibility),
+ n = (0, w.default)(e.linkColor),
+ r = (0, w.default)(e.linkWidth),
+ i = (0, w.default)(e.linkLineDash),
+ o = (0, w.default)(e.linkCurvature),
+ a = (0, w.default)(e.linkCanvasObjectMode),
+ s = e.ctx,
+ l = 2 * e.isShadow,
+ u = e.graphData.links.filter(t)
+ u.forEach(function (e) {
+ var t = o(e)
+ if (!t) return void (e.__controlPoints = null)
+ var n = e.source,
+ r = e.target
+ if (!n || !r || !n.hasOwnProperty('x') || !r.hasOwnProperty('x')) return
+ var i = Math.sqrt(Math.pow(r.x - n.x, 2) + Math.pow(r.y - n.y, 2))
+ if (i > 0) {
+ var a = Math.atan2(r.y - n.y, r.x - n.x),
+ s = i * t,
+ l = {
+ x: (n.x + r.x) / 2 + s * Math.cos(a - Math.PI / 2),
+ y: (n.y + r.y) / 2 + s * Math.sin(a - Math.PI / 2),
+ }
+ e.__controlPoints = [l.x, l.y]
+ } else {
+ var u = 70 * t
+ e.__controlPoints = [r.x, r.y - u, r.x + u, r.y]
+ }
+ })
+ var c = [],
+ d = [],
+ f = u
+ if (e.linkCanvasObject) {
+ var h = [],
+ p = []
+ u.forEach(function (e) {
+ return ({ before: c, after: d, replace: h }[a(e)] || p).push(e)
+ }),
+ (f = [].concat(ha(c), d, p)),
+ (c = c.concat(h))
+ }
+ s.save(),
+ c.forEach(function (t) {
+ return e.linkCanvasObject(t, s, e.globalScale)
+ }),
+ s.restore()
+ var v = (0, na.Z)(f, [n, r, i])
+ s.save(),
+ Object.entries(v).forEach(function (t) {
+ var n = fa(t, 2),
+ r = n[0],
+ o = n[1],
+ a = r && 'undefined' !== r ? r : 'rgba(0,0,0,0.15)'
+ Object.entries(o).forEach(function (t) {
+ var n = fa(t, 2),
+ r = n[0],
+ o = n[1],
+ u = (r || 1) / e.globalScale + l
+ Object.entries(o).forEach(function (e) {
+ var t = fa(e, 2)
+ t[0]
+ var n = t[1],
+ r = i(n[0])
+ s.beginPath(),
+ n.forEach(function (e) {
+ var t = e.source,
+ n = e.target
+ if (t && n && t.hasOwnProperty('x') && n.hasOwnProperty('x')) {
+ s.moveTo(t.x, t.y)
+ var r = e.__controlPoints
+ r
+ ? s[2 === r.length ? 'quadraticCurveTo' : 'bezierCurveTo'].apply(
+ s,
+ ha(r).concat([n.x, n.y]),
+ )
+ : s.lineTo(n.x, n.y)
+ }
+ }),
+ (s.strokeStyle = a),
+ (s.lineWidth = u),
+ s.setLineDash(r || []),
+ s.stroke()
+ })
+ })
+ }),
+ s.restore(),
+ s.save(),
+ d.forEach(function (t) {
+ return e.linkCanvasObject(t, s, e.globalScale)
+ }),
+ s.restore()
+ })(),
+ !e.isShadow &&
+ (function () {
+ var t = (0, w.default)(e.linkDirectionalArrowLength),
+ n = (0, w.default)(e.linkDirectionalArrowRelPos),
+ r = (0, w.default)(e.linkVisibility),
+ i = (0, w.default)(e.linkDirectionalArrowColor || e.linkColor),
+ o = (0, w.default)(e.nodeVal),
+ a = e.ctx
+ a.save(),
+ e.graphData.links.filter(r).forEach(function (r) {
+ var s = t(r)
+ if (s && !(s < 0)) {
+ var l = r.source,
+ u = r.target
+ if (l && u && l.hasOwnProperty('x') && u.hasOwnProperty('x')) {
+ var c = Math.sqrt(Math.max(0, o(l) || 1)) * e.nodeRelSize,
+ d = Math.sqrt(Math.max(0, o(u) || 1)) * e.nodeRelSize,
+ f = Math.min(1, Math.max(0, n(r))),
+ h = i(r) || 'rgba(0,0,0,0.28)',
+ p = s / 1.6 / 2,
+ v =
+ r.__controlPoints &&
+ da(ta, [l.x, l.y].concat(ha(r.__controlPoints), [u.x, u.y])),
+ m = v
+ ? function (e) {
+ return v.get(e)
+ }
+ : function (e) {
+ return {
+ x: l.x + (u.x - l.x) * e || 0,
+ y: l.y + (u.y - l.y) * e || 0,
+ }
+ },
+ g = v
+ ? v.length()
+ : Math.sqrt(Math.pow(u.x - l.x, 2) + Math.pow(u.y - l.y, 2)),
+ y = c + s + (g - c - d - s) * f,
+ b = m(y / g),
+ w = m((y - s) / g),
+ x = m((y - 0.8 * s) / g),
+ E = Math.atan2(b.y - w.y, b.x - w.x) - Math.PI / 2
+ a.beginPath(),
+ a.moveTo(b.x, b.y),
+ a.lineTo(w.x + p * Math.cos(E), w.y + p * Math.sin(E)),
+ a.lineTo(x.x, x.y),
+ a.lineTo(w.x - p * Math.cos(E), w.y - p * Math.sin(E)),
+ (a.fillStyle = h),
+ a.fill()
+ }
+ }
+ }),
+ a.restore()
+ })(),
+ !e.isShadow &&
+ (function () {
+ var t = (0, w.default)(e.linkDirectionalParticles),
+ n = (0, w.default)(e.linkDirectionalParticleSpeed),
+ r = (0, w.default)(e.linkDirectionalParticleWidth),
+ i = (0, w.default)(e.linkVisibility),
+ o = (0, w.default)(e.linkDirectionalParticleColor || e.linkColor),
+ a = e.ctx
+ a.save(),
+ e.graphData.links.filter(i).forEach(function (i) {
+ var s = t(i)
+ if (i.hasOwnProperty('__photons') && i.__photons.length) {
+ var l = i.source,
+ u = i.target
+ if (l && u && l.hasOwnProperty('x') && u.hasOwnProperty('x')) {
+ var c = n(i),
+ d = i.__photons || [],
+ f = Math.max(0, r(i) / 2) / Math.sqrt(e.globalScale),
+ h = o(i) || 'rgba(0,0,0,0.28)'
+ a.fillStyle = h
+ var p = i.__controlPoints
+ ? da(ta, [l.x, l.y].concat(ha(i.__controlPoints), [u.x, u.y]))
+ : null,
+ v = 0,
+ m = !1
+ d.forEach(function (e) {
+ var t = !!e.__singleHop
+ if (
+ (e.hasOwnProperty('__progressRatio') ||
+ (e.__progressRatio = t ? 0 : v / s),
+ !t && v++,
+ (e.__progressRatio += c),
+ e.__progressRatio >= 1)
+ ) {
+ if (t) return void (m = !0)
+ e.__progressRatio = e.__progressRatio % 1
+ }
+ var n = e.__progressRatio,
+ r = p
+ ? p.get(n)
+ : { x: l.x + (u.x - l.x) * n || 0, y: l.y + (u.y - l.y) * n || 0 }
+ a.beginPath(), a.arc(r.x, r.y, f, 0, 2 * Math.PI, !1), a.fill()
+ }),
+ m &&
+ (i.__photons = i.__photons.filter(function (e) {
+ return !e.__singleHop || e.__progressRatio <= 1
+ }))
+ }
+ }
+ }),
+ a.restore()
+ })(),
+ (function () {
+ var t = (0, w.default)(e.nodeVisibility),
+ n = (0, w.default)(e.nodeVal),
+ r = (0, w.default)(e.nodeColor),
+ i = (0, w.default)(e.nodeCanvasObjectMode),
+ o = e.ctx,
+ a = e.isShadow / e.globalScale,
+ s = e.graphData.nodes.filter(t)
+ o.save(),
+ s.forEach(function (t) {
+ var s = i(t)
+ if (
+ !e.nodeCanvasObject ||
+ ('before' !== s && 'replace' !== s) ||
+ (e.nodeCanvasObject(t, o, e.globalScale), 'replace' !== s)
+ ) {
+ var l = Math.sqrt(Math.max(0, n(t) || 1)) * e.nodeRelSize + a
+ o.beginPath(),
+ o.arc(t.x, t.y, l, 0, 2 * Math.PI, !1),
+ (o.fillStyle = r(t) || 'rgba(31, 120, 180, 0.92)'),
+ o.fill(),
+ e.nodeCanvasObject &&
+ 'after' === s &&
+ e.nodeCanvasObject(t, e.ctx, e.globalScale)
+ } else o.restore()
+ }),
+ o.restore()
+ })(),
+ this
+ )
+ },
+ emitParticle: function (e, t) {
+ return (
+ t && (!t.__photons && (t.__photons = []), t.__photons.push({ __singleHop: !0 })),
+ this
+ )
+ },
+ },
+ stateInit: function () {
+ return {
+ forceLayout: (0, Oo.Z)()
+ .force('link', (0, Co.Z)())
+ .force('charge', (0, Ao.Z)())
+ .force('center', (0, So.Z)())
+ .force('dagRadial', null)
+ .stop(),
+ engineRunning: !1,
+ }
+ },
+ init: function (e, t) {
+ t.ctx = e
+ },
+ update: function (e) {
+ if (
+ ((e.engineRunning = !1),
+ e.onUpdate(),
+ null !== e.nodeAutoColorBy &&
+ ga(e.graphData.nodes, (0, w.default)(e.nodeAutoColorBy), e.nodeColor),
+ null !== e.linkAutoColorBy &&
+ ga(e.graphData.links, (0, w.default)(e.linkAutoColorBy), e.linkColor),
+ e.graphData.links.forEach(function (t) {
+ ;(t.source = t[e.linkSource]), (t.target = t[e.linkTarget])
+ }),
+ !e.isShadow)
+ ) {
+ var t = (0, w.default)(e.linkDirectionalParticles)
+ e.graphData.links.forEach(function (e) {
+ var n = Math.round(Math.abs(t(e)))
+ n
+ ? (e.__photons = ha(Array(n)).map(function () {
+ return {}
+ }))
+ : delete e.__photons
+ })
+ }
+ e.forceLayout.stop().alpha(1).nodes(e.graphData.nodes)
+ var n = e.forceLayout.force('link')
+ n &&
+ n
+ .id(function (t) {
+ return t[e.nodeId]
+ })
+ .links(e.graphData.links)
+ var r =
+ e.dagMode &&
+ (function (e, t) {
+ var n = e.nodes,
+ r = e.links,
+ i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
+ o = i.nodeFilter,
+ a =
+ void 0 === o
+ ? function () {
+ return !0
+ }
+ : o,
+ s = i.onLoopError,
+ l =
+ void 0 === s
+ ? function (e) {
+ throw 'Invalid DAG structure! Found cycle in node path: '.concat(
+ e.join(' -> '),
+ '.',
+ )
+ }
+ : s,
+ u = {}
+ n.forEach(function (e) {
+ return (u[t(e)] = { data: e, out: [], depth: -1, skip: !a(e) })
+ }),
+ r.forEach(function (e) {
+ var n = e.source,
+ r = e.target,
+ i = l(n),
+ o = l(r)
+ if (!u.hasOwnProperty(i)) throw 'Missing source node with id: '.concat(i)
+ if (!u.hasOwnProperty(o)) throw 'Missing target node with id: '.concat(o)
+ var a = u[i],
+ s = u[o]
+ function l(e) {
+ return 'object' === sa(e) ? t(e) : e
+ }
+ a.out.push(s)
+ })
+ var c = []
+ return (
+ d(Object.values(u)),
+ Object.assign.apply(
+ Object,
+ [{}].concat(
+ ha(
+ Object.entries(u)
+ .filter(function (e) {
+ return !fa(e, 2)[1].skip
+ })
+ .map(function (e) {
+ var t = fa(e, 2)
+ return la({}, t[0], t[1].depth)
+ }),
+ ),
+ ),
+ )
+ )
+ function d(e) {
+ for (
+ var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [],
+ r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0,
+ i = 0,
+ o = e.length;
+ i < o;
+ i++
+ ) {
+ var a = e[i]
+ if (-1 !== n.indexOf(a))
+ if (
+ 'continue' ===
+ (function () {
+ var e = [].concat(ha(n.slice(n.indexOf(a))), [a]).map(function (e) {
+ return t(e.data)
+ })
+ return (
+ c.some(function (t) {
+ return (
+ t.length === e.length &&
+ t.every(function (t, n) {
+ return t === e[n]
+ })
+ )
+ }) || (c.push(e), l(e)),
+ 'continue'
+ )
+ })()
+ )
+ continue
+ r > a.depth &&
+ ((a.depth = r), d(a.out, [].concat(ha(n), [a]), r + (a.skip ? 0 : 1)))
+ }
+ }
+ })(
+ e.graphData,
+ function (t) {
+ return t[e.nodeId]
+ },
+ { nodeFilter: e.dagNodeFilter, onLoopError: e.onDagError || void 0 },
+ ),
+ i = Math.max.apply(Math, ha(Object.values(r || []))),
+ o =
+ e.dagLevelDistance ||
+ (e.graphData.nodes.length / (i || 1)) *
+ 2 *
+ (-1 !== ['radialin', 'radialout'].indexOf(e.dagMode) ? 0.7 : 1)
+ if (e.dagMode) {
+ var a = function (t, n) {
+ return function (a) {
+ return t ? (r[a[e.nodeId]] - i / 2) * o * (n ? -1 : 1) : void 0
+ }
+ },
+ s = a(-1 !== ['lr', 'rl'].indexOf(e.dagMode), 'rl' === e.dagMode),
+ l = a(-1 !== ['td', 'bu'].indexOf(e.dagMode), 'bu' === e.dagMode)
+ e.graphData.nodes.filter(e.dagNodeFilter).forEach(function (e) {
+ ;(e.fx = s(e)), (e.fy = l(e))
+ })
+ }
+ e.forceLayout.force(
+ 'dagRadial',
+ -1 !== ['radialin', 'radialout'].indexOf(e.dagMode)
+ ? (0, Po.Z)(function (t) {
+ var n = r[t[e.nodeId]] || -1
+ return ('radialin' === e.dagMode ? i - n : n) * o
+ }).strength(function (t) {
+ return e.dagNodeFilter(t) ? 1 : 0
+ })
+ : null,
+ )
+ for (
+ var u = 0;
+ u < e.warmupTicks && !(e.d3AlphaMin > 0 && e.forceLayout.alpha() < e.d3AlphaMin);
+ u++
+ )
+ e.forceLayout.tick()
+ this.resetCountdown(), e.onFinishUpdate()
+ },
+ })
+ function wa(e, t) {
+ var n = e instanceof Array ? e : [e],
+ r = new t()
+ return {
+ linkProp: function (e) {
+ return {
+ default: r[e](),
+ onChange: function (t, r) {
+ n.forEach(function (n) {
+ return r[n][e](t)
+ })
+ },
+ triggerUpdate: !1,
+ }
+ },
+ linkMethod: function (e) {
+ return function (t) {
+ for (var r = arguments.length, i = new Array(r > 1 ? r - 1 : 0), o = 1; o < r; o++)
+ i[o - 1] = arguments[o]
+ var a = []
+ return (
+ n.forEach(function (n) {
+ var r = t[n],
+ o = r[e].apply(r, i)
+ o !== r && a.push(o)
+ }),
+ a.length ? a[0] : this
+ )
+ }
+ },
+ }
+ }
+ var xa = wa('forceGraph', ba),
+ Ea = wa(['forceGraph', 'shadowGraph'], ba),
+ ka = Object.assign.apply(
+ Object,
+ ha(
+ [
+ 'nodeColor',
+ 'nodeAutoColorBy',
+ 'nodeCanvasObject',
+ 'nodeCanvasObjectMode',
+ 'linkColor',
+ 'linkAutoColorBy',
+ 'linkLineDash',
+ 'linkWidth',
+ 'linkCanvasObject',
+ 'linkCanvasObjectMode',
+ 'linkDirectionalArrowLength',
+ 'linkDirectionalArrowColor',
+ 'linkDirectionalArrowRelPos',
+ 'linkDirectionalParticles',
+ 'linkDirectionalParticleSpeed',
+ 'linkDirectionalParticleWidth',
+ 'linkDirectionalParticleColor',
+ 'dagMode',
+ 'dagLevelDistance',
+ 'dagNodeFilter',
+ 'onDagError',
+ 'd3AlphaMin',
+ 'd3AlphaDecay',
+ 'd3VelocityDecay',
+ 'warmupTicks',
+ 'cooldownTicks',
+ 'cooldownTime',
+ 'onEngineTick',
+ 'onEngineStop',
+ ].map(function (e) {
+ return la({}, e, xa.linkProp(e))
+ }),
+ ).concat(
+ ha(
+ [
+ 'nodeRelSize',
+ 'nodeId',
+ 'nodeVal',
+ 'nodeVisibility',
+ 'linkSource',
+ 'linkTarget',
+ 'linkVisibility',
+ 'linkCurvature',
+ ].map(function (e) {
+ return la({}, e, Ea.linkProp(e))
+ }),
+ ),
+ ),
+ ),
+ Ta = Object.assign.apply(
+ Object,
+ ha(
+ ['d3Force', 'd3ReheatSimulation', 'emitParticle'].map(function (e) {
+ return la({}, e, xa.linkMethod(e))
+ }),
+ ),
+ )
+ function _a(e) {
+ if (e.canvas) {
+ var t = e.canvas.width,
+ n = e.canvas.height
+ 300 === t && 150 === n && (t = n = 0)
+ var r = window.devicePixelRatio
+ ;(t /= r),
+ (n /= r),
+ [e.canvas, e.shadowCanvas].forEach(function (i) {
+ ;(i.style.width = ''.concat(e.width, 'px')),
+ (i.style.height = ''.concat(e.height, 'px')),
+ (i.width = e.width * r),
+ (i.height = e.height * r),
+ t || n || i.getContext('2d').scale(r, r)
+ })
+ var i = Xi(e.canvas).k
+ e.zoom.translateBy(e.zoom.__baseElem, (e.width - t) / 2 / i, (e.height - n) / 2 / i),
+ (e.needsRedraw = !0)
+ }
+ }
+ function Oa(e) {
+ var t = window.devicePixelRatio
+ e.setTransform(t, 0, 0, t, 0, 0)
+ }
+ function Ca(e, t, n) {
+ e.save(), Oa(e), e.clearRect(0, 0, t, n), e.restore()
+ }
+ var Aa = (0, b.Z)({
+ props: aa(
+ {
+ width: {
+ default: window.innerWidth,
+ onChange: function (e, t) {
+ return _a(t)
+ },
+ triggerUpdate: !1,
+ },
+ height: {
+ default: window.innerHeight,
+ onChange: function (e, t) {
+ return _a(t)
+ },
+ triggerUpdate: !1,
+ },
+ graphData: {
+ default: { nodes: [], links: [] },
+ onChange: function (e, t) {
+ ;[
+ { type: 'Node', objs: e.nodes },
+ { type: 'Link', objs: e.links },
+ ].forEach(function (e) {
+ var n = e.type
+ e.objs
+ .filter(function (e) {
+ if (!e.hasOwnProperty('__indexColor')) return !0
+ var n = t.colorTracker.lookup(e.__indexColor)
+ return !n || !n.hasOwnProperty('d') || n.d !== e
+ })
+ .forEach(function (e) {
+ e.__indexColor = t.colorTracker.register({ type: n, d: e })
+ })
+ }),
+ t.forceGraph.graphData(e),
+ t.shadowGraph.graphData(e)
+ },
+ triggerUpdate: !1,
+ },
+ backgroundColor: {
+ onChange: function (e, t) {
+ t.canvas && e && (t.canvas.style.background = e)
+ },
+ triggerUpdate: !1,
+ },
+ nodeLabel: { default: 'name', triggerUpdate: !1 },
+ nodePointerAreaPaint: {
+ onChange: function (e, t) {
+ t.shadowGraph.nodeCanvasObject(
+ e
+ ? function (t, n, r) {
+ return e(t, t.__indexColor, n, r)
+ }
+ : null,
+ )
+ },
+ triggerUpdate: !1,
+ },
+ linkPointerAreaPaint: {
+ onChange: function (e, t) {
+ t.shadowGraph.linkCanvasObject(
+ e
+ ? function (t, n, r) {
+ return e(t, t.__indexColor, n, r)
+ }
+ : null,
+ )
+ },
+ triggerUpdate: !1,
+ },
+ linkLabel: { default: 'name', triggerUpdate: !1 },
+ linkHoverPrecision: { default: 4, triggerUpdate: !1 },
+ minZoom: {
+ default: 0.01,
+ onChange: function (e, t) {
+ t.zoom.scaleExtent([e, t.zoom.scaleExtent()[1]])
+ },
+ triggerUpdate: !1,
+ },
+ maxZoom: {
+ default: 1e3,
+ onChange: function (e, t) {
+ t.zoom.scaleExtent([t.zoom.scaleExtent()[0], e])
+ },
+ triggerUpdate: !1,
+ },
+ enableNodeDrag: { default: !0, triggerUpdate: !1 },
+ enableZoomInteraction: { default: !0, triggerUpdate: !1 },
+ enablePanInteraction: { default: !0, triggerUpdate: !1 },
+ enableZoomPanInteraction: { default: !0, triggerUpdate: !1 },
+ enablePointerInteraction: {
+ default: !0,
+ onChange: function (e, t) {
+ t.hoverObj = null
+ },
+ triggerUpdate: !1,
+ },
+ autoPauseRedraw: { default: !0, triggerUpdate: !1 },
+ onNodeDrag: { default: function () {}, triggerUpdate: !1 },
+ onNodeDragEnd: { default: function () {}, triggerUpdate: !1 },
+ onNodeClick: { triggerUpdate: !1 },
+ onNodeRightClick: { triggerUpdate: !1 },
+ onNodeHover: { triggerUpdate: !1 },
+ onLinkClick: { triggerUpdate: !1 },
+ onLinkRightClick: { triggerUpdate: !1 },
+ onLinkHover: { triggerUpdate: !1 },
+ onBackgroundClick: { triggerUpdate: !1 },
+ onBackgroundRightClick: { triggerUpdate: !1 },
+ onZoom: { default: function () {}, triggerUpdate: !1 },
+ onZoomEnd: { default: function () {}, triggerUpdate: !1 },
+ onRenderFramePre: { triggerUpdate: !1 },
+ onRenderFramePost: { triggerUpdate: !1 },
+ },
+ ka,
+ ),
+ aliases: { stopAnimation: 'pauseAnimation' },
+ methods: aa(
+ {
+ graph2ScreenCoords: function (e, t, n) {
+ var r = Xi(e.canvas)
+ return { x: t * r.k + r.x, y: n * r.k + r.y }
+ },
+ screen2GraphCoords: function (e, t, n) {
+ var r = Xi(e.canvas)
+ return { x: (t - r.x) / r.k, y: (n - r.y) / r.k }
+ },
+ centerAt: function (e, t, n, r) {
+ if (!e.canvas) return null
+ if (void 0 !== t || void 0 !== n) {
+ var i = Object.assign(
+ {},
+ void 0 !== t ? { x: t } : {},
+ void 0 !== n ? { y: n } : {},
+ )
+ return (
+ r
+ ? new st.Tween(o())
+ .to(i, r)
+ .easing(st.Easing.Quadratic.Out)
+ .onUpdate(a)
+ .start()
+ : a(i),
+ this
+ )
+ }
+ return o()
+ function o() {
+ var t = Xi(e.canvas)
+ return { x: (e.width / 2 - t.x) / t.k, y: (e.height / 2 - t.y) / t.k }
+ }
+ function a(t) {
+ var n = t.x,
+ r = t.y
+ e.zoom.translateTo(
+ e.zoom.__baseElem,
+ void 0 === n ? o().x : n,
+ void 0 === r ? o().y : r,
+ ),
+ (e.needsRedraw = !0)
+ }
+ },
+ zoom: function (e, t, n) {
+ return e.canvas
+ ? void 0 !== t
+ ? (n
+ ? new st.Tween({ k: r() })
+ .to({ k: t }, n)
+ .easing(st.Easing.Quadratic.Out)
+ .onUpdate(function (e) {
+ return i(e.k)
+ })
+ .start()
+ : i(t),
+ this)
+ : r()
+ : null
+ function r() {
+ return Xi(e.canvas).k
+ }
+ function i(t) {
+ e.zoom.scaleTo(e.zoom.__baseElem, t), (e.needsRedraw = !0)
+ }
+ },
+ zoomToFit: function (e) {
+ for (
+ var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0,
+ n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 10,
+ r = arguments.length,
+ i = new Array(r > 3 ? r - 3 : 0),
+ o = 3;
+ o < r;
+ o++
+ )
+ i[o - 3] = arguments[o]
+ var a = this.getGraphBbox.apply(this, i)
+ if (a) {
+ var s = { x: (a.x[0] + a.x[1]) / 2, y: (a.y[0] + a.y[1]) / 2 },
+ l = Math.max(
+ 1e-12,
+ Math.min(
+ 1e12,
+ (e.width - 2 * n) / (a.x[1] - a.x[0]),
+ (e.height - 2 * n) / (a.y[1] - a.y[0]),
+ ),
+ )
+ this.centerAt(s.x, s.y, t), this.zoom(l, t)
+ }
+ return this
+ },
+ getGraphBbox: function (e) {
+ var t =
+ arguments.length > 1 && void 0 !== arguments[1]
+ ? arguments[1]
+ : function () {
+ return !0
+ },
+ n = (0, w.default)(e.nodeVal),
+ r = function (t) {
+ return Math.sqrt(Math.max(0, n(t) || 1)) * e.nodeRelSize
+ },
+ i = e.graphData.nodes.filter(t).map(function (e) {
+ return { x: e.x, y: e.y, r: r(e) }
+ })
+ return i.length
+ ? {
+ x: [
+ (0, ho.Z)(i, function (e) {
+ return e.x - e.r
+ }),
+ (0, po.Z)(i, function (e) {
+ return e.x + e.r
+ }),
+ ],
+ y: [
+ (0, ho.Z)(i, function (e) {
+ return e.y - e.r
+ }),
+ (0, po.Z)(i, function (e) {
+ return e.y + e.r
+ }),
+ ],
+ }
+ : null
+ },
+ pauseAnimation: function (e) {
+ return (
+ e.animationFrameRequestId &&
+ (cancelAnimationFrame(e.animationFrameRequestId),
+ (e.animationFrameRequestId = null)),
+ this
+ )
+ },
+ resumeAnimation: function (e) {
+ return e.animationFrameRequestId || this._animationCycle(), this
+ },
+ _destructor: function () {
+ this.pauseAnimation(), this.graphData({ nodes: [], links: [] })
+ },
+ },
+ Ta,
+ ),
+ stateInit: function () {
+ return {
+ lastSetZoom: 1,
+ zoom: oo(),
+ forceGraph: new ba(),
+ shadowGraph: new ba()
+ .cooldownTicks(0)
+ .nodeColor('__indexColor')
+ .linkColor('__indexColor')
+ .isShadow(!0),
+ colorTracker: new _o(),
+ }
+ },
+ init: function (e, t) {
+ e.innerHTML = ''
+ var n = document.createElement('div')
+ n.classList.add('force-graph-container'),
+ (n.style.position = 'relative'),
+ e.appendChild(n),
+ (t.canvas = document.createElement('canvas')),
+ t.backgroundColor && (t.canvas.style.background = t.backgroundColor),
+ n.appendChild(t.canvas),
+ (t.shadowCanvas = document.createElement('canvas'))
+ var r = t.canvas.getContext('2d'),
+ i = t.shadowCanvas.getContext('2d'),
+ o = { x: -1e12, y: -1e12 },
+ a = function () {
+ var e = null,
+ n = window.devicePixelRatio,
+ r = o.x > 0 && o.y > 0 ? i.getImageData(o.x * n, o.y * n, 1, 1) : null
+ return r && (e = t.colorTracker.lookup(r.data)), e
+ }
+ Jn(t.canvas).call(
+ (function () {
+ var e,
+ t,
+ n,
+ r,
+ i = lo,
+ o = uo,
+ a = co,
+ s = fo,
+ l = {},
+ u = (0, er.Z)('start', 'drag', 'end'),
+ c = 0,
+ d = 0
+ function f(e) {
+ e.on('mousedown.drag', h)
+ .filter(s)
+ .on('touchstart.drag', m)
+ .on('touchmove.drag', g, tr)
+ .on('touchend.drag touchcancel.drag', y)
+ .style('touch-action', 'none')
+ .style('-webkit-tap-highlight-color', 'rgba(0,0,0,0)')
+ }
+ function h(a, s) {
+ if (!r && i.call(this, a, s)) {
+ var l = b(this, o.call(this, a, s), a, s, 'mouse')
+ l &&
+ (Jn(a.view).on('mousemove.drag', p, nr).on('mouseup.drag', v, nr),
+ or(a.view),
+ rr(a),
+ (n = !1),
+ (e = a.clientX),
+ (t = a.clientY),
+ l('start', a))
+ }
+ }
+ function p(r) {
+ if ((ir(r), !n)) {
+ var i = r.clientX - e,
+ o = r.clientY - t
+ n = i * i + o * o > d
+ }
+ l.mouse('drag', r)
+ }
+ function v(e) {
+ Jn(e.view).on('mousemove.drag mouseup.drag', null),
+ ar(e.view, n),
+ ir(e),
+ l.mouse('end', e)
+ }
+ function m(e, t) {
+ if (i.call(this, e, t)) {
+ var n,
+ r,
+ a = e.changedTouches,
+ s = o.call(this, e, t),
+ l = a.length
+ for (n = 0; n < l; ++n)
+ (r = b(this, s, e, t, a[n].identifier, a[n])) && (rr(e), r('start', e, a[n]))
+ }
+ }
+ function g(e) {
+ var t,
+ n,
+ r = e.changedTouches,
+ i = r.length
+ for (t = 0; t < i; ++t) (n = l[r[t].identifier]) && (ir(e), n('drag', e, r[t]))
+ }
+ function y(e) {
+ var t,
+ n,
+ i = e.changedTouches,
+ o = i.length
+ for (
+ r && clearTimeout(r),
+ r = setTimeout(function () {
+ r = null
+ }, 500),
+ t = 0;
+ t < o;
+ ++t
+ )
+ (n = l[i[t].identifier]) && (rr(e), n('end', e, i[t]))
+ }
+ function b(e, t, n, r, i, o) {
+ var s,
+ d,
+ h,
+ p = u.copy(),
+ v = ur(o || n, t)
+ if (
+ null !=
+ (h = a.call(
+ e,
+ new so('beforestart', {
+ sourceEvent: n,
+ target: f,
+ identifier: i,
+ active: c,
+ x: v[0],
+ y: v[1],
+ dx: 0,
+ dy: 0,
+ dispatch: p,
+ }),
+ r,
+ ))
+ )
+ return (
+ (s = h.x - v[0] || 0),
+ (d = h.y - v[1] || 0),
+ function n(o, a, u) {
+ var m,
+ g = v
+ switch (o) {
+ case 'start':
+ ;(l[i] = n), (m = c++)
+ break
+ case 'end':
+ delete l[i], --c
+ case 'drag':
+ ;(v = ur(u || a, t)), (m = c)
+ }
+ p.call(
+ o,
+ e,
+ new so(o, {
+ sourceEvent: a,
+ subject: h,
+ target: f,
+ identifier: i,
+ active: m,
+ x: v[0] + s,
+ y: v[1] + d,
+ dx: v[0] - g[0],
+ dy: v[1] - g[1],
+ dispatch: p,
+ }),
+ r,
+ )
+ }
+ )
+ }
+ return (
+ (f.filter = function (e) {
+ return arguments.length ? ((i = 'function' === typeof e ? e : ao(!!e)), f) : i
+ }),
+ (f.container = function (e) {
+ return arguments.length ? ((o = 'function' === typeof e ? e : ao(e)), f) : o
+ }),
+ (f.subject = function (e) {
+ return arguments.length ? ((a = 'function' === typeof e ? e : ao(e)), f) : a
+ }),
+ (f.touchable = function (e) {
+ return arguments.length ? ((s = 'function' === typeof e ? e : ao(!!e)), f) : s
+ }),
+ (f.on = function () {
+ var e = u.on.apply(u, arguments)
+ return e === u ? f : e
+ }),
+ (f.clickDistance = function (e) {
+ return arguments.length ? ((d = (e = +e) * e), f) : Math.sqrt(d)
+ }),
+ f
+ )
+ })()
+ .subject(function () {
+ if (!t.enableNodeDrag) return null
+ var e = a()
+ return e && 'Node' === e.type ? e.d : null
+ })
+ .on('start', function (e) {
+ var n = e.subject
+ ;(n.__initialDragPos = { x: n.x, y: n.y, fx: n.fx, fy: n.fy }),
+ e.active || ((n.fx = n.x), (n.fy = n.y)),
+ t.canvas.classList.add('grabbable')
+ })
+ .on('drag', function (e) {
+ var n = e.subject,
+ r = n.__initialDragPos,
+ i = e,
+ o = Xi(t.canvas).k,
+ a = { x: r.x + (i.x - r.x) / o - n.x, y: r.y + (i.y - r.y) / o - n.y }
+ ;['x', 'y'].forEach(function (e) {
+ return (n['f'.concat(e)] = n[e] = r[e] + (i[e] - r[e]) / o)
+ }),
+ t.forceGraph.d3AlphaTarget(0.3).resetCountdown(),
+ (t.isPointerDragging = !0),
+ (n.__dragged = !0),
+ t.onNodeDrag(n, a)
+ })
+ .on('end', function (e) {
+ var n = e.subject,
+ r = n.__initialDragPos,
+ i = { x: n.x - r.x, y: n.y - r.y }
+ void 0 === r.fx && (n.fx = void 0),
+ void 0 === r.fy && (n.fy = void 0),
+ delete n.__initialDragPos,
+ t.forceGraph.d3AlphaTarget(0).resetCountdown(),
+ t.canvas.classList.remove('grabbable'),
+ (t.isPointerDragging = !1),
+ n.__dragged && (delete n.__dragged, t.onNodeDragEnd(n, i))
+ }),
+ ),
+ t.zoom((t.zoom.__baseElem = Jn(t.canvas))),
+ t.zoom.__baseElem.on('dblclick.zoom', null),
+ t.zoom
+ .filter(function (e) {
+ return (
+ !e.button &&
+ t.enableZoomPanInteraction &&
+ (t.enableZoomInteraction || 'wheel' !== e.type) &&
+ (t.enablePanInteraction || 'wheel' === e.type)
+ )
+ })
+ .on('zoom', function (e) {
+ var n = e.transform
+ ;[r, i].forEach(function (e) {
+ Oa(e), e.translate(n.x, n.y), e.scale(n.k, n.k)
+ }),
+ t.onZoom(aa({}, n)),
+ (t.needsRedraw = !0)
+ })
+ .on('end', function (e) {
+ return t.onZoomEnd(aa({}, e.transform))
+ }),
+ _a(t),
+ t.forceGraph
+ .onNeedsRedraw(function () {
+ return (t.needsRedraw = !0)
+ })
+ .onFinishUpdate(function () {
+ Xi(t.canvas).k === t.lastSetZoom &&
+ t.graphData.nodes.length &&
+ (t.zoom.scaleTo(
+ t.zoom.__baseElem,
+ (t.lastSetZoom = 4 / Math.cbrt(t.graphData.nodes.length)),
+ ),
+ (t.needsRedraw = !0))
+ })
+ var s = document.createElement('div')
+ s.classList.add('graph-tooltip'),
+ n.appendChild(s),
+ ['pointermove', 'pointerdown'].forEach(function (e) {
+ return n.addEventListener(
+ e,
+ function (r) {
+ 'pointerdown' === e && ((t.isPointerPressed = !0), (t.pointerDownEvent = r)),
+ !t.isPointerDragging &&
+ 'pointermove' === r.type &&
+ t.onBackgroundClick &&
+ (r.pressure > 0 || t.isPointerPressed) &&
+ ('touch' !== r.pointerType ||
+ void 0 === r.movementX ||
+ [r.movementX, r.movementY].some(function (e) {
+ return Math.abs(e) > 1
+ })) &&
+ (t.isPointerDragging = !0)
+ var i = (function (e) {
+ var t = e.getBoundingClientRect(),
+ n = window.pageXOffset || document.documentElement.scrollLeft,
+ r = window.pageYOffset || document.documentElement.scrollTop
+ return { top: t.top + r, left: t.left + n }
+ })(n)
+ ;(o.x = r.pageX - i.left),
+ (o.y = r.pageY - i.top),
+ (s.style.top = ''.concat(o.y, 'px')),
+ (s.style.left = ''.concat(o.x, 'px'))
+ },
+ { passive: !0 },
+ )
+ }),
+ n.addEventListener(
+ 'pointerup',
+ function (e) {
+ if (((t.isPointerPressed = !1), t.isPointerDragging)) t.isPointerDragging = !1
+ else {
+ var n = [e, t.pointerDownEvent]
+ requestAnimationFrame(function () {
+ if (0 === e.button)
+ if (t.hoverObj) {
+ var r = t['on'.concat(t.hoverObj.type, 'Click')]
+ r && r.apply(void 0, [t.hoverObj.d].concat(n))
+ } else t.onBackgroundClick && t.onBackgroundClick.apply(t, n)
+ if (2 === e.button)
+ if (t.hoverObj) {
+ var i = t['on'.concat(t.hoverObj.type, 'RightClick')]
+ i && i.apply(void 0, [t.hoverObj.d].concat(n))
+ } else t.onBackgroundRightClick && t.onBackgroundRightClick.apply(t, n)
+ })
+ }
+ },
+ { passive: !0 },
+ ),
+ n.addEventListener('contextmenu', function (e) {
+ return (
+ !(t.onBackgroundRightClick || t.onNodeRightClick || t.onLinkRightClick) ||
+ (e.preventDefault(), !1)
+ )
+ }),
+ t.forceGraph(r),
+ t.shadowGraph(i)
+ var l = mo()(function () {
+ Ca(i, t.width, t.height),
+ t.shadowGraph.linkWidth(function (e) {
+ return (0, w.default)(t.linkWidth)(e) + t.linkHoverPrecision
+ })
+ var e = Xi(t.canvas)
+ t.shadowGraph.globalScale(e.k).tickFrame()
+ }, 800)
+ ;(this._animationCycle = function e() {
+ var n =
+ !t.autoPauseRedraw ||
+ !!t.needsRedraw ||
+ t.forceGraph.isEngineRunning() ||
+ t.graphData.links.some(function (e) {
+ return e.__photons && e.__photons.length
+ })
+ if (((t.needsRedraw = !1), t.enablePointerInteraction)) {
+ var i = t.isPointerDragging ? null : a()
+ if (i !== t.hoverObj) {
+ var o = t.hoverObj,
+ u = o ? o.type : null,
+ c = i ? i.type : null
+ if (u && u !== c) {
+ var d = t['on'.concat(u, 'Hover')]
+ d && d(null, o.d)
+ }
+ if (c) {
+ var f = t['on'.concat(c, 'Hover')]
+ f && f(i.d, u === c ? o.d : null)
+ }
+ var h =
+ (i && (0, w.default)(t[''.concat(i.type.toLowerCase(), 'Label')])(i.d)) || ''
+ ;(s.style.visibility = h ? 'visible' : 'hidden'),
+ (s.innerHTML = h),
+ t.canvas.classList[
+ (i && t['on'.concat(c, 'Click')]) || (!i && t.onBackgroundClick)
+ ? 'add'
+ : 'remove'
+ ]('clickable'),
+ (t.hoverObj = i)
+ }
+ n && l()
+ }
+ if (n) {
+ Ca(r, t.width, t.height)
+ var p = Xi(t.canvas).k
+ t.onRenderFramePre && t.onRenderFramePre(r, p),
+ t.forceGraph.globalScale(p).tickFrame(),
+ t.onRenderFramePost && t.onRenderFramePost(r, p)
+ }
+ st.update(), (t.animationFrameRequestId = requestAnimationFrame(e))
+ })()
+ },
+ update: function (e) {},
+ }),
+ Sa = {
+ width: P().number,
+ height: P().number,
+ graphData: P().shape({
+ nodes: P().arrayOf(P().object).isRequired,
+ links: P().arrayOf(P().object).isRequired,
+ }),
+ backgroundColor: P().string,
+ nodeRelSize: P().number,
+ nodeId: P().string,
+ nodeLabel: P().oneOfType([P().string, P().func]),
+ nodeVal: P().oneOfType([P().number, P().string, P().func]),
+ nodeVisibility: P().oneOfType([P().bool, P().string, P().func]),
+ nodeColor: P().oneOfType([P().string, P().func]),
+ nodeAutoColorBy: P().oneOfType([P().string, P().func]),
+ onNodeHover: P().func,
+ onNodeClick: P().func,
+ linkSource: P().string,
+ linkTarget: P().string,
+ linkLabel: P().oneOfType([P().string, P().func]),
+ linkVisibility: P().oneOfType([P().bool, P().string, P().func]),
+ linkColor: P().oneOfType([P().string, P().func]),
+ linkAutoColorBy: P().oneOfType([P().string, P().func]),
+ linkWidth: P().oneOfType([P().number, P().string, P().func]),
+ linkCurvature: P().oneOfType([P().number, P().string, P().func]),
+ linkDirectionalArrowLength: P().oneOfType([P().number, P().string, P().func]),
+ linkDirectionalArrowColor: P().oneOfType([P().string, P().func]),
+ linkDirectionalArrowRelPos: P().oneOfType([P().number, P().string, P().func]),
+ linkDirectionalParticles: P().oneOfType([P().number, P().string, P().func]),
+ linkDirectionalParticleSpeed: P().oneOfType([P().number, P().string, P().func]),
+ linkDirectionalParticleWidth: P().oneOfType([P().number, P().string, P().func]),
+ linkDirectionalParticleColor: P().oneOfType([P().string, P().func]),
+ onLinkHover: P().func,
+ onLinkClick: P().func,
+ dagMode: P().oneOf(['td', 'bu', 'lr', 'rl', 'zin', 'zout', 'radialin', 'radialout']),
+ dagLevelDistance: P().number,
+ dagNodeFilter: P().func,
+ onDagError: P().func,
+ d3AlphaMin: P().number,
+ d3AlphaDecay: P().number,
+ d3VelocityDecay: P().number,
+ warmupTicks: P().number,
+ cooldownTicks: P().number,
+ cooldownTime: P().number,
+ onEngineTick: P().func,
+ onEngineStop: P().func,
+ getGraphBbox: P().func,
+ },
+ Pa = {
+ zoomToFit: P().func,
+ onNodeRightClick: P().func,
+ onNodeDrag: P().func,
+ onNodeDragEnd: P().func,
+ onLinkRightClick: P().func,
+ linkHoverPrecision: P().number,
+ onBackgroundClick: P().func,
+ onBackgroundRightClick: P().func,
+ enablePointerInteraction: P().bool,
+ enableNodeDrag: P().bool,
+ },
+ Ma = {
+ showNavInfo: P().bool,
+ nodeOpacity: P().number,
+ nodeResolution: P().number,
+ nodeThreeObject: P().oneOfType([P().object, P().string, P().func]),
+ nodeThreeObjectExtend: P().oneOfType([P().bool, P().string, P().func]),
+ linkOpacity: P().number,
+ linkResolution: P().number,
+ linkCurveRotation: P().oneOfType([P().number, P().string, P().func]),
+ linkMaterial: P().oneOfType([P().object, P().string, P().func]),
+ linkThreeObject: P().oneOfType([P().object, P().string, P().func]),
+ linkThreeObjectExtend: P().oneOfType([P().bool, P().string, P().func]),
+ linkPositionUpdate: P().func,
+ linkDirectionalArrowResolution: P().number,
+ linkDirectionalParticleResolution: P().number,
+ forceEngine: P().oneOf(['d3', 'ngraph']),
+ ngraphPhysics: P().object,
+ numDimensions: P().oneOf([1, 2, 3]),
+ },
+ Ra = Object.assign({}, Sa, Pa, {
+ linkLineDash: P().oneOfType([P().arrayOf(P().number), P().string, P().func]),
+ nodeCanvasObjectMode: P().oneOfType([P().string, P().func]),
+ nodeCanvasObject: P().func,
+ nodePointerAreaPaint: P().func,
+ linkCanvasObjectMode: P().oneOfType([P().string, P().func]),
+ linkCanvasObject: P().func,
+ linkPointerAreaPaint: P().func,
+ autoPauseRedraw: P().bool,
+ minZoom: P().number,
+ maxZoom: P().number,
+ enableZoomInteraction: P().bool,
+ enablePanInteraction: P().bool,
+ onZoom: P().func,
+ onZoomEnd: P().func,
+ onRenderFramePre: P().func,
+ onRenderFramePost: P().func,
+ }),
+ ja = Object.assign({}, Sa, Pa, Ma, {
+ enableNavigationControls: P().bool,
+ controlType: P().oneOf(['trackball', 'orbit', 'fly']),
+ rendererConfig: P().object,
+ extraRenderers: P().arrayOf(P().shape({ render: P().func.isRequired })),
+ }),
+ Da = Object.assign({}, Sa, Ma, {
+ nodeDesc: P().oneOfType([P().string, P().func]),
+ linkDesc: P().oneOfType([P().string, P().func]),
+ }),
+ La = Object.assign({}, Sa, Ma, {
+ markerAttrs: P().object,
+ yOffset: P().number,
+ glScale: P().number,
+ })
+ const Na = y(A, {
+ methodNames: ['getGraphBbox', 'emitParticle', 'd3Force', 'd3ReheatSimulation', 'refresh'],
+ })
+ ;(Na.displayName = 'ForceGraphVR'), (Na.propTypes = Da)
+ const Ia = y(z, {
+ methodNames: ['getGraphBbox', 'emitParticle', 'd3Force', 'd3ReheatSimulation', 'refresh'],
+ initPropNames: ['markerAttrs'],
+ })
+ ;(Ia.displayName = 'ForceGraphAR'), (Ia.propTypes = La)
+ const za = y(St, {
+ methodNames: [
+ 'emitParticle',
+ 'd3Force',
+ 'd3ReheatSimulation',
+ 'stopAnimation',
+ 'pauseAnimation',
+ 'resumeAnimation',
+ 'cameraPosition',
+ 'zoomToFit',
+ 'getGraphBbox',
+ 'screen2GraphCoords',
+ 'graph2ScreenCoords',
+ 'postProcessingComposer',
+ 'scene',
+ 'camera',
+ 'renderer',
+ 'controls',
+ 'refresh',
+ ],
+ initPropNames: ['controlType', 'rendererConfig', 'extraRenderers'],
+ })
+ ;(za.displayName = 'ForceGraph3D'), (za.propTypes = ja)
+ const Ha = y(Aa, {
+ methodNames: [
+ 'emitParticle',
+ 'd3Force',
+ 'd3ReheatSimulation',
+ 'stopAnimation',
+ 'pauseAnimation',
+ 'resumeAnimation',
+ 'centerAt',
+ 'zoom',
+ 'zoomToFit',
+ 'getGraphBbox',
+ 'screen2GraphCoords',
+ 'graph2ScreenCoords',
+ ],
+ })
+ ;(Ha.displayName = 'ForceGraph2D'), (Ha.propTypes = Ra)
+ },
+ 1398: function (e, t, n) {
+ 'use strict'
+ n.r(t),
+ n.d(t, {
+ default: function () {
+ return le
+ },
+ })
+ var r = n(2212),
+ i = n(4505),
+ o = n(5560),
+ a = n(2405),
+ s = n(216),
+ l = n(6917),
+ u = n(4736),
+ c = n.n(u),
+ d = n(6505),
+ f = n.n(d),
+ h = n(4858),
+ p = n(2539),
+ v = n(6701),
+ m = n(3752),
+ g = n(1527)
+ function y(e, t) {
+ var n = Object.keys(e)
+ if (Object.getOwnPropertySymbols) {
+ var r = Object.getOwnPropertySymbols(e)
+ t &&
+ (r = r.filter(function (t) {
+ return Object.getOwnPropertyDescriptor(e, t).enumerable
+ })),
+ n.push.apply(n, r)
+ }
+ return n
+ }
+ function b(e, t, n) {
+ return (
+ t in e
+ ? Object.defineProperty(e, t, {
+ value: n,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0,
+ })
+ : (e[t] = n),
+ e
+ )
+ }
+ function w(e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = (function (e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ })(e, t)
+ if (Object.getOwnPropertySymbols) {
+ var o = Object.getOwnPropertySymbols(e)
+ for (r = 0; r < o.length; r++)
+ (n = o[r]),
+ t.indexOf(n) >= 0 ||
+ (Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n]))
+ }
+ return i
+ }
+ function x(e, t) {
+ return (
+ (function (e) {
+ if (Array.isArray(e)) return e
+ })(e) ||
+ (function (e, t) {
+ var n = e && (('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator'])
+ if (null == n) return
+ var r,
+ i,
+ o = [],
+ a = !0,
+ s = !1
+ try {
+ for (
+ n = n.call(e);
+ !(a = (r = n.next()).done) && (o.push(r.value), !t || o.length !== t);
+ a = !0
+ );
+ } catch (l) {
+ ;(s = !0), (i = l)
+ } finally {
+ try {
+ a || null == n.return || n.return()
+ } finally {
+ if (s) throw i
+ }
+ }
+ return o
+ })(e, t) ||
+ k(e, t) ||
+ (function () {
+ throw new TypeError(
+ 'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ })()
+ )
+ }
+ function E(e) {
+ return (
+ (function (e) {
+ if (Array.isArray(e)) return T(e)
+ })(e) ||
+ (function (e) {
+ if (
+ ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) ||
+ null != e['@@iterator']
+ )
+ return Array.from(e)
+ })(e) ||
+ k(e) ||
+ (function () {
+ throw new TypeError(
+ 'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ })()
+ )
+ }
+ function k(e, t) {
+ if (e) {
+ if ('string' === typeof e) return T(e, t)
+ var n = Object.prototype.toString.call(e).slice(8, -1)
+ return (
+ 'Object' === n && e.constructor && (n = e.constructor.name),
+ 'Map' === n || 'Set' === n
+ ? Array.from(e)
+ : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
+ ? T(e, t)
+ : void 0
+ )
+ }
+ }
+ function T(e, t) {
+ ;(null == t || t > e.length) && (t = e.length)
+ for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
+ return r
+ }
+ function _(e, t, n) {
+ var r = n.objBindAttr,
+ i = void 0 === r ? '__obj' : r,
+ o = n.dataBindAttr,
+ a = void 0 === o ? '__data' : o,
+ s = n.idAccessor,
+ l = n.purge,
+ u = void 0 !== l && l,
+ c = function (e) {
+ return e.hasOwnProperty(a)
+ },
+ d = t.filter(function (e) {
+ return !c(e)
+ }),
+ f = t.filter(c).map(function (e) {
+ return e[a]
+ }),
+ h = u
+ ? { enter: e, exit: f, update: [] }
+ : (function (e, t, n) {
+ var r = { enter: [], update: [], exit: [] }
+ if (n) {
+ var i = (0, g.Z)(e, n, !1),
+ o = (0, g.Z)(t, n, !1),
+ a = Object.assign({}, i, o)
+ Object.entries(a).forEach(function (e) {
+ var t = x(e, 2),
+ n = t[0],
+ a = t[1],
+ s = i.hasOwnProperty(n) ? (o.hasOwnProperty(n) ? 'update' : 'exit') : 'enter'
+ r[s].push('update' === s ? [i[n], o[n]] : a)
+ })
+ } else {
+ var s = new Set(e),
+ l = new Set(t)
+ new Set([].concat(E(s), E(l))).forEach(function (e) {
+ var t = s.has(e) ? (l.has(e) ? 'update' : 'exit') : 'enter'
+ r[t].push('update' === t ? [e, e] : e)
+ })
+ }
+ return r
+ })(f, e, s)
+ return (
+ (h.update = h.update.map(function (e) {
+ var t = x(e, 2),
+ n = t[0],
+ r = t[1]
+ return n !== r && ((r[i] = n[i]), (r[i][a] = r)), r
+ })),
+ (h.exit = h.exit.concat(
+ d.map(function (e) {
+ return b({}, i, e)
+ }),
+ )),
+ h
+ )
+ }
+ var O = function (e, t, n, r, i) {
+ var o = i.createObj,
+ a =
+ void 0 === o
+ ? function (e) {
+ return {}
+ }
+ : o,
+ s = i.updateObj,
+ l = void 0 === s ? function (e, t) {} : s,
+ u = i.exitObj,
+ c = void 0 === u ? function (e) {} : u,
+ d = i.objBindAttr,
+ f = void 0 === d ? '__obj' : d,
+ h = i.dataBindAttr,
+ p = void 0 === h ? '__data' : h,
+ v = w(i, ['createObj', 'updateObj', 'exitObj', 'objBindAttr', 'dataBindAttr']),
+ m = _(
+ e,
+ t,
+ (function (e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = null != arguments[t] ? arguments[t] : {}
+ t % 2
+ ? y(Object(n), !0).forEach(function (t) {
+ b(e, t, n[t])
+ })
+ : Object.getOwnPropertyDescriptors
+ ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+ : y(Object(n)).forEach(function (t) {
+ Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
+ })
+ }
+ return e
+ })({ objBindAttr: f, dataBindAttr: p }, v),
+ ),
+ g = m.enter,
+ x = m.update
+ m.exit.forEach(function (e) {
+ var t = e[f]
+ delete e[f], c(t), r(t)
+ })
+ var k = (function (e) {
+ var t = []
+ return (
+ e.forEach(function (e) {
+ var n = a(e)
+ n && ((n[p] = e), (e[f] = n), t.push(n))
+ }),
+ t
+ )
+ })(g)
+ !(function (e) {
+ e.forEach(function (e) {
+ var t = e[f]
+ t && ((t[p] = e), l(t, e))
+ })
+ })([].concat(E(g), E(x))),
+ k.forEach(n)
+ },
+ C = n(2462),
+ A = n(7646),
+ S = n(7621),
+ P = n.n(S)
+ function M(e, t) {
+ var n = Object.keys(e)
+ if (Object.getOwnPropertySymbols) {
+ var r = Object.getOwnPropertySymbols(e)
+ t &&
+ (r = r.filter(function (t) {
+ return Object.getOwnPropertyDescriptor(e, t).enumerable
+ })),
+ n.push.apply(n, r)
+ }
+ return n
+ }
+ function R(e) {
+ for (var t = 1; t < arguments.length; t++) {
+ var n = null != arguments[t] ? arguments[t] : {}
+ t % 2
+ ? M(Object(n), !0).forEach(function (t) {
+ L(e, t, n[t])
+ })
+ : Object.getOwnPropertyDescriptors
+ ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+ : M(Object(n)).forEach(function (t) {
+ Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t))
+ })
+ }
+ return e
+ }
+ function j(e) {
+ return (j =
+ 'function' === typeof Symbol && 'symbol' === typeof Symbol.iterator
+ ? function (e) {
+ return typeof e
+ }
+ : function (e) {
+ return e &&
+ 'function' === typeof Symbol &&
+ e.constructor === Symbol &&
+ e !== Symbol.prototype
+ ? 'symbol'
+ : typeof e
+ })(e)
+ }
+ function D(e, t) {
+ if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function')
+ }
+ function L(e, t, n) {
+ return (
+ t in e
+ ? Object.defineProperty(e, t, {
+ value: n,
+ enumerable: !0,
+ configurable: !0,
+ writable: !0,
+ })
+ : (e[t] = n),
+ e
+ )
+ }
+ function N(e, t) {
+ if ('function' !== typeof t && null !== t)
+ throw new TypeError('Super expression must either be null or a function')
+ ;(e.prototype = Object.create(t && t.prototype, {
+ constructor: { value: e, writable: !0, configurable: !0 },
+ })),
+ t && z(e, t)
+ }
+ function I(e) {
+ return (I = Object.setPrototypeOf
+ ? Object.getPrototypeOf
+ : function (e) {
+ return e.__proto__ || Object.getPrototypeOf(e)
+ })(e)
+ }
+ function z(e, t) {
+ return (z =
+ Object.setPrototypeOf ||
+ function (e, t) {
+ return (e.__proto__ = t), e
+ })(e, t)
+ }
+ function H() {
+ if ('undefined' === typeof Reflect || !Reflect.construct) return !1
+ if (Reflect.construct.sham) return !1
+ if ('function' === typeof Proxy) return !0
+ try {
+ return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0
+ } catch (e) {
+ return !1
+ }
+ }
+ function B(e, t, n) {
+ return (B = H()
+ ? Reflect.construct
+ : function (e, t, n) {
+ var r = [null]
+ r.push.apply(r, t)
+ var i = new (Function.bind.apply(e, r))()
+ return n && z(i, n.prototype), i
+ }).apply(null, arguments)
+ }
+ function F(e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = (function (e, t) {
+ if (null == e) return {}
+ var n,
+ r,
+ i = {},
+ o = Object.keys(e)
+ for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n])
+ return i
+ })(e, t)
+ if (Object.getOwnPropertySymbols) {
+ var o = Object.getOwnPropertySymbols(e)
+ for (r = 0; r < o.length; r++)
+ (n = o[r]),
+ t.indexOf(n) >= 0 ||
+ (Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n]))
+ }
+ return i
+ }
+ function V(e) {
+ if (void 0 === e)
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called")
+ return e
+ }
+ function U(e, t) {
+ return !t || ('object' !== typeof t && 'function' !== typeof t) ? V(e) : t
+ }
+ function G(e) {
+ var t = H()
+ return function () {
+ var n,
+ r = I(e)
+ if (t) {
+ var i = I(this).constructor
+ n = Reflect.construct(r, arguments, i)
+ } else n = r.apply(this, arguments)
+ return U(this, n)
+ }
+ }
+ function q(e, t) {
+ return (
+ (function (e) {
+ if (Array.isArray(e)) return e
+ })(e) ||
+ (function (e, t) {
+ var n =
+ null == e
+ ? null
+ : ('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator']
+ if (null == n) return
+ var r,
+ i,
+ o = [],
+ a = !0,
+ s = !1
+ try {
+ for (
+ n = n.call(e);
+ !(a = (r = n.next()).done) && (o.push(r.value), !t || o.length !== t);
+ a = !0
+ );
+ } catch (l) {
+ ;(s = !0), (i = l)
+ } finally {
+ try {
+ a || null == n.return || n.return()
+ } finally {
+ if (s) throw i
+ }
+ }
+ return o
+ })(e, t) ||
+ K(e, t) ||
+ (function () {
+ throw new TypeError(
+ 'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ })()
+ )
+ }
+ function W(e) {
+ return (
+ (function (e) {
+ if (Array.isArray(e)) return Z(e)
+ })(e) ||
+ (function (e) {
+ if (
+ ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) ||
+ null != e['@@iterator']
+ )
+ return Array.from(e)
+ })(e) ||
+ K(e) ||
+ (function () {
+ throw new TypeError(
+ 'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+ )
+ })()
+ )
+ }
+ function K(e, t) {
+ if (e) {
+ if ('string' === typeof e) return Z(e, t)
+ var n = Object.prototype.toString.call(e).slice(8, -1)
+ return (
+ 'Object' === n && e.constructor && (n = e.constructor.name),
+ 'Map' === n || 'Set' === n
+ ? Array.from(e)
+ : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
+ ? Z(e, t)
+ : void 0
+ )
+ }
+ }
+ function Z(e, t) {
+ ;(null == t || t > e.length) && (t = e.length)
+ for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n]
+ return r
+ }
+ var $ = function e(t) {
+ t instanceof Array ? t.forEach(e) : (t.map && t.map.dispose(), t.dispose())
+ },
+ X = function e(t) {
+ t.geometry && t.geometry.dispose(),
+ t.material && $(t.material),
+ t.texture && t.texture.dispose(),
+ t.children && t.children.forEach(e)
+ },
+ Y = function (e) {
+ for (; e.children.length; ) {
+ var t = e.children[0]
+ e.remove(t), X(t)
+ }
+ },
+ Q = ['objFilter']
+ function J(e, t) {
+ var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
+ r = n.objFilter,
+ i =
+ void 0 === r
+ ? function () {
+ return !0
+ }
+ : r,
+ o = F(n, Q)
+ return O(
+ e,
+ t.children.filter(i),
+ function (e) {
+ return t.add(e)
+ },
+ function (e) {
+ t.remove(e), Y(e)
+ },
+ R({ objBindAttr: '__threeObj' }, o),
+ )
+ }
+ var ee = function (e) {
+ return isNaN(e) ? parseInt(P()(e).toHex(), 16) : e
+ },
+ te = function (e) {
+ return isNaN(e) ? P()(e).getAlpha() : 1
+ },
+ ne = (0, C.Z)(A.Z)
+ function re(e, t, n) {
+ t &&
+ 'string' === typeof n &&
+ e
+ .filter(function (e) {
+ return !e[n]
+ })
+ .forEach(function (e) {
+ e[n] = ne(t(e))
+ })
+ }
+ var ie = window.THREE
+ ? window.THREE
+ : {
+ Group: r.ZAu,
+ Mesh: r.Kj0,
+ MeshLambertMaterial: r.YBo,
+ Color: r.Ilk,
+ BufferGeometry: r.u9r,
+ BufferAttribute: r.TlE,
+ Matrix4: r.yGw,
+ Vector3: r.Pa4,
+ SphereBufferGeometry: r.Aip,
+ CylinderBufferGeometry: r.m_w,
+ TubeBufferGeometry: r.Lcc,
+ ConeBufferGeometry: r._3,
+ Line: r.x12,
+ LineBasicMaterial: r.nls,
+ QuadraticBezierCurve3: r.mXe,
+ CubicBezierCurve3: r.yj7,
+ Box3: r.ZzF,
+ },
+ oe = { graph: c(), forcelayout: f() },
+ ae = new ie.BufferGeometry().setAttribute ? 'setAttribute' : 'addAttribute',
+ se = new ie.BufferGeometry().applyMatrix4 ? 'applyMatrix4' : 'applyMatrix'
+ var le = (function (e) {
+ var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : Object,
+ n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2],
+ r = (function (t) {
+ N(i, t)
+ var r = G(i)
+ function i() {
+ var t
+ D(this, i)
+ for (var o = arguments.length, a = new Array(o), s = 0; s < o; s++)
+ a[s] = arguments[s]
+ return (
+ ((t = r.call.apply(r, [this].concat(a))).__kapsuleInstance = e().apply(
+ void 0,
+ [].concat(W(n ? [V(t)] : []), a),
+ )),
+ t
+ )
+ }
+ return i
+ })(t)
+ return (
+ Object.keys(e()).forEach(function (e) {
+ return (r.prototype[e] = function () {
+ var t,
+ n = (t = this.__kapsuleInstance)[e].apply(t, arguments)
+ return n === this.__kapsuleInstance ? this : n
+ })
+ }),
+ r
+ )
+ })(
+ (0, h.Z)({
+ props: {
+ jsonUrl: {
+ onChange: function (e, t) {
+ var n = this
+ e &&
+ !t.fetchingJson &&
+ ((t.fetchingJson = !0),
+ t.onLoading(),
+ fetch(e)
+ .then(function (e) {
+ return e.json()
+ })
+ .then(function (e) {
+ ;(t.fetchingJson = !1), t.onFinishLoading(e), n.graphData(e)
+ }))
+ },
+ triggerUpdate: !1,
+ },
+ graphData: {
+ default: { nodes: [], links: [] },
+ onChange: function (e, t) {
+ t.engineRunning = !1
+ },
+ },
+ numDimensions: {
+ default: 3,
+ onChange: function (e, t) {
+ var n = t.d3ForceLayout.force('charge')
+ function r(e, t) {
+ e.forEach(function (e) {
+ delete e[t], delete e['v'.concat(t)]
+ })
+ }
+ n && n.strength(e > 2 ? -60 : -30),
+ e < 3 && r(t.graphData.nodes, 'z'),
+ e < 2 && r(t.graphData.nodes, 'y')
+ },
+ },
+ dagMode: {
+ onChange: function (e, t) {
+ !e &&
+ 'd3' === t.forceEngine &&
+ (t.graphData.nodes || []).forEach(function (e) {
+ return (e.fx = e.fy = e.fz = void 0)
+ })
+ },
+ },
+ dagLevelDistance: {},
+ dagNodeFilter: {
+ default: function (e) {
+ return !0
+ },
+ },
+ onDagError: { triggerUpdate: !1 },
+ nodeRelSize: { default: 4 },
+ nodeId: { default: 'id' },
+ nodeVal: { default: 'val' },
+ nodeResolution: { default: 8 },
+ nodeColor: { default: 'color' },
+ nodeAutoColorBy: {},
+ nodeOpacity: { default: 0.75 },
+ nodeVisibility: { default: !0 },
+ nodeThreeObject: {},
+ nodeThreeObjectExtend: { default: !1 },
+ linkSource: { default: 'source' },
+ linkTarget: { default: 'target' },
+ linkVisibility: { default: !0 },
+ linkColor: { default: 'color' },
+ linkAutoColorBy: {},
+ linkOpacity: { default: 0.2 },
+ linkWidth: {},
+ linkResolution: { default: 6 },
+ linkCurvature: { default: 0, triggerUpdate: !1 },
+ linkCurveRotation: { default: 0, triggerUpdate: !1 },
+ linkMaterial: {},
+ linkThreeObject: {},
+ linkThreeObjectExtend: { default: !1 },
+ linkPositionUpdate: { triggerUpdate: !1 },
+ linkDirectionalArrowLength: { default: 0 },
+ linkDirectionalArrowColor: {},
+ linkDirectionalArrowRelPos: { default: 0.5, triggerUpdate: !1 },
+ linkDirectionalArrowResolution: { default: 8 },
+ linkDirectionalParticles: { default: 0 },
+ linkDirectionalParticleSpeed: { default: 0.01, triggerUpdate: !1 },
+ linkDirectionalParticleWidth: { default: 0.5 },
+ linkDirectionalParticleColor: {},
+ linkDirectionalParticleResolution: { default: 4 },
+ forceEngine: { default: 'd3' },
+ d3AlphaMin: { default: 0 },
+ d3AlphaDecay: {
+ default: 0.0228,
+ triggerUpdate: !1,
+ onChange: function (e, t) {
+ t.d3ForceLayout.alphaDecay(e)
+ },
+ },
+ d3AlphaTarget: {
+ default: 0,
+ triggerUpdate: !1,
+ onChange: function (e, t) {
+ t.d3ForceLayout.alphaTarget(e)
+ },
+ },
+ d3VelocityDecay: {
+ default: 0.4,
+ triggerUpdate: !1,
+ onChange: function (e, t) {
+ t.d3ForceLayout.velocityDecay(e)
+ },
+ },
+ ngraphPhysics: {
+ default: {
+ timeStep: 20,
+ gravity: -1.2,
+ theta: 0.8,
+ springLength: 30,
+ springCoefficient: 8e-4,
+ dragCoefficient: 0.02,
+ },
+ },
+ warmupTicks: { default: 0, triggerUpdate: !1 },
+ cooldownTicks: { default: 1 / 0, triggerUpdate: !1 },
+ cooldownTime: { default: 15e3, triggerUpdate: !1 },
+ onLoading: { default: function () {}, triggerUpdate: !1 },
+ onFinishLoading: { default: function () {}, triggerUpdate: !1 },
+ onUpdate: { default: function () {}, triggerUpdate: !1 },
+ onFinishUpdate: { default: function () {}, triggerUpdate: !1 },
+ onEngineTick: { default: function () {}, triggerUpdate: !1 },
+ onEngineStop: { default: function () {}, triggerUpdate: !1 },
+ },
+ methods: {
+ refresh: function (e) {
+ return (e._flushObjects = !0), e._rerender(), this
+ },
+ d3Force: function (e, t, n) {
+ return void 0 === n ? e.d3ForceLayout.force(t) : (e.d3ForceLayout.force(t, n), this)
+ },
+ d3ReheatSimulation: function (e) {
+ return e.d3ForceLayout.alpha(1), this.resetCountdown(), this
+ },
+ resetCountdown: function (e) {
+ return (e.cntTicks = 0), (e.startTickTime = new Date()), (e.engineRunning = !0), this
+ },
+ tickFrame: function (e) {
+ var t = 'ngraph' !== e.forceEngine
+ return (
+ e.engineRunning &&
+ (function () {
+ ++e.cntTicks > e.cooldownTicks ||
+ new Date() - e.startTickTime > e.cooldownTime ||
+ (t && e.d3AlphaMin > 0 && e.d3ForceLayout.alpha() < e.d3AlphaMin)
+ ? ((e.engineRunning = !1), e.onEngineStop())
+ : (e.layout[t ? 'tick' : 'step'](), e.onEngineTick())
+ e.graphData.nodes.forEach(function (n) {
+ var r = n.__threeObj
+ if (r) {
+ var i = t ? n : e.layout.getNodePosition(n[e.nodeId])
+ ;(r.position.x = i.x), (r.position.y = i.y || 0), (r.position.z = i.z || 0)
+ }
+ })
+ var n = (0, p.default)(e.linkWidth),
+ r = (0, p.default)(e.linkCurvature),
+ i = (0, p.default)(e.linkCurveRotation),
+ o = (0, p.default)(e.linkThreeObjectExtend)
+ function a(n) {
+ var o = t
+ ? n
+ : e.layout.getLinkPosition(e.layout.graph.getLink(n.source, n.target).id),
+ a = o[t ? 'source' : 'from'],
+ s = o[t ? 'target' : 'to']
+ if (a && s && a.hasOwnProperty('x') && s.hasOwnProperty('x')) {
+ var l = r(n)
+ if (l) {
+ var u,
+ c = new ie.Vector3(a.x, a.y || 0, a.z || 0),
+ d = new ie.Vector3(s.x, s.y || 0, s.z || 0),
+ f = c.distanceTo(d),
+ h = i(n)
+ if (f > 0) {
+ var p = s.x - a.x,
+ v = s.y - a.y || 0,
+ m = new ie.Vector3().subVectors(d, c),
+ g = m
+ .clone()
+ .multiplyScalar(l)
+ .cross(
+ 0 !== p || 0 !== v
+ ? new ie.Vector3(0, 0, 1)
+ : new ie.Vector3(0, 1, 0),
+ )
+ .applyAxisAngle(m.normalize(), h)
+ .add(new ie.Vector3().addVectors(c, d).divideScalar(2))
+ u = new ie.QuadraticBezierCurve3(c, g, d)
+ } else {
+ var y = 70 * l,
+ b = -h,
+ w = b + Math.PI / 2
+ u = new ie.CubicBezierCurve3(
+ c,
+ new ie.Vector3(y * Math.cos(w), y * Math.sin(w), 0).add(c),
+ new ie.Vector3(y * Math.cos(b), y * Math.sin(b), 0).add(c),
+ d,
+ )
+ }
+ n.__curve = u
+ } else n.__curve = null
+ }
+ }
+ e.graphData.links.forEach(function (r) {
+ var i = r.__lineObj
+ if (i) {
+ var s = t
+ ? r
+ : e.layout.getLinkPosition(
+ e.layout.graph.getLink(r.source, r.target).id,
+ ),
+ l = s[t ? 'source' : 'from'],
+ u = s[t ? 'target' : 'to']
+ if (l && u && l.hasOwnProperty('x') && u.hasOwnProperty('x')) {
+ a(r)
+ var c = o(r)
+ if (
+ !e.linkPositionUpdate ||
+ !e.linkPositionUpdate(
+ c ? i.children[1] : i,
+ {
+ start: { x: l.x, y: l.y, z: l.z },
+ end: { x: u.x, y: u.y, z: u.z },
+ },
+ r,
+ ) ||
+ c
+ ) {
+ var d = 30,
+ f = r.__curve,
+ h = i.children.length ? i.children[0] : i
+ if ('Line' === h.type) {
+ if (f) h.geometry.setFromPoints(f.getPoints(d))
+ else {
+ var p = h.geometry.getAttribute('position')
+ ;(p && p.array && 6 === p.array.length) ||
+ h.geometry[ae](
+ 'position',
+ (p = new ie.BufferAttribute(new Float32Array(6), 3)),
+ ),
+ (p.array[0] = l.x),
+ (p.array[1] = l.y || 0),
+ (p.array[2] = l.z || 0),
+ (p.array[3] = u.x),
+ (p.array[4] = u.y || 0),
+ (p.array[5] = u.z || 0),
+ (p.needsUpdate = !0)
+ }
+ h.geometry.computeBoundingSphere()
+ } else if ('Mesh' === h.type)
+ if (f) {
+ h.geometry.type.match(/^Tube(Buffer)?Geometry$/) ||
+ (h.position.set(0, 0, 0),
+ h.rotation.set(0, 0, 0),
+ h.scale.set(1, 1, 1))
+ var v = Math.ceil(10 * n(r)) / 10 / 2,
+ m = new ie.TubeBufferGeometry(f, d, v, e.linkResolution, !1)
+ h.geometry.dispose(), (h.geometry = m)
+ } else {
+ if (!h.geometry.type.match(/^Cylinder(Buffer)?Geometry$/)) {
+ var g = Math.ceil(10 * n(r)) / 10 / 2,
+ y = new ie.CylinderBufferGeometry(
+ g,
+ g,
+ 1,
+ e.linkResolution,
+ 1,
+ !1,
+ )
+ y[se](new ie.Matrix4().makeTranslation(0, 0.5, 0)),
+ y[se](new ie.Matrix4().makeRotationX(Math.PI / 2)),
+ h.geometry.dispose(),
+ (h.geometry = y)
+ }
+ var b = new ie.Vector3(l.x, l.y || 0, l.z || 0),
+ w = new ie.Vector3(u.x, u.y || 0, u.z || 0),
+ x = b.distanceTo(w)
+ ;(h.position.x = b.x),
+ (h.position.y = b.y),
+ (h.position.z = b.z),
+ (h.scale.z = x),
+ h.parent.localToWorld(w),
+ h.lookAt(w)
+ }
+ }
+ }
+ }
+ })
+ })(),
+ (function () {
+ var n = (0, p.default)(e.linkDirectionalArrowRelPos),
+ r = (0, p.default)(e.linkDirectionalArrowLength),
+ i = (0, p.default)(e.nodeVal)
+ e.graphData.links.forEach(function (o) {
+ var a = o.__arrowObj
+ if (a) {
+ var s = t
+ ? o
+ : e.layout.getLinkPosition(e.layout.graph.getLink(o.source, o.target).id),
+ l = s[t ? 'source' : 'from'],
+ u = s[t ? 'target' : 'to']
+ if (l && u && l.hasOwnProperty('x') && u.hasOwnProperty('x')) {
+ var c = Math.sqrt(Math.max(0, i(l) || 1)) * e.nodeRelSize,
+ d = Math.sqrt(Math.max(0, i(u) || 1)) * e.nodeRelSize,
+ f = r(o),
+ h = n(o),
+ p = o.__curve
+ ? function (e) {
+ return o.__curve.getPoint(e)
+ }
+ : function (e) {
+ var t = function (e, t, n, r) {
+ return t[e] + (n[e] - t[e]) * r || 0
+ }
+ return {
+ x: t('x', l, u, e),
+ y: t('y', l, u, e),
+ z: t('z', l, u, e),
+ }
+ },
+ v = o.__curve
+ ? o.__curve.getLength()
+ : Math.sqrt(
+ ['x', 'y', 'z']
+ .map(function (e) {
+ return Math.pow((u[e] || 0) - (l[e] || 0), 2)
+ })
+ .reduce(function (e, t) {
+ return e + t
+ }, 0),
+ ),
+ m = c + f + (v - c - d - f) * h,
+ g = p(m / v),
+ y = p((m - f) / v)
+ ;['x', 'y', 'z'].forEach(function (e) {
+ return (a.position[e] = y[e])
+ })
+ var b = B(
+ ie.Vector3,
+ W(
+ ['x', 'y', 'z'].map(function (e) {
+ return g[e]
+ }),
+ ),
+ )
+ a.parent.localToWorld(b), a.lookAt(b)
+ }
+ }
+ })
+ })(),
+ (function () {
+ var n = (0, p.default)(e.linkDirectionalParticleSpeed)
+ e.graphData.links.forEach(function (r) {
+ var i = r.__photonsObj && r.__photonsObj.children,
+ o = r.__singleHopPhotonsObj && r.__singleHopPhotonsObj.children
+ if ((o && o.length) || (i && i.length)) {
+ var a = t
+ ? r
+ : e.layout.getLinkPosition(e.layout.graph.getLink(r.source, r.target).id),
+ s = a[t ? 'source' : 'from'],
+ l = a[t ? 'target' : 'to']
+ if (s && l && s.hasOwnProperty('x') && l.hasOwnProperty('x')) {
+ var u = n(r),
+ c = r.__curve
+ ? function (e) {
+ return r.__curve.getPoint(e)
+ }
+ : function (e) {
+ var t = function (e, t, n, r) {
+ return t[e] + (n[e] - t[e]) * r || 0
+ }
+ return {
+ x: t('x', s, l, e),
+ y: t('y', s, l, e),
+ z: t('z', s, l, e),
+ }
+ }
+ ;[].concat(W(i || []), W(o || [])).forEach(function (e, t) {
+ var n = 'singleHopPhotons' === e.parent.__linkThreeObjType
+ if (
+ (e.hasOwnProperty('__progressRatio') ||
+ (e.__progressRatio = n ? 0 : t / i.length),
+ (e.__progressRatio += u),
+ e.__progressRatio >= 1)
+ ) {
+ if (n) return e.parent.remove(e), void Y(e)
+ e.__progressRatio = e.__progressRatio % 1
+ }
+ var r = e.__progressRatio,
+ o = c(r)
+ ;['x', 'y', 'z'].forEach(function (t) {
+ return (e.position[t] = o[t])
+ })
+ })
+ }
+ }
+ })
+ })(),
+ this
+ )
+ },
+ emitParticle: function (e, t) {
+ if (t) {
+ if (!t.__singleHopPhotonsObj) {
+ var n = new ie.Group()
+ ;(n.__linkThreeObjType = 'singleHopPhotons'),
+ (t.__singleHopPhotonsObj = n),
+ e.graphScene.add(n)
+ }
+ var r = (0, p.default)(e.linkDirectionalParticleWidth),
+ i = Math.ceil(10 * r(t)) / 10 / 2,
+ o = e.linkDirectionalParticleResolution,
+ a = new ie.SphereBufferGeometry(i, o, o),
+ s = (0, p.default)(e.linkColor),
+ l = (0, p.default)(e.linkDirectionalParticleColor)(t) || s(t) || '#f0f0f0',
+ u = new ie.Color(ee(l)),
+ c = 3 * e.linkOpacity,
+ d = new ie.MeshLambertMaterial({ color: u, transparent: !0, opacity: c })
+ t.__singleHopPhotonsObj.add(new ie.Mesh(a, d))
+ }
+ return this
+ },
+ getGraphBbox: function (e) {
+ var t =
+ arguments.length > 1 && void 0 !== arguments[1]
+ ? arguments[1]
+ : function () {
+ return !0
+ }
+ if (!e.initialised) return null
+ var n = (function e(n) {
+ var r = []
+ if (n.geometry) {
+ n.geometry.computeBoundingBox()
+ var i = new ie.Box3()
+ i.copy(n.geometry.boundingBox).applyMatrix4(n.matrixWorld), r.push(i)
+ }
+ return r.concat.apply(
+ r,
+ W(
+ (n.children || [])
+ .filter(function (e) {
+ return (
+ !e.hasOwnProperty('__graphObjType') ||
+ ('node' === e.__graphObjType && t(e.__data))
+ )
+ })
+ .map(e),
+ ),
+ )
+ })(e.graphScene)
+ return n.length
+ ? Object.assign.apply(
+ Object,
+ W(
+ ['x', 'y', 'z'].map(function (e) {
+ return L({}, e, [
+ (0, v.Z)(n, function (t) {
+ return t.min[e]
+ }),
+ (0, m.Z)(n, function (t) {
+ return t.max[e]
+ }),
+ ])
+ }),
+ ),
+ )
+ : null
+ },
+ },
+ stateInit: function () {
+ return {
+ d3ForceLayout: (0, i.Z)()
+ .force('link', (0, o.Z)())
+ .force('charge', (0, a.Z)())
+ .force('center', (0, s.Z)())
+ .force('dagRadial', null)
+ .stop(),
+ engineRunning: !1,
+ }
+ },
+ init: function (e, t) {
+ t.graphScene = e
+ },
+ update: function (e, t) {
+ var n = function (e) {
+ return e.some(function (e) {
+ return t.hasOwnProperty(e)
+ })
+ }
+ if (
+ ((e.engineRunning = !1),
+ e.onUpdate(),
+ null !== e.nodeAutoColorBy &&
+ n(['nodeAutoColorBy', 'graphData', 'nodeColor']) &&
+ re(e.graphData.nodes, (0, p.default)(e.nodeAutoColorBy), e.nodeColor),
+ null !== e.linkAutoColorBy &&
+ n(['linkAutoColorBy', 'graphData', 'linkColor']) &&
+ re(e.graphData.links, (0, p.default)(e.linkAutoColorBy), e.linkColor),
+ e._flushObjects ||
+ n([
+ 'graphData',
+ 'nodeThreeObject',
+ 'nodeThreeObjectExtend',
+ 'nodeVal',
+ 'nodeColor',
+ 'nodeVisibility',
+ 'nodeRelSize',
+ 'nodeResolution',
+ 'nodeOpacity',
+ ]))
+ ) {
+ var r = (0, p.default)(e.nodeThreeObject),
+ i = (0, p.default)(e.nodeThreeObjectExtend),
+ o = (0, p.default)(e.nodeVal),
+ a = (0, p.default)(e.nodeColor),
+ s = (0, p.default)(e.nodeVisibility),
+ u = {},
+ c = {}
+ J(e.graphData.nodes.filter(s), e.graphScene, {
+ purge: e._flushObjects || n(['nodeThreeObject', 'nodeThreeObjectExtend']),
+ objFilter: function (e) {
+ return 'node' === e.__graphObjType
+ },
+ createObj: function (t) {
+ var n,
+ o = r(t),
+ a = i(t)
+ return (
+ o && e.nodeThreeObject === o && (o = o.clone()),
+ o && !a
+ ? (n = o)
+ : (((n = new ie.Mesh()).__graphDefaultObj = !0), o && a && n.add(o)),
+ (n.__graphObjType = 'node'),
+ n
+ )
+ },
+ updateObj: function (t, n) {
+ if (t.__graphDefaultObj) {
+ var r = o(n) || 1,
+ i = Math.cbrt(r) * e.nodeRelSize,
+ s = e.nodeResolution
+ ;(t.geometry.type.match(/^Sphere(Buffer)?Geometry$/) &&
+ t.geometry.parameters.radius === i &&
+ t.geometry.parameters.widthSegments === s) ||
+ (u.hasOwnProperty(r) || (u[r] = new ie.SphereBufferGeometry(i, s, s)),
+ t.geometry.dispose(),
+ (t.geometry = u[r]))
+ var l = a(n),
+ d = new ie.Color(ee(l || '#ffffaa')),
+ f = e.nodeOpacity * te(l)
+ ;('MeshLambertMaterial' === t.material.type &&
+ t.material.color.equals(d) &&
+ t.material.opacity === f) ||
+ (c.hasOwnProperty(l) ||
+ (c[l] = new ie.MeshLambertMaterial({
+ color: d,
+ transparent: !0,
+ opacity: f,
+ })),
+ t.material.dispose(),
+ (t.material = c[l]))
+ }
+ },
+ })
+ }
+ if (
+ e._flushObjects ||
+ n([
+ 'graphData',
+ 'linkThreeObject',
+ 'linkThreeObjectExtend',
+ 'linkMaterial',
+ 'linkColor',
+ 'linkWidth',
+ 'linkVisibility',
+ 'linkResolution',
+ 'linkOpacity',
+ 'linkDirectionalArrowLength',
+ 'linkDirectionalArrowColor',
+ 'linkDirectionalArrowResolution',
+ 'linkDirectionalParticles',
+ 'linkDirectionalParticleWidth',
+ 'linkDirectionalParticleColor',
+ 'linkDirectionalParticleResolution',
+ ])
+ ) {
+ var d = (0, p.default)(e.linkThreeObject),
+ f = (0, p.default)(e.linkThreeObjectExtend),
+ h = (0, p.default)(e.linkMaterial),
+ v = (0, p.default)(e.linkVisibility),
+ m = (0, p.default)(e.linkColor),
+ g = (0, p.default)(e.linkWidth),
+ y = {},
+ b = {},
+ w = {},
+ x = e.graphData.links.filter(v)
+ if (
+ (J(x, e.graphScene, {
+ objBindAttr: '__lineObj',
+ purge:
+ e._flushObjects || n(['linkThreeObject', 'linkThreeObjectExtend', 'linkWidth']),
+ objFilter: function (e) {
+ return 'link' === e.__graphObjType
+ },
+ createObj: function (t) {
+ var n,
+ r,
+ i = d(t),
+ o = f(t)
+ if ((i && e.linkThreeObject === i && (i = i.clone()), !i || o))
+ if (!!g(t)) n = new ie.Mesh()
+ else {
+ var a = new ie.BufferGeometry()
+ a[ae]('position', new ie.BufferAttribute(new Float32Array(6), 3)),
+ (n = new ie.Line(a))
+ }
+ return (
+ i
+ ? o
+ ? (((r = new ie.Group()).__graphDefaultObj = !0), r.add(n), r.add(i))
+ : (r = i)
+ : ((r = n).__graphDefaultObj = !0),
+ (r.renderOrder = 10),
+ (r.__graphObjType = 'link'),
+ r
+ )
+ },
+ updateObj: function (t, n) {
+ if (t.__graphDefaultObj) {
+ var r = t.children.length ? t.children[0] : t,
+ i = Math.ceil(10 * g(n)) / 10,
+ o = !!i
+ if (o) {
+ var a = i / 2,
+ s = e.linkResolution
+ if (
+ !r.geometry.type.match(/^Cylinder(Buffer)?Geometry$/) ||
+ r.geometry.parameters.radiusTop !== a ||
+ r.geometry.parameters.radialSegments !== s
+ ) {
+ if (!y.hasOwnProperty(i)) {
+ var l = new ie.CylinderBufferGeometry(a, a, 1, s, 1, !1)
+ l[se](new ie.Matrix4().makeTranslation(0, 0.5, 0)),
+ l[se](new ie.Matrix4().makeRotationX(Math.PI / 2)),
+ (y[i] = l)
+ }
+ r.geometry.dispose(), (r.geometry = y[i])
+ }
+ }
+ var u = h(n)
+ if (u) r.material = u
+ else {
+ var c = m(n),
+ d = new ie.Color(ee(c || '#f0f0f0')),
+ f = e.linkOpacity * te(c),
+ p = o ? 'MeshLambertMaterial' : 'LineBasicMaterial'
+ if (
+ r.material.type !== p ||
+ !r.material.color.equals(d) ||
+ r.material.opacity !== f
+ ) {
+ var v = o ? b : w
+ v.hasOwnProperty(c) ||
+ (v[c] = new ie[p]({
+ color: d,
+ transparent: f < 1,
+ opacity: f,
+ depthWrite: f >= 1,
+ })),
+ r.material.dispose(),
+ (r.material = v[c])
+ }
+ }
+ }
+ },
+ }),
+ e.linkDirectionalArrowLength || t.hasOwnProperty('linkDirectionalArrowLength'))
+ ) {
+ var E = (0, p.default)(e.linkDirectionalArrowLength),
+ k = (0, p.default)(e.linkDirectionalArrowColor)
+ J(x.filter(E), e.graphScene, {
+ objBindAttr: '__arrowObj',
+ objFilter: function (e) {
+ return 'arrow' === e.__linkThreeObjType
+ },
+ createObj: function () {
+ var e = new ie.Mesh(void 0, new ie.MeshLambertMaterial({ transparent: !0 }))
+ return (e.__linkThreeObjType = 'arrow'), e
+ },
+ updateObj: function (t, n) {
+ var r = E(n),
+ i = e.linkDirectionalArrowResolution
+ if (
+ !t.geometry.type.match(/^Cone(Buffer)?Geometry$/) ||
+ t.geometry.parameters.height !== r ||
+ t.geometry.parameters.radialSegments !== i
+ ) {
+ var o = new ie.ConeBufferGeometry(0.25 * r, r, i)
+ o.translate(0, r / 2, 0),
+ o.rotateX(Math.PI / 2),
+ t.geometry.dispose(),
+ (t.geometry = o)
+ }
+ ;(t.material.color = new ie.Color(k(n) || m(n) || '#f0f0f0')),
+ (t.material.opacity = 3 * e.linkOpacity)
+ },
+ })
+ }
+ if (e.linkDirectionalParticles || t.hasOwnProperty('linkDirectionalParticles')) {
+ var T = (0, p.default)(e.linkDirectionalParticles),
+ _ = (0, p.default)(e.linkDirectionalParticleWidth),
+ O = (0, p.default)(e.linkDirectionalParticleColor),
+ C = {},
+ A = {}
+ J(x.filter(T), e.graphScene, {
+ objBindAttr: '__photonsObj',
+ objFilter: function (e) {
+ return 'photons' === e.__linkThreeObjType
+ },
+ createObj: function () {
+ var e = new ie.Group()
+ return (e.__linkThreeObjType = 'photons'), e
+ },
+ updateObj: function (t, n) {
+ var r,
+ i = Math.round(Math.abs(T(n))),
+ o = !!t.children.length && t.children[0],
+ a = Math.ceil(10 * _(n)) / 10 / 2,
+ s = e.linkDirectionalParticleResolution
+ o &&
+ o.geometry.parameters.radius === a &&
+ o.geometry.parameters.widthSegments === s
+ ? (r = o.geometry)
+ : (A.hasOwnProperty(a) || (A[a] = new ie.SphereBufferGeometry(a, s, s)),
+ (r = A[a]),
+ o && o.geometry.dispose())
+ var l,
+ u = O(n) || m(n) || '#f0f0f0',
+ c = new ie.Color(ee(u)),
+ d = 3 * e.linkOpacity
+ o && o.material.color.equals(c) && o.material.opacity === d
+ ? (l = o.material)
+ : (C.hasOwnProperty(u) ||
+ (C[u] = new ie.MeshLambertMaterial({
+ color: c,
+ transparent: !0,
+ opacity: d,
+ })),
+ (l = C[u]),
+ o && o.material.dispose()),
+ J(
+ W(new Array(i)).map(function (e, t) {
+ return { idx: t }
+ }),
+ t,
+ {
+ idAccessor: function (e) {
+ return e.idx
+ },
+ createObj: function () {
+ return new ie.Mesh(r, l)
+ },
+ updateObj: function (e) {
+ ;(e.geometry = r), (e.material = l)
+ },
+ },
+ )
+ },
+ })
+ }
+ }
+ if (
+ ((e._flushObjects = !1),
+ n([
+ 'graphData',
+ 'nodeId',
+ 'linkSource',
+ 'linkTarget',
+ 'numDimensions',
+ 'forceEngine',
+ 'dagMode',
+ 'dagNodeFilter',
+ 'dagLevelDistance',
+ ]))
+ ) {
+ ;(e.engineRunning = !1),
+ e.graphData.links.forEach(function (t) {
+ ;(t.source = t[e.linkSource]), (t.target = t[e.linkTarget])
+ })
+ var S,
+ P = 'ngraph' !== e.forceEngine
+ if (P) {
+ ;(S = e.d3ForceLayout)
+ .stop()
+ .alpha(1)
+ .numDimensions(e.numDimensions)
+ .nodes(e.graphData.nodes)
+ var M = e.d3ForceLayout.force('link')
+ M &&
+ M.id(function (t) {
+ return t[e.nodeId]
+ }).links(e.graphData.links)
+ var D =
+ e.dagMode &&
+ (function (e, t) {
+ var n = e.nodes,
+ r = e.links,
+ i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {},
+ o = i.nodeFilter,
+ a =
+ void 0 === o
+ ? function () {
+ return !0
+ }
+ : o,
+ s = i.onLoopError,
+ l =
+ void 0 === s
+ ? function (e) {
+ throw 'Invalid DAG structure! Found cycle in node path: '.concat(
+ e.join(' -> '),
+ '.',
+ )
+ }
+ : s,
+ u = {}
+ n.forEach(function (e) {
+ return (u[t(e)] = { data: e, out: [], depth: -1, skip: !a(e) })
+ }),
+ r.forEach(function (e) {
+ var n = e.source,
+ r = e.target,
+ i = l(n),
+ o = l(r)
+ if (!u.hasOwnProperty(i)) throw 'Missing source node with id: '.concat(i)
+ if (!u.hasOwnProperty(o)) throw 'Missing target node with id: '.concat(o)
+ var a = u[i],
+ s = u[o]
+ function l(e) {
+ return 'object' === j(e) ? t(e) : e
+ }
+ a.out.push(s)
+ })
+ var c = []
+ return (
+ d(Object.values(u)),
+ Object.assign.apply(
+ Object,
+ [{}].concat(
+ W(
+ Object.entries(u)
+ .filter(function (e) {
+ return !q(e, 2)[1].skip
+ })
+ .map(function (e) {
+ var t = q(e, 2)
+ return L({}, t[0], t[1].depth)
+ }),
+ ),
+ ),
+ )
+ )
+ function d(e) {
+ for (
+ var n =
+ arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [],
+ r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0,
+ i = 0,
+ o = e.length;
+ i < o;
+ i++
+ ) {
+ var a = e[i]
+ if (-1 !== n.indexOf(a))
+ if (
+ 'continue' ===
+ (function () {
+ var e = [].concat(W(n.slice(n.indexOf(a))), [a]).map(function (e) {
+ return t(e.data)
+ })
+ return (
+ c.some(function (t) {
+ return (
+ t.length === e.length &&
+ t.every(function (t, n) {
+ return t === e[n]
+ })
+ )
+ }) || (c.push(e), l(e)),
+ 'continue'
+ )
+ })()
+ )
+ continue
+ r > a.depth &&
+ ((a.depth = r), d(a.out, [].concat(W(n), [a]), r + (a.skip ? 0 : 1)))
+ }
+ }
+ })(
+ e.graphData,
+ function (t) {
+ return t[e.nodeId]
+ },
+ { nodeFilter: e.dagNodeFilter, onLoopError: e.onDagError || void 0 },
+ ),
+ N = Math.max.apply(Math, W(Object.values(D || []))),
+ I =
+ e.dagLevelDistance ||
+ (e.graphData.nodes.length / (N || 1)) *
+ 2 *
+ (-1 !== ['radialin', 'radialout'].indexOf(e.dagMode) ? 0.7 : 1)
+ if (e.dagMode) {
+ var z = function (t, n) {
+ return function (r) {
+ return t ? (D[r[e.nodeId]] - N / 2) * I * (n ? -1 : 1) : void 0
+ }
+ },
+ H = z(-1 !== ['lr', 'rl'].indexOf(e.dagMode), 'rl' === e.dagMode),
+ B = z(-1 !== ['td', 'bu'].indexOf(e.dagMode), 'td' === e.dagMode),
+ F = z(-1 !== ['zin', 'zout'].indexOf(e.dagMode), 'zout' === e.dagMode)
+ e.graphData.nodes.filter(e.dagNodeFilter).forEach(function (e) {
+ ;(e.fx = H(e)), (e.fy = B(e)), (e.fz = F(e))
+ })
+ }
+ e.d3ForceLayout.force(
+ 'dagRadial',
+ -1 !== ['radialin', 'radialout'].indexOf(e.dagMode)
+ ? (0, l.Z)(function (t) {
+ var n = D[t[e.nodeId]] || -1
+ return ('radialin' === e.dagMode ? N - n : n) * I
+ }).strength(function (t) {
+ return e.dagNodeFilter(t) ? 1 : 0
+ })
+ : null,
+ )
+ } else {
+ var V = oe.graph()
+ e.graphData.nodes.forEach(function (t) {
+ V.addNode(t[e.nodeId])
+ }),
+ e.graphData.links.forEach(function (e) {
+ V.addLink(e.source, e.target)
+ }),
+ ((S = oe.forcelayout(
+ V,
+ R({ dimensions: e.numDimensions }, e.ngraphPhysics),
+ )).graph = V)
+ }
+ for (
+ var U = 0;
+ U < e.warmupTicks &&
+ !(P && e.d3AlphaMin > 0 && e.d3ForceLayout.alpha() < e.d3AlphaMin);
+ U++
+ )
+ S[P ? 'tick' : 'step']()
+ ;(e.layout = S), this.resetCountdown()
+ }
+ ;(e.engineRunning = !0), e.onFinishUpdate()
+ },
+ }),
+ (window.THREE ? window.THREE : { Group: r.ZAu }).Group,
+ !0,
+ )
+ },
+ 6594: function (e, t, n) {
+ 'use strict'
+ n.r(t),
+ n.d(t, {
+ Pathfinding: function () {
+ return v
+ },
+ })
+ var r = function () {}
+ ;(r.computeCentroids = function (e) {
+ var t, n, r
+ for (t = 0, n = e.faces.length; t < n; t++)
+ ((r = e.faces[t]).centroid = new THREE.Vector3(0, 0, 0)),
+ r.centroid.add(e.vertices[r.a]),
+ r.centroid.add(e.vertices[r.b]),
+ r.centroid.add(e.vertices[r.c]),
+ r.centroid.divideScalar(3)
+ }),
+ (r.roundNumber = function (e, t) {
+ return Number(e.toFixed(t))
+ }),
+ (r.sample = function (e) {
+ return e[Math.floor(Math.random() * e.length)]
+ }),
+ (r.mergeVertexIds = function (e, t) {
+ var n = []
+ if (
+ (e.forEach(function (e) {
+ t.indexOf(e) >= 0 && n.push(e)
+ }),
+ n.length < 2)
+ )
+ return []
+ n.includes(e[0]) && n.includes(e[e.length - 1]) && e.push(e.shift()),
+ n.includes(t[0]) && n.includes(t[t.length - 1]) && t.push(t.shift()),
+ (n = []),
+ e.forEach(function (e) {
+ t.includes(e) && n.push(e)
+ })
+ for (var r = n[1], i = n[0], o = e.slice(); o[0] !== r; ) o.push(o.shift())
+ for (var a = 0, s = t.slice(); s[0] !== i; )
+ if ((s.push(s.shift()), a++ > 10)) throw new Error('Unexpected state')
+ return s.shift(), s.pop(), o.concat(s)
+ }),
+ (r.setPolygonCentroid = function (e, t) {
+ var n = new THREE.Vector3(),
+ r = t.vertices
+ e.vertexIds.forEach(function (e) {
+ n.add(r[e])
+ }),
+ n.divideScalar(e.vertexIds.length),
+ e.centroid.copy(n)
+ }),
+ (r.cleanPolygon = function (e, t) {
+ for (var n = [], r = t.vertices, i = 0; i < e.vertexIds.length; i++) {
+ var o,
+ a,
+ s,
+ l = r[e.vertexIds[i]]
+ 0 === i
+ ? ((o = e.vertexIds[1]), (a = e.vertexIds[e.vertexIds.length - 1]))
+ : i === e.vertexIds.length - 1
+ ? ((o = e.vertexIds[0]), (a = e.vertexIds[e.vertexIds.length - 2]))
+ : ((o = e.vertexIds[i + 1]), (a = e.vertexIds[i - 1])),
+ (s = r[a])
+ var u = r[o].clone().sub(l),
+ c = s.clone().sub(l),
+ d = u.angleTo(c)
+ if (d > Math.PI - 0.01 && d < Math.PI + 0.01) {
+ var f = []
+ e.neighbours.forEach(function (t) {
+ t.vertexIds.includes(e.vertexIds[i]) || f.push(t)
+ }),
+ (e.neighbours = f)
+ } else n.push(e.vertexIds[i])
+ }
+ ;(e.vertexIds = n), this.setPolygonCentroid(e, t)
+ }),
+ (r.isConvex = function (e, t) {
+ var n = t.vertices
+ if (e.vertexIds.length < 3) return !1
+ for (var r = !0, i = [], o = 0; o < e.vertexIds.length; o++) {
+ var a,
+ s,
+ l = n[e.vertexIds[o]]
+ 0 === o
+ ? ((a = n[e.vertexIds[1]]), (s = n[e.vertexIds[e.vertexIds.length - 1]]))
+ : o === e.vertexIds.length - 1
+ ? ((a = n[e.vertexIds[0]]), (s = n[e.vertexIds[e.vertexIds.length - 2]]))
+ : ((a = n[e.vertexIds[o + 1]]), (s = n[e.vertexIds[o - 1]]))
+ var u = a.clone().sub(l),
+ c = s.clone().sub(l),
+ d = u.angleTo(c)
+ if (d === Math.PI || 0 === d) return !1
+ var f = u.cross(c).y
+ i.push(f)
+ }
+ return (
+ i.forEach(function (e) {
+ 0 === e && (r = !1)
+ }),
+ i.forEach(
+ i[0] > 0
+ ? function (e) {
+ e < 0 && (r = !1)
+ }
+ : function (e) {
+ e > 0 && (r = !1)
+ },
+ ),
+ r
+ )
+ }),
+ (r.distanceToSquared = function (e, t) {
+ var n = e.x - t.x,
+ r = e.y - t.y,
+ i = e.z - t.z
+ return n * n + r * r + i * i
+ }),
+ (r.isPointInPoly = function (e, t) {
+ for (var n = !1, r = -1, i = e.length, o = i - 1; ++r < i; o = r)
+ ((e[r].z <= t.z && t.z < e[o].z) || (e[o].z <= t.z && t.z < e[r].z)) &&
+ t.x < ((e[o].x - e[r].x) * (t.z - e[r].z)) / (e[o].z - e[r].z) + e[r].x &&
+ (n = !n)
+ return n
+ }),
+ (r.isVectorInPolygon = function (e, t, n) {
+ var r = 1e5,
+ i = -1e5,
+ o = []
+ return (
+ t.vertexIds.forEach(function (e) {
+ ;(r = Math.min(n[e].y, r)), (i = Math.max(n[e].y, i)), o.push(n[e])
+ }),
+ !!(e.y < i + 0.5 && e.y > r - 0.5 && this.isPointInPoly(o, e))
+ )
+ }),
+ (r.triarea2 = function (e, t, n) {
+ return (n.x - e.x) * (t.z - e.z) - (t.x - e.x) * (n.z - e.z)
+ }),
+ (r.vequal = function (e, t) {
+ return this.distanceToSquared(e, t) < 1e-5
+ })
+ var i = function (e) {
+ ;(this.content = []), (this.scoreFunction = e)
+ }
+ ;(i.prototype.push = function (e) {
+ this.content.push(e), this.sinkDown(this.content.length - 1)
+ }),
+ (i.prototype.pop = function () {
+ var e = this.content[0],
+ t = this.content.pop()
+ return this.content.length > 0 && ((this.content[0] = t), this.bubbleUp(0)), e
+ }),
+ (i.prototype.remove = function (e) {
+ var t = this.content.indexOf(e),
+ n = this.content.pop()
+ t !== this.content.length - 1 &&
+ ((this.content[t] = n),
+ this.scoreFunction(n) < this.scoreFunction(e) ? this.sinkDown(t) : this.bubbleUp(t))
+ }),
+ (i.prototype.size = function () {
+ return this.content.length
+ }),
+ (i.prototype.rescoreElement = function (e) {
+ this.sinkDown(this.content.indexOf(e))
+ }),
+ (i.prototype.sinkDown = function (e) {
+ for (var t = this.content[e]; e > 0; ) {
+ var n = ((e + 1) >> 1) - 1,
+ r = this.content[n]
+ if (!(this.scoreFunction(t) < this.scoreFunction(r))) break
+ ;(this.content[n] = t), (this.content[e] = r), (e = n)
+ }
+ }),
+ (i.prototype.bubbleUp = function (e) {
+ for (var t = this.content.length, n = this.content[e], r = this.scoreFunction(n); ; ) {
+ var i = (e + 1) << 1,
+ o = i - 1,
+ a = null,
+ s = void 0
+ if (
+ (o < t && (s = this.scoreFunction(this.content[o])) < r && (a = o),
+ i < t && this.scoreFunction(this.content[i]) < (null === a ? r : s) && (a = i),
+ null === a)
+ )
+ break
+ ;(this.content[e] = this.content[a]), (this.content[a] = n), (e = a)
+ }
+ })
+ var o = function () {}
+ ;(o.init = function (e) {
+ for (var t = 0; t < e.length; t++) {
+ var n = e[t]
+ ;(n.f = 0),
+ (n.g = 0),
+ (n.h = 0),
+ (n.cost = 1),
+ (n.visited = !1),
+ (n.closed = !1),
+ (n.parent = null)
+ }
+ }),
+ (o.cleanUp = function (e) {
+ for (var t = 0; t < e.length; t++) {
+ var n = e[t]
+ delete n.f,
+ delete n.g,
+ delete n.h,
+ delete n.cost,
+ delete n.visited,
+ delete n.closed,
+ delete n.parent
+ }
+ }),
+ (o.heap = function () {
+ return new i(function (e) {
+ return e.f
+ })
+ }),
+ (o.search = function (e, t, n) {
+ this.init(e)
+ var r = this.heap()
+ for (r.push(t); r.size() > 0; ) {
+ var i = r.pop()
+ if (i === n) {
+ for (var o = i, a = []; o.parent; ) a.push(o), (o = o.parent)
+ return this.cleanUp(a), a.reverse()
+ }
+ i.closed = !0
+ for (var s = this.neighbours(e, i), l = 0, u = s.length; l < u; l++) {
+ var c = s[l]
+ if (!c.closed) {
+ var d = i.g + c.cost,
+ f = c.visited
+ if (!f || d < c.g) {
+ if (((c.visited = !0), (c.parent = i), !c.centroid || !n.centroid))
+ throw new Error('Unexpected state')
+ ;(c.h = c.h || this.heuristic(c.centroid, n.centroid)),
+ (c.g = d),
+ (c.f = c.g + c.h),
+ f ? r.rescoreElement(c) : r.push(c)
+ }
+ }
+ }
+ }
+ return []
+ }),
+ (o.heuristic = function (e, t) {
+ return r.distanceToSquared(e, t)
+ }),
+ (o.neighbours = function (e, t) {
+ for (var n = [], r = 0; r < t.neighbours.length; r++) n.push(e[t.neighbours[r]])
+ return n
+ })
+ var a = 1,
+ s = function () {}
+ ;(s.buildZone = function (e) {
+ var t = this,
+ n = this._buildNavigationMesh(e),
+ i = {}
+ n.vertices.forEach(function (e) {
+ ;(e.x = r.roundNumber(e.x, 2)),
+ (e.y = r.roundNumber(e.y, 2)),
+ (e.z = r.roundNumber(e.z, 2))
+ }),
+ (i.vertices = n.vertices)
+ var o = this._buildPolygonGroups(n)
+ i.groups = []
+ var a = function (e, t) {
+ for (var n = 0; n < e.length; n++) if (t === e[n]) return n
+ }
+ return (
+ o.forEach(function (e) {
+ var n = []
+ e.forEach(function (i) {
+ var o = i.neighbours.map(function (t) {
+ return a(e, t)
+ }),
+ s = i.neighbours.map(function (e) {
+ return t._getSharedVerticesInOrder(i, e)
+ })
+ ;(i.centroid.x = r.roundNumber(i.centroid.x, 2)),
+ (i.centroid.y = r.roundNumber(i.centroid.y, 2)),
+ (i.centroid.z = r.roundNumber(i.centroid.z, 2)),
+ n.push({
+ id: a(e, i),
+ neighbours: o,
+ vertexIds: i.vertexIds,
+ centroid: i.centroid,
+ portals: s,
+ })
+ }),
+ i.groups.push(n)
+ }),
+ i
+ )
+ }),
+ (s._buildNavigationMesh = function (e) {
+ return r.computeCentroids(e), e.mergeVertices(), this._buildPolygonsFromGeometry(e)
+ }),
+ (s._buildPolygonGroups = function (e) {
+ var t = [],
+ n = 0,
+ r = function (e) {
+ e.neighbours.forEach(function (t) {
+ void 0 === t.group && ((t.group = e.group), r(t))
+ })
+ }
+ return (
+ e.polygons.forEach(function (e) {
+ void 0 === e.group && ((e.group = n++), r(e)),
+ t[e.group] || (t[e.group] = []),
+ t[e.group].push(e)
+ }),
+ t
+ )
+ }),
+ (s._buildPolygonNeighbours = function (e, t, n) {
+ var r = new Set(),
+ i = n.get(e.vertexIds[0]),
+ o = n.get(e.vertexIds[1]),
+ a = n.get(e.vertexIds[2])
+ i.forEach(function (e) {
+ ;(o.has(e) || a.has(e)) && r.add(t.polygons[e])
+ }),
+ o.forEach(function (e) {
+ a.has(e) && r.add(t.polygons[e])
+ }),
+ (e.neighbours = Array.from(r))
+ }),
+ (s._buildPolygonsFromGeometry = function (e) {
+ for (
+ var t = this, n = [], r = e.vertices, i = e.faceVertexUvs, o = new Map(), s = 0;
+ s < r.length;
+ s++
+ )
+ o.set(s, new Set())
+ e.faces.forEach(function (e) {
+ n.push({
+ id: a++,
+ vertexIds: [e.a, e.b, e.c],
+ centroid: e.centroid,
+ normal: e.normal,
+ neighbours: [],
+ }),
+ o.get(e.a).add(n.length - 1),
+ o.get(e.b).add(n.length - 1),
+ o.get(e.c).add(n.length - 1)
+ })
+ var l = { polygons: n, vertices: r, faceVertexUvs: i }
+ return (
+ n.forEach(function (e) {
+ t._buildPolygonNeighbours(e, l, o)
+ }),
+ l
+ )
+ }),
+ (s._getSharedVerticesInOrder = function (e, t) {
+ var n = e.vertexIds,
+ r = t.vertexIds,
+ i = new Set()
+ if (
+ (n.forEach(function (e) {
+ r.includes(e) && i.add(e)
+ }),
+ i.size < 2)
+ )
+ return []
+ i.has(n[0]) && i.has(n[n.length - 1]) && n.push(n.shift()),
+ i.has(r[0]) && i.has(r[r.length - 1]) && r.push(r.shift())
+ var o = []
+ return (
+ n.forEach(function (e) {
+ r.includes(e) && o.push(e)
+ }),
+ o
+ )
+ })
+ var l = function () {
+ this.portals = []
+ }
+ ;(l.prototype.push = function (e, t) {
+ void 0 === t && (t = e), this.portals.push({ left: e, right: t })
+ }),
+ (l.prototype.stringPull = function () {
+ var e,
+ t,
+ n,
+ i = this.portals,
+ o = [],
+ a = 0,
+ s = 0,
+ l = 0
+ ;(t = i[0].left), (n = i[0].right), o.push((e = i[0].left))
+ for (var u = 1; u < i.length; u++) {
+ var c = i[u].left,
+ d = i[u].right
+ if (r.triarea2(e, n, d) <= 0) {
+ if (!(r.vequal(e, n) || r.triarea2(e, t, d) > 0)) {
+ o.push(t), (t = e = t), (n = e), (s = a = s), (l = a), (u = a)
+ continue
+ }
+ ;(n = d), (l = u)
+ }
+ if (r.triarea2(e, t, c) >= 0) {
+ if (!(r.vequal(e, t) || r.triarea2(e, n, c) < 0)) {
+ o.push(n), (t = e = n), (n = e), (s = a = l), (l = a), (u = a)
+ continue
+ }
+ ;(t = c), (s = u)
+ }
+ }
+ return (
+ (0 !== o.length && r.vequal(o[o.length - 1], i[i.length - 1].left)) ||
+ o.push(i[i.length - 1].left),
+ (this.path = o),
+ o
+ )
+ })
+ var u,
+ c,
+ d,
+ f,
+ h,
+ p,
+ v = function () {
+ this.zones = {}
+ }
+ ;(v.createZone = function (e) {
+ return s.buildZone(e)
+ }),
+ (v.prototype.setZoneData = function (e, t) {
+ this.zones[e] = t
+ }),
+ (v.prototype.getGroup = function (e, t) {
+ if (!this.zones[e]) return null
+ var n = null,
+ i = Math.pow(50, 2)
+ return (
+ this.zones[e].groups.forEach(function (e, o) {
+ e.forEach(function (e) {
+ var a = r.distanceToSquared(e.centroid, t)
+ a < i && ((n = o), (i = a))
+ })
+ }),
+ n
+ )
+ }),
+ (v.prototype.getRandomNode = function (e, t, n, i) {
+ if (!this.zones[e]) return new THREE.Vector3()
+ ;(n = n || null), (i = i || 0)
+ var o = []
+ return (
+ this.zones[e].groups[t].forEach(function (e) {
+ n && i
+ ? r.distanceToSquared(n, e.centroid) < i * i && o.push(e.centroid)
+ : o.push(e.centroid)
+ }),
+ r.sample(o) || new THREE.Vector3()
+ )
+ }),
+ (v.prototype.getClosestNode = function (e, t, n, i) {
+ void 0 === i && (i = !1)
+ var o = this.zones[t].vertices,
+ a = null,
+ s = 1 / 0
+ return (
+ this.zones[t].groups[n].forEach(function (t) {
+ var n = r.distanceToSquared(t.centroid, e)
+ n < s && (!i || r.isVectorInPolygon(e, t, o)) && ((a = t), (s = n))
+ }),
+ a
+ )
+ }),
+ (v.prototype.findPath = function (e, t, n, r) {
+ var i = this.zones[n].groups[r],
+ a = this.zones[n].vertices,
+ s = this.getClosestNode(e, n, r),
+ u = this.getClosestNode(t, n, r, !0)
+ if (!s || !u) return null
+ var c = o.search(i, s, u),
+ d = function (e, t) {
+ for (var n = 0; n < e.neighbours.length; n++)
+ if (e.neighbours[n] === t.id) return e.portals[n]
+ },
+ f = new l()
+ f.push(e)
+ for (var h = 0; h < c.length; h++) {
+ var p = c[h + 1]
+ if (p) {
+ var v = d(c[h], p)
+ f.push(a[v[0]], a[v[1]])
+ }
+ }
+ f.push(t), f.stringPull()
+ var m = f.path.map(function (e) {
+ return new THREE.Vector3(e.x, e.y, e.z)
+ })
+ return m.shift(), m
+ }),
+ (v.prototype.clampStep =
+ ((d = new THREE.Vector3()),
+ (f = new THREE.Plane()),
+ (h = new THREE.Triangle()),
+ (p = new THREE.Vector3()),
+ function (e, t, n, r, i, o) {
+ var a = this.zones[r].vertices,
+ s = this.zones[r].groups[i],
+ l = [n],
+ v = {}
+ ;(v[n.id] = 0),
+ (u = void 0),
+ p.set(0, 0, 0),
+ (c = 1 / 0),
+ f.setFromCoplanarPoints(a[n.vertexIds[0]], a[n.vertexIds[1]], a[n.vertexIds[2]]),
+ f.projectPoint(t, d),
+ t.copy(d)
+ for (var m = l.pop(); m; m = l.pop()) {
+ h.set(a[m.vertexIds[0]], a[m.vertexIds[1]], a[m.vertexIds[2]]),
+ h.closestPointToPoint(t, d),
+ d.distanceToSquared(t) < c && ((u = m), p.copy(d), (c = d.distanceToSquared(t)))
+ var g = v[m]
+ if (!(g > 2))
+ for (var y = 0; y < m.neighbours.length; y++) {
+ var b = s[m.neighbours[y]]
+ b.id in v || (l.push(b), (v[b.id] = g + 1))
+ }
+ }
+ return o.copy(p), u
+ }))
+ },
+ 6189: function (e, t, n) {
+ var r = n(7966)
+ e.exports = function (e) {
+ return r(e).replace(/\s(\w)/g, function (e, t) {
+ return t.toUpperCase()
+ })
+ }
+ },
+ 1788: function (e) {
+ e.exports = function (e) {
+ return t.test(e)
+ ? e.toLowerCase()
+ : n.test(e)
+ ? (
+ (function (e) {
+ return e.replace(i, function (e, t) {
+ return t ? ' ' + t : ''
+ })
+ })(e) || e
+ ).toLowerCase()
+ : r.test(e)
+ ? (function (e) {
+ return e.replace(o, function (e, t, n) {
+ return t + ' ' + n.toLowerCase().split('').join(' ')
+ })
+ })(e).toLowerCase()
+ : e.toLowerCase()
+ }
+ var t = /\s/,
+ n = /(_|-|\.|:)/,
+ r = /([a-z][A-Z]|[A-Z][a-z])/
+ var i = /[\W_]+(.|$)/g
+ var o = /(.)([A-Z]+)/g
+ },
+ 7966: function (e, t, n) {
+ var r = n(1788)
+ e.exports = function (e) {
+ return r(e)
+ .replace(/[\W_]+(.|$)/g, function (e, t) {
+ return t ? ' ' + t : ''
+ })
+ .trim()
+ }
+ },
+ },
+])